yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Apps and Games] thx1200:
That's not currently an option, but it's a good feature request.
[Windows Mobile Apps and Games] fuxmen:
It would be very useful because adding one song at a time takes very long time :)
[Windows Mobile Apps and Games] delarente:
entering urls

I keep getting url is invalid.... when I try to enter a web site... what do I need to do... to set up the streaming audio
[Windows Mobile Apps and Games] RedRamage:
Thanks for working on this. I'll downloading it now and I'll give it a shot.

Any chance you can work with moneytoo to make this compatible with his smartwatch program?

http://xdaforums.com/showthread.php?t=362218
[Windows Mobile Apps and Games] vvveith:
Howdy,

I downloaded and tried your music application. There were a few things I would suggest to make the player better for people like me who just want to play everything on their device in random order.

Much like the HTC player that comes standard on the HD2, which I am not fond of, your player automatically searches the device for playable files. Because of this it list all kinds of ringtones and any other sound recordings on the device. I created many do not look in paths but it still found ringtones from different OS's on the device.

Much simpler would be just an ability to tell it where to look for the media files you want to play. Then a simple option of play all would be a much more user friendly way of selecting songs to play. This is the way it works on Pocket Player which I use all the time!

The HTC player, Windows mobile media player and yours all have this awkward approach to searching for media files and all seem to suffer from the same problem of selecting ringtones and finding stuff in memory that you really don't want a music player to play. Nor do you want to waste time telling it where not to look, when it's much more efficient to tell it where to look!

This being said, nice job on design and layout, it plays well but I don't have the time on the road to select what files I want it to use and really only keep all music I listen to in one directory on my Storage Card.
[Windows Mobile Apps and Games] frmariam:
As always it's nice to see a new project.

Love the concept (well apart for the HTCish slidebar based interface). It gathers most of media playback in one place (similar to Pocket Player... one of the things on top of my TCPMP wishlist). Will this always be C# (takes very long to load... too heavy to be suited for video I suppose... but I figure a rewrite is out of the question).

I also don't use Last.fm but there's this OSS Pocket Scrobbler project.

Considering your licensing and past approach on OSS apps (like iContactAE) I leave some suggestions regarding two of the best OSS media players projects around:

Nitrogen is a very lite OSS C++ audio player (appear to have been halted). It uses plugins similar to those from GSPlayer and I assume yours (including MAD). May be helpful (especially the GUI but also the plugins components...).

TCPMP is still the most complete free and open media player (only currently maintained version AFAIK is TCPMP-Revive). Supports the vast majority of formats, web streaming (not rtsp unfortunately) and is quite resource-effective.

Sorry if this post seems to relate too little with your program... The existing OSS projects could help (be helped by) you. I believe that this concept using what these two players have best would achieve a very complete media centric app.

Just my 2 cents. Good luck with this project (hope you keep using WinMo for a long time... so strange how the most flexible and complete platform is the one dieing... with the loss of the remaining developers I feel I'll eventually be forced into Android since WP7 so far feels like a very early and limited iOS wannabe).
[Windows Mobile Apps and Games] thx1200:
You need either the direct URL(s) to the stream sources (add to the stream source list directly) or the URL to the PLS file for the station.

Or you can use the SHOUTcast browser which is a part of the lirbary. :-)
[Windows Mobile Apps and Games] thx1200:
I have no plans to support this (I don't have a watch to test with) but this sounds like a great job for a playback label plugin. I don't have the playback label plugin system designed yet, but it would allow a plugin to gain access to the playback state and music file attributes and then the plugin could do the work of sending the data to the watch. So, basically, a few versions from now when the plugin feature is available for playback data, somebody can write a wristwatch plugin.
[Windows Mobile Apps and Games] thx1200:
Avian Play does, indeed, support what you ask. On the Settings tab, go to "Library" options, then click on "Folders to Scan for Files." That's what you want. Exclusions are only if you want to exclude a part of an already included path.
[Windows Mobile Apps and Games] thx1200:
I was heavily inspired by PocketPlayer. I decided to venture out on my own about this time last year due to PocketPlayer getting buggier and not getting updates. At the time, I figured WP7 would still share a common heritage with WP6. Had I known it would not, I probably would not have started this... Still it was a fun project and I plan to support it for a good while yet and I also hope I can port most of it to other platforms. (For example, Mort has his MortPlayer on Android now.)

The project is and will always be managed code for the most part of it. The audio engine is unmanaged. Managed code is very well optimized for rapid application development. Making something like Avian Play in unmanaged code with the little time I had would be impossible. I'm sure there are some C++ developers that disagree, and they are welcome to prove me wrong with an unmanaged Avian Play. ;-)

Loading Avian Play is a little slow, I know. But I feel that the features, responsiveness, ease of plugin development, and unique UI outweigh the slow startup time.

In the future, I plan to have an Avian Play preload feature, where it will load up the slow stuff at boot-up, so launching Avian Play is a fast experience. The trade-off there is that it will always be running in the background. But everything is a trade-off! ;-)

