apps.rst 6.72 KB
Newer Older
Agate's avatar
Agate committed
1
2
3
Using Funkwhale from other apps
===============================

4
The only official client for using Funkwhale is the web client, the one you use in your browser.
Agate's avatar
Agate committed
5

6
7
8
9
As of 0.21, the web client has seen major improvements as a standalone app
with changes to player design to make it a more mobile-first experience as
well as the introduction of `PWA functionality <https://en.wikipedia.org/wiki/Progressive_web_application>`_.
Using Funkwhale as a PWA gives the following benefits:
Agate's avatar
Agate committed
10

11
12
13
14
15
- Allows users to install the web player as a standalone app on mobile and desktop
- Greatly improves background performance on mobile devices
- Allows you to interact with the player using media keys on desktop
- Allows users to perform updates as soon as they roll out on the server
  at the click of a button
Agate's avatar
Agate committed
16

17
18
In addition to the web player, this page lists alternative clients you can
use to connect to your Funkwhale instance and enjoy your music.
Agate's avatar
Agate committed
19
20
21
22
23
24
25
26
27


Subsonic-compatible clients
---------------------------

Since version 0.12, Funkwhale implements a subset of the `Subsonic API <http://www.subsonic.org/pages/api.jsp>`_.
This API is a de-facto standard for a lot of projects out there, and many clients
are available that works with this API.

Asif Youssuff's avatar
Asif Youssuff committed
28
These Subsonic features are supported in Funkwhale:
Agate's avatar
Agate committed
29
30
31
32
33
34

- Search (artists, albums, tracks)
- Common library browsing using ID3 tags (list artists, albums, etc.)
- Playlist management
- Stars (which is mapped to Funkwhale's favorites)

Asif Youssuff's avatar
Asif Youssuff committed
35
These features are missing:
Agate's avatar
Agate committed
36
37
38
39
40
41
42
43
44
45
46
47

- Transcoding/streaming with different bitrates
- Album covers
- Artist info (this data is not available in Funkwhale)
- Library browsing that relies music directories
- Bookmarks
- Admin
- Chat
- Shares

.. note::

48
    If you know or use some recent, well-maintained Subsonic clients,
Agate's avatar
Agate committed
49
50
    please get in touch so we can add them to this list.

51
    In particular we're still lacking an iOS client!
Agate's avatar
Agate committed
52
53
54
55
56


Enabling Subsonic on your Funkwhale account
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

57
58
59
60
61
62
.. note::

   Accessing Funkwhale from third party apps requires the instance administrator
   to enable the Subsonic API setting. If you are unable to use Subsonic, please
   contact your administrator.

Agate's avatar
Agate committed
63
64
65
66
67
68
69
70
71
72
73
74
To log-in on your Funkwhale account from Subsonic clients, you will need to
set a separate Subsonic API password by visiting your settings page.

Then, when using a client, you'll have to input some information about your server:

1. Your Funkwhale instance URL (e.g. https://demo.funkwhale.audio)
2. Your Funkwhale username (e.g. demo)
3. Your Subsonic API password (the one you set earlier in this section)

In your client configuration, please double check the "ID3" or "Browse with tags"
setting is enabled.

75
76
77
78
79
80
81
82
83
84
85
86
87
88
Ultrasonic (Android)
^^^^^^^^^^^^^^^^^^^^

- Price: free
- F-Droid: https://f-droid.org/en/packages/org.moire.ultrasonic/
- Google Play: https://play.google.com/store/apps/details?id=org.moire.ultrasonic
- Sources: https://github.com/ultrasonic/ultrasonic

Ultrasonic is a full-featured Subsonic client with Playlists, Stars, Search,
Offline mode, etc.

It's one of the recommended Android client to use with Funkwhale, as we are doing
our Android tests on this one.

89
90
91
92
93
94
95
To enable playback from Funkwhale, enter the following information in the server settings:

- Server address: the root URL of your instance
- Username: your username on the instance
- Password: this will be your subsonic password

Then in the general settings select "Browse Using ID3 Tags"
96

Agate's avatar
Agate committed
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
DSub (Android)
^^^^^^^^^^^^^^

- Price: free (on F-Droid)
- F-Droid: https://f-droid.org/en/packages/github.daneren2005.dsub/
- Google Play: https://play.google.com/store/apps/details?id=github.daneren2005.dsub
- Sources: https://github.com/daneren2005/Subsonic

DSub is a full-featured Subsonic client that works great, and has a lot of features:

- Playlists
- Stars
- Search
- Offline cache (with configurable size, playlist download, queue prefetching, etc.)

112
It's one of the recommended Android client to use with Funkwhale, as we are doing
Agate's avatar
Agate committed
113
114
our Android tests on this one.

115
116
117
118
119
120
121
To enable playback from Funkwhale, enter the following information in the server settings:

- Server address: the root URL of your instance
- Username: your username on the instance
- Password: this will be your subsonic password
- Browse By Tags: enabled

122
123
124
125
126
127
128
play:Sub (iOS)
^^^^^^^^^^^^^^

- Price: $4,99
- App Store: https://itunes.apple.com/us/app/play-sub-subsonic-music-streamer/id955329386
- Website: http://michaelsapps.dk/playsubapp/

129
Although paid, this app is known to work great with Funkwhale as the maintainer, Michael Bech Hansen, implements Funkwhale-specific logic and checks.
130
131
132
133
134
135
136
137

Substreamer (iOS)
^^^^^^^^^^^^^^^^^

- Price: free
- App Store: https://itunes.apple.com/us/app/substreamer/id1012991665


Agate's avatar
Agate committed
138
139
140
141
142
143
144
145
146
147
Clementine (Desktop)
^^^^^^^^^^^^^^^^^^^^
- Price: free
- Website: https://www.clementine-player.org/fr/

This desktop client works on Windows, Mac OS X and Linux and is able to stream
music from your Funkwhale instance. However, it does not implement advanced
features such as playlist management, search or stars.

This is the client we use for our desktop tests.
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173

To enable playback from Funkwhale, enter the following information in the Internet -> subsonic settings:

- Server address: the root URL of your instance
- Username: your username on the instance
- Password: this will be your subsonic password

Mopidy (CLI)
^^^^^^^^^^^^
- Price: free
- Website: https://www.mopidy.com/

Mopidy is a Python-based music server which you can run on your machine in order
to access your music through a CLI such as `ncmpcpp <https://github.com/arybczak/ncmpcpp>`_.

In order to use Mopidy to stream from the CLI, you will need to install the following dependencies:

- Mopidy
- mopidy-subidy: a plugin for Subsonic https://github.com/Prior99/mopidy-subidy
- ncmpcpp

Once installed, add the following to your /etc/mopidy/mopidy.conf::

    [subidy]
    enabled=True
    url=https://path.to/your/funkwhale/server
174
    username=your_funkwhale_username
175
176
177
178
179
180
181
182
183
184
    password=your_subsonic_password
    #legacy_auth=(optional - setting to yes may solve some connection errors)
    #api_version=(optional - specify which API version to use. Subsonic 6.2 uses 1.14.0)

Then in your .config/ncmpcpp/config, change the startup_screen value so that it doesn't default to the built-in media library::

   startup_screen = browser

This will show your artists, albums, and playlists when you start ncmpcpp.

Agate's avatar
Agate committed
185
186
[Optional]: enable and start mopidy as a service to start the server at boot.

Ciarán Ainsworth's avatar
Ciarán Ainsworth committed
187
188
189
190
.. note::

   This also works with the `mopidy-funkwhale plugin <https://dev.funkwhale.audio/funkwhale/mopidy>`_

Agate's avatar
Agate committed
191
192
193
194
Mobydick (Desktop)
^^^^^^^^^^^^^^^^^^

- Price: free
wxcafé's avatar
wxcafé committed
195
- Website: https://github.com/AnaGelez/mobydick
Agate's avatar
Agate committed
196
197
198

Mobydick is a free and open-source desktop application for linux (based on GTK+) to easily download
tracks, albums and discography from a Funkwhale instance.