Update: 2024-10-15

This commit is contained in:
2024-10-15 23:11:47 +03:00
parent 79b2e2f7b1
commit eae6ecaebb
808 changed files with 238018 additions and 205905 deletions

View File

@@ -0,0 +1,99 @@
# The Eternal Jukebox
For when your favorite song just isn't long enough.
![preview](https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/preview.png)
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.
![button](https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/docs/button.JPG)
Changing the current song will automatically play it through the jukebox.
![sidebar](https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/docs/sidebar.JPG)
The custom app allows you to see a visualization of the jukebox's progress through the song.
![visualization](https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/docs/visualization.png)
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.
![settings](https://raw.githubusercontent.com/Pithaya/spicetify-apps/main/custom-apps/eternal-jukebox/docs/settings.png)
- **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

View File

@@ -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