Repository navigation
Version Release; 0.1.7
·
11 commits
to main
since this release
Warning
RhythmiRust does not support going back to previous versions there may be breaking changes and backwards compatibility is not guaranteed
Changelog
🎵 RhythmiRust Updates - 0.1.7 (2025-06-08 06:18)
🚀 Features
Add trimming to wiki renderer for improved text formatting
- Previously, the wiki required careful formatting around buttons and highlighted text to avoid double padding due to the buttons' padding
- Now, trimming allows for consistent formatting, ensuring that both options work correctly without extra spaces
Move the active button to the right of the dropdown
- This makes it easier to enable and disable keys without opening the
dropdown
Enable regeneration of selected tables in the metadata editor
- Users can now right-click on a directory or table to add it to the regeneration queue
- The regeneration task will be processed later, allowing for a full refresh of all values in the database for the selected tables
Add album_artist and artists columns
- Added album_artist and artists columns to metadata storage, allowing for more granular search and filtering capabilities
- Implemented duplicate removal comparisons to ensure unique data in each column (album_artist, artists, artist), improving search efficiency and data analysis
- Updated metadata editor to allow writing to new columns, enabling users to edit and manage album_artist and artists information
Implement override_album_art
- Implemented two types of album art:
override_album_artandalbum_art, where:override_album_arttakes priority over all other album art, including embedded imagesalbum_artis used only when no embedded image is present, allowing for a balance between user preference and original metadata
Parse year from metadata with a backup of ORIGINALYEAR
- If the standard year keys are not present in the metadata then look for a
ORIGINALYEARtag
Implement Speed Control for music playback
- Add
speed_boolin the database to manage speed control UI visibility - Implement slider for adjusting playback speed
- Enable dynamic setting of playback speed
🐛 Bug Fixes
Mismatched lifetime syntax warning
Update the frame when the user loads a new table
- Before to see updates the user would need to move their cursor to
update the screen
Ignore error when no table is selected
- Prevent application crash when "Save Changes" is pressed with no table selected
Enhance error handling for metadata extraction
- Update the error handling logic to avoid panicking
- Print the error message to stdout and continue the execution
Print error when adding a font region that is empty
Paused state not showing properly when stopping music
- When the user pauses a song then hits the stop button to clear all
songs the pause state now returns to the unpaused state
Ensure add menu closes when editing the font menu via right click
Resolve a issue with using direct URLs
- Using direct urls like
https://www.youtube.com/watch?v=xxxxxxxxxxx
would not get the url instead returningN/A
Refactor audio extraction functions to handle errors gracefully and avoid redundant code
Optimize downloader scrollarea (2 less redundant variables)
Fix the scroll_to_top not working for the favourites ui
Add tooltip to the downloaders precedence order
Clearing UI memory no longer resets the Hidden windows feature
🔧 Maintenance
Upgrade version to 0.1.7
Updating lock file
Clippy fixes
- Added more clippy lints
Update all deps
Clippy suggestions and check length on album_artist
album_artistnow check the length to ensure it does not set to null if there are more than 1 person in the column
Update all dependencies
Update dependencies
📎 Other
Add unique constraint to directory table and increment file processing counter
- Add UNIQUE constraint on (name, ext) in directory table to make deduplication less strict
- Increment files_processed counter starting from 1 for accurate
tracking
♻️ Refactor
Improve the Web Codec Checker to now have a loading spinner
- Before this there was no indication that the
Web Codec Checkeris
running
Reorganize the entire downloader ui to be easier to work with
Move metadata table data refresh to background thread
- Moved metadata table data imports to a background thread
- Prevents blocking the render thread for better/smoother performance
Organise the settings ui code
- The code is now split into a structure
Remove redundant debug downloader statements
Add support for adding more fonts and UI tweaks
- Quality of life upgrades regarding font UI interaction
- Add support to add more fonts regions
- Add support to remove font regions
Use escape characters instead of hashtag
- Use escape characters to minimize potential
- Rename variables and refactor the download args to make more sense
- Increase the minimum size of the music window to not be able to go out
of bounds
⚡ Performance
Migrate from pcm_s16le to pcm_f32le
- Temporarily use the music library main branch to get the newest
changes - Use the new
OutputStreamBuilderto get stream_handle and make the
sink - Use the new
DecoderBuilderto manually build a decoder with hints
for faster playback initialization and withseekable - All sources were assumed seekable now
with_seekableorDecoder::try_fromis needed to
enable seeking
Allow passing a TaggedFile to avoid redundant file reads
- Enables the use of an already parsed
TaggedFileto retrieve metadata fields without reading and parsing the entire song file again - Optimizes bulk retrieval of individual metadata fields, reducing the number of file reads from three to one
- Maintains previous behavior when a
&stris passed, which involves reading and parsing the file before retrieving a metadata field