Releases: BNTFryingPan/ssbu-music-player
v0.4.3.1
v0.4.3.1 (re-release of v0.4.3)
renabled remote module because it broke things lol (will fix later)
v0.4.3
(this changelog does not include changes from v0.4.3-pre3, so you should also read that)
slightly changed the file folder format
'~' now tells the player to ignore that folder
useful for if you want to ignore duplicate folders or a folder of songs that are just in a different format
internally, ~ is considered a comment, so you can theoretically use it as long as it doesnt match a folder name
just dont use it for comments because it is not supported
new discord rpc option: timestamp mode
"application" will show the amount of time the player has been open
"source" will show the amount of time the player has been on a certian source
"song" will show the amount of time the player has been playing the current song (this is how it has been)
the currently playing song will be highlighted in the song list (no matter where it is), and will have an orange
playing mark and accent when hovered over (instead of blue). it looks kinda bad, but it will be better later
no longer asks about firewall on startup (because thats sus). was caused by the websocket server that will be used
for discord listening parties
added "thumbar" buttons on windows under the window preview when you put your mouse over the application icon in the
taskbar. currently only pause/play and next song work, and the previous song button is disabled and has the
wrong icon because i dont have a previous icon (in the player, i just flip the next song icon)
updated the login flow for twitch because it stopped working for some reason (even though i changed nothing lol)
also added a checkbox for if the player should send new song messages in chat
started working on support for plugins written in javascript, check the plugin_documentation.txt for what docs i
have written so far, but it is no where near complete yet (the support for plugins or the docs)
there is also now a plugin menu in the services menu that lists what render plugins are currently running and
allows you to turn plugins on and off without restarting the player and messing with files
v0.4.3-pre3
v0.4.3-pre3
i forgot to update the application icon in 0.4.2 so i did that (hopefully).
you can now create and add songs to playlists
the add to playlist menu is very jank right now, but i will improve it later
shuffle all will not care about playlists, so use shuffle album/playlist if you want to shuffle a playlist
playlists are no where near finished, but they kinda work
playlists todo:
allow adding art to a playlist
allow renaming playlists
improve add to playlist ui
made the context menu show up, however its buttons do not work yet. will probably finish this in 0.4.5 or something
settings now merge your personal settings with the default settings
if you used an older version and updated where there are new settings, it will take the default settings file, and
replace any fields from your existing settings file replace them in the default settings file. basically new settings
will have their default values until you change them, and old settings will stay the same, and unchanged.
started working on discord listening parties. You can send an invite in discord using the + button while the music player
is playing music, but it does not do anything yet
the plan is to make it stream music through a websocket to people in the listening party.
added settings for rich presence. you can customize the text fields by opening the settings file located at
~/Music/settings.ssbu-music
supports placeholders:
song
.title - The name of the song
.artist - The song artist
.album - The album of the song
.track
.no - the track number
.of - the number of tracks in the album
.disk/.disc
.no - the disk number
.of - the number of disks in the album
player
.state - if the song is playing or paused
.loops - the number of times the song has looped if looping is on
.version - the player version
.icons - playback icons (paused/play, shuffle mode)
.page - the currently open ui page
meta
.bitrate - the bitrate of the file
.duration - the duration of the song
examples: "{song.title} by {song.artist} in {song.album}"
"track {song.track.no} of {song.track.of}"
"{player.state} {player.icons} {player.loops}"
technical changes:
main process now logs what it is doing while starting and for certain events during run time
main process uses a custom logging function that will also send the output to the devtools console for debugging in
non-development environments
moved some more file interaction to the main process instead of the browser window
v0.4.2
Unknown album, Other album, and All Songs album art updated
Unknown albums will now show their name inside the (now circle) album art
The shuffle mode button now has art instead of being the ?
The new art is made by Minity
added sonic album art (if the album name contains "Sonic" anywhere, it will be used)
Updated electron from 7.3.3 to 10.1.3 to get new Chromium features and also because 7.x.x is depreciated
Refactored most of the music playing logic and fundamentals (mostly because electron update broke a lot of things)
Songs will now be cached so using ctrl+r will not reload the song list or album list.
The refresh album list button has been replaced with a button that will refresh both the album list and song list
Playlists are probably going to be pushed back until v0.6.0 because of this rewrite
The open files folder button will now create the file if it does not exist, and leave a note in the file telling users what they need to do
i really need help looking for any bugs in this update. if you find any, please report them
0.4.1
v0.4.1
- Other album will no longer show up if it has no songs.
- Adjusted scrollbar css a bit because i still havent finalized any of the design elements yet pretty much and its all under active development
- Now saves settings (windows 10 acrylic, and volume slider position)
- Added WIP support for .ogg files (idk how well the metadata works on them yet, but it can play them)
- Fixed trying to open the album you just opened would not do anything.
- Adjusted how the sliders look, and added labels to the sliders
- Adjusted RPC to show version and if the music player is running in dev mode
- Adjusted how the title bar version is shown when in a dev build
- Removed the song list caching feature for now as it very much caused problems if you moved songs around, but i still fixed the issue it was fixing by re-using the parsed metadata that was loaded for all songs when the player starts
- Got some progress on playlists done, however they are still unusable for end-users at this time.
- Added a button to add a song to a playlist (doesnt work yet)
- Made playlists actually load and function.
-By function, i mean it can open a playlist similar to how it opens an album, and it can play songs if any are added
-It does not load playlists from anywhere currently
-Playlists will be fully functional for local files by v0.5 (could be sooner)
- Optimized a few things
- internal function getSongData() will attept to get song data from the All Songs album instead of reading file from disk
- fixes the issue that caching the song list "fixed" but better, as this will also help in other places too.
- this also causes less reads and writes on the disk so if you have a hard drive and not an ssd, it should be much faster
- made some variables that were not supposed to be global not global anymore because memory usage and possible interference
- Switched to electron-acrylic-window instead of ewc for the acrylic effect. This enables compatability for Vibrancy on OSX
- This might also improve performance on windows, but i dont know if it does or not
- internal function getSongData() will attept to get song data from the All Songs album instead of reading file from disk
- Started working on a context menu when you right click songs. Does not work yet though, so its hidden
0.4.0
Will now load from files defined in Music/folders.ssbu-music
Lines in that file that start with any of the following characters will be ignored: ['#', '//', '$', '!', '-']
Lines that start with "%" will tell it to recusively load songs in subfolders of that folder
Moved some buttons around in settings to make it look a little better. I really need to work on that at some point though
Changed the volume slider to be non-linear. The slider and output volume ranges from 0 to 1, and the slider volume it put
into the equation x^3 before being given to the output. This allows finer control of volume at lower levels, but less
at higher levels, although it doesnt really matter because humans hear volume non-lineraly. google it if you care enough
i do want feedback on this though, so if you feel it should be adjusted, just make a github issue with want you want out
of the volume slider.
Changed some layout things that should not be noticable, but should slightly improve performace (removed some spacer elements
that didnt actually do anything and removed some calcs in css to improve performance)
Changed the minimum size of the window to 550px by 475px to help stop scaling issues at really small window sizes
Also changed the default size of the window to 600px by 900px to also help with certain scaling issues at the default size
Changed the look of the scrollbar and music control sliders a bit
Made the music control buttons have images instead of text, and adjusted css of the buttons a bit too, and the pause button
now changes based on if the player is paused or not
Added a message that displays if you have no music when you open the music menu telling you to either put music in the music
folder, or to add directories to look for music in.
Music list caching now updates whenever you open an album in the background, and will reload the song list if there are any
changes
Added global keybind listeners for media control buttons to stop music, pause/play music, skip track, and previous track.
might make the stop music button do something different, but for now ive got no ideas (not sure what the point of stop
is anyways lol)
At some point i added rich presence assets for more albums i listen to. heres a full list:
[
"A Hat in Time OST", "Celeste (Original Soundtrack)", "Celeste: Farewell (Original Soundtrack)", "UNDERTALE Soundtrack",
"Portal 2: Songs to Test By - Volume 1", "Portal 2: Songs to Test By - Volume 2", "Hexoscope OST", "Aperture Tag OST",
"Portal 2: Songs to Test By - Volume 3", "Portal 2: Songs to Test By", "Terraria Soundtrack Volume 1", "Astroneer",
"Terraria Soundtrack Volume 2", "Terraria Soundtrack Volume 3", "Keep Talking And Nobody Explodes - OST", "Portal",
"Astroneer (original game soundtrack) Volume 2", "Subnautica Original Soundtrack",
]
If you want any that are not already here, please make a github issue and provide a list of names you want converted to
that album image (for example "Portal 2: Songs to Test By" and "Portal 2: Songs to Test By - Volume 1" have the same
album image), and either upload or link to an image that is at least 512x512 (1024x1024 recommended) and is in .png,
.jpg, or .jpeg format (that is what discord wants and needs for a rich presence asset). You can also look at
music-player.js for an up-to-date list, although it may be for an unreleased version.
v0.3.9
v0.3.9
Moved some files around internally to be more organized
Changed the look of the scrollbar. Having a lot of songs in All Songs may make performace bad. oh well.
changed some css to make it look a little bit better and scale a bit better when resizing the window.
fixed the title bar i think lol
v0.3.8
v0.3.8
Added caching to the song list for each album. Check the readme if you have any issues with
moving folders or songs around.
v0.3.7
Added updater, its not fully automatic
to check for an install an update, open settings and click check for updates
if there is an update, it will ask if you want to download it
if you click yes, it will download and then prompt you to restart the player, which will then install the update
if you click no, nothing will happen
if there is no update, it says there is no update available
made version number show in title bar instead of settings screen and it pulls version number from package.json instead of hardcoded html
0.3.3
v0.3.3 0.3.3 again
v0.3.2
autoupdate test 2
v0.3.1
initial autoupdater test release