id3 Lib - Windows Mobile Development and Hacking General

Hey all,
Im TRYING to finish off my "Melody" music player, but simply can't find a library that will read id3 tags from mp3s. I'm using visual basic .net and the compact framework, and I've tired SEVERAL libs, including:
UltraID3Lib http://home.fuse.net/honnert/hundred/?UltraID3Lib
TagLib# http://developer.novell.com/wiki/index.php/TagLib_Sharp
IdSharp http://sourceforge.net/projects/idsharp
ShazamMP3 http://www.ewal.net/shazam.php
EzyID3 http://alphafish.com/core.php?page=article&id=3
Funny enough though, they all give the EXACT same error:
"NullReferenceException" On trying to read the tags from the mp3 file. This is even before trying to actually access the tag info.
Maybe it has something to do with the fact that the above mentioned libraries are built for the standard .NET framework. But I thought it would have given me a platform error instead? If anyone knows of a working lib, or a way of accessing the id3 tags of a MP3 using the compact framework, please let me know.
Thanks.

Funny that you should mention that.
I have an old project I did in VB6, a music center. Anyway, I have a whole ID3 tag reader (v1 and v2) Perhaps you'd like it?

Merlin_reloaded said:
Funny that you should mention that.
I have an old project I did in VB6, a music center. Anyway, I have a whole ID3 tag reader (v1 and v2) Perhaps you'd like it?
Click to expand...
Click to collapse
Sounds good, but how would I translate that into .Net, and then will it work under the compact framework??

Hi,
any news on this thread? I have the same Problem with UltraID3Lib.
Thanks

chad ended up using python scripts to read the tags and output the data
he then moved to c++ to incorporate all this
plus, check the last post date, 9/9/07
but great job for searching back that far
Rory

Related

Hermes Audio Codec Question

