mirror of https://github.com/fooyin/fooyin
47 KiB
47 KiB
Changelog
0.9.2 (2025-09-21)
Improvements
- Core: Add option to preserve file timestamps (#660)
- FileOps
- Add presets to track selection context menu
- Remove writable check on directory (#655)
- GUI: Use helper for saving/restoring state in MainWindow
- GUI/MPRIS: Always load album covers from file (#665)
- Info Panel
- OpenMPT: Add loop count option to settings (#643)
- Playlist
- Scrobbler: Add support for custom services (#672)
- Lyrics
- Add lyrics tab to properties dialog
- Add forward and rewind buttons for precise timestamp adjustments (#623)
- Allow removing lyrics
- Improve layout of editor controls
Fixes
- Engine
- GME/OpenMPT/LibVGM: Fix infinite looping (#668)
- Library: Fix parsing CUE sheets with multiple files/tracks (#582)
- Playback
- Always follow track if option is enabled, regardless of playstate
- Fix playback switching to queued playlist, even with 'Follow Playback Queue' disabled (#647)
- Playlist
- Scrobbler
- Fix MusicBrainz token not being saved
- Fix duration and listened_at types (#676)
Build/System
0.9.1 (2025-08-17)
Fixes
- Engine: Fix silent playback in some cases (#380)
- Engine: Resolve crash when playing tracks in archives
- Directory Browser: Fix scrolling to top on playback (#617)
- Directory Browser: Fix restoring directory on startup in tree mode
- Scrobbler: Fix layout of settings page
- Seekbar: Fix display of labels in some instances
- Status Bar: Fix evaluation of playing script when active playlist tracks change
- WaveBar: Resolve crash when seeking (#616)
0.9.0 (2025-08-17)
New Features
- Artwork
- Support changing embedded artwork
- Support downloading and saving artwork (#594)
- Lyrics
- Support finding, saving, and editing lyrics (#355)
- Playlist
- Add autoplaylist functionality (#366)
Improvements
- Artwork
- CoverWidget: Always show individual track covers (#525)
- Settings: Display disk cache usage and add button to clear
- Engine
- Interface
- Playback
- Add “Follow playback queue” option (#479)
- Playlist
- ReplayGain Scanner
- Support changing scanner backend
- Scripting
- Scrobbler
Fixes
- Engine
- Fix duration of CUE tracks on initial read (#376)
- Fix gain calculation with gapless playback enabled (#402)
- Fix gapless playback with ReplayGain enabled (#407)
- Fix playback of last track in CUE (#385)
- Fix playback restarting when stopping with fade out (#597)
- Fix seek interrupting fade-in (#436)
- Fix silence between CUE albums (#376)
- Fix playback of MP2 (#612)
- Interface
- ExpandedTreeView: Fix crash with bottom captions in icon mode (#437)
- ExpandedTreeView: Fix unintended scrolling after drop (#542)
- Fix blurry icon in app switcher (#599)
- Fix encoding for info symbol (#419)
- Fix invisible playlist text in some cases (#481)
- Fix layout export not respecting theme options
- Fix layout export ignoring set layout name (#557)
- Fix painting alternating row colours with some styles (#583)
- Fix status widget scripts breaking on escaped reserved characters (#514)
- Library/LibraryScanner
- Fix creation of garbage files when attempting to write metadata to moved files (#604)
- Fix duplicate tracks when dropping CUE and related file
- Improve detection of missing files (CUE) and log missing tracks
- LibraryTree: Fix selection playlist not working after updating tracks
- Playlist
- Fix changing rating
- Fix drag-and-drop between playlists
- Fix finding currently playing track
- Fix saving state of hidden playlist (#382)
- Fix crash in search dialog
- Fix sorting by album (#399)
- Fix underlying track order after sorting (#358)
- Fix “Show playing track” after playlist change (#358)
- Fix playlist auto-export not obeying settings (#545)
- Fix import of multiple playlists merging into one (#541)
- Scrobbler
- Fix ListenBrainz scrobbling (#485)
- Prevent ListenBrainz sign-in without token
- WaveBar
- Resolve crash when generating waveform of mono track (#383)
0.8.1 (2024-10-15)
Improvements
- LibraryScanner: Use a more detailed dialog that displays elapsed and estimated time
- LibraryScanner: Show per-file progress for archive and playlist scans
- RGScanner: Add dialog for removing RG info
- WaveBar: Use elapsed and estimated time dialog for generating waveforms
Fixes
- Engine: Fix playback of WavPack
- RGScanner: Wait to close results dialog until files have been updated
- Settings: Fix reordering of decoders and tagreaders
0.8.0 (2024-10-14)
New Features
- Support for calculating ReplayGain (#269)
- Uses libebur128 if found, or FFmpeg as a fallback
- Quick search and query syntax (#291)
- VU and peak meter plugin (#317)
Improvements
- Engine
- Support playback of DSD (#325)
- Only convert to 64bit float when necessary
- Interface
- Add mnemonics to all menubar actions
- Improve volume tooltip positioning (#328)
- Reduce amount of filesystem queries for tracks without artwork
- Scripting
- Add $split for splitting fields with a delimiter
- Add $elide_mid, $elide_end (#316)
- Search
- Add different search modes to unconnected search widgets
- Add settings page under Library for configuration
- Remove minimum character limit and show message when empty (#307)
- CUE: Support reading ReplayGain
- DirBrowser: Rename elide text setting to 'Show horizontal scrollbar'
- LibraryTree: Add ability to display artwork
- Properties: Improve appearance
- Settings: Save state-related settings to XDG_STATE_HOME (#312)
Fixes
- Engine
- Resolve rare crash when resuming playback on startup
- Fix gapless playback occasionally failing on some outputs
- Playlist
- Fix stop after current behaviour (#302)
- Fix restoring state in rare instances
- Improve performance when dropping a large number of tracks
- Search
- Fix crash when dragging tracks from dialog
- Fix incorrect track count
- CMake: Fix finding SndFile (#305)
- Controls: Fix playlist controls not responding to external changes
- Library: Fix race condition leading to a repeated scan request
- ReplayGain: Fix editing of values
- Scripting: Fix $iflonger behaviour (#310)
- TreeItem: Fix undefined behaviour
0.7.3 (2024-09-28)
Improvements
- Decoding: Support vgm7z
- Properties: Improve appearance
Fixes
- Decoding: Resolve crash when restarting playback of some decoders
- Layout: Resolve crash when leaving layout editing mode
0.7.2 (2024-09-26)
Improvements
- General
- Add option to use 'Various Artists' for compilations (#286)
- Don't exit immediately on File->Quit if fading is enabled
- DirBrowser
- Search
- Add dialog for searching entire library
- Match all terms (words) individually
- Update window title and loading text based on search mode
- CLI: Add playback control options (#287)
- Engine: Support playback of ASF
- FFmpeg: Add option to enable all supported formats
- Interface: Add shortcuts for adjusting volume
- Playlist: Add repeat album, shuffle albums and random playback modes (#122)
- Scripting: Add $rand (#295)
- Scrobbler: Add toggle button widget
Fixes
- Settings
- Fix saving/restoring decoder and tag reader order
- Fix manual editing of spinboxes on some pages
- Engine: Resolve crash when attempting to restart playback with disabled decoder
- ExpandedTreeView: Fix empty space at top/bottom in right caption mode
- DirBrowser: Fix expand/collapse in tree mode
- FFmpeg: Resolve crash on failing to open input
- M3UParser: Handle Windows filepaths (#289)
- Scripting: Fix $meta and $info calls
- SeekBar: Fix setting width on startup
- Selection Info: Fix formatting of durations longer than 1 day (#290)
0.7.1 (2024-09-21)
Improvements
- Interface: Add option to lock splitters (#280)
- OpenMpt: Add config dialog
- ScriptEditor: Open with currently selected track if available
Fixes
- Interface: Fix a few misspellings
- ScriptFormatter: Fix parsing of '<' in metadata fields (#279)
- SelectionInfo: Fix empty model on some systems (#281)
- TagEditor: Fix changing rating
0.7.0 (2024-09-19)
New Features
- ReplayGain support (#251, #262)
- Adds support for reading and applying RG info
- Scrobbling
- Last.fm and ListenBrainz are currently supported
Improvements
- General
- Support multiple values for composer, performer
- Store additional fields: codec profile, encoding, tool, tag types
- Interface
- Scripting
- SelectionInfo
- Add optional ReplayGain section
- Hide empty entries
- Engine: Handle audio samples as float64 (#265)
- FileOps: Replace directory separators in variable calls (#253)
- PlaylistOrganiser: Support dropping tracks on existing playlists
- TagEditor: Support customising default fields (#256)
Fixes
- Interface
- Resolve crash when changing layouts
- Fix fonts not being set correctly on startup
- Fix painting alternating row colours
- Fix toggling selection in some views
- LogSlider: Fix undefined behaviour
- SeekBar: Fix some fonts causing widget to resize (#277)
- Engine
- Fix playback not pausing while muted (#258)
- Fix listened duration carrying over to next track
- Fix track always being considered played when restoring state on startup
- Filters:
- Fix incorrect item width on startup
- Fix page up/down in artwork mode
- PlaylistOrganiser
- Resolve crash when deleting active playlist
- Fix shortcuts not working after right-click
- General: Fix building with Qt6.8
- Library: Notify of updated tracks while reloading
- Scripting: Support split values with $swapprefix, $stripprefix
- Selection Info: Fix sorting of entries
- WaveBar: Fix restoring playing/paused state
0.6.2 (2024-08-31)
New Features
- Theme support
- Ability to change palette colours and fonts
- Includes dark mode theme
- Option to save to layouts on export
Improvements
- Filters: Enable library viewer playlist by default
- Scripting: Make variable calls case-insensitive
- Settings: Add page to toggle and adjust order of decoders/tag readers
- VolumeControl: Support enabling both icon and slider
Fixes
- Controls: Fix volume slider resizing splitter (#248)
- Engine: Fix crash when reading short archive entries
- ExpandedTreeView: Fix setting uniform row heights
- Playlist
- Fix crash when switching to single-column mode
- Fix track repeating with shuffle + repeat playlist enabled (#245)
- Fix some rare instances of duplicate tracks
- Fix auto-naming of new playlists for tracks with limited metadata
- Search: Fix sorting by column
0.6.1 (2024-08-27)
Improvements
- Playlist: Add file menu option to save all playlists
- UI: Improve titles of menu entries which will open dialogs
Fixes
- Playlist: Fix extensions not being automatically added when saving playlists
- WaveBar: Fix memory leak when generating waveforms
0.6.0 (2024-08-27)
New Features
Plugins
- Archive support
- Ability to add and play music directly from archives
- File operations
- Options to rename, copy and move files on disk
- Audio Inputs:
- SndFile - based on libsndfile
- VGMInput - based on libvgm
- OpenMPT
- Game Music Emu
- RawAudio (bin files)
Playlist
- Auto-export playlists to a custom location (#211)
- Option to stop playback at a specified track (#219)
- Search functionality (#109, #199)
- Rating column with inline editing support
Others
- Log dialog with adjustable log level
- Shortcut support for layouts
- Support for alphanumeric track numbers (#209)
Improvements
- Engine
- Library
- Support reading/writing playcount from files
- Make writing rating, playcount to files optional
- Add option to rescan a track selection from disk
- Match extensions case-insensitively
- Store codec as a string
- Add separate sort script for incoming/external files
- Add options for marking unavailable tracks (#195)
- Add options to restrict and exclude file types
- Playlist
- Plugins
- Display plugins list as a tree
- Add about dialog to all plugins
- Add optional configure dialog
- Scripting
- Add %directory%, %firstplayed%, %lastplayed%, %libraryname%, %librarypath%
- Selection Info
- Settings:
- Display play action as Play/Pause on shortcut settings page (#197)
- Use space key as the default shortcut for play/pause (#197)
- Add shortcut to remove current playlist (#198)
- Improve display order of settings pages
- Move several groups of settings to more suitable pages
- Add action to open script editor for script inputs
- TagEditor
- Add copy/paste
- Add auto track number tool
- Improve display of values for multiple tracks
- Support direct editing of rating
- UI
- Add a dedicated layout menubar entry
- Add option to change application style
- Add option to show status tips in the status bar
- Add option to change seek step
- Artwork Panel: Support changing alignment (#232)
- Status Bar: Show message if in layout editing mode
- Add action to open script in script editor for most setting pages
- Add library menu option to optimise database
- Add icon for script editor dialog
- WaveBar
- Increase number of updates when generating waveform
- Start playback when seeking in stopped state
- LibraryTree: Add option to open folder in folder structure view (#175)
- Playback: Add setting to control played threshold
- PlaylistTabs: Add playlist content submenu (#188)
Fixes
- Engine
- Fix playback of APE files (#173)
- Fix playback of AAC files
- Fix playback of tracks without a duration (#183)
- Fix restoration of last played state on some systems (#206)
- Fix pausing with hardware devices
- Fix track ending immediately on restarting playback
- Resolve rare crash when seeking in very short files
- Handle seeking while fading (#215)
- Fix seeking near end of track (#218)
- Always reinit decoder when track was stopped (#221)
- Fix crash on trying to play non-existent file
- Filters
- Fix empty filters on startup
- Resolve crashes when adding/updating tracks
- Fix artwork mode captions with hidden sections
- Library
- Fix regression with adding subdirectories (#174)
- Fix multi-value fields not being stored (#179)
- Fix adding files + dirs in same dir (#197)
- Resolve occasional crashes when sorting tracks
- Resolve crashes when rescanning tracks
- Fix rescans of existing cue tracks
- Fix setting added time, modified time
- Resolve rare crash on exit in middle of library scan
- Handle '/' separator for artists in id3v2.3 (#216)
- LibraryTree
- PipeWire
- Playlist
- Fix incorrect order of tracks when loading playlists
- Fix duplicate track entries when dropping on new playlist (#177)
- Fix parsing of some cue formats (#178, #224)
- Fix shuffle skipping tracks (#180)
- Resolve crash when reading single track cues
- Resolve crash when adding new columns
- Fix middle click actions
- Fix parsing of non-UTF-8 files (#223)
- TagEditor
- Fix display of identical field values
- Fix display of custom tags
- Fix duplicate tracks on updating metadata
- Fix sorting new values
- Fix editing metadata for some file types
- Fix removing list values (#179)
- Fix writing common fields (#179)
- Fix duplicate rating fields on read after write
- Fix editor becoming readonly after right-click
- Fix setting max rating
- Fix display of multiple numeric field values (#214)
- AutoHeaderView: Fix issues updating width for last section
- CoverWidget: Consider DPI when scaling image (#242)
- DirBrowser: Fix direct playback
- Layout: Fix window size always being saved
- PlaylistTabs: Switch playlist when scrolling over playlist tabs (#240)
- QueueViewer: Resolve memory leak from unparented actions
- Selection Info: Fix display of multiple album artists (#216)
- Settings: Fix changing language on restart (#176)
- WaveBar: Don't draw cursor when stopped
Packaging
- Add libvgm as an optional git submodule
- Add libsndfile, libopenmpt, libgme and libarchive as optional dependencies
0.5.3 (2024-07-07)
Fixes
- LibraryScanner
- Fix reading file properties for external files
- Fix reading duration for cue tracks
- Playlist: Fix start playback on send to new playlist failing
0.5.2 (2024-07-07)
New Features
- Playback queue viewer/editor
Improvements
- Playlist
- Add cut, copy, paste and crop actions (#156)
- Find a common field to use as playlist name when sending to a new playlist
- Add options to control behaviour when opening files externally
- Add middle-click options to add to playback queue
- Improve performance of large playlists
- Playlist Tabs
- Add optional clear button (#114)
- Support dropping tracks to create a playlist
- Support dropping external files
- Set expand setting to off by default
- Layout editing mode:
- Library Filter
- Add right labels option
- Improve artwork mode margins
- Improve scrolling behaviour
- Library Tree
- Go up on left key press (#169)
- Trigger double-click on enter/return key press
- Search
- Add filepath to search fields
- Only start searching at 2 characters
- Artwork: Add responsive thumbnails
- Tab Stack: Use dialog for editing tab names when set to east or west position
- Translations: Dutch added (#168)
Fixes
- Playlist
- Fix select all not selecting all for large playlists
- Fix clear not clearing large playlists
- Fix an instance of header state not bring restored (#166)
- Library Filter
- Fix unscrollable view
- Fix empty view with no library
- CoverProvider: Fix crashes when attempting to read directory artwork (#163)
- Engine: Fix crash when changing device in an error state
- Playlist Tabs: Resolve crash when dropping tracks
- Scripting: Fix crashes using pad functions (#167)
- Selection Info: Avoid showing invalid values
0.5.1 (2024-06-29)
Improvements
- Playback
- Add option to silently continue playback if track unavailable
- Show message box for ALSA device errors
- Library Tree: Make animation of expand/collapse configurable
- Volume Control: Add slider mode
Fixes
- Playlist
- Fix unscrollable view when changing playlist
- Fix selection playlists refreshing during library scans
- Engine: Fix silence when resuming from a stopped state with fading enabled
- ExpandedTreeView: Stop autoscrolling to selection if partly visible
- Filters: Fix restoring selection on track update
- Library Tree: Fix text colour for playing row
- Scripting: Fix usage of custom tags
0.5.0 (2024-06-28)
New Features
- CUE sheet support (including embedded) (#136)
- Import/export playlists (m3u/m3u8)
- Library Filter: Add artwork mode (#149)
- Add support for tag parser and audio decoder plugins
Improvements
- Interface
- Playlist Tabs
- Add option to expand to fill
- Use middle-click to create/delete playlists (#147)
- Library Tree: Add direct playback support (#148)
- Playlist Organiser: Support dropping tracks (#146)
- Tag Editor: Improve editing of metadata
- Tagging: Add ability to set ratings via context menu or shortcuts (#152)
- Widgets: Add playlist switcher widget
Fixes
- Library
- Fix crash when aborting library scans
- Fix scan progress dialog not closing
- Selection Info
- Fix several display issues
- Improve performance
- Playlist
- Fix flickering scrollbar when resizing (#141)
- Improve restoration of state
- Resolve crashes when removing multiple rows of different headers
- MPRIS
- Fix artwork not updating for different tracks
- Fix incorrect colour of icons when changing playmode
- Engine: Fix crash when stopping playback without a valid track
- Track: Fix channel count being incorrectly displayed as 0
0.4.5 (2024-06-05)
Fixes
- Fix playback on startup if current output not found
- Fix pause not pausing playback position (#133)
0.4.4 (2024-06-04)
Improvements
- General
- Playlist
- Add bit depth/bits per sample column
- Support configuring selection playlist keep alive behaviour
- Add view option to show currently playing track
- Scripting:
- Selection Info
- Support hiding/showing sections
- Remember scroll position
- Add additional technical fields (#116)
- ALSA: Support selecting hardware devices (#119)
- Engine: Add fading options for pause/stop (#123)
- Library Tree: Add option to remember expanded state
- Tag Editor: Add support for rating tags (#115)
- WaveBar: Add option to change number of samples used for waveform data
- Widgets: Add lyrics widget (#118)
Fixes
- Playlist
- Engine: Handle device loss (#110)
- Interface: Fix scaling of some tooltips
0.4.3 (2024-05-23)
Improvements
- Interface
- Support changing volume by scrolling on column icon (#106)
- Add options to control appearance of tool buttons
- Add options to override margins, splitter handle sizes
- Make quick setup dialog modal
- Playlist
- Add channels column
- Add last modified column
- Add follow playback options to playback menu
- Improve performance when updating playback statistics (#103)
- WaveBar
- Add optional labels
- Improve behaviour when seeking
Fixes
- General
- Fix loading system translations
- Fix some adding libraries while layout editing mode is active (#90)
- Interface
- Playlist
- Fix autoscrolling when updating tracks
- Fix dropping at end of playlist
- Fix loading default column alignments
- Fix sorting track numbers under some systems (#112)
- Handle column name/script changes
- Resolve rare crash on startup
- MPRIS
- Fix artwork caching (#87)
- Fix sending firstUsed, lastUsed metadata
- PipeWire
- Engine: Fix high-res file playback (#100)
- DirBrowser: Fix hang when using double click to play
- LibraryTree: Fix track count decrementing on tracks updating
- TagEditor: Fix saving changed metadata
- WaveBar: Fix crash when seeking (#105)
0.4.2 (2024-05-16)
New Features
- Playlist: Artwork columns
Improvements
- Artwork
- Add configurable pixmap cache size
- Update cache for changed tracks
- Load image data asynchronously (#75)
- Add svg icon for the no cover/placeholder image
- Playlist
- Add option to start playback on send
- Add option to resume previous playback state on startup
- Improve add/remove and hide/show of columns
- Improve performance when removing tracks
- Improve scaling of artwork
- PlaylistTabs
- Add option to show 'add playlist' button (#83)
- Add status icon to active playlist
- WaveBar
- Add context options to control track waveform data
- Add current disk cache size, with option to clear
- Layouts: Add setting to control root margin
- PlaylistOrganiser: Add status icon, background to active playlist
- Settings: Improve layout/formatting of some pages
- Scripting: Add playlist depth variable, functions to pad string left/right
- Sorting: Use QCollator for natural sorting (#73)
Fixes
- Playlist
- Fix crash when active playlist is empty
- Fix crash when removing rows
- Fix crash when using undo/redo
- Fix display issues switching to single-column mode
- Fix index for keep active playlist
- Fix incorrect playing index
- Fix playback on toggling 'playback follows cursor'
- Fix removing moved columns
- Fix select all not selecting all
- DirBrowser: Fix double-click, middle-click actions
- Engine: Fix playback of high resolution audio (#76)
- InfoWidget: Fix crash for languages other than English
- Library: Fix updating monitoring status
- LibraryTree: Fix double-click behaviour
- PlaylistOrganiser: Fix selecting current playlist on startup
- TagEditor: Fix updating album artist field
0.4.1 (2024-04-14)
New Features
- Artwork: Directory artwork discovery (#68)
- Artwork: Support reading front cover, back cover, artist
- Artwork: Add option to prefer playing track or selection
- Artwork: Add option to keep aspect ratio
Improvements
- Playlist
- Add bitrate, samplerate columns
- Show queue indexes in single-column mode
- DirBrowser
- Add mouse button support
- Restore selected row when changing directory
- Artwork: Improve performance when resizing
- Layouts: Improve file structure
- Layout editing mode: Improve insertion of widgets; add widget splitting (#71)
- Player: Support restarting playback after stopping (#69)
Fixes
- Playlist
- Fix empty extension column
- Fix auto scrolling under Wayland
- Layouts: Fix exporting (#67)
- PipeWire: Fix playback issues (#70)
- PlaylistTabs: Fix restoring playlist at startup
- SeekBar: Fix tooltip display issues
- WaveBar: Fix seek issues with some styles
0.4.0 (2024-04-06)
Features
- DB: Schema migration support (#61)
- Engine: Configurable buffer size
- Playlist: Global playback queue
- Plugins: Add options to disable individual plugins
- Plugins: MPRIS support
- Plugins: Waveform seekbar (#60, #52)
- Scripting: Custom metadata support
- Scripting: Formatting support in playlist (#63)
- SearchWidget: Add option to change placeholder text
- Seekbar: Add options to toggle labels, elapsed total
- Widgets: Directory browser (#58, #54)
Changes
- Controls: Add button tooltips
- Engine: Don't start playing if seeking when paused
- Interface: Make multiple widgets responsive to DPI
- Layout editing mode: Add options to copy/paste and move widgets
- Layout editing mode: Add undo/redo support
- Playlist: Add playing column to indicate status
- Playlist: Make multi-column mode the default
- Playlist: Switch to playlist when using File->New Playlist
- Plugins: Make the ALSA output a separate plugin
- Settings: Make dialog modal (block rest of application)
- Track: Handle multiple album artists
Fixes
- Controls: Fix player commands being issued twice
- CoverWidget: Fix no cover placeholder being shown unexpectedly
- DB: Fix out of memory errors when reading tracks
- Engine: Fix playback of some audio types
- Engine: Fix silence on next track if previously paused
- Engine: Fix silence when resuming from pause on some outputs
- Filters: Filter incoming tracks through active filters
- Filters: Fix frozen widgets when updating tracks
- Filters: Fix updated tracks being added to all filters
- Filters: Restore current selection when tracks are updated
- Library: Fix searching for album artwork in file directory (#59)
- LibraryTree: Fix hang when selected 'all music' row
- LibraryTree: Restore state when updating tracks
- Playlist: Fix crash when dropping tracks into playlist
- Playlist: Fix crash when inserting same tracks multiple times
- Playlist: Fix crashes when moving tracks
- Playlist: Fix incorrect order of tracks on startup
- Playlist: Fix moving/removing tracks in multi-column mode
- Playlist: Fix partial loading of album covers
- Playlist: Insert tracks in correct order
- PlaylistOrganiser: Fix crashes when removing rows
- SearchWidget: Fix crash using search after changing connections (#53)
- Seekbar: Respond to external position changes
0.3.10 (2024-02-10)
Changes
- General build system improvements
Fixes
- StatusWidget: Fix flickering when playing a track with an ongoing library scan (#47)
0.3.9 (2024-02-10)
Fixes
- Build system fixes
0.3.8 (2024-02-10)
Changes
- General build system improvements
- Add support for building on Ubuntu 22.04 (#49)
- Filters: Disable filter selection playlist by default
- PlaylistOrganiser: Clear selection when changing current playlist
Fixes
- LibraryTree: Fix duplicate tracks when switching layouts (#44)
- Library: Correctly sort tracks with large track numbers (#46)
- PlaylistOrganiser: Resolve crash when removing all playlists (#48)
- PlaylistWidget: Restore state on initialisation to keep playing icon active (#50)
- PlaylistWidget: Reset state/history when using send to new/current playlist
- PlaylistTabs: Correctly restore index to current playlist on initialisation
- Translations: Return correct translation path
- Track: Fix passing track-related containers in queued signals
- ScriptSandbox: Fix setting default state
- AudioDecoder: Fix crashes when decoding files in quick succession
0.3.7 (2024-02-05)
Features
- Add support for changing language (English and Chinese for now) (#40)
Fixes
- Fix reading audio properties using older TagLib versions (#41)
- Fix removing custom tags from mp4 tags
- Fix library and track scan requests not running
- Improve ability to find installed FFmpeg libraries
- Fix high CPU usage when playing tracks (~10% -> ~1%)
- Fix playlist not switching when a playlist is removed
- Fix occasional crash when removing tracks from a playlist
0.3.6 (2024-02-02)
Changes
- Implement AudioDecoder as a separate, self-contained object to handle all file decoding (#39)
- Improve plugin naming scheme (fyplugin_name)
Fixes
- Make creation and passing of AudioOutput to AudioEngine thread-safe
- Add additional safety checks to pipewire output
0.3.5 (2024-02-01)
Fixes
- Fix function call in AudioRenderer
0.3.4 (2024-01-31)
Changes
- Remove HoverMenu, LogSlider and MenuHeader from public API
Fixes
- Fix crashes using PipeWire output
Packaging
- Further improve plugin CMake setup
- Correctly pass vars to CMakeMacros for plugin development
- Install license, readme to data dir
- Add a CMake uninstall target
- Overhaul build instructions; see BUILD.md
0.3.3 (2024-01-31)
Changes
- Simplify plugin CMake setup
Fixes
- Fix plugin/library rpath issues
0.3.2 (2024-01-29)
Changes
- Move AudioEngine to public API
- Improve AudioBuffer implementation
- Support TagLib 2.0 (#38)
0.3.1 (2024-01-26)
Changes
- Rewrite library scan request handling
- Return a ScanRequest for MusicLibrary::rescan
Fixes
- Only report library scan progress on stopping thread if we're actually running
- Remove leftover debug message
0.3.0 (2024-01-26)
Features
- Command line support
- Support opening files/directories with fooyin
Changes
- Create AudioBuffer, AudioFormat to handle audio data (#37)
- Add widget context to TrackSelectionController
- Automatically switch to playlist when using 'Send to new playlist' option
- Allow starting playlists without explicitly setting the current track index
- Emit playlistTracksChanged in createPlaylist if playlist isn't new
- SDL2 plugin is now a push-based audio output
Fixes
- Only add files with supported extensions
- Erase associated state and undo history when removing playlists
- Only restore previous playlist state when not resetting
- Set correct flag when appending tracks to a playlist
- Quieten ALSA output messages
0.2.1 (2024-01-23)
- Fix crash when a library scan detects new and changed tracks
0.2.0 (2024-01-23)
Features
- Add gapless playback option
- Add column alignment options to Library Filter
Changes
- Tracks not associated with a library are no longer added to several widgets
- Stop playback on next track if playlist is removed
- Clear all active filters when searching Library Filters
- Remove all active filters when resetting Library Filters
- Add newly found directories to LibraryWatcher
Fixes
- Fix playlist header reporting an incorrect section count
- Fix a race condition when reporting library scan results
- Correctly mark all tracks not found missing
- Update library tracks if they were previously not found
0.1.0 (2024-01-21)
- Initial release of fooyin.