All posts by Anna

Ocarina 5.11

Happy Thanksgiving! I’ve done more work than I realized over the last few months.  Changes include:

  • I rewrote most of the playlist code to use a std::vector instead of a linked list.  The class is much simpler now and should be easier to maintain going forward.
  • Switch to gstreamer 1.0.
  • Added sort and random buttons to the UI and rip out extra playlist types.
  • Command line completion for ocarina-* commands.
  • Various other cleanups.

You can get it here. There is a PKGBUILD available here.

Ocarina 5.10

This release took a few months longer than I was planning on, but I put a lot of work into making ocarina easier to use. I started off writing my own linked list class to use in playlists, but the interface still needs work so I haven’t started using it everywhere.

Something I didn’t plan on doing was rewriting the entire UI… that’s really what took the longest. I had some messy, hand-written code for showing the application and it wasn’t easy to work with at all. I dreaded adding new features or cleaning any of it up because something might break. I knew I would have to rewrite most of it eventually anyway to work on some UI changes that I planned on making, so I decided I would try to make future edits as easy as possible. I found GtkBuilder and the Glade UI designer and then spent several weeks cutting out old code and making everything work with this new system. I think the end result was worth it!

New features in Ocarina 5.10 include:
– Move playlist close button into the tab page because tabs were growing too wide.
– j/k keys move the currently highlighted down or up (vim style!).
– d deletes selected songs from the current playlist.
– Now playing and the AutoPause / Library / Settings notebook share space, everything in a single notebook resulted in a lot of wasted space.
– Users can manually hide the Recently Played and Banned tracks lists from the Settings tab.

You can get it here. There is a PKGBUILD available here.

Ocarina 5.9

New features in Ocarina 5.9 include:
– Reordering playlist tabs to change where the next song is picked from
– Close button on playlist tabs
– Reworked the entire build system
– Keep a play count and remember the date songs were last played
– “Ban” songs from playing in the library

You can get it here. There is a PKGBUILD available here.

Ocarina 5.6

Just released Ocarina 5.6. New things include:
– Backend alsa is optional
– Output to other alsa devices
– git-ish commands (`ocarina play`, `ocarina pause`)
– Tooltips showing filepath of hovered song

You can get it here. There is a PKGBUILD available here.

Ocarina 5.5

I’ve been sitting on Ocarina 5.5-rc for a while now without finding any serious bugs. When I compiled without the -g flag to g++ a few weeks ago there was a segmentation fault when reading in save files. This problem seems to be gone now, so hopefully it was a g++ error (I have no idea what else would cause it…).

New features include:
– Fairly big cleanup of the entire backend
– Queue is automatically saved across sessions
– Songs can be removed from the queue
– Faster library scanning
– Library update removes tracks that no longer exist
– Gapless playback using gstreamers “about-to-finish” signal

You can get it here. There is a PKGBUILD available here.

Ocarina 5.4

Ocarina 5.4 has been released. You can get it here. There is a PKGBUILD available here.

New features include:
– Library filtering
– Playback queue
– Pause after current song

I’m doing a feature freeze for the next release or two so I can clean up the code and make everything easier to work with. I also have ideas for how to make library scanning more efficient.

Goodbye playlists… hello better filtering

I’ve decided against implementing playlists for Ocarina 5, mostly because I don’t use them.  I listen to my entire library on shuffle, so the only playlist I ever create is an exact copy of the library.  It takes extra work to keep this playlist up to date, especially since I never took the time to easily show the difference between playlists and the library.  I usually ended up clearing the entire playlist, and then readding every song from the library.  This is unnecessary for how I listen to my music and avoiding the hassle is what Ocarina is all about.
I do plan on spending time bringing some of the benefits of playlists to a library-only world.  Ocarina has always had song filtering, but I’ve only ever implemented simple keyword matching with regexes.  I think that I should spend time developing better filtering rules.  Specifying “artist contains ‘foo’ or artist contains ‘beatles'” directly in the library display would be more useful.  I might even try to implement automatic filters for artist, album, genre, and year tags.  Saving user defined filters would be useful, too…