mirror of
https://github.com/kristoferssolo/solorice.git
synced 2026-03-18 08:09:40 +00:00
Update: 2024-10-15
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# The Eternal Jukebox
|
||||
|
||||
For when your favorite song just isn't long enough.
|
||||
|
||||

|
||||
|
||||
A rewrite of the [Infinite / Eternal Jukebox](https://eternalbox.dev/jukebox_index.html) for Spicetify.
|
||||
It finds pathways through similar segments of the song and plays a never-ending and ever changing version of the song.
|
||||
|
||||
> **Warning**
|
||||
> The custom app is still in **beta**.
|
||||
> See [known issues](#known-issues) and [upcoming features](#upcoming-features).
|
||||
|
||||
|
||||
## Auto Installation (Linux)
|
||||
```
|
||||
sh <(curl -s https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/src/install.sh)
|
||||
|
||||
```
|
||||
|
||||
## Manual Installation
|
||||
|
||||
1. Run `spicetify config-dir` to open the spicetify folder.
|
||||
2. Go to the `CustomApps` folder.
|
||||
3. Create a `eternal-jukebox` folder.
|
||||
4. Download the custom app files as a zip from [here](https://github.com/Pithaya/spicetify-apps-dist/archive/refs/heads/dist/eternal-jukebox.zip).
|
||||
5. Extract the zip and put the files inside the folder you created in step 3.
|
||||
|
||||
Then, run the following commands:
|
||||
|
||||
```sh
|
||||
spicetify config custom_apps eternal-jukebox
|
||||
spicetify apply
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
A new "infinity" button allows you to enable and disable the jukebox. As long as the jukebox is enabled, the current song will play endlessly.
|
||||
|
||||

|
||||
|
||||
Changing the current song will automatically play it through the jukebox.
|
||||
|
||||

|
||||
|
||||
The custom app allows you to see a visualization of the jukebox's progress through the song.
|
||||
|
||||

|
||||
|
||||
The circle is made out of the different beats of the song. Branches, or edges are the path linking similar beats together.
|
||||
|
||||
Holding the `SHIFT` key allows you to keep repeating a part of the song by "jumping" through edges linking the same beats.
|
||||
|
||||
Clicking on a beat will seek to that part of the song.
|
||||
|
||||
Below the graph you will find some stats about the current song:
|
||||
|
||||
- **Total beats**: How many beats were played.
|
||||
- **Current branch change**: The current percentage of chance to follow an edge when playing a beat.
|
||||
- **Listen time**: How long you've been listening to the song.
|
||||
|
||||
### Settings
|
||||
|
||||
The settings button on the top right allows you to tune the jukebox.
|
||||
|
||||

|
||||
|
||||
- **Branch similarity threshold**: The maximum allowed "distance" between two branches. The higher it is, the more branches will be generated.
|
||||
- **Branch probability range**: The minimum and maximum percentage of chance to use a branch each beat. The chance will start at the minimum value, and will increase by the **Branch probability ramp-up speed** value for every beat where it is not branching, until it reaches the maximum value.
|
||||
- **Branch probability ramp-up speed**: How fast the **Branch probability chance** value should increase.
|
||||
- **Loop extension optimization**: If checked, will try to add the longest backward branch it can at the last branching beat.
|
||||
- **Allow only reverse branches**: If checked, will only add branches going back in the song.
|
||||
- **Allow only long branches**: If checked, will only add long branches. A branch is considered long if it covers at least a fifth of the song's length.
|
||||
- **Remove sequential branches**: If checked, will remove consecutive branches of the same length.
|
||||
|
||||
The reset button can be used to reset the settings to the default values.
|
||||
|
||||
## Known issues
|
||||
|
||||
- Audio lag when jumping between parts of the song
|
||||
- Jukebox "freezing" and getting out of sync
|
||||
- Songs getting stuck in short loops due to issues with the graph generation
|
||||
|
||||
## Upcoming features
|
||||
|
||||
- More graph interactivity
|
||||
|
||||
## Uninstall
|
||||
|
||||
1. Run `spicetify config-dir` to open the spicetify folder
|
||||
2. Go to the `CustomApps` folder
|
||||
3. Delete the `eternal-jukebox` folder
|
||||
|
||||
Then, run the following commands:
|
||||
|
||||
```sh
|
||||
spicetify config custom_apps eternal-jukebox-
|
||||
spicetify apply
|
||||
```
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "Eternal Jukebox",
|
||||
"icon": "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n style=\"stroke-width: 2px !important;\"\n>\n <path d=\"M18.178 8c5.096 0 5.096 8 0 8-5.095 0-7.133-8-12.739-8-4.585 0-4.585 8 0 8 5.606 0 7.644-8 12.74-8z\"></path>\n</svg>",
|
||||
"active-icon": "<svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n style=\"stroke-width: 2px !important;\"\n>\n <path d=\"M18.178 8c5.096 0 5.096 8 0 8-5.095 0-7.133-8-12.739-8-4.585 0-4.585 8 0 8 5.606 0 7.644-8 12.74-8z\"></path>\n</svg>",
|
||||
"subfiles": [],
|
||||
"subfiles_extension": [
|
||||
"extension.js"
|
||||
]
|
||||
}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 242 KiB |
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user