Musicdb Versions Save

🎧 A music manager with focus on remote access to your music by having a WebUI and providing an audio stream.

v8.1.0

2 years ago

Major Changes

  • [state.ini] A bug has been fixed that makes wrongly case insensitively behavior case sensitive. This leads to the situation that the selected genres stored in state.ini are no longer recognized. I used this "opportunity" to rename the section "albumfilter" to "GenreFilter"
  • [state.ini] Albums can now be filtered by sub genres
  • [musicdb.ini] The entry [randy]->nohidden got removed. This constraint is and should always be true
  • [Randy] The random song selection algorithm now considers sub genres
  • [Artwork] The WebUI now needs higher resolution artwork caches for better 4K support. In /etc/muiscdb.ini: [albumcover]->scales=150, 200, 500, 1000 - Restart the server to cache the albums artworks for the new resolutions
  • [Randy] Configuration of Randy moved from /etc/musicdb.ini to state/randy.ini File will be created on first run of MusicDB
  • [tracker] Tracks when a song was played. This builds up a history that will be used in later versions of MusicDB.
  • [WebUI/Randy] Allow changing Randy settings from the WebUI
  • [Chromium] The chromium web browser is now supported (experimental)
  • [WebUI] index.html now only loads a merged css file and a merged js file. debug.html loads each single source file.
  • [WebSocket] Fixed a crash ("RuntimeError: To use txaio, you must first select a framework") when using MusicDB with the latest Autobahn framework

Solved Issues: #76, #80, #81

Minor Changes

  • [WebUI] MusicDB WebSocket connection interface refactored (now object oriented)
  • [WebUI] It is now possible to continue an upload when the connection gets lost in between
  • [WebUI] Reconnect button to connection error layer added
  • [WebUI] Flickering background during Drag'n'Drop fixed
  • [WebUI] ArtistsView gets updated after reconnecting to the back end
  • [Randy] Song selection algorithm changed: Album selection is now uniform distributed, not by their amount of songs.
  • [Randy] Reloads its configuration before searching a new song
  • [Randy] If all songs of an album are on the blacklist, "AddRandomSongFromAlbum" will return one of the blacklisted songs instead of None. So the "The show must go on" requirement gets fulfilled.

v8.0.0

2 years ago

Major Changes

MusicDB got off of /opt and now lives in the system like any other application

All your MusicDB path settings need to be reviewed. See Transition from 7.2.0 to 8.0.0 in case you already have MusicDB 7.2.0 installed.

  • Missing data directories, files and databases will be created when the server gets started
  • Invalid ownership and permissions of files and sub-directories will be fixed when the server gets started
  • MusicDB server start/stop is now managed via systemd and journald
  • MusicDB can now be installed via pacman
  • Some command line options removed (Use --config instead): --quiet, --verbose, --logfile, --loglevel
  • FIFO interface removed
  • PID-File interfaces removed
  • [lycra] Lyrics Crawler feature removed (Data quality was bad, feature was never used)
  • [logging] Allow logging to journald
  • [artwork] Long broken app-cache manifest generation removed
  • [server] SIGUSR1 removed
  • [server] WebSocket API Key is now generated when missing. No user configuration needed anymore
  • [namedpipe] NamedPipe class removed
  • [database] musicdb.mdbapi.database.MusicDBDatabase is now called musicdb.mdbapi.music.MusicDBMusic
  • [music] FindLostPaths now uses a similar interface to FindNewPaths and supports videos as well
  • [music] FindNewPaths now provides an additional list that contains only new songs of imported albums
  • [music] New functions: CreateNewArtist, ChangeAlbumArtist
  • [tracker] Configuration added to decide if random songs shall be tracked: [tracker]->trackrandom
  • [filesystem] New methods: SetOwner, SetAccessPermissions, GetAccessPermissions, CheckAccessPermissions
  • [accesspermissions] New module for high level access permission checks added
  • [randy] Fixed ignoring maxsonglen for random songs
  • [randy] New filter options:
    • nohidden: do not select songs from hidden albums
    • nobadfile: do not select songs that are flagged by the "bad file" flag
    • nolivemusic: do not select songs that are flagged by the "live recording" flag
  • Command Line Interface
    • Old high level command line user interface removed (repair, add, moods, genres). The WebUI provides a better, more reliable alternative.
    • [recache] removed
    • [database] removed sub commands: add, getlyrics, update
    • [metadata] --check is no longer expected. Just give the path.
  • [WebUI] Audio stream player + settings form added
  • [WebUI] Settings added to allow hiding Audio stream player and System Status inside the main menu
  • [WebUI] Allow uploading albums via web front-end
  • [WebUI] Allow importing albums via web front-end
  • [WebUI] Allow updating and renaming albums and songs via web front-end
  • [WebUI] List background tasks in the settings menu
  • Web API:
    • notification "MusicDB:Upload" is now called "MusicDB:Task"
    • Removed functions: GetLyricsCrawlerCache, RunLyricsCrawler, IntegrateUpload
    • New functions:
      • InitiateContentIntegration, InitiateMusicImport, InitiateArtworkImport, InitiateFileystemScan,
      • FindAlbumSongFiles, RenameMusicFile, RenameAlbumDirectory, RenameArtistDirectory, ChangeArtistDirectory,
      • RemoveSongEntry, RemoveAlbumEntry, RemoveArtistEntry,
      • UpdateAlbumEntry, UpdateSongEntry, UpdateArtistEntry,
      • CreateSongEntry, CreateArtistEntry,
      • SetAlbumOrigin, SetAlbumImportTime, Bounce
    • Renamed: GetUploads -> GetCurrentTasks
  • Solved Issues: #68, #66, #65, #22, #27, #72, #64, #40, #50, #59

