[Windows Mobile Apps and Games] thx1200:
Overview

Avian Play is a new kind of music player for Windows Mobile. Avian Play provides an intuitive, unique, and user customizable user interface, inspired by modern mobile user interface designs and tweaked for a powerful music player, and an audio engine based on the most accurate and blazingly fast portable audio engine available on any platform - the MAD MP3 decoder. Avian Play gives you three completely separate playback control surfaces, depending on the type of file you are playing. You get a separate control surface for music, podcasts, and internet radio. The controls you need for each of those separate audio tasks is not the same, so why should the same buttons be visible, wasting screen real estate? Another unique feature not found on any portable media player I know of is how Avian Play treats online radio stations. A playlist for a single stream is treated as a single unit, remembering the backup servers to try if the server you are listening to goes down. This information is cached and refreshed periodically automatically, so you have to update your stream lists less frequently. To top it all off, an included plugin for Avian Play supports the free SHOUTcast (TM) online radio service, and has an open Library plugin API so that other online services (and anything else you might need in the library) can be added easily. The Avian Play library is one of the other shining features of Avian Play. It is a robust SQL CE database core, with user customizable queries. When you are in any list of query results, you can immediately filter the list by simply typing something in your SIP or physical keyboard. No lag instant search!

If you like a graphically robust user interface, such as that which is used on iPhone, Zune, any many other players, Avian Play may not be for you. The design goals of Avian Play is maximum power and capability, with a robust library, customizable queries, and many other deep features yet to come. Interfaces such as sliding/flipping album covers is probably not going to ever be included. :-)

Avian Play has a lot of features, and I know I'm forgetting a lot. If somebody wants to help me document this app, I would be grateful. I'm terrible at documentation. Maybe a series of tutorial YouTubes? :-D

Tip Jar

Like this app? Want more like it or quicker updates? Tip a few bucks (or Euros or Pounds or whatever) or two to help the author out! Click here to make a safe donation via PayPal.

Development

Development is hosted at CodePlex. You can download the source code and more. :-) http://avianplay.codeplex.com/

Licensing

Avian Play is licensed under GPL v2. However, Avian Play uses many different libraries which may have different licenses. See the included ReadMe.txt file for more information.

Features

- Intuitive, finger-friendly user interface, with seperate control surfaces for each audio file type (music, podcasts, internet radio) with multiple layout scenes per surface

- Advanced SQL library of music files on your device with customizable queries

- Tag reading/parsing and tag derived information from paths (\Folder\Artist\Album\Track.mp3)

- MAD audio codecs

- Large fonts and titling and large buttons for "car friendliness"

- Playlist editor

- Streams can contain multiple alternate URLs in a single entry

- Immediate list filtering/searching

- Customizable skins and languages

- It's FAST

- Much more!

File Support

Audio: MP3, OGG, Flac, WMA, WAV

Playlist: M3U, PLS, AVPL (this is custom for Avian Play, see posts below)

Future

This project was started a year ago before the announcement of Windows Phone 7 and I'm glad I have seen it through to completion. Although Windows Mobile is a platform on the brink of death, I consider this my magnum opus for Windows Mobile and a fitting tribute to the capabilities of the underrated OS. I will continue to develop on this app as long as I have a Windows Mobile phone... Probably another year or so. I'm waiting for either WP7 to open up, or maybe making the jump to Android. Maybe I'll port it to both if it's popular. Avian Play was designed in a highly modular fashion. I did this intentionally back when everybody thought WP7 would still be based on the same core as WP6, so I could replace the UI components or audio engine easily. If anybody is interested in working an Android port right now, please PM me and let's talk.

Update: I've started porting Avian Play to Android. It's going to be a long process, as Avian Play is VB.Net on Compact Framework and Android uses a custom implementation of Java (it's not a one-to-one conversion; although translating VB.Net to C# first is speeding things up). After surveying the mobile landscape for the past few months, I'm just not all that excited about WP7, whereas Android is very "open" and flexible and the latest handsets make me go "ooooh" so I think that's where I will be heading. I'll reserve my final judgement for February when the "big update" for WP7 comes out that will supposedly relax a lot of the restrictions and open the platform up more.

Album Art

I know somebody is going to ask. How do I get to see Album Art?! Well, in this first release, album art is only viewable as thumbnails in the library. In the future, a new plugin architecture for the playback label/panel will provide customizable playback information, such as album art.

Gapless Playback?

Unfortunately, not yet... I think it should be possible, but I don't know C++ well enough to hack the MAD code. :-( Any volunteers???

Requirements

- Windows Phone (Windows Mobile) 6.0 or newer

- .Net Compact Framework 3.5

- SQL CE 3.5 (this is included in the cab installer)

- ALL resolutions supported! For non-192 DPI devices (aka, non-VGA), skin bitmaps are automatically scaled to resolution

Installation

The compact framework and SQL CE are required for Avian Play. If you do not have SQL CE installed, the installer will install it for you. However, if you have an older version of SQL CE (such as 2.0), the installer may not install SQL CE 3.5. So if Avian Play doesn't work after installation, this is probably the issue. If this happens, download and install the SQL CE 3.5 redistributable attached to this message. In the future, I hope to have a more intelligent installer that will detect older versions.

After installing Avian Play and running it for the first time, please allow 10-15 minutes for all supported audio files to be discovered and entered into the Library. From then on, Avian Play will automatically detect changes in the library contents until you close Avian Play. Each subsequent time you run Avian Play, it will scan for new files again, but it will be much quicker because it is only looking for changes.

Releases

V5: Here

V4: Here

V3: Here

V2: Here

V1: Initial release

New releases will come in small iterative steps, rather than major versions with bugfix sub-releases. Don't feel like you have to update at every version if this release schedule is too fast for you. :-)

(scroll down to third post for more screenshots)