Thanks for that. That will help.

I'm aware of the other music players. Avian Play will only be a music player. I don't have plans for full media playback. I like TCPMP, myself, and I find my video workflow is completely different from my audio workflow. For video, i'm sitting on a couch or something and can hit tiny buttons and don't mind cumbersome UIs. In fact, I prefer it. For audio, I'm frequently in my car and want large buttons, prebuilt playlists, and other easy navigation features that are in Avian Play.

I feel the same way. I like Android okay. I used to hate it when it came out because it was so limited and such a WM5 clone. WP7 feels very 1.0 that way right now, but more iphoney. More polished than Android 1.0 though, definitely. I would jump right into Android but I hate coding in Java and that's all you have on Android. So I'm waiting and hoping WP8 (or whatever its called) is more open and flexible. If not, Java, here I come.

In the meantime, I'm going to continue on with these projects and bury my Android-envy.
[Windows Mobile Apps and Games] RedRamage:
Sounds good to me. Thanks!
[Windows Mobile Apps and Games] GunnarKarlsson:
Great app, surprisingly complete at first release!

I will probably use this for podcasts and streaming audio where it really excels just as it is! (love the shoutcast integration!!!)

I have something I would like to add to an eventual wish list.

1. I have about 16Gb of music (2900 files), if I select all songs and just want to play shuffled Avian play cannot write "memorized songs file" at exit.

2. I have lots of compilation albums where there are different artists on the same album. If I open the album view in the library I would expect the album in question to just show once, as it is now I get an album item for each artist.

3. I too have some problems with the application not being able to continue running when I press the hardware power button on my device. (I have mapped the screen off to a double press on a button using AEBPlus so its not really a problem for me)

4. Can the app be remote controlled using sendmessage or something similar? Would be nice, then someone could make a widget for it.

//Gunnar
[Windows Mobile Apps and Games] ddeathmetal:
Does this one have Graphic Equalizers?
[Windows Mobile Apps and Games] thx1200:
Thanks! :-)

Can you generate the error, then attach the error.log (in the app folder) to your response? I want to see what it's trying to do. If you are playing music files and not streams, the memorized songs list shouldn't even come into the equation. lol. So, obviously a bug.

I wonder if the now playing cache is the true problem, but the error you are seeing is incorrect. When you exit Avian Play, your current Now Playing list is cached to storage. I wonder if it's too large with 2900 entries in it. I might have to add an option to turn that off or to relocate the cache files (they are currently stored in the application folder).

Do the songs have a valid AlbumArtist? If not, then Avian Play fills Album Artist field from the Artist field, which leads to the behavior you are seeing. The query in the Library.INI responsible for the Albums view is...

[MusicByAlbum]
Mode = SubMenuQuery
SubMenuQuerySelect = DISTINCT [Album], [AlbumArtist] FROM [FileLibrary]
SubMenuQueryWhere1 = [IsPodcast] = -- 0
SubMenuQueryOrder1 = [Album] ASC
SubMenuThumbWhere1 = [Album] = -- {Album}
SubMenuThumbWhere2 = [HasAlbumArt] = -- 1
SubMenuQueryGo = MusicByTitleAlbum
SubMenuTextColumn = Album
SubMenuTextEmpty = NoAlbum

If you change SubMenuQuerySelect to...

DISTINCT [Album] FROM [FileLibrary]

