Project Railway!
Background: I was using Rhythmbox to listen to music in GNOME desktop environment. Rhythmbox is an awesome and powerful music player. But several days ago, I think maybe browsing albums in the form of album cover picture grid will look better than browsing albums in album name list, so I start this project.
Project Railway is a Gtk+ music player. It consists of the following parts:
- railway: GUI part. Controls all widgets. Also, calls the ffmpeg program to generate album cover picture for each album asynchronously with GTask, to not block GUI with time-consuming operation.
- railwaylibrary: Reads music library and generates arrays of song and album information. And uses GStreamer GstDiscoverer to retrieve song metadata, or “tags”, to sort music in track order.
- railwaymusic: The actual music player part. Calls GStreamer GstPlayer to do all the work.
- railwayplaylist: Manages the playlist by cloning a copy of song array.
The resulting music player looks like:
UPD: Support searching by album name or artist name now!