Nuvola Player 3 is a runtime for web-based music streaming services providing more native user experience and integration with Linux desktop environments than usual web browsers can offer. Nuvola Players handles multimedia keys, shows desktop notifications, integrates with various sound menus, applets and launchers and more. Additional features include Last FM scrobling.
Nuvola Player uses Git version control system for its code base and GitHub for both code hosting and issue tracking. All official Git repositories are located under Tiliado organization account. The code-base is divided to three parts:
- Diorite library: Private utility and widget library for Nuvola Player project based on GLib, GIO and GTK.
- Nuvola Player 3: The Nuvola Player run-time without service integrations.
- Service integrations that have certain degree of independence and are maintained in separate
repositories named
nuvola-app-...
.
If you would like to contribute to Nuvola Player project development, there are two areas you can jump in.
-
Core development - development of the Nuvola Player run-time that loads web app integrations and interacts with the Linux desktop components.
Skills: Vala, GTK+ 3, WebKitGtk+, GIT, JavaScript
-
Service Integrations - service integration scripts that runs in the web interface and communicates with Nuvola Player run-time.
Skills: JavaScript, DOM, HTML.
- Python 2 >= 2.7 (recommended) or Python 3 >= 3.4 (not well tested)
- Vala >= 0.26.1
- Diorite library 0.3.x
- glib-2.0 >= 2.42.1
- gio-2.0 >= 2.42.1
- gobject-2.0 >= 2.42.1
- gthread-2.0 >= 2.42.1
- gtk+-3.0 >= 3.14.5
- gdk-3.0 >= 3.14.5
- gdk-x11-3.0 >= 3.14.5
- x11 >= 0.5
- json-glib-1.0 >= 0.7
- libarchive >= 3.1
- webkit2gtk-4.0 >= 2.6.2
- javascriptcoregtk-4.0 >= 2.6.2
- libnotify >= 0.7
- libuuid
- libsecret-1 >= 0.16
- optional unity >= 3.0
- optional dbusmenu-glib-0.4 >= 0.4
$ ./waf --help
$ ./waf configure
or
$ ./waf configure --with-unity
helpful:
$ ./waf configure --prefix=/usr
$ ./waf build
# ./waf install
or
# ./waf install --no-system-hooks
# /sbin/ldconfig
# gtk-update-icon-cache ...
# gtk-update-icon-cache-3.0 ...
helpful:
# ./waf --no-system-hooks --destdir=/whatever
See CHANGELOG.md.