...removing the AlbumArtist part of the query, it will lump all albums with the same name under the same heading in the library. Now, the disadvantage of this approach is that if you have two albums that are the same name, but different album artists, it will not show up as distinct entries. However, that might be an acceptible tradeoff for you. :-)

Interesting. That's one of the problems with old Windows Mobile... So many different devices have different approaches to power. I will explain how Avian Play handles power.

Avian Play requests 'unattended' mode, which is a special mode where the OS gives the requesting app 15 seconds after power-off is initiated to do whatever it needs to do, including extending the power-off timer. When the power state transitions to unattended and music is playing, Avian Play starts a timer that continuously extends the power-off timer (SystemIdleTimerReset). When playback stops, Avian Play stops the timer and lets the device sleep.

It sounds like either the key map is sending a stop signal to Avian Play (enter/action is mapped to play/pause/stop) or something else is forcing the power transition before Avian Play can finish.

Did you try commenting out the "Key_D" section from the events.ini as in the previous post? That will rule out a virtual "press" of the action/enter key.

Not yet, but that is in the plans, as the framework for it is already partially done (that's how Avian Play communicates with the audio engine itself). You shouldn't talk directly to the audio engine because it will mess up state information in the main application. The plan is to have the main application receive it's own messages that it proxies to the audio engine.
[Windows Mobile Apps and Games] thx1200:
No. As far as I can tell, the equalizer option in the MAD engine only supports MP3s. Nearly all of my music is OGG, so it wasn't a priority for me. I might explore this option again at a later time.
[Windows Mobile Apps and Games] eversp01:
Tried this, but it is still stopping when I push the red END/POWER button on my HTC touch 2 (winmo 6.5).
[Windows Mobile Apps and Games] thx1200:
1. Under Settings\General is "Keep device awake while playing" set to TRUE?

2. Do you have a third party screen lock program, like PocketShield or S2U2?
[Windows Mobile Apps and Games] fluke73:
Great Work

This is a good job so far, i really like it and i will make a good looking skin to it but not until it stop crashing.

I have a HTC Touch Pro 2 with a newly flashed rom - Deep Shing ROM

It crashes to much, the screen has locked up and i have been forced to reset the phone by pressing the phones resetbutton.

Im attaching my Error.log file so you can see what happens.

What i really like with the program is that it start playing the shoutcast streams really fast.

A negative is that i can't att my own streams like Slayradio or ESCR.

http://www.slayradio.com/home.php

http://www.escradio.com/

I've tried to add both the Source Refresh URL and Stream URLs with no luck. Also the startup time for the program is a bit slow.

But again thanks for this program, it's a good start. I hope i can help you with telling about my problems.
[Windows Mobile Apps and Games] GunnarKarlsson:
Sure, I have attached it to this post. The error is there in the log I think, but I have not been able to regenerate the error now for 4 times in a row so hopefully it was just a temporary glitch.

And I might have misinterpreted the error message as memorized songs since I thought the settings item there was cache settings... sorry.

It sure is, thanks. Love an application where you can customize your sql queries, good thinking!

By modding this file I could also change the order of the items in the library tab?

Yes, I did try that, but no luck.

Maybe you could implement a screen off function working on a timer or as an button/menu item.

I have s2u2, so it might be that, will try to test it without it and will come back

Now my sick kids are starting to wake up, so I will get back to them, but thanks again for a great app.

//Gunnar
[Windows Mobile Apps and Games] eversp01:
Yes.

No.

While using the standard Microsoft Media Player or the FM radio playback does continue when I press the END/POWER button.
[Windows Mobile Apps and Games] thx1200:
Re: Crashing - Not sure what's going on specifically, but I can say that I see a lot of Xiph tag parsing failures (that's Ogg/FLAC's tagging), but they appear to be all ringtones. Can you PM me one of those files so I can look to see why it's failing? That might be an easy fix and it might improve performance on your part. I don't see any indication of what would cause the freeze in the error log, but maybe if we chip away at the errors I do see one at a time, we can come to a resolution. One file I know failed is "No_Limits.ogg"

Re: Opening a URL - I guess I should make this more clear as it seems a lot of people are confused by this. The web page is not the address you should feed to Avian Play. It is not able to scrape web pages for stations. It needs the URL to the radio station's playlist --OR-- one or more direct URLs to the stream itself.
[Windows Mobile Apps and Games] thx1200:
No problem. I can see the confusion. This is nice getting feedback from others as I am discovering how my own terminology might be confusing to others. This is good because I can go back and flesh out the top posts to be more helpful.

"Memorized Songs" is just a feature where when you are listening to streams, you can remember specific songs you like for later. Press the "heart" icon and it will memorize it. Then you can view the memorized songs in the library and look them up online to purchase.

Yes, the library is 100% customizable! That was my biggest gripe with Pocket Player, which I used to use all the time. When I started designing the library, I knew I wanted it to not be hard coded and also configurable by the (advanced) end user. You can create new menus, create your own queries, rearrange things, etc. And when you upgrade Avian Play to new versions, it will not overwrite your changes. However, if the Library layout or schema changes between versions, it will warn you and ask if you want to revert to default settings for the new version.

I use PocketShield and I found that if I added Avian Play to their exceptions list it actually messed up Avian Play, but if I left it at default settings, it worked fine. I have a feeling this is going to go a few rounds before I get Avian Play to work nicely with all the screen lockers. :-) It would not surprise me in the least if S2U2 was interfering. However, S2U2 has a gazillion settings, so it might be able to fixed that way too, at least temporarily until I figure out a permanent fix.
[Windows Mobile Apps and Games] thx1200:
I found the error. System.OutOfMemoryException. So basically, it ran out of stack space while building the file list for the now playing cache. Probably because it was so big and maybe you had other stuff running.

