View Full Version : simulate id3 tag browsing
This could be a simple way to simulate your sooooo importand id3 tag browsing:
A small perl prog could generate a m3u playlist for each artist it can find in a filesystem..
or a playlist for every letter in the alphabet (songs or artist or anything in the id3 tag)
You could organize your playlists into folders: artists, songs, albums
this would generate many playlist, but as these m3u files are soo tiny, this wouldn't be a problem...
You would only have to have perl installed on your PC and copy this small script into the MUSIC directoy of your X5, everytime you add or delete files on your X5 you simply doubleclick on the script and the old m3u files are replaced with the new ones.
Tanthalas
05-24-2005, 11:48
To hell with perl. If you're going to do it, do it in C++ or Java so it can be easily distributed. ;) Other than that, it doesn't sound like too bad an idea. If you've got a lot of files though, it could take a stinking amount of time to generate the m3u's, especially if run remotely on the X5 itself.
En_croute
05-24-2005, 11:49
Sounds a genius idea.
You'll have to check the limit to the number of M3U files in the Playlist directory, but that sounds like a neat side-step.
I'll happily test this for you.
sorry, i'am only a hobby programmer so i only know perl... but i could ask somebody to help me...
Isn't there a C++ pro in this forum?
Shadow Skill
05-24-2005, 14:28
What is wrong with Perl? I think a scripting language would be more appropriate for this type of task as oppossed to c++ only because I think it would be a bit on the difficult side to code such a thing in that language. Do not do this with Java as Java itself tends to slow the whole system down well at least with Windows it does, plus its more likely to work on any OS if you use Perl, C or even Python as opposed to Java.
Excellent idea though I hope you pull it off. [I hope Iaudio comes to their senses quickly and realizes people have more than fifty songs on DAPS these days.]
PouncePony
05-24-2005, 14:47
But can you browse into m3u file? I can create an m3u file for every album on the player. I may want play 4 songs from a particular album. Can I open the m3u file for the album of choice and pick individual songs to add to the dynamic playlist?
Pony
Well, it is possible to compile perl for Windows, so there is no problem with Perl in my opinion. (link (http://lcb.unc.edu/software/perl/perl/perlcomp.pdf))
@ShadowSkill: why should Java Slow down the System? The JRE is closed after usage, so I don't see any problems. And Java is probably THE most portable (high-level) programming language.
AceTheFace
05-24-2005, 15:13
Will try this for genres. Album/Artis-Thing could be solves by a smart structure of your mp3-dir, but genre-m3us would be nice I think. So you could add all songs with "metal-genre" to your playlist....
Tanthalas
05-24-2005, 18:59
Do not do this with Java as Java itself tends to slow the whole system down well at least with Windows it does, plus its more likely to work on any OS if you use Perl, C or even Python as opposed to Java.
If Java slows your system down that much, your system must be a bit slow. ;)
As for portability, Java was CREATED so that it could be ported seamlessly between operating platforms without the need for changes, whereas C++ and Perl have platform specific areas, and Python requires a bloody interpreter! So, no offence, but that last statement is a load of crap. :p
BlackFlag79
05-24-2005, 19:05
Have you ever used a Java BitTorrent client and then used a C++ one? The Java ones slow your computer down a lot more.
I heard the maximum files qty iAudio supports is 9999. If you have many little playlist files you might not have enough space for your MP3s anymore unless Cowon increases this.
Btw, you can create .exe files out of perl scripts so you don't need a perl interpreter. Check out the www.activestate.com site and their perl distribution for more details.
You will use C++ only if you have to write real time applications. I think VB or C# would be a much more appropriate language to fullfill this task if you want to speak Microsoft language. At the end all MS languages are bad in my opinion as soon as it comes to string processing or regular expressions which you probably will need for this task.
Clearly most people here have never used Perl. Perl was design specifically for automatic editting of text files. Java would be horrible, as would VB, and C would be much more effort for no benefit. Python is often used for similar things, but I've never used it and can't speak to it.
Unforunately, I don't think it will work, as it is my understanding that you can't have sub directories under the playlists directory.
Well, it is possible to compile perl for Windows, so there is no problem with Perl in my opinion. (link (http://lcb.unc.edu/software/perl/perl/perlcomp.pdf))
@ShadowSkill: why should Java Slow down the System? The JRE is closed after usage, so I don't see any problems. And Java is probably THE most portable (high-level) programming language.
Perl is an intepreter language, which means its compliled just before its executet
And its very easy to install perl on windows (on every other OS its already installed)
Perl was designed to work with text and files, so it s ideal for the job. The slow part, the opening of each file and reading the ID3 tag is executed with a C subroutine... so its not too slow. And it would be rather easy to do.
BUT i checked in the manual and sadly you can only make 99 m3u files and only 999 songs per list. Now im not sure, but i guess everybody has more than 99 artists...
Only ff cowon could change this, probably one variable in the firmware, it would make sense.
And Gweilo, JAVA is SLOW and eats up all you memory. Its designed for Client-Server Things, where the user runs his own interface on his machine. For moving/sorting/reorganizing/renaming and databaseing Perl is perfekt.
Perl is just as portable, because its just a textfile, which is compiled and executed
on the system. No recompiling for every OS, just as Java
Tanthalas
05-25-2005, 04:32
Have you ever used a Java BitTorrent client and then used a C++ one? The Java ones slow your computer down a lot more.
The Java ones use a bit more memory because they are OOP, and take a bit longer to load, granted. That's the result of being a powerful high level language running on a runtime environment rather than having being compiled to the O/S. Once Java's up, though, it generally runs pretty damned quick. Look at things like Chrome - a computer game made entirely in Java. Takes forever to load, but once it's loaded impressive frame rates are possible even on older machines.
Me? I'm on an AMD64 anyhow, and all the machines I ever use are at least 1.5ghz, so personally, I think Java is the dog's gonads. Yes, Java is slow on an AMD K-6 300, but then so is everything else!
_In this case_ the issue of language is more about ease of coding than end-user concerns. It doesn't matter if the program is 2 seconds slower b/c of the language since you're only going to use it to regenerate the listing once everytime you update the music on your player -- its not like you have to use it to access the music everytime.
That said, my suggestion is store your music first by genre, then artist and then album, in which case you can already play an entire genre, artist, or album using the existing, dir-based interface. (And if you only have one album for an artist then combine the artist and album name and eliminate the extra nested directory)
Example dir structure:
\Music\Genre1\Artist1\Album1\
\Music\Genre1\Artist1\Album2\
\Music\Genre1\Artist1\Album3\
\Music\Genre1\Artist2 - Album\
\Music\Genre2\Artist3 - Album\
\Music\Genre2\Artist4\Album1\
\Music\Genre2\Artist4\Album2\
\Music\Genre2\Artist5 - Album\
What then couldn't you do w/ this arrangement that you could do w/ a tag-based interface?
thats why i don't need id3 tag browsing.
but some people have Kazaa style* folders, which means lots of work to organize them as you said.
*
March2005 (634 songs, mixed)
April2005 (741 songs, mixed)
...
@DRehm:
Is it somehow possible to play random within a mounting point in your filesystem,
eg. when its sorted as nicely as your example, could you play random only within Genre1 or Artist4?
This would be a nice little firmware update.
thats why i don't need id3 tag browsing.
Is it somehow possible to play random within a mounting point in your filesystem,
eg. when its sorted as nicely as your example, could you play random only within Genre1 or Artist4?
This would be a nice little firmware update.
I believe you need to set the boundary to subfolder and turn on shuffle and you get exactly that.
*nods* to tsayin's post. (I think that's the default boundary.) Set the player to shuffle, then navigate to whatever level of folder you want and hit joy button (center) and 'play now'.
bradavon
05-25-2005, 21:34
Has anyone come up with a prototype yet?
we had very nice weather, so i didn't spend any time in front of the monitor.
Also this limitation of 99 m3u files (according to manual) stoal it's thunder
bradavon
05-28-2005, 18:52
If that's true that's really rubbish.
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.