Minor Changes

  • [metadata] Uses mutagen instead of mutagenx module
  • [Filesystem] Filesystem class refactored. Uses now pathlib and type hinting
  • [Upload] Upload management refactored into task management
  • [WebUI] Fixes a bug that lead to not show the album release date in the ArtistView even when enabled
  • [WebUI] Scrolls current playing song into view when opening a big album that provides the current playing song

v7.2.0

2 years ago

Major Changes

  • [WebAPI] AddAlbumToQueue allows via optional third parameter to limit the Album to a specific CD
  • [WebAPI] SetSongTag now has optional parameters for defining approval and confidence information
  • [WebUI] Allow propagating album tags to untagged songs
  • [WebUI] A color scheme quality indicator has been added to the color settings
  • [WebUI] Option to hide the release date of albums in the Artists View added
  • [WebUI] Option to hide the default genre "Other" in the Genre Selection View added
  • [WebUI] The CD-Number headline can be used to add only a specific CD of an Album into the Queue
  • [WebUI] Responsiveness increased
    • Queue tile disappears immediately after clicking the remove icon
    • First queue tile disappears immediately after clicking the Next button
    • Moving tiles in the Queue View is now faked until the back-end responses
    • For new added songs, a fake queue entry will be shown until the new queue got loaded from the back end
  • Solved Issues: #63, #37

Minor Changes

  • [WebUI] Long artist names in Artist View are handled correct now
  • [WebUI] The tags in the Album View under the artwork are less opaque now
  • [WebUI] Mouse over album name in Artist View shows complete name as tool tip

v7.2.0-rc1

2 years ago

Major Changes

  • [WebAPI] AddAlbumToQueue allows via optional third parameter to limit the Album to a specific CD
  • [WebAPI] SetSongTag now has optional parameters for defining approval and confidence information
  • [WebUI] Allow propagating album tags to untagged songs
  • [WebUI] A color scheme quality indicator has been added to the color settings
  • [WebUI] Option to hide the release date of albums in the Artists View added
  • [WebUI] Option to hide the default genre "Other" in the Genre Selection View added
  • [WebUI] The CD-Number headline can be used to add only a specific CD of an Album into the Queue
  • [WebUI] Responsiveness increased
    • Queue tile disappears immediately after clicking the remove icon
    • First queue tile disappears immediately after clicking the Next button
    • Moving tiles in the Queue View is now faked until the back-end responses
    • For new added songs, a fake queue entry will be shown until the new queue got loaded from the back end

Minor Changes

  • [WebUI] Long artist names in Artist View are handled correct now
  • [WebUI] The tags in the Album View under the artwork are less opaque now
  • [WebUI] Mouse over album name in Artist View shows complete name as tool tip

v7.1.0

3 years ago

Major Changes

  • [extern] id3edit is now an optional dependency. It is only used for the music export feature (musicdb extern) of MusicDB

