;options initialization
on *:dialog:mp3.options:init:0: {
if ( %cplay ) did -c $dname 3 | .timer 1 0 did -u $dname 2
if ( %repeat ) did -c $dname 6
elseif ( %rplay ) did -c $dname 4
else did -c $dname 2
if ( !%mp3.sm ) did -c $dname 13
elseif ( %mp3.sm == two ) did -c $dname 12
else did -c $dname 11
}
;options sclick events
on *:dialog:mp3.options:sclick:*: {
if ( $did == 2 ) {
unset %rplay
unset %repeat
unset %cplay
did -c $dname $iif(!%mp3.sm,13,$iif(%mp3.sm == two,12,11))
}
if ( $did == 3 ) {
unset %rplay
unset %repeat
set %cplay on
set %songnum 1
if ( $dialog(mp3) ) did -c mp3 1 1
mp3play $read(playlist.txt,1)
did -c $dname $iif(!%mp3.sm,13,$iif(%mp3.sm == two,12,11))
}
if ( $did == 6 ) {
unset %rplay
unset %cplay
set %repeat 1
did -c $dname $iif(!%mp3.sm,13,$iif(%mp3.sm == two,12,11))
}
if ( $did == 4 ) {
unset %cplay
unset %repeat
set %rplay on
var %song = $read(playlist.txt)
set %songnum $readn
if ( $dialog(mp3) ) did -c mp3 1 $readn
mp3play %song
did -c $dname $iif(!%mp3.sm,13,$iif(%mp3.sm == two,12,11))
}
if ( $did == 5 ) {
dialog -x $dname
}
if ( $did == 11 ) {
.timerscrolltitle off
unset %mp3.scroll*
set %mp3.sm none
if ( $inmp3 ) did -o mp3 2 1 $did(mp3,1,%songnum)
did -c $dname $iif(%cplay,3,$iif(%rplay,4,$iif(%repeat,6,2)))
}
if ( $did == 12 ) {
unset %mp3.scroll*
set %mp3.sm two
if ( $inmp3 ) .timerscrolltitle 0 1 scrolltitle
did -c $dname $iif(%cplay,3,$iif(%rplay,4,$iif(%repeat,6,2)))
}
if ( $did == 13 ) {
unset %mp3.scroll*
unset %mp3.sm
if ( $inmp3 ) .timerscrolltitle 0 1 scrolltitle
did -c $dname $iif(%cplay,3,$iif(%rplay,4,$iif(%repeat,6,2)))
}
}
;about dialog
on *:dialog:mp3:menu:25: { if (!$dialog(mp3.about)) dialog -md mp3.about mp3.about | else dialog -v mp3.about }
dialog mp3.about {
title "About"
size -1 -1 220 156
option pixels %notheme
text "MP3 Player made by Neptune and Daveoh.", 1, 5 5 210 50
text "You are free to use this MP3 Player script to help you build your own, but please don't take the script and just call it your own, as it isn't fair for the people who put hard work into making it.", 2, 5 50 210 70
button "Close", 3, 5 125 210 25
}
;about dialog close
on *:dialog:mp3.about:sclick:3: { dialog -x $dname }
;broadcasting dialog
on *:dialog:mp3:menu:17:if (!$dialog(mp3.bc)) dialog -md mp3.bc mp3.bc | else dialog -v mp3.bc
dialog mp3.bc {
title "Broadcasting"
size -1 -1 400 297
option pixels %notheme
box "Now Playing Message", 1, 5 5 390 125
edit "", 2, 10 20 380 80, read autovs multi vsbar
edit %broadcastformat, 3, 10 105 290 20, autohs
box "Channels to Broadcast", 10, 5 135 390 70
text "Enter the channels you would like to broadcast to, separated by a comma. For all channels, type 'all'. To display to active channel only, type 'active'.", 11, 10 150 380 40
edit %broadcastchannels, 12, 10 180 380 20
box "Automatic broadcasting status", 20, 5 210 390 40
radio "Enabled", 21, 20 225 65 17, group
radio "Disabled", 22, 90 225 65 17
button "Broadcast Now!", 23, 165 220 210 25
button "Close", 40, 199 260 195 25
radio "Message", 4, 20 265 65 15, group
radio "Describe (/me)", 5, 90 265 100 15
box "Method", 6, 5 250 190 40
button "ASCII", 7, 300 105 89 20
}
on *:dialog:mp3.bc:init:0:{
var %cmd = did -a $dname 2 $crlf $chr(32)
did -a $dname 2 This is the format your broadcasting will be displayed in. Available dynamic tokens are:
%cmd &title - The title of the playing song
%cmd &artist - The artist of the playing song
%cmd &album - Album of the playing song
%cmd &genre - Genre of the playing song
%cmd &year - Year of the playing song
%cmd &len - The length of the playing song
%cmd &rem - The remaining length of song
%cmd &playcount - No. of times the song has been played
%cmd &pos - The position of the song
%cmd &bitrate - The song's bitrate
%cmd &mode - How the song is being played
%cmd &frequency - Frequency of the song
%cmd &size - Size of the MP3 file
%cmd &comment - Returns any comments on the song
%cmd NOTE: &album and &genre will appear blank if it is not found
if ( !%broadcasting ) did -c $dname 22
else did -c $dname 21
did -c $dname $iif(%bc.msg == describe,5,4)
}
;broadcasting sclick events
on *:dialog:mp3.bc:sclick:*:{
if ($did == 7) { dialog -md ascii ascii }
if ($did == 21) { set %broadcasting 1 }
elseif ($did == 22) { unset %broadcasting }
elseif ($did == 23) { mp3broadcast }
elseif ($did == 40) { dialog -x $dname }
elseif ( $did == 4 ) { set %bc.msg msg }
elseif ( $did == 5 ) { set %bc.msg describe }
}
on *:dialog:mp3.bc:edit:*:{
if ($did == 3) set %broadcastformat $did(mp3.bc,3).text
if ($did == 12) set %broadcastchannels $remove($did($v1).text,$chr(32))
}
;FAQ dialog
on *:dialog:mp3:menu:31: { if (!$dialog(mp3.faq)) dialog -md mp3.faq mp3.faq | else dialog -v mp3.faq }
dialog mp3.faq {
title "Topics"
size -1 -1 318 85
option pixels %notheme
combo 1, 11 21 299 26, drop
box "Select a Topic", 2, 3 6 312 48
button "Close", 3, 3 57 312 25
}
;close FAQ dialog
on *:dialog:mp3.faq:sclick:3: { dialog -x $dname }
;FAQ dialog initialization
on *:dialog:mp3.faq:init:0: {
did -a $dname 1 Modes of Play
did -a $dname 1 Why don't some of my songs appear in the list?
did -a $dname 1 List of Features
did -a $dname 1 Broadcasting
did -a $dname 1 Scrolling Methods
did -a $dname 1 Function Keys
did -a $dname 1 Export to Text
did -a $dname 1 Mini Mode
did -a $dname 1 Styles
did -a $dname 1 ID3 Tag Editor
did -c mp3.faq 1 1
}
;combo box selection
on *:dialog:mp3.faq:sclick:1: {
var %d = faq $+ $did(1).sel
if ( !$dialog(%d) ) dialog -md %d %d | else dialog -v %d
}
;faq1 dialog
dialog faq1 {
title "Modes of Play"
size -1 -1 260 315
option pixels %notheme
text "In this mode, the MP3 Player will only play what you have selected. At the end of each song, it will stop until you manually play another song.", 1, 15 20 230 50, center
box "Normal", 2, 8 5 245 70
text "In this mode, the MP3 Player will play what is next in the list after the current song is finished.", 3, 15 90 230 40, center
box "Continuous", 4, 10 75 245 60
text "In this mode, the MP3 Player will select a random song each time it plays a new one. When Random is set, it will automatically set continuous play as well.", 5, 15 150 230 60, center
box "Random", 6, 10 135 245 85
button "Close", 7, 10 285 240 25
text "In this mode, the MP3 Player will play the same song over and over until interfered with.", 8, 20 235 225 40, center
box "Repeat", 9, 10 220 245 60
}
;close dialog faq1
on *:dialog:faq1:sclick:7: { dialog -x $dname }
;faq2 dialog
dialog faq2 {
title "Why don't some of my songs show in the list?"
size -1 -1 328 175
option pixels %notheme
text "This is probably because the files are .mp4 or .m4a. This means they are MP4's and not MP3's, and mIRC will not recognize them.", 1, 10 15 300 40
box "Problem", 2, 5 1 315 61
text "Luckily, there is an online converter to turn MP4's into MP3's. Click the link below to go there.", 3, 10 80 299 30
link "www.media-convert.com", 4, 100 115 124 17
button "Close", 5, 10 145 310 25
box "Solution", 6, 5 67 315 71
}
;close faq2 dialog
on *:dialog:faq2:sclick:5: { dialog -x $dname }
;faq3 dialog
dialog faq3 {
title "List of Features"
size -1 -1 310 220
option pixels %notheme
text "On the main MP3 Player, you'll see an array of buttons with symbols on. Here's a list of what they all do:", 1, 5 5 235 40
list 2, 15 80 110 100, vsbar
list 3, 135 80 160 100, vsbar hsbar
button "Close", 4, 45 190 210 25
text "Symbol", 5, 15 62 42 17
text "Effect", 6, 135 62 100 17
box "Key", 7, 5 46 300 140
}
;faq3 initialization
on *:dialog:faq3:init:0: {
did -a $dname 2 List
did -a $dname 3 Displays all MP3's available for play. Can be double clicked to play a song.
did -a $dname 2 Now Playing Box
did -a $dname 3 Displays what is currently playing.
did -a $dname 2 Position Bar
did -a $dname 3 Shows how far through the song is. Can be dragged to change the position of the song.
did -a $dname 2 <<
did -a $dname 3 Plays the track previous in the list. If Random Play is on, it will play a random song.
did -a $dname 2 []
did -a $dname 3 Stops what is currently playing.
did -a $dname 2 >>
did -a $dname 3 Plays the track next in the list. If Random Play is on, it will play a random song.
did -a $dname 2 ||
did -a $dname 3 Pauses the current track. When it is paused, press it again to resume.
did -a $dname 2 |>
did -a $dname 3 Plays what is selected in the list.
did -a $dname 2 Volume Bar
did -a $dname 3 Shows the volume. Can be altered by dragging it.
did -a $dname 2 Directory
did -a $dname 3 Adds all the playable files from a directory selected into the list.
did -a $dname 2 Remove All
did -a $dname 3 Removes every file from the list.
did -a $dname 2 Add File
did -a $dname 3 Adds the selected file to the list.
did -a $dname 2 Remove File
did -a $dname 3 Removes the selected file from the list.
did -a $dname 2 Total MP3's Box
did -a $dname 3 Displays how many MP3's are in the list.
did -a $dname 2 Play Count Box
did -a $dname 3 Displays how many times you have played the song.
did -a $dname 2 Center
did -a $dname 3 Makes the MP3 Player reposition itself in the middle of your screen.
did -a $dname 2 Hide
did -a $dname 3 Closes the MP3 Player. Please note that it will still play songs whilst closed.
did -a $dname 2 Broadcast Now
did -a $dname 3 Broadcasts what is in your broadcasting options.
did -a $dname 2 MP3 Information
did -a $dname 3 Displays info about the playing MP3.
did -z $dname 3
}
;faq3 sclick events
on *:dialog:faq3:sclick:*: {
if ( $did == 4 ) dialog -x $dname
;make lists allign when highlighted
if ( $did == 2 ) || ($did == 3) { did -c faq3 2,3 $did($dname,$did).sel }
}
;faq4 dialog
dialog faq4 {
title "Broadcasting"
size -1 -1 340 470
option pixels %notheme
text "Broadcasting is a very important part of an MP3 Player, as it allows you to show other people what you're playing. The Broadcasting options can be found under File -> Broadcasting.", 1, 10 20 320 40
text "In the Broadcasting Options, you'll find an area of where to set your play message and a place to alter what channels it shows in.", 2, 10 65 320 30
box "About", 3, 5 5 330 95
text "The Now Playing Message is what is going to be displayed to the channels. You can use dynamic tokens to say what you are listening to, like &&title, &&artist, and &&len. The dynamic tokens are listed in the Broadcasting Options. Remember, you can use colours (CTRL+K), so make it pretty!", 4, 10 116 320 70
box "Now Playing Message", 5, 5 100 330 90
text "The channels box is, clearly, where your Now Playing Message is going to be sent. To set multiple channels, separate them with a comma.", 6, 10 210 320 40
text "Example: #horses,#cows,#sheep,#pigz", 7, 10 250 320 17
text "If you type 'all' into the box, it will display your Now Playing Message into every channel you are on (amsg).", 8, 10 265 320 30
box "Channels", 9, 5 195 330 105
button "Close", 10, 5 440 330 25
text "A quick click on the ASCII button will bring up a list of characters that you can use in your now playing message. Simply select a character and then press 'copy to clipboard' to copy it.", 11, 10 315 320 40
box "ASCII", 12, 5 300 330 60
text "Select which box according to how you want to display your Now Playing message. If you tick Message, it will use message the channel in normal format. If you tick Describe, it will use the /me format of messaging.", 13, 10 375 320 55
box "Method", 14, 5 360 330 75
}
;faq4 dialog close
on *:dialog:faq4:sclick:10: { dialog -x $dname }
;faq5 dialog
dialog faq5 {
title "Scrolling Methods"
size -1 -1 300 184
option pixels %notheme
text "On this mode, the Now Playing box does not scroll.", 1, 10 20 280 20
box "None", 2, 5 5 290 40
text "In this mode, the song will marquee back and forth both ways.", 3, 10 60 280 30
box "Two-Way", 4, 5 45 290 50
text "In this mode, the song will marquee across the box from left to right continuously.", 5, 10 115 280 30
box "Forwards", 6, 4 100 290 50
button "Close", 7, 5 155 290 25
}
;faq5 close
on *:dialog:faq5:sclick:7: { dialog -x $dname }
;faq6 dialog
dialog faq6 {
title "Function Keys"
size -1 -1 295 383
option pixels notheme
text "Function Keys (F Keys), such as F1, F2 etc, can be useful if you don't want to continually open the MP3 Player. ", 1, 10 20 275 40
box "Introduction", 2, 5 5 285 60
text "These are the default F Key settings:", 3, 10 80 275 15
box "Default Settings", 7, 5 65 285 85
text "If you want to change which F Keys do what, open the script up in your editor and look at lines 2-4. Here you'll find the aliases that can be easily changed. ", 8, 10 170 275 40
text "So if I want the MP3 Player to open with F5, I would simply change the 'alias F10' part on Line 11 to 'alias f5'.", 12, 10 270 275 30
box "Changing the Function Keys", 13, 5 155 285 155
button "Close", 14, 5 360 284 20
text "F10 - Open MP3 Player", 4, 10 97 160 17
text "F11 - Pause/Resume song", 5, 10 112 160 17
text "F12 - Broadcast", 6, 10 128 160 17
list 9, 15 215 265 69
text "You can turn the Function Keys on or off using the tool menu.", 10, 10 325 275 35
box "Enable/Disable Function Keys", 11, 5 310 285 45
}
;faq initialization
on *:dialog:faq6:init:0: {
did -a $dname 9 Line 11 - Open MP3 Player
did -a $dname 9 Line 12 - Pause/Resume song
did -a $dname 9 Line 13 - Broadcast
}
;faq6 close
on *:dialog:faq6:sclick:14: { dialog -x $dname }
;faq7 dialog
dialog faq7 {
title "Export to Text"
size -1 -1 330 155
option pixels %notheme
box "Exporting", 1, 10 5 316 75
text "Exporting to Text simply means writing what you have in your MP3 Player list into a .txt document. This allows you to C+P things that you want to. Please note that it might freeze your mIRC for a couple of seconds.", 2, 15 20 300 55
text "This will simply view the .txt file you have written to.", 3, 15 100 305 15
box "View MP3 List", 4, 10 85 315 35
button "Close", 5, 10 125 315 25
}
;close faq7
on *:dialog:faq7:sclick:5: { dialog -x $dname }
;faq8 dialog
dialog faq8 {
title "Mini Mode"
size -1 -1 365 145
option pixels %notheme
text "Mini Mode is a neat little function that allows you to make the MP3 Player more smaller and compact. Note that there isn't an MP3 List there, so you won't be able to pick a song you want to play. This is why it should only be used with Continuous and Random Play. To go back to viewing the Normal Player (/mp3/F keys open what mode was used last), simply go to View -> Normal Mode.", 1, 10 20 345 85
button "Close", 2, 10 115 345 25
box "Mini Mode", 3, 5 5 355 105
}
;close faq8
on *:dialog:faq8:sclick:2: { dialog -x $dname }
;faq9 dialog
dialog faq9 {
title "Styles"
size -1 -1 320 210
option pixels %notheme
text "The Styles feature allows you to change between two modes of theme. It just adds a nicer touch so you can customize your MP3 Player to your liking.", 1, 10 20 300 45
box "What is it?", 2, 5 5 310 65
text "Themed mode sets the MP3 Player to work with your current computer theme.", 3, 10 90 300 30
box "Themed", 4, 5 75 310 50
text "Retro mode makes the MP3 Player use mIRC's own internal style.", 5, 10 140 300 30
box "Retro", 6, 5 125 310 50
button "Close", 7, 5 180 310 25
}
;faq9 close
on *:dialog:faq9:sclick:7: { dialog -x $dname }
;faq10 dialog
dialog faq10 {
title "ID3 Tag Editor"
size -1 -1 242 170
option pixels %notheme
text "To use the ID3 Tag Editor, simply click the Browse button and select an .mp3 file to edit. Once selected, use the dropdown menu to select which ID3 Tag you wish to edit. When done, click the Update button.", 1, 10 15 225 70
text "When editing the Genre tag, use the other dropdown menu to select which Genre you want to change it to.", 2, 10 90 225 45
box "Using the ID3 Tag Editor", 3, 5 0 235 140
button "Close", 4, 5 142 235 25, flat
}
;close faq10 dialog
on *:dialog:faq10:sclick:4: { dialog -x $dname }
;Export
on *:dialog:mp3:menu:36: {
write -c mp3list.txt
var %m = $lines(playlist.txt)
while ( %m ) {
var %l = $read(playlist.txt,%m)
write mp3list.txt $iif($sound(%l).title,$v1,$regsubex($gettok($nopath(%l),-1,45),/(.mp3)$/,)) - $&
$iif($sound(%l).artist,$v1,$gettok($nopath(%l),-2,45)) - $&
$remove($duration($calc($sound(%l).length /1000),3),00:)
dec %m
}
echo -a 0,0/11,0/0,11/12,11/11,12/2,12/12,2/1,2/2,1/1,1/0,1 MP3 list updated!
}
;Open MP3List.txt
on *:dialog:mp3:menu:35: { run mp3list.txt }
;change to mini mp3 player
on *:dialog:mp3:menu:39: {
.timerpos.update -p
.timerscrolltitle off
dialog -x $dname
dialog -md mini mini
}
;mini dialog
dialog mini {
title "MP3 Player - Mini Mode"
size -1 -1 359 45
option pixels %notheme
edit "", 3, 0 0 360 20, read
scroll "Volume", 2, 230 25 120 16, horizontal top range 0 66535
button "[]", 7, 55 20 55 25
button "||", 8, 110 20 55 25
button ">>", 9, 165 20 55 25
button "<<", 15, 0 20 55 25
menu "File", 5
item "Options", 13, 5
item "Broadcasting", 14, 5
item "break", 12, 5
item "Exit", 11, 5
menu "View", 1
item "Normal Mode", 10, 1
}
;mini initialization
on *:dialog:mini:init:0: {
did -c $dname 2 $vol(master)
did -ra mini 3 $nopath($read(playlist.txt,%songnum))
}
;stop button
on *:dialog:mini:sclick:7: { mp3stop }
;pause button
on *:dialog:mini:sclick:8: {
if ( $inmp3 ) { if ($inmp3.pause) splay resume
else splay pause
}
}
;next button
on *:dialog:mini:sclick:9: {
if ( %rplay ) set %songnum $rand(1,$lines(playlist.txt)) | mp3play $read(playlist.txt,%songnum)
else inc %songnum | mp3play $read(playlist.txt,%songnum)
}
;previous button
on *:dialog:mini:sclick:15: {
if ( %rplay ) set %songnum $rand(1,$lines(playlist.txt)) | mp3play $read(playlist.txt,%songnum)
else dec %songnum | mp3play $read(playlist.txt,%songnum)
}
;exit
on *:dialog:mini:menu:11: {
set %dialog mini
dialog -x $dname
}
;on close
on *:dialog:mini:close:0: {
set %dialog mini
}
;volume scrollbar
on *:dialog:mini:scroll:2: { vol -v $did($did).sel }
;back to normal MP3 Player
on *:dialog:mini:menu:10: {
dialog -x $dname
dialog -md mp3 mp3
}
;open options dialog
on *:dialog:mini:menu:13: { dialog -md mp3.options mp3.options }
;open broadcasting dialog
on *:dialog:mini:menu:14: { dialog -md mp3.bc mp3.bc }
;ASCII dialog
dialog ASCII {
title "ASCII"
size -1 -1 115 140
option pixels %notheme
list 1, 1 1 115 100, vsbar size
button "Copy to Clipboard", 2, 1 100 115 20, flat
button "Close", 3, 1 120 115 20, flat
}
;ascii alias
alias -l chars {
did -a $dname 1 -----------------
did -a $dname 1 NOT ALL ASCII
did -a $dname 1 CHARACTERS
did -a $dname 1 WORK IN mIRC,
did -a $dname 1 SO EXPERIMENT!
did -a $dname 1 -----------------
var %x = 1, %y = 255
while (%x <= %y) {
did -a $dname 1 $chr(%x)
inc %x
}
}
;ascii initialization (adding characters)
on *:dialog:ascii:init:0: {
chars
}
;close ascii dialog
on *:dialog:ascii:sclick:3: { dialog -x $dname }
;clipboard from ascii dialog
on *:dialog:ascii:sclick:2: { clipboard $did(ascii,1).seltext }
/*
ID3 Tag Editor
Author: PR|MuS
Email: Shredplayer@email.com
Script Environment: Remotes
Comments: a mini ID3 editor for editing ID3 Tags
*/
;id3 dialog
dialog ID3 {
title "ID3 Tag Editor"
size -1 -1 295 93
option pixels
edit "", 1, 3 2 200 20, read autohs
button "Browse", 2, 208 2 85 20
edit "", 3, 3 24 285 22, autohs
combo 4, 123 47 110 120, size drop
button "Update", 5, 3 70 150 20
button "", 7, 0 0 0 0, hide ok
combo 8, 3 47 120 180, size drop
}
;dialog events
on *:dialog:ID3:*:*:{
if $devent == init {
did -a $dname 1 No file selected.
did -f $dname 2
genre
did -b $dname 8,5
didtok -a $dname 4 32 Title Artist Album Year Comment Genre
}
if $devent == sclick {
if $did == 2 {
did -ra $dname 1 $file="Choose an .mp3" *.mp3
if .mp3 !isin $did(1) { did -ra $dname 1 | did -b $dname 5 }
else { did -e $dname 5 }
}
if $did == 4 {
did -f $dname 3
dialog -t $dname $+(ID3 Tag Editor:,$chr(32),$did(4).seltext)
did -ra $dname 3 $PR0P($did(1),$did(4).sel)
if $did(4).sel == 6 { did -c $dname 8 $didwm(8,$did(3)) }
}
if $did == 5 && $did(4).sel {
var %file = $shortfn($did(ID3,1))
$EDIT(%file,$did(4).sel)
}
if $did(4).sel == 6 { did -e $dname 8 | did -m $dname 3 }
else { did -b $dname 8 | did -n $dname 3 }
if $did == 8 && $did(4).sel == 6 { did -ra $dname 3 $did(8).seltext }
}
}
;prop alias
alias -l PR0P {
if $2 == 1 return $mp3($1).title
elseif $2 == 2 return $mp3($1).artist
elseif $2 == 3 return $mp3($1).album
elseif $2 == 4 return $mp3($1).year
elseif $2 == 5 return $mp3($1).comment
elseif $2 == 6 return $mp3($1).genre
}
;edit alias
alias -l EDIT {
bread $1 $B_CALC($1,128) 3 &tag
if ($bvar(&tag,1-3).text != TAG) {
bwrite $1 $B_CALC($1,128) 3 TAG
bset &fill 125 0
bwrite $1 $B_CALC($1,125) 124 &fill
bunset &fill
}
if ($mp3($1).version == MPEG 1.0 Layer 3) {
if ($did(ID3,3)) {
bset &val $N_BYTE($2) $iif($2 == 6,$calc($did(ID3,8).sel - 1),$did(ID3,3))
bwrite $1 $S_BYTE($1,$2) $N_BYTE($2) &val
$iif($2 < 6,.bwrite $1 $S_BYTE($1,$2) $N_BYTE($2) $did(ID3,3))
}
else {
bset &val 30 $asc($chr(32))
bwrite $1 $S_BYTE($1,$2) $N_BYTE($2) &val
}
bunset &val
dialog -t $dname $+(ID3 Tag Editor:,$chr(32),Updated!)
}
}
;B_CALC alias
alias -l B_CALC {
return $calc($file($1).size - $2)
}
;N_BYTE alias
alias -l N_BYTE {
return $gettok(30 30 30 4 30 1,$1,32)
}
;S_BYTE alias
alias -l S_BYTE {
return $calc($file($1).size - $gettok(125 95 65 35 31 1,$2,32))
}
;genre alias
alias -l genre {
didtok ID3 8 44 Blues,Classic Rock,Country,Dance,Disco,Funk,Grunge,Hip-Hop,Jazz,Metal,New Age,Oldies,Other,Pop,R&B,Rap,Reggae,Rock,Techno,Industrial,Alternative,Ska,Death Metal,Pranks,SoundTrack,Euro-Techno,Ambient,Trip-Hop,Vocal,Jazz+Funk,Fusion,Trance,Classical,Instrumental,Acid,House,Game,Sound Clip,Gospel,Noise,Alternative Rock $&
,Bass,Soul,Punk,Space,Meditative,Instrumental Pop,Instrumental Rock,Ethnic,Gothic,Darkwave,Techno-Industrial,Electronic,Pop-Folk,Euro Dance,Dream,Southern Rock,Comedy,Cult,Gangsta Rap,Top 40,Christian Rap,Pop/Funk,Jungle,Native American,Cabaret,New Wave,Psychedelic,Rave,Showtunes,Trailer,Lo-Fi,Tribal,Acid Punk,Acid Jazz,Polka,Retro,Musical,Rock n' Roll
didtok ID3 8 44 Hard Rock,Folk,Folk-Rock,National Folk,Swing,Fast Fusion,Bebop,Latin,Revival,Celtic,Bluegrass,Avantgarde,Gothic Rock,Progressive Rock,Psychedelic Rock,Symphonic Rock,Slow Rock,Big Band,Chorus,Easy Listening,Acoustic,Humour,Speech,Chanson,Opera,Chamber Music,Sonata,Symphony,Booty Bass,Primus,Porn Groove,Satire,Slow Jam,Club,Tango $&
,Samba,Folklore,Ballad,Power Ballad,Rhythmic Soul,Freestyle,Duet,Punk Rock,Drum Solo,Acapella,Euro-House,Dance Hall,
}