fooyin

A customisable music player

GPL-3.0 License

Stars
241
Committers
9

Bot releases are hidden (Show)

fooyin - v0.5.0 Latest Release

Published by ludouzi 4 months ago

This release marks the completion of several long-planned features alongside numerous improvements and fixes.

Key additions include CUE sheet support and the ability to import and export M3U/M3U8 playlists, with more formats planned for the future.

On the visual side of things, an artwork/cover grid mode has been added to Library Filter, with several options for
changing its appearance.

In terms of plugins, support for tag parser and audio decoder plugins has been added which means many additional audio
formats will soon be supported.

Finally, thanks for your continued support and feature requests. Keep them coming!

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
    • Remember last open directory in file dialogs
    • Make window title playing script configurable
    • Add separate icon for repeat track mode (#131)
    • Improve appearance of dark icon theme
    • Add layout switching menu to view menu (#150)
    • Add option to save window size when exporting layouts (#150)
  • 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
fooyin - v0.4.5

Published by ludouzi 5 months ago

Fixes

  • Fix playback on startup if current output not found
  • Fix pause not pausing playback position (#133)
fooyin - v0.4.4

Published by ludouzi 5 months ago

This release contains several bugfixes and a number of changes/improvements thanks to the many bug reports/feature requests which were recently received.

Improvements

  • General
    • Add optional system tray icon (#93)
    • Save playlists, settings at regular intervals (#127)
  • ALSA
    • Support selecting hardware devices (#119)
  • Engine
    • Add fading options for pause/stop (#123)
  • Library Tree
    • Add option to remember expanded state
  • Playlist
    • Add bit depth/bits per sample column
    • Support configuring selection playlist keep alive behaviour
    • Add view option to show currently playing track
  • Scripting:
    • Add playback variables (#104)
    • Add additional string functions (#104)
    • Add fallbacks for some fields if empty (#130)
  • Selection Info
    • Support hiding/showing sections
    • Remember scroll position
    • Add additional technical fields (#116)
  • 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

  • Engine
    • Handle device loss (#110)
  • Interface
    • Fix scaling of some tooltips
  • Playlist
    • Fix scaling of artwork (#120)
    • Fix keyboard controls for scrolling to top/bottom
    • Preserve previous sort order when sorting by column (#126)
    • Resolve crash when updating non-contiguous rows (#127)

New Contributors

fooyin - v0.4.3

Published by ludouzi 5 months ago

This is mainly a bugfix release, though it does include a few improvements/changes thanks to some new contributors.

A special thanks to those who helped with testing and resolving several issues, and those who have started to contribute translations. Your efforts are much appreciated.

Note: The provided packages for this release have had limited testing, so please report any issues if you encounter them.

Improvements

  • Interface
    • Support changing volume by scrolling on volume 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 adding libraries while layout editing mode is active (#90)
  • Engine
    • Fix high-res file playback (#100)
  • DirBrowser
    • Fix hang when using double click to play
  • Interface
    • Fix font/row height inconsistencies (#101)
    • Fix layout editing mode not working under recent Qt versions (#111)
    • Fix wrong album art being displayed for untagged/poorly tagged files
    • Resolve crashes using undo/redo in layout editing mode
  • LibraryTree
    • Fix track count decrementing on tracks updating
  • MPRIS
    • Fix artwork caching (#87)
    • Fix sending firstUsed, lastUsed metadata
  • PipeWire
    • Fix playback of some file types (#100)
    • Fix playback of files with more than 3 channels
    • Handle server restarts (#85)
  • 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
  • TagEditor
    • Fix saving changed metadata
  • WaveBar
    • Fix crash when seeking (#105)

New Contributors

fooyin - v0.4.2

Published by ludouzi 5 months ago

Features

  • Playlist: Artwork columns (#74)

Improvements

  • Artwork: Add configurable pixmap cache size
  • Artwork: Update cache for changed tracks
  • Artwork: Load image data asynchronously (#75)
  • Artwork: Add svg icon for the no cover/placeholder image
  • Layouts: Add setting to control root margin
  • Playlist: Add option to start playback on send
  • Playlist: Add option to resume previous playback state on startup
  • Playlist: Improve add/remove and hide/show of columns
  • Playlist: Improve performance when removing tracks
  • Playlist: Improve scaling of artwork
  • PlaylistTabs: Add option to show 'add playlist' button (#83)
  • PlaylistTabs: Add status icon to active playlist
  • 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)
  • WaveBar: Add context options to control track waveform data
  • WaveBar: Add current disk cache size, with option to clear

Fixes

  • 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
  • Playlist: Fix crash when active playlist is empty
  • Playlist: Fix crash when removing rows
  • Playlist: Fix crash when using undo/redo
  • Playlist: Fix display issues switching to single-column mode
  • Playlist: Fix index for keep active playlist
  • Playlist: Fix incorrect playing index
  • Playlist: Fix playback on toggling 'playback follows cursor'
  • Playlist: Fix removing moved columns
  • Playlist: Fix select all not selecting all
  • PlaylistOrganiser: Fix selecting current playlist on startup
  • TagEditor: Fix updating album artist field

New Contributors

Full Changelog: https://github.com/ludouzi/fooyin/compare/v0.4.1...v0.4.2

fooyin - v0.4.1

Published by ludouzi 6 months ago

This release brings further improvements to layout editing mode and extends support for album artwork.

Front cover, back cover and artist pictures can now be discovered both embedded and in custom directory paths. One of these can then be chosen to be displayed in an artwork widget.

The layout file structure has also been improved to allow for additional properties to be added (such as window size) as well as to ensure future backwards compatibility.
Note: The old structure is no longer supported, so any exported layouts will need to be removed and exported again.

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

Changes

  • Artwork: Improve performance when resizing
  • DirBrowser: Add mouse button support
  • DirBrowser: Restore selected row when changing directory
  • Layouts: Improve file structure
  • Layout editing mode: Improve insertion of widgets; add widget splitting (#71)
  • Player: Support restarting playback after stopping (#69)
  • Playlist: Add bitrate, samplerate columns
  • Playlist: Show queue indexes in single-column mode

Fixes

  • Layouts: Fix exporting (#67)
  • PipeWire: Fix playback issues (#70)
  • Playlist: Fix empty extension column
  • Playlist: Fix auto scrolling under Wayland
  • PlaylistTabs: Fix restoring playlist at startup
  • SeekBar: Fix tooltip display issues
  • WaveBar: Fix seek issues with some styles

Full Changelog: https://github.com/ludouzi/fooyin/compare/v0.4.0...v0.4.1

fooyin - v0.4.0

Published by ludouzi 7 months ago

This release includes numerous fixes and changes along with some much requested features.

  • Support for MPRIS has been added so playback can be controlled externally under Linux.
  • A directory browser widget has been added which can be used as a file system browser to add files to playlists and it can also be used as a playlist itself.
  • A waveform seekbar has been added which is very customisable in terms of looks, and a few different configurations can be seen below:
1 2
3 4

In other areas, major changes have been made to the database to support future migrations as seamlessly as possible.

Extra options have been added to layout editing mode for copying/pasting and moving widgets which should make it a lot easier to setup custom layouts. If you make a mistake during editing, undo/redo has also been added so any changes can be rolled back.

Features

  • Plugins: Waveform seekbar (#60, #52)
  • Widgets: Directory browser (#58, #54)
  • DB: Schema migration support (#61)
  • Engine: Configurable buffer size
  • Playlist: Global playback queue
  • Plugins: Add options to disable individual plugins
  • Plugins: MPRIS support
  • 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

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

Full Changelog: https://github.com/ludouzi/fooyin/compare/v0.3.10...v0.4.0

fooyin - v0.3.10

Published by ludouzi 8 months ago

Changes

  • General build system improvements

Fixes

  • StatusWidget: Fix flickering when playing a track with an ongoing library scan (#47)
fooyin - v0.3.9

Published by ludouzi 8 months ago

Fixes

  • Build system fixes
fooyin - v0.3.8

Published by ludouzi 8 months ago

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
fooyin - v0.3.7

Published by ludouzi 9 months ago

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
fooyin - v0.3.6

Published by ludouzi 9 months ago

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
fooyin - v0.3.5

Published by ludouzi 9 months ago

Fixes

  • Fix function call in AudioRenderer
fooyin - v0.3.4

Published by ludouzi 9 months ago

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 FooyinMacros for plugin development
  • Install license, readme to data dir
  • Add a CMake uninstall target
  • Overhaul build instructions; see BUILD.md
fooyin - v0.3.3

Published by ludouzi 9 months ago

Changes

  • Simplify plugin CMake setup

Fixes

  • Fix plugin/library rpath issues
fooyin - v0.3.2

Published by ludouzi 9 months ago

Changes

  • Move AudioEngine to public API
  • Improve AudioBuffer implementation
  • Support TagLib 2.0 (#38)
fooyin - v0.3.1

Published by ludouzi 9 months ago

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
fooyin - v0.3.0

Published by ludouzi 9 months ago

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
fooyin - v0.2.1

Published by ludouzi 9 months ago

  • Fix crash when a library scan detects new and changed tracks
fooyin - v0.2.0

Published by ludouzi 9 months ago

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