Wednesday, September 7, 2011

Beta update: YouTube streaming, new properties window, equalizer profiles, more languages

As it was my birthday last Saturday I wanted to give you guys a little gift. It comes a few days late but here it is: a new beta release of Stoffi.

This new update contains a ton of new and cool features: an improved meta data editor, equalizer profiles, translation support, YouTube support, highly improved list view, rewritten scanner with upgraded source management, a new details pane and many, many bug fixes and smaller improvements.

Get the new beta here.

Properties Window
In some of the reviews we got there was concerns over the tools available to edit the meta data of your tracks. This prompted me to change the whole "Information" window and rename it to "Properties" instead. It now features a look very similar to the window you get when you right-click on a file in Windows Explorer and selects "Properties". We have both the General tab for some information about the track, and the Details tab for the meta data of the track.

I plan on further expanding this window in future releases and make it possible to view properties of YouTube tracks as well.

Equalizer Profiles
Another concern voiced in initial reviews of Stoffi was the fact that there's no way to reset the equalizer levels or create profiles. So now you will have a default profile with all values set to zero and the ability to create new, custom profiles.

I noted that a lot of Stoffis users are from soutern Asia and South America along with Spain and Italy. The natural effect of this was that many of the reviews written on Stoffi was in languages other than English. So it became obvious that Stoffi should be available in more languages.

In this new release a new system has been added to bring about the ability to translate all strings in Stoffi to any language. But that's not enough, as with most other things I enjoy paying a bit extra focus on the small details. In this case it is the fact that you can change the language in Stoffi without the need to restart it. Just switch to another language and all text is automatically changed.

Right now Stoffi is available in English, Swedish, Chinese (Mandarin) and Portugese (Brazilian). I have asked around a bit and I have found people who speak French, Spanish, Italian and Russian. Hopefully some of those guys will find the time to help us translate Stoffi.

If you know any language other than English please let me know and I'll help you translate Stoffi.

A pretty big new feature in Stoffi, which I've talked about earlier, is the ability to play YouTube tracks in Stoffi. You will be able to access any YouTube video directly from inside Stoffi, with the ability to queue the video or add it to any of your playlist. This brings you millions of tracks available at an instant via the vast library of YouTube. Hopefully something you will all enjoy.

New List View
One of my pet areas where I wish to improve Stoffi is the way that the tracks are presented. We currently only support a view which in Windows Explorer is called "Details". In the future I want to add the ability to view tracks (or artists, albums, genres, etc) as a grid of icons or other similar views.

But this is much work and as a first step I needed to break out the current List and make it more powerful (from a programmers point of view). While most of the work I've done will be invisible for you users I did actually find some time to add a few neat improvements to the list. Some highlights are:

  • Icons
  • Drag-and-drop of files and folders
  • Strikethrough (in the source list)
  • A number column which updates as you reorder tracks manually (effectively allowing you to "save" a custom ordering)

Rewritten Scanner
The scanner of the filesystem has been completely rewritten. This was mainly because the old solution with a whitelist and a blacklist proved to be unintuitive and clumpsy. The new scanner works with a single list where a source can be marked as either "include" or "ignore". It will build a tree structure of all these sources and allow you to include files inside an ignored folder which in turn is inside an included library (etc, etc, etc).

I have built this scanner to in theory allow for a faster scan of the sources but I have not put any focus on bringing forth these improvements. I will focus on this a bit now while we are in beta but ultimately most of the CPU cycles and memory bits are used by the way .NET saves and stores our internal settings (that XML file called user.config we all know). So even if I bring some extra speed to the scanner it won't do much difference. Instead I will attempt to tackle the speed and memory improvements by switching to SQLite in the next version.

Details Pane
Our new friend Tevin started work on a new and improved Details Pane, work which I finished now just a few weeks ago. This new Details Pane will allow for a more dynamic view of the details of a selected track and it has become more extendible (allowing us to easily add a different view when a YouTube track is selected). It also supports for edit of meta data and in the next version I want to add support for showing information on multiple tracks as well as playlists, the queue, and so on.

Backup/Migration Tool
As I work on Stoffi a lot of my own playlists get lost as I switch between versions and try out different settings, sometimes resetting Stoffi all the way back to the way it is when you first start it. This prompted me to create a tool for saving all your settings in a file (which is XML based and can be read by any other application if they want to). Ultimately I want to add support to send these settings over to our server (encrypted and safe, of course) so you can synchronize all running instances of Stoffi and have them share the same settings.

That's Not All
Those are the biggest improvements but of course there are a lot of smaller ones as well. However, there's still a ton of stuff I still want to add to Stoffi and in fact we are a gang of five students who will spend an entire semester working on Stoffi as part of our studies here at the University in Uppsala. Hopefully it will bear some really awesome fruit for us.

Along with the new beta update the alpha channel has been updated as well. Now when Shang has entered into beta work will begin on the next release: Zhou. Shang will now only retrieve bug fixes and translations up until it is considered stable.

So go ahead, download the new beta and help us find all remaining bugs.