I've searched around and found a few posts but so far nothing has worked.
Here's my scenario. I've got a PBX with Unified Messaging capabilities, these messages are encoded using ADPCM, now the distributor for the PBX includes a coded for windows machines to play the ADPCM format they use, however from what I can tell there is so far (that i've found) no coded for windows mobile.
What options do I have for playback of these audio files? I can't really change the output of the PBX (i could but then file size would become an issue since ADPCM is really good at compressing telephone quality voice). As I mentioned earlier I do have the windows codec, is there anyway to port it to work on Windows Mobile 5?
I have tried a few of the players listed here, however they don't want to play those Wav files... so I wonder if its a customized ADPCM codec their using...
Anyways I'd appreciate any help or suggestions.
Thanks~
I know what your looking for, and more importantly, due to extensive research I know where to find it.
Yes you are looking for the legendary G SPOT.
http://www.headbands.com/gspot/
Its a great little app, no install necessary. It identifies the codecs used for audio and video files.
My advice, have a play.. you cant go wrong.
Ahh, thankyou very much.
Looks like its using Dialogic OKI ADPCM which I kinda doubt has mobile support but I'll dig around and see what I can find.
I dont really understand the sytem you have nor what your trying todo with the audio files it produces.. I assume to semi automated retreival/listening to them.
From a quick scan of the codec databases people are having huge problems obtaining this OKI thing for regualr windows. no mention at all of a mobile codec for oki.
Or there is this , which isnt really automated but it will allow you to play and convert the OKI's to a format your ppc can use.
http://sox.sourceforge.net/
As they have the soruce code available, you could spend the summer modding a ppc version ..
Or another option, they have the atariST executables, which you could run on a atari emulator hither. http://www.pocketpcfreewares.com/en/index.php?soft=767
Good luck keep us posted.
Thanks for the link.
Your correct, the system automatically attaches their voicemail and emails a copy to them. conversion's not really an option but I might just have to go that route. OKI makes some pretty small wav files (200-250k per min) so thats what makes it great for this application. Im also going to pester the distributor of this voicemail to see if they've tweaked it any for such an application.

Kinetic Scrolling Demo **Updated** KListControl with source

Hi
New around these forums..
I've posted a in-progress of a project I'm working on. It's a kinetic scroller (you know that flick scroll effect). Remember this is a demo it doesn't actually do anything useful apart from amuse me!
Not as fluid/cool as iContact, but it's my first PPC application. The grand plan is to turn it into a library based MP3 player with a decent looking interface.
It's written in CF .NET so if you really need the source reflection is your friend.
Tested on a WM6 blueangel device @ 400Mhz. Runs in the WM2003 emulator
----
I've updated with source. No license, do whatever you want with it. Although a mention somewhere would be nice
Chad get this media player out the door now!
-------
New optimized demo released, source now updated.
Removing old source as the file name is confusing.
Thanks for all the comments.
-------------------------------------------------
**************************************
UPDATE:
gingercat has done some fantastic work loosely based on the original source and created a user control. Unlike my old code it doesn't use one big bitmap and just better written in every aspect. I'll leave my old source up just for reference as to how /not/ to write a kinetic scroller
I can't try it right now because I don't have my device, but it's nice to know that at least a few people still support WM2003/SE...
jackbnymbl said:
I can't try it right now because I don't have my device, but it's nice to know that at least a few people still support WM2003/SE...
Click to expand...
Click to collapse
...especially on wizard..
LOVELY! Why don't we work together to bring your scrolling routine, into my existing mp3 player "Melody". I've got playback and that sort of thing sorted out. Please PM me if you're interested.
anyone care to post a vid plz
slow scrolling and not as responsive as other scrolling software out there... but the idea is there ... i would also love to see smtg similar implemented in chad's media player (just my simple opinion)...
thundershadow14 said:
LOVELY! Why don't we work together to bring your scrolling routine, into my existing mp3 player "Melody". I've got playback and that sort of thing sorted out. Please PM me if you're interested.
Click to expand...
Click to collapse
Thanks for the offer! This is a hobby project and I'd like to work on my own.
However I'm now going to release the source so you can use it..
Kinetic scroller, officially a part of Melody.:
http://forum.xda-developers.com/showthread.php?t=325223
Development
Hi
I was just wondering, how long will it take for you to make your product compatible to play Mp3 Songs, because I'm tierd of waiting for a Music Player, which is easy to use and fast. And by the way, I think your player is so far the best, it just has to get a litle better UI!!!
Well, here I am with release 002 of my kinetic scroller demo.
I've added alot of optimizations and its silky smooth on my 400Mhz device! It even runs great underclocked at 200Mhz.
Source to follow (once its cleaned up, probably tommorrow)
Thanks for this! Once again shows how it just takes one person to come up with a great idea (apple (or whoever initially came up with smooth scrolling)) then we all wonder how we lived without it!
I've just been reflecting over it and note that you are relying on .NET garbage collection to clean up e.g. all the graphics and brush objects you create - you need to be careful about this because this isn't deterministic and you can quickly run out of resources before it gets round to cleaning up. I know you say you're going to clean up the code anyway, but just thought I'd add my tip!
The holy grail would be if we can figure out how to hook mouse events, because then mouse movement can be processed independently of the form (and any other items on it). Unfortunately, CE doesn't support this (that I know of). The form approach only works if everything is semi-custom drawn.
This new version scrolls as good as or better than iContact, so you can remove that message on the first post.
on the other hand, the version currently implemented in melody v0.6 doesn't seem as good as this one.
btw, once you upload the new source, i'll see if i can make it stop selecting the first touched item when you are trying to scroll.
when thundershadow and i were making our own one we found the way to do this was to do something like listbox1.selectedindex = -1
it should be pretty easy to do.
also, something like this instead of the random number generator could get a list of the files in the current dir:
Code:
string[] r = System.IO.Directory.GetFiles(System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase),".mp3");
klist = new KList(0, 20, screenX, screenY, "All Tracks");
for (int i = 0; i < r.Length; i++)
{
KItem ki = new KItem(i + ". " + r[i] + ".mp3");
klist.addItem(ki);
}
dunno if that is accurate or not.. haven't used c# that much.. but it should be easy todo.
Source is now up.
I've starting playing around with MP3 playback but please ignore it (Using the FMODCE .NET wrapper)
dosfan said:
Source is now up.
I've starting playing around with MP3 playback but please ignore it (Using the FMODCE .NET wrapper)
Click to expand...
Click to collapse
if you're intending on making it a practical-use app,
probably the best way to go about it is using the shell execute function to open the mp3's in whatever player they associated mp3's to (cos people will want features they prefer than other media players).
and then later on you can add an option to customize the command so the user can use it with a different media player without changing the associations.
so they'd have to make something like: "\SD Card\TCPMP\player.exe /open %mp3path%".
then the app just has to replace "%mp3path%" with the variable for the path to the selected mp3, and launch everything before it to shell.
you'd also need to add something like the code in my last post to get a list of the mp3's (tried it on my ppc and it doesn't work, so it needs to be fixed up though).
chrismrulz said:
if you're intending on making it a practical-use app,
probably the best way to go about it is using the shell execute function to open the mp3's in whatever player they associated mp3's to (cos people will want features they prefer than other media players).
and then later on you can add an option to customize the command so the user can use it with a different media player without changing the associations.
so they'd have to make something like: "\SD Card\TCPMP\player.exe /open %mp3path%".
then the app just has to replace "%mp3path%" with the variable for the path to the selected mp3, and launch everything before it to shell.
you'd also need to add something like the code in my last post to get a list of the mp3's (tried it on my ppc and it doesn't work, so it needs to be fixed up though).
Click to expand...
Click to collapse
Yes, that something I was already considering.
To be honest, I'm not impressed with FMOD's performance. Even just initalizing the library is causing performance issues (without even playing a MP3, does fmod.init() spawn a thread or something???)
I'm looking for a port of MAD that I could interop with. If anyone knows of a libmad.dll for ARM WINCE point me in the direction!
dosfan said:
Yes, that something I was already considering.
To be honest, I'm not impressed with FMOD's performance. Even just initalizing the library is causing performance issues (without even playing a MP3, does fmod.init() spawn a thread or something???)
I'm looking for a port of MAD that I could interop with. If anyone knows of a libmad.dll for ARM WINCE point me in the direction!
Click to expand...
Click to collapse
afaik, performance-wise fmod would be the best library to use.
but the problem is that most people would rather use their own player like tcpmp or wmp that does what they want,
rather than just a basic player with a third-party library in .net cf.
New UserControl version
Hi dosfan,
I have modified the source to create a new KListControl which is a UserControl you can add to any .NET form. All the scroll functionality required is all contained within the new control.
This control doesn't pre-render everything up-front, so should be less memory hungry (especially with long lists) at the slight expense of some speed (runs fine on my hermes).
Each item is now custom drawn, and only needs to support an IKListItem interface - this enables each item to draw whatever it wants, whenever it wants (well, by nicely asking its parent to invalidate it when visible). I have created a basic KListItem object that supports string name, object value (and has the same functionality you provided).
I also updated the project to still compile with the new source, so (if you like the changes) you can continue work from there.
Updates I will still make are:
Better use of statics incase multiple lists are used (currently the background selection image is static)
Common timer between multiple instances of the control (for performance).
Hope you don't mind my changes!
Chris.
i've just modified gingercat's version to launch the selected mp3 using the windows shell.
to test it out you need to create a directory called "\\SD Card\\My Music", or change the variables in form1 and the klistcontrol to where your music dir is.
if the directory doesn't exist it will browse for mp3 files in the app's directory, then grab the folder of the one selected.
this is not a practical idea, and it won't change the variable in the klistcontrol,
so it wont be able to launch it through shell if you use the browsing method.
a better way would be to make it a folderbrowser dialog instead of a file one,
then make the folder variable in form1 a global variable, and the klistcontrol just grabs it from form1.
that still wouldn't work for subdirectories though.
for that you'd need to tag each klistitem with it's full file path or directory when it's being added.
also it should be pointed out that gingercat's version scrolls a bit too fast.
it's smooth so there aren't any performance issues.
it just goes too far with the tiniest tap up or down.
is there any way to capture all mouse events of the system?

Installable application pack cab?

Hi, just wondering if anyone has one big cab that would install a nice amount of free and handy software? Be good if one exists that has the best of the useful like converters, music player/media player, games and system utilities?
Obviously I could spend the time searching for and installing each individually but wondering if someone has compiled an application pack containing a load of good software like those found pre-installed in cooked roms.
Thanks!
Define what do you mean by goodies?
Hi thanks for replying. Basically I have flashed a rom that didn't come with that much with regards to extra apps and so although I could install extra stuff individually, wondered if someone had complied an application app pack with useful apps like a converting tool, decent media player (like core player), gps tools, photo editing tools, ring tone making mp3 trimmer, games etc.
Essentially, all the essentials!
http://forum.xda-developers.com/showthread.php?t=550973 it's not a pack but you can find a lot of good stuff here.
thanks for that!

Audio Files Chooser

Hi,
I am looking for a way to allow my application to have the entire list of Audio files on the SD card. This is required when a user wants to send a message that includes an audio file. However, I don't want to use the native Music application to compile the list of audio files, but rather have the list myself and iterate through it. Is there a possibility to do this?
Thank you,
Erez
EDIT: That was silly The SDK offers the MediaStore.Audio API for that.
try tonepicker from the android marketplace works great
Thank you for that.
However, I was looking for an API to do that, not an application. I changed my original posting with the answer I found.

[Q] Sense Music Tab

i am using cloudy 0.7 wm6.1 with manila 2.5.20183025.0 and i never really used the music tab before, in fact i deactivated it and always used coreplayer to listen to music and books on tape.
now i decided to give it another go and face some questions about that tab/player:
1. how do i exclude folders from the library or define certain files to be the sole library? i don't want hundreds of tracks from my audiobooks in there, just music.
2. i read of people mentioning sense's capabilities of downloading album art but i can't seem to find any option for that.
btw. if anybody knows a nice freeware/open source program (for windows pc) for automated sorting and renaming mp3s based on internet databases like cddb, where you have to check and do manually as little as possible, it would be very nice. unfortunately, most of my music is highly unsorted, and all programs i tested so far need to much work on the user side to not totally mess up and that way it would take me ages to get my stuff sorted out.
thanks
Tony
EDIT: additional information:
i realize, not exactly many people seem to use that rom these days, so to further clarify what version of the player this is all about, i attached some screenshots, so basicly anybody with the same version could drop some advice here
Chef_Tony said:
btw. if anybody knows a nice freeware/open source program (for windows pc) for automated sorting and renaming mp3s based on internet databases like cddb, where you have to check and do manually as little as possible, it would be very nice. unfortunately, most of my music is highly unsorted, and all programs i tested so far need to much work on the user side to not totally mess up and that way it would take me ages to get my stuff sorted out.
thanks
Tony
Click to expand...
Click to collapse
I cannot help with the HTC sense stuff, but i can recommend MP3tag I have used it for years to keep my music library in order.
It does need a bit of user input but i have found it very helpful, it is especially good at making sure all tags follow the same format & making sure that all data is in the correct fields, it can also import album art from a number of places.
I agree about mp3tag (I'm using it for years too), but...
mp3tag helps if music archive is at least partially organized... or you have a lot of time
But once you organize it... man, you can do with mp3tag small wonders...
I have never seen mp3tag downloading album art from anywhere
Still, I'm highly recommending mp3tag (check screenshot)

Categories

Resources