Anyway, now that I know where to look, I'll add a specific exception handler so that rather than just crashing, it will tell you that memory is too tight to save the cache files. Losing your last "now playing" is not really a big loss, I don't think. :-)

EDIT: If you look at the log file you'll see some OGG files where tag parsing failed. Can you PM me one? They are like sound effect files and another user is having the same problem. Apparently the Xiph tag parser is failing on these files... Maybe they don't have tags. But I want to fix the parser and I don't have any OGG files that fail (all mine are music). Thanks!

EDIT2: You'll notice that the log file is URL-encoded. I will be attaching a log file reader maybe this weekend to make log file analysis easier for the end user.
[Windows Mobile Apps and Games] thx1200:
This is going to be interesting to track down the issue. If you let the phone idle and sleep by timeout (waiting for it to go black), does playback stop?

Unfortunately, I don't have a device on hand that does this when pressing the "end/power" button so this might be tricky. I am reading others having this problem. If one was a developer, that would help track this down quickly!

I might have to make a debug version of avian play where i'm recording every playback state as it happens to see if I can find out what signal is causing it to stop.
[Windows Mobile Apps and Games] ddeathmetal:
nice to heard that! and hoping to see the EQ on ur Player, it's pretty good! thnx U & keep working :cool:
[Windows Mobile Apps and Games] ttkyles:
nice!!!

put it on my touch pro 2 works well .definitely different than any others.How do I add podcast though ? want ppc geeks
[Windows Mobile Apps and Games] GunnarKarlsson:
Sure, oom exception is the story of my device, (omnia 2), which have much to little memory.

I'll see where the ogg files in questions are on my device, just have some ringtones in ogg I think.

The music stops when screen goes off if I just leaves the music playing.

When I have removed s2u2, it still have the same behavior.

In what environment do you develop?

I have vs2005, vs2008, evc4, etc and kind of know how to use them.

But I'm a c++, c# kind of guy, but VB is kind of the same right? just lose the ; and add some dim as here and there... :-)
[Windows Mobile Apps and Games] thx1200:
You need to hand-edit the podcasts.ini file in the program files\avian play\ini folder. It's pretty self-explanatory, but if you have a question, please post it here.

EDIT: I should mention that in the future, there will be a UI for this.
[Windows Mobile Apps and Games] thx1200:
Interesting! For some reason idle timer reset is not sufficient on your device... Hmm...

I use VS2008 + WM6 SDK (not 6.5, so I would have more compatiblity) + SQL CE 3.5 SDK.

