' Rapid-Q by William Yu (c)1999-2000 . ' ================================================================================ ' Upload_il_tuo_script_su_Rapidq.it ' Qmp3 ****** ? Courier>Qmp3 Component ****** ? Courier>I took inspiration from the 'info.bas' file by grog, and the mp3 example from sm0oth2003. ? Courier>Features: ? Courier> - Read header info - Read / write id3 tags ver 1.x - A combobox for genre selection - Play (and stop...) mp3 file ? Courier>Qmp3 Properties ________________________________________________________________________________________________________________________________ |?_Courier>Field_________|?_Courier>Type___________|?_Courier>R/W____________|?_Courier>Notes__________|?_Courier>Support________| |========================|=========================|=========================|=========================|=========================| |?_Courier>Filename______|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Title_________|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Artist________|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Album_________|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Year__________|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Comment_______|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Track_________|?_Courier>BYTE___________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Genre_________|?_Courier>STRING_________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |?_Courier>Genreid_______|?_Courier>BYTE___________|?_Courier>RW_____________| _______________________|?_Courier>W______________| |? Courier>GenresList |? Courier>QSTRINGLIST |? Courier>R |? Courier>Used internally|? Courier>W | | | | |(do not touch if you | | | | | |don't know what you're | | |________________________|_________________________|_________________________|doing)___________________|_________________________| |? Courier>GenresCB |? Courier>QCOMBOBOX |? Courier>RW |? Courier>Be sure it has |? Courier>W | | | | |a parent before any | | |________________________|_________________________|_________________________|action_!!________________|_________________________| |? Courier>Alias |? Courier>STRING |? Courier>RW |? Courier>Alias used for |? Courier>W | | | | |MciSendString (generated | | |________________________|_________________________|_________________________|automatically)___________|_________________________| |__________________________________________________?_Courier>**_Header_Info_**___________________________________________________| |?_Courier>Version_______|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Layer_________|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Protection____|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Bitrate_______|?_Courier>INTEGER________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Frequency_____|?_Courier>INTEGER________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Padding_______|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Channels______|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |? |? Courier>STRING |? Courier>R | |? Courier>W | |Courier>IntensityStereo_|_________________________|_________________________|_________________________|_________________________| |?_Courier>MS_Stereo_____|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Copyright_____|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Original______|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| |?_Courier>Emphasis______|?_Courier>STRING_________|?_Courier>R______________| _______________________|?_Courier>W______________| ****** ****** ? Courier>Qmp3 Methods ________________________________________________________________________________________________________________________________ |?_Courier>Method________|?_Courier>Type___________|?_Courier>Description____|?_Courier>Params_________|?_Courier>Support________| |========================|=========================|=========================|=========================|=========================| |?_Courier>ReadTags______|?_Courier>SUB____________|?_Courier>Reads_id3_Tags_|?_Courier>0______________|?_Courier>W______________| |?_Courier>WriteTags_____|?_Courier>SUB____________|?_Courier>Writes_id3_Tags|?_Courier>0______________|?_Courier>W______________| |? Courier>Loadlist |? Courier>SUB |? Courier>Loads genres | | | | | |list into GenresCB. Be | | | | | |careful... you MUST | | | | | |assign a parent to | | | | | |GenresCB before you use | | | |________________________|_________________________|this_function.___________|_________________________|_________________________| |? Courier>HeaderStart |? Courier>Function |? Courier>Looks for |? Courier>0 |? Courier>W | | | |header start position. | | | | | |Used intenally(but | | | |________________________|_________________________|someone_could_need_it)___|_________________________|_________________________| |? Courier>ReadHeader |? Courier>SUB |? Courier>Reads mp3 |? Courier>0 |? Courier>W | |________________________|_________________________|header_info______________|_________________________|_________________________| |? Courier>Play |? Courier>SUB |? Courier>Should I |? Courier>0 |? Courier>W | |________________________|_________________________|explain_it_?!?___________|_________________________|_________________________| |? Courier>Stop |? Courier>SUB |? Courier>Don't you know |? Courier>0 |? Courier>W | |________________________|_________________________|?!?______________________|_________________________|_________________________| |? Courier>Fitlength |? Courier>FUNCTION |? Courier>External. Adds |? Courier>2 |? Courier>W | | |(FitTag$, FitLen%) |null characters to a text| | | | | |string until it reaches | | | | | |specified length. Cuts | | | | | |the string if the string | | | | | |length exceeds the | | | |________________________|_________________________|specified_length.________|_________________________|_________________________| ? Courier>Qmp3 Events? Courier> ? Courier>Event ? Courier>Type ? Courier>Occurs when... ? Courier>Params ? Courier>Support ========================= ========================= ========================= ========================= ========================== ? Courier> None EXAMPLE: $include"Qmp3.inc" declare subReadClickedFile declare subUpdateTags declare subPlay declare subStop CREATEFormASQFORM Caption="Qid3Tag example" Width=580 Height=244 Center CREATELabel1ASQLAbEL Caption="Title" Left=176 Top=24 Transparent=1 END CREATE CREATELabel2ASQLABEL Caption="Artist" Left=176 Top=56 Transparent=1 END CREATE CREATELabel3ASQLABEL Caption="Album" Left=176 Top=88 Transparent=1 END CREATE CREATELabel4ASQLABEL Caption="Year" Left=176 Top=120 Transparent=1 END CREATE createtnlabelasqlabel caption="Track" left=292 top=120 transparent=1 end create CREATELabel5ASQLABEL Caption="Comment" Left=176 Top=152 Width=48 Transparent=1 END CREATE CREATELabel6ASQLABEL Caption="Genre" Left=176 Top=184 Transparent=1 END CREATE CREATEFileListBoxASQFILELISTBOX Left=6 Top=13 Height=137 Directory=".\" onclick=ReadClickedFile END CREATE CREATEed_titleASQEDIT Left=232 Top=16 END CREATE CREATEed_artistASQEDIT Left=232 Top=48 END CREATE CREATEed_albumASQEDIT Left=232 Top=80 END CREATE CREATEed_yearASQEDIT Left=232 Top=112 width=40 END CREATE createed_trackasqedit left=332 top=112 width=20 end create CREATEed_commentASQEDIT Left=232 Top=144 END CREATE CREATEed_genreASQEDIT Left=232 Top=176 END CREATE CREATEButton1ASQBUTTON Caption="Write" Left=5 Top=160 Width=147 onclick=UpdateTags END CREATE END CREATE dimmp3asqmp3 'The following code adds the GenresCB. It's optional mp3.genrescb.parent=form mp3.genrescb.top=190 mp3.genrescb.left=6 mp3.loadlist 'use this one to load genres list into GenresCB dimredasqrichedit withred .parent=form .left=370 .height=170 .top=10 end with dimplay_basqbutton withplay_b .parent=form .left=370 .top=190 .caption="Play" .onclick=Play end with dimstop_basqbutton withstop_b .parent=form .left=480 .top=190 .caption="Stop" .onclick=Stop end with Form.ShowModal subReadClickedFile mp3.filename=Filelistbox.filename mp3.readheader red.clear red.addstrings"Mpeg Version: "+mp3.version red.addstrings"Layer: "+mp3.Layer red.addstrings"Protection: "+mp3.Protection red.addstrings"Bitrate: "+str$(mp3.Bitrate) red.addstrings"Frequency: "+str$(mp3.Frequency) red.addstrings"Padding: "+mp3.Padding red.addstrings"Channels: "+mp3.Channels red.addstrings"Intensify Stereo: "+mp3.IntensityStereo red.addstrings"MS Stereo: "+mp3.MS_Stereo red.addstrings"Copyright: "+mp3.Copyright red.addstrings"Original: "+mp3.Original red.addstrings"Emphasis: "+mp3.Emphasis '_________________________________________________________ mp3.readtags mp3.genrescb.itemindex=mp3.genreid ed_title.text=mp3.title ed_artist.text=mp3.artist ed_album.text=mp3.album ed_year.text=mp3.year ed_comment.text=mp3.comment ed_track.text=str$(mp3.track) ed_genre.text=mp3.genre end sub SubUpdateTags mp3.title=ed_title.text mp3.artist=ed_artist.text mp3.album=ed_album.text mp3.year=ed_year.text mp3.comment=ed_comment.text mp3.track=val(ed_track.text) mp3.genreid=mp3.genrescb.itemindex 'Pay attention, you have to give a valid genre id (BYTE), 'so you cannot pass mp3.genre (which is a STRING) mp3.writetags end sub SubPlay mp3.play end sub Substop Mp3.Stop end sub ' =============================================================================== ' 2003 Holyguard.net - 2007_Abruzzoweb