mirror of
https://github.com/Dummi26/musicdb.git
synced 2025-03-10 05:43:53 +01:00
readme++
This commit is contained in:
parent
922e4fcc00
commit
5add9c477e
0
.gitignore
vendored
Normal file → Executable file
0
.gitignore
vendored
Normal file → Executable file
93
README.md
Normal file → Executable file
93
README.md
Normal file → Executable file
@ -29,3 +29,96 @@ for (almost) gapless playback, even when the data is stored on a NAS or cloud
|
||||
when storing data on a cloud, it would take forever to load all songs and scan them for metadata.
|
||||
you would also run into issues with different file formats and where to store the cover images.
|
||||
a custom database speeds up server startup and allows for more features.
|
||||
|
||||
## usage
|
||||
|
||||
### build
|
||||
|
||||
build `musicdb-server` and `musicdb-client` using cargo.
|
||||
for the client, you may need to change the path used in `include_bytes!(...)` to one that actually points to a valid font on your system.
|
||||
|
||||
## setup
|
||||
|
||||
### server/client
|
||||
|
||||
#### prep
|
||||
|
||||
You need some directory where your music is located (mp3 files).
|
||||
I will assume this is `/music` for simplicity.
|
||||
|
||||
The structure should be `/music/Artist/Album/Song.mp3` so we can automatically
|
||||
populate the database with your songs. if it isn't, songs will need to be added manually (for now).
|
||||
|
||||
You will also need a file that will hold your database.
|
||||
I will assume this is `dbfile`.
|
||||
|
||||
Note: Instead of adding the executables (`musicdb-client` and `musicdb-server`) to your `$PATH`, you can run `cargo run --release -- ` followed by the arguments.
|
||||
Since this is using cargo, you need to be in the source directorie for whatever you want to run.
|
||||
|
||||
#### initializing the server
|
||||
|
||||
run the server without arguments to see the current syntax.
|
||||
|
||||
To initialize a new database:
|
||||
|
||||
```sh
|
||||
musicdb-server dbfile --init /music --tcp 127.0.0.1:12345 --web 127.0.0.1:8080
|
||||
```
|
||||
|
||||
#### adding songs
|
||||
|
||||
While the server is running, the client can add songs to it:
|
||||
|
||||
##### automatically
|
||||
|
||||
If your files are stored as `/music/Artist/Album/Song.mp3`,
|
||||
the client can go through these files and add them all to the database.
|
||||
For this to work, the client should be running on the same machine as the server
|
||||
(the contents of `/music` must match).
|
||||
|
||||
```sh
|
||||
musicdb-client filldb 127.0.0.1:12345
|
||||
```
|
||||
|
||||
You can open `127.0.0.1:8080` in a browser to see the songs being added in real-time.
|
||||
|
||||
##### manually
|
||||
|
||||
You can use the client's cli mode to manually add songs (this is annoying. don't.)
|
||||
|
||||
```sh
|
||||
musicdb-client cli 127.0.0.1:12345
|
||||
```
|
||||
|
||||
##### saving
|
||||
|
||||
```sh
|
||||
musicdb-client cli 127.0.0.1:12345
|
||||
```
|
||||
|
||||
Now, start the client's cli mode and type 'save'. The server will now create (or overwrite) `dbfile`.
|
||||
|
||||
And that's it - you can now use the player. For a user-friendly(er) interface, start the client in gui mode:
|
||||
|
||||
```sh
|
||||
musicdb-client gui 127.0.0.1:12345
|
||||
```
|
||||
|
||||
#### (re)starting the server
|
||||
|
||||
To load an existing dbfile, remove the `init` part from the command used earlier:
|
||||
|
||||
```sh
|
||||
musicdb-server dbfile --tcp 127.0.0.1:12345 --web 127.0.0.1:8080
|
||||
```
|
||||
|
||||
And that's it - the rest should just work.
|
||||
|
||||
### syncplayer
|
||||
|
||||
If `/music` is the same on two devices, one can act as the server and the other as a client
|
||||
that simply mirrors the server using the client's syncplayer mode:
|
||||
|
||||
```sh
|
||||
musicdb-client syncplayer 127.0.0.1:12345
|
||||
```
|
||||
|
0
musicdb-client/src/gui_settings.rs
Normal file → Executable file
0
musicdb-client/src/gui_settings.rs
Normal file → Executable file
0
musicdb-server/assets/album-view.html
Normal file → Executable file
0
musicdb-server/assets/album-view.html
Normal file → Executable file
0
musicdb-server/assets/albums_one.html
Normal file → Executable file
0
musicdb-server/assets/albums_one.html
Normal file → Executable file
0
musicdb-server/assets/artist-view.html
Normal file → Executable file
0
musicdb-server/assets/artist-view.html
Normal file → Executable file
0
musicdb-server/assets/artists.html
Normal file → Executable file
0
musicdb-server/assets/artists.html
Normal file → Executable file
0
musicdb-server/assets/artists_one.html
Normal file → Executable file
0
musicdb-server/assets/artists_one.html
Normal file → Executable file
0
musicdb-server/assets/queue.html
Normal file → Executable file
0
musicdb-server/assets/queue.html
Normal file → Executable file
0
musicdb-server/assets/queue_folder.html
Normal file → Executable file
0
musicdb-server/assets/queue_folder.html
Normal file → Executable file
0
musicdb-server/assets/queue_folder_current.html
Normal file → Executable file
0
musicdb-server/assets/queue_folder_current.html
Normal file → Executable file
0
musicdb-server/assets/queue_song.html
Normal file → Executable file
0
musicdb-server/assets/queue_song.html
Normal file → Executable file
0
musicdb-server/assets/queue_song_current.html
Normal file → Executable file
0
musicdb-server/assets/queue_song_current.html
Normal file → Executable file
0
musicdb-server/assets/root.html
Normal file → Executable file
0
musicdb-server/assets/root.html
Normal file → Executable file
0
musicdb-server/assets/songs_one.html
Normal file → Executable file
0
musicdb-server/assets/songs_one.html
Normal file → Executable file
0
musicdb-server/src/web.rs
Normal file → Executable file
0
musicdb-server/src/web.rs
Normal file → Executable file
Loading…
Reference in New Issue
Block a user