Minor Changes

  • [WebUI] When showing song settings, set keyboard focus to the genre input element
  • [WebUI] Beside the origin, the date an album got added will also be shown in the headlines tooltip
  • [WebUI] Review and minor improvements of moderator.html

v7.0.0

3 years ago

Major Changes

  • Support for music videos integrated (Still alpha, deactivated for 7.0.0)
  • Support for uploading new content via WebUI integrated (Still alpha, deactivated for 7.0.0)
  • Update process improved - just a simple script call (scripts/update.sh)
  • musicdb checks versions of configuration and database when executed. If something is outdated it becomes updated automatically
    • Automatic creation of the following configured directories: music, artwork, videoframes, uploads
  • License for images is now explicit creative commons (CC BY-SA 3.0)
  • Lots of bug-fixes due to rewriting some code fragments to integrate video management
  • Albums can be hidden in case they shall not appear in the WebUI, but removing would be too much.
  • Two new song/video properties: Live Audio and Bad Audio Quality
  • Removed command line modules: "tracker" and "upgrade" (have been, or became useless)
  • Added command line modules: "videoframes"
  • Web API:
    • notification "MusicDB:Queue" is now called "MusicDB:SongQueue"
    • notification "MusicDB:Stream" is now called "MusicDB:AudioStream"
    • notification "MusicDB:Upload" added
    • Function "GetQueue" is now called "GetSongQueue"
    • Function "GetStreamState" is now called "GetAudioStreamState"
    • Function "AddAlbumToQueue" now requires a position argument
    • New functions for videos (See documentation)
    • New functions for uploads (See documentation)
    • Further new functions: GetHiddenAlbums, HideAlbum, GetTagsStatistics, AddGenre, AddMoodFlag, DeleteTag, ModifyTag, SaveWebUIConfiguration, LoadWebUIConfiguration, FindNewContent
    • Some function now return more data than before (but never less!). See the documentation for details.
  • WebUI:
    • Total rewrite - look and feel is the same
    • Layout also works on 4K screens
    • jQuery and other dependencies removed.
    • WebUI can now be configured via webui.ini
    • WebUI provides a settings and management interface (not yet a full replacement of the command line tools)
    • Lyrics integration improved for better UX. It can also be deactivated in the settings.
    • New icon set that is made for MusicDB's WebUI for better UX
    • Full Drag'n'Drop support. Drag any album or song into the queue at any position
    • Lang song and album names no longer destroy the layout
  • MusicDB Configuration:
    • Configurations for video frame management "[videoframes]" and uploads "[uploads]"
    • For debugging purposes, IceCast connection and video mode can be disabled
  • Documentation improved
  • Solved Issues: #30, #45, #45, #24, #26, #47, #43, #46, #44

Minor Changes

  • Scripts now handle spaces inside the configuration correct
  • The WebSocket API key gets now generated during installation
  • Refactoring of StreamManager -> AudioStreamManager
  • [database] musicdb database add allows adding and managing videos to the music collection
  • [database] It is possible to information about the usage of tags from the database
  • [database] Recursive deleting of tags is now possible
  • [tracker] Tracks also videos
  • [videoframes] musicdb videoframes is a command line module for managing video frames and previews
  • [randy] maximum tries to find a song can be limited (Config: "[randy]->maxtries")
  • [fileprocessing] Different checksum algorithm possible
  • [filesystem] Supports handling of videos
  • [metatags] Supports handling of videos
  • [mod.add] Lists all new albums, not only of known artists
  • [mod.database] Allows adding videos (Removing is not yet supported!)

v7.0.0-rc2

3 years ago

Fixes

  • Importing an album does no longer create an invalid database entry
  • Current playing song marker gets also updated, when the album does not change
  • Drag and Drop from search results preview popup works reliable without flickering
  • When entering a (sub-)genre, the most likely tag gets highlighted again

v7.0.0-rc1

3 years ago

WARNING: Do Not use the Album Import Feature! Importing an Album is broken in this and previous unstable releases. If you do so, you need to fix the database entry via sqlite3. See sql/musicdb.sql for the database structure.

Fixes

  • Current playing song marker should no longer disappear when changing song tags
  • Drag and Drop from search results preview popup works again
  • Scaling issues of the HUD on 4K screens fixed
  • Fixed wrong Drag and Drop behavior of Queue Entries when there are multiple entries of the same song in the queue