Yea VB.Net and C# are incredibly similar. Other than losing the semicolon and adding the "dim" for variable declaration, you also have the "handles" keyword in VB which shortcuts delegating events. It's nice. :-) But you'll understand it if you look at it. They are more alike than different.
[Windows Mobile Apps and Games] GunnarKarlsson:
oki

will get the source frome codeplex and see if i can get it to build. setting up the toolchain usually is the hardest part.

resetting the idle timer works in an other app I have hacked together. will see what i used there.

//Gunnar
[Windows Mobile Apps and Games] eversp01:
Do I have to set "Keep device awake while playing" to FALSE first? I did not, and after a while the display goes black and playback stops.

I'm available to test this "debug version" in order to try to track down this problem.
[Windows Mobile Apps and Games] thx1200:
What device do you have? Looks like Gunnar has the same problem and is going to set up visual studio on his end and try to debug Avian Play to see how to get it to work. He has, I think, an Omnia 2.
[Windows Mobile Apps and Games] thx1200:
Yes, I agree. It can be annoying. The entire Avian Play project uses WM 6.0, Professional and I have my emulator set to the WM 6.0 VGA emulator.

The file you are looking for is DeviceSleepManager.vb which is under the main Avian Play project. That's the class that manages what Avian Play does when it encounters a sleep condition. Another useful file would probably be AudioEngine.vb which instantiates the sleep manager class.

http://avianplay.codeplex.com/SourceControl/changeset/view/52638#787102

http://avianplay.codeplex.com/SourceControl/changeset/view/52638#514802
[Windows Mobile Apps and Games] eversp01:
HTC Touch 2 - WinMo 6.5

Making the idle timer longer is maybe one solution, but I would also like to save energy and be able to go into sleep mode and contuinue using the player (like in MS Media Player and FM Radio on my device).
[Windows Mobile Apps and Games] GunnarKarlsson:
So true, I cannot get it to work, I only get complaints that the project only consists of configurations that require support for platforms I have not installed and that they will not be loaded. even thought I have wm6 sdk etc installed

Tried to repair the installation of vs but only get alot of installer errors.

will give it another shot tomorrow.

But anyhow, I used the below to keep my device alive, dont know the syntax for vb.

[DllImport("coredll.dll")]

extern static void SystemIdleTimerReset();
[Windows Mobile Apps and Games] omoiyume:
Spanish Translation

Im making a Spanish translation, so far its kinda 70% translated, but, the only lacking parts are configuration and error messages, main features are translated, i'll do the rest later, feel free to test and report any issues.:)

Edit: I've updated it even more now, its almost complete, im having a hard time with work, thats why im not updating sooner, download again.
[Windows Mobile Apps and Games] bimbam69:
I second that, it was a bit tricky to get it compiled :)

Now about getting player to continue playback while suspended, you need to call SetPowerRequirement(...)

and force wav device to full power. I made a quick patch to enable this feature (submitted to codeplex site)

Also I'm attaching AvianPlay.exe for a test.

Anyway great work thx1200, congratulations
[Windows Mobile Apps and Games] thx1200:
I don't know how the FM Radio works, but MS Media Player also prevents device sleep to play. If the device is asleep, by definition the CPU is inactive, so media player will not work. Now, FM might because it's a special chip on the device, so that's different from media player and maybe the CPU can sleep while the FM radio chip continues to work. (Or maybe not, I don't know.)
[Windows Mobile Apps and Games] thx1200:
That's what I'm doing... But before activating that function it waits for a power transition to "screen off." Maybe your device has a different code to watch out for than what I am looking at. I am going to add some debug logging options for power state in the next release and we'll figure this thing out. :-)
[Windows Mobile Apps and Games] thx1200:
Oh, well that's awesome! It has always worked on my device, but your solution setting power requirements on the wave device I was not even aware of. I will add that to the main branch. Thanks for the submission!!
[Windows Mobile Apps and Games] thx1200:
Thank you. I'm going to add a link to the front page. When you get it to 100%, I would like to include it as a part of the main installation.
[Windows Mobile Apps and Games] eversp01:
This solves my problem. Playback now continues when pushing the END/POWER button.

Thanks.

By the way: I am working on a "dutch" translation.