NeoDezign
CDA
CD
Audio Plug-In for NeoBook RAD5
NeoDezign
CDA provides an easy way to create a full-feature CD Audio Player with all the
controls and commands you need to create a high-end software CD Player complete
with CD Info, CD Cover Images, Song Lyrics, Official Artist Website, and even
Rip CD to MP3 files!*
While
MCI is not that difficult, it is time-consuming (and sometimes tricky) to get a
player working like you want it to. "ndznCDA" removes all that frustration
and makes creating a CD Player as easy as Copy & Paste!
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Installation
& Use:
UnZIP
(recursively) the contents of the downloaded zip file into a folder of your
choice.
In
NeoBook 5: Options > Install Plug-Ins
Use the
included demo PUB to test each action in the ndznCDA Plug-In. Look at the
properties
of each
object to learn how the plug-in actions are used.
Copy
& Paste the objects from the DEMO Pub into your CD Player Project Pub,
(maintain all the
object
names), then change the appearance settings of all the generic buttons and
objects to
your
liking. Do Not Rename Objects.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Command
List:
Initialize/Open/Close/etc.
ndznCDA_Initialize
Starts the
ndznCDA Plug-In: Provide pass key
- This command should be used at the startup
of your application
ndznCDA_Open
Opens the CD Audio Device. Starts
playing CD if loaded.
- This command should be used at the startup
of your application
SAMPLE STARTUP:
SetVar "[ndznCDA_password]" "{YOUR PASS KEY}"
ndznCDA_Initialize "[ndznCDA_password]"
:Start
ndznCDA_CDPresent
If "[ndznCDA_CDPresent]" "=" "False"
MessageBox "No CD Found" "An Audio CD was not detected.||Insert an Audio CD then Press OK..." "OK|Cancel" "[MsgResult]"
If "[MsgResult]" "=" "1"
GotoLine "Start"
EndIf
Return
EndIf
.//Get CD Info//
ndznCDA_Info
.//Open CD//
ndznCDA_Open
If "[ndznCDA_Status]"
"="
"playing"
HideObject "PlayButton" "None" "0"
ShowObject "PauseButton" "None" "0"
EndIf
ndznCDA_Close
Closes the CD
Audio Device, resets all variables, and closes the ndznCDA Plug-In
-
This command should be used in the shutdown of your application
SAMPLE SHUTDOWN:
If "[ndznCDA_Status]" "<>" "Closed"
ndznCDA_Close
ndznCDA_ClearVars
Clears all the [ndznCDA*] variables
ndznCDA_CDPresent
Determines if a CD
is present. Returns True/False in variable [ndznCDA_CDPresent]
Controls
ndznCDA_Play
Begins playing CD
at Current Track# ( "[ndznCDA_OnTrak]" = the track number)
ndznCDA_Play "[ndznCDA_OnTrak]"
The variable, [ndznCDA_OnTrak], stores the running
track number. Use this variable throughout your player project whenever
referencing track numbers.
ndznCDA_Pause
Pauses CD. Use ndznCDA_Play to resume.
ndznCDA_Stop
Stops the CD
(with fade-out effect)
ndznCDA_First
Plays the first
track. Sets [ndznCDA_OnTrak] to "1"
ndznCDA_Prev
Plays the
previous track number.
ndznCDA_Next
Plays the next
track number.
ndznCDA_Last
Plays the last
track. Sets [ndznCDA_OnTrak] to the last track number.
ndznCDA_Eject
Ejects the CD
Tray and activates the "ndznCDA_TrayTimer" which waits for another CD
to be loaded.
Pressing the
Eject button again will close the CD Tray and begin playing the loaded CD.
If the CD Tray is
closed manually the ndznCDA_TrayTimer will detect this action, load the CD, and
begin playing.
The relationship
between actions and objects is critical. Do Not rename the ndznCDA_TrayTimer
object.
Object
Actions
ndznCDA_TimerInterval
The ndznCDA_TimerInterval
action is to be used in the ndznCDA_PositionTimer objects "Timer Interval
Action".
This timer action
updates all the ndznCDA variables that pertain to the position of the CD player
and the Position Trackbar.
The relationship
between actions and objects is critical. Do Not rename the
ndznCDA_PositionTimer or ndznCDA_TrackBar objects.
ndznCDA_TrayTimerInterval
The
ndznCDA_TrayTimerInterval is to be used in the ndznCDA_TrayTimer objects
"Timer Interval Action".
This timer action
is used for determining the state of the CD Tray that was ejected using the
ndznCDA_Eject command.
The relationship
between actions and objects is critical. Do Not rename the ndznCDA_TrayTimer
object.
ndznCDA_TrackbarChange
The
ndznCDA_TrackbarChange command is to be used in the ndznCDA_TrackBar objects
"Value Changed Action".
This detects
movement of the Trackbar position and plays CD from the location the slider was
released.
The relationship
between actions and objects is critical. Do Not rename the ndznCDA_TrackBar
object.
Resources
You may find that
some of these commands are quite useful for, not only a CD Player, but other
media players
as well, which makes NeoDezign CDA a great companion to NeoSoft’s
NeoBookDX Plug-In. Simply use the
NeoBookDX variables that contain Artist, Album, and Song info to
search for CD Covers and Lyrics, for example.
ndznCDA_Info
Queries
freedb.org for the CD Info of the currently loaded CD. The data, if acquired,
are stored in the following variables:
CD Info
Variables:
Artist [ndznCDA_Artist]
Album [ndznCDA_Album]
Year (of release) [ndznCDA_Year]
Genre [ndznCDA_Genre]
Total Length of CD [ndznCDA_TotalLength]
Track (Song) Titles [ndznCDA_Track #] Array
Track (Song) Lengths (in same as above)
Track Title List [ndznCDA_TrackList] Delimited by [#13]
*
NOTE: Custom burned audio CD’s (e.g., CDR’s and CDRW’s) oftentimes to do not
contain the CD Info that is present on Retail CD’s.
This CD Info is required by the ndznCDA_Info command for the
retrieval of Artist, Album, Track info, etc.
ndznCDA_Cover
Downloads the CD
Cover Image for the current Artist and Album ( "[ndznCDA_Artist]",
"[ndznCDA_Album]" ).
Parameters:
Artist
Album
Save
Cover As (optional)
Substitute
Image (optional)
ndznCDA_Cover
"{Artist}" "{Album}" "{Save Cover As}"
"{Substitute Cover Image Filename}"
ndznCDA_Cover "[ndznCDA_Artist]" "[ndznCDA_Album]" "[PubDir]Covers\[ndznCDA_Artist] - [ndznCDA_Album].jpg"
"[PubDir]Covers\no_cover.jpg"
In
the example above, the CD Cover Image will download to the "Covers"
folder with a filename such as "Aerosmith - Get Your Wings.jpg"
with
the filename stored in the variable "[ndznCDA_Cover]".
ndznCDA_Lyrics
Fetches the words
to the specified Artist & Track (Song) Title.
(revised in version 1.0.2)
Parameters:
Artist
Track
(Song) Title
ndznCDA_Lyrics
"{Artist Name}" "{Song Title}"
ndznCDA_Lyrics "[ndznCDA_Artist]" "[ndznCDA_TrackTitle]"
Return Variables:
Lyrics [ndznCDA.Lyrics]
NOTE:
Lyrics
are returned in ENCODED HTML for display in NeoBook’s WebBrowser Object.
ndznCDA_OFCLWebsite
Search for
artist's official website.
Parameter:
ndznCDA_OFCLWebsite
"{Artist Name}"
ndznCDA_OFCLWebsite "[ndznCDA_Artist]"
Return Variable:
URL [ndznCDA_OFCLWebsite]
Extra
ndznCDA_Rip2MP3*
*Registered
Version of ndznCDA
Rip the currently loaded CD Audio
Disc to MP3 files. The resulting MP3 files can be named according to a filename
pattern you specify and, if
connected to the Internet, will be written with ID3 tags containing Artist,
Album, Song Title, etc.
Parameters:
ndznCDA_Rip2MP3
{Destination path} {Filename Pattern} {Variable Bit Rate/Quality value}
DETAILS:
Destination Path:
This is where the MP3 files and Artist\Album folders will be created.
Example:
FolderBox "Choose a folder" "[DestDir]"
If "[DestDir]" "=" ""
Return
EndIf
ndznCDA_Rip2MP3 "[DestDir]"
"<track> <artist> - <title>" "5"
For example, if you choose to rip a CD to
“X:\My Media\Music”, then the resulting folder structure might look something
like the following…
+My
Media
+Music
+Aerosmith
+Get Your Wings
Filename
Pattern:
Specify how you want the resulting MP3
files to be named.
<track>: Saves the track# of each song title. ("01",
"02" - "10", "11", etc.)
<artist>: Saves the artist name in
each filename. ("Aerosmith")
<album>: Saves the album title in each filename. ("Get Your
Wings")
<title>: Saves the song title to each filename. ("Same Old Song And
Dance")
The following example is the most
common and recommended filename format:
Filename Pattern: <track>
<artist> - <title>
Resulting Filename: "04 Aerosmith - Same Old Song
And Dance.mp3"
VBR/Quality
Setting:
This numerical value (0-9) will determine
the sound quality and filesize of
the resulting MP3 files.
0 = Best Quality / Large Filesize
5 = Default
9 = Lowest Quality / Small Filesize
Return
Variables :
|
[ndznCDA_RipStat] |
"Ripping",
"RIP FAILED", "Rip Complete" |
|
[ndznCDA_RipPcnt] |
Progress
complete value 0-100% |
|
[ndznCDA_RipFile#] |
(Array
of filenames) |
|
[ndznCDA_RipFileCount] |
# of
filenames in array |
|
[ndznCDA_RipFileList] |
(Single
variable of all filenames. List is delimited by [#13] |
|
[ndznCDA_RipFolder] |
Parent
(Destination) folder |
|
[ndznCDA_RipARAL] |
Parent
folder\{Artist}\{Album} |
|
[ndznCDA_RipDrive] |
Drive
letter of CD drive being ripped |
|
[ndznCDA_RipACTIVE] |
"True"
or "" (blank) |
Tracking Errors
[ndznCDA_ERROR]
Any
detected errors will be reported via this variable. Depending on the action,
the variable [ndznCDA_Status] may display error results as well.
History
Initial Release: Version 1.0.0
Maint Update: Version 1.0.1 : Corrected problem with ndznCDA_CDPresent command