v7.0.0-beta2

3 years ago

Fixes

  • Upload and replace album artwork
  • [filesystem] CopyFile now works now as expected and does not copy permissions and ownership
  • [artwork] Caches for scaled artworks now get the right permissions (g+w)
  • MusicDB Dependency list updated
  • Apache example configuration added
  • Better scaling of album artwork in ArtistsView
  • A quick way to mark songs as Instrumental added (via Song Settings)
  • A Help-View will be shown when Web Socket connection failes
  • Empty QueueView space is now a drop zone to append music
  • Audio-Preview now uses valid path encoding
  • Ask for confirmation when deleting tags and flags from the database
  • HUD now uses a scaled down artwork source
  • Set write access for musicdb-group inside artwork directory
  • Lots of documentation updates especially the Installation chapter
  • Create missing directories inside the MusicDB Data directory
  • Tickets: #38, #16, #17

v7.0.0-beta1

3 years ago

Major Changes

  • Support for music videos integrated (Still alpha, deactivated for 7.0.0)
  • Support for uploading new content via WebUI integrated (Still alpha, deactivated for 7.0.0)
  • Update process improved - just a simple script call (scripts/update.sh)
  • musicdb checks versions of configuration and database when executed. If something is outdated it becomes updated automatically
    • Automatic creation of the following configured directories: music, artwork, videoframes, uploads
  • License for images is now explicit creative commons (CC BY-SA 3.0)
  • Lots of bug-fixes due to rewriting some code fragments to integrate video management
  • Albums can be hidden in case they shall not appear in the WebUI, but removing would be too much.
  • Two new song/video properties: Live Audio and Bad Audio Quality
  • Removed command line modules: "tracker" and "upgrade" (have been, or became useless)
  • Added command line modules: "videoframes"
  • Web API:
    • notification "MusicDB:Queue" is now called "MusicDB:SongQueue"
    • notification "MusicDB:Stream" is now called "MusicDB:AudioStream"
    • notification "MusicDB:Upload" added
    • Function "GetQueue" is now called "GetSongQueue"
    • Function "GetStreamState" is now called "GetAudioStreamState"
    • Function "AddAlbumToQueue" now requires a position argument
    • New functions for videos (See documentation)
    • New functions for uploads (See documentation)
    • Further new functions: GetHiddenAlbums, HideAlbum, GetTagsStatistics, AddGenre, AddMoodFlag, DeleteTag, ModifyTag, SaveWebUIConfiguration, LoadWebUIConfiguration, FindNewContent
    • Some function now return more data than before (but never less!). See the documentation for details.
  • WebUI:
    • Total rewrite - look and feel is the same
    • Layout also works on 4K screens
    • jQuery and other dependencies removed.
    • WebUI can now be configured via webui.ini
    • WebUI provides a settings and management interface (not yet a full replacement of the command line tools)
    • Lyrics integration improved for better UX. It can also be deactivated in the settings.
    • New icon set that is made for MusicDB's WebUI for better UX
    • Full Drag'n'Drop support. Drag any album or song into the queue at any position
    • Lang song and album names no longer destroy the layout
  • MusicDB Configuration:
    • Configurations for video frame management "[videoframes]" and uploads "[uploads]"
    • For debugging purposes, IceCast connection and video mode can be disabled
  • Documentation improved
  • Solved Issues: #30, #45, #45, #24, #26, #47, #43, #46, #44

Minor Changes

  • Scripts now handle spaces inside the configuration correct
  • The WebSocket API key gets now generated during installation
  • Refactoring of StreamManager -> AudioStreamManager
  • [database] musicdb database add allows adding and managing videos to the music collection
  • [database] It is possible to information about the usage of tags from the database
  • [database] Recursive deleting of tags is now possible
  • [tracker] Tracks also videos
  • [videoframes] musicdb videoframes is a command line module for managing video frames and previews
  • [randy] maximum tries to find a song can be limited (Config: "[randy]->maxtries")
  • [fileprocessing] Different checksum algorithm possible
  • [filesystem] Supports handling of videos
  • [metatags] Supports handling of videos
  • [mod.add] Lists all new albums, not only of known artists
  • [mod.database] Allows adding videos (Removing is not yet supported!)