forked from
tokono.ma/diffuse
A music player that connects to your cloud/distributed storage.
1> A music player that connects to your cloud & distributed storage
2
3[Return to the application](../)<br />
4[CORS instructions](cors/)<br />
5[Developers](dev/)<br />
6[Privacy policy](../privacy.txt)
7
8
9
10## What makes it different?
11
12Diffuse is a decentralized music player consisting out of two main parts. One part is the music and the other is your data <small>(eg. playlists)</small>, both of which are in locations of your choice. Meaning that there's no central server for Diffuse, all of the processing happens on your device and all the data is in your control. You can use the [web version](https://diffuse.sh), the [native version](https://github.com/icidasset/diffuse/releases) or host it yourself by downloading the pre-built packages from [Github](https://github.com/icidasset/diffuse).
13
14
15### Music layer
16
17This layer connects to the services on which your music is stored, no data is written to these services. You can combine all of the following:
18
19- [Amazon S3](https://aws.amazon.com/s3/)
20- [Azure Blob Storage](https://azure.microsoft.com/en-us/services/storage/blobs/)
21- [Azure File Storage](https://azure.microsoft.com/en-us/services/storage/files/)
22- [Dropbox](https://dropbox.com/)
23- [IPFS](https://ipfs.io/) <small>(supports DNSLink & IPNS)</small>
24- [WebDAV](https://en.wikipedia.org/wiki/WebDAV)
25
26
27### User layer
28
29This (optional) layer will use a single service on which to store your data externally. Your data being your settings, favourites, playlists, etc. You can choose between these services:
30
31- [Dropbox](https://www.dropbox.com/)
32- [IPFS](https://ipfs.io/) <small>(using MFS)</small>
33- [RemoteStorage](https://remotestorage.io/)
34
35
36
37<div id="How" />
38
39## How does it work?
40
41Diffuse locates all the music files on the given services, extracts the metadata and then stores it via the previously-explained user layer.
42
43
44### Supported File Formats
45
46- MP3
47- MP4/M4A
48- FLAC
49- OGG
50- WAV
51- WEBM
52
53*<small>Note, support may vary depending on your <a href="https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers#Index_of_media_container_formats_file_types">browser</a>.</small>*
54
55
56
57<div id="UI" />
58
59## UI
60
61There are a few "hidden" features:
62
63- **Tracks have a context menu** which can be opened by either right clicking,
64 or holding it (ie. a long tap). Use the ALT key whilst right clicking
65 on a track to show the alternative track-context menu with more specialized options.
66- **You can reorder items** in the queue or a playlist with drag-and-drop.
67 Select the item you want to move by tapping on it, then tap and hold to move it around.
68- You can select multiple tracks using the SHIFT key and then add that selection
69 to the queue or a playlist using the context menu.
70- Click on the now-playing bit to scroll to that track.
71- Double tap on a EQ setting to reset it to its default value.
72
73### Playlists
74
75To add something to a playlist, and create that playlist if it doesn't exist yet, you open the context menu of a track. To move tracks around in a playlist, first select the track, then drag it.
76
77### Search
78
79```shell
80# Show me every track where the title, artist or album contains the term 'Parkway' and the term 'Drive'.
81Parkway Drive
82
83# Show me every track of which the artist's name starts with 'park'.
84artist:park
85
86# Show me every track from Parkway Drive of which the album starts with "Deep Blue".
87artist:Parkway Drive album:Deep Blue
88
89# Show me every track from Parkway Drive but not their "Atlas" album.
90artist:Parkway Drive - album:Atlas
91```
92
93### Keyboard
94
95The app should be usable with only the keyboard, there are various keyboard shortcuts:
96
97```js
98CTRL + K or CMD + K // Show command palette
99
100CTRL + L // Select playlist using autocompletion
101CTRL + N // Scroll to currently-playing track
102CTRL + P // Play / Pause
103CTRL + R // Toggle Repeat
104CTRL + S // Toggle Shuffle
105
106CTRL + [ or ] // Previous / Next
107CTRL + { or } // Seek forwards / Seek backwards
108
109Alternatively you can use the media-control keys,
110if your browser supports it.
111
112ESC // Close overlay, close context-menu, deselect album cover, etc.
113
114CTRL + 1 // Tracks
115CTRL + 2 // Playlists
116CTRL + 3 // Queue
117CTRL + 4 // EQ
118
119CTRL + 8 // Sources
120CTRL + 9 // Settings
121```
122
123
124
125<div id="QA" />
126
127## Q&A
128
129### I used version one, where's my data?
130
131There's a small link, or button if you will, on the "Settings → Import / Export"
132page that will allow you to import data from version 1 of the app. Note that this
133will need to reflect the authentication/storage method you chose in version 1.
134
135
136
137<div id="Misc" />
138
139## 🪐
140
141_Part of the <a href="https://ring.0data.app/#random" target="_blank">App Ring</a>_