Releases: antlarr/bard
Releases · antlarr/bard
v0.5.0
This release improves many areas making it easier to install, configure and use Bard for a new user as well as adding tons of new features and fixes.
New features and improvements:
- Big refactor of database engine which now uses sqlalchemy models to create all schemas and to perform many of the queries. Also alembic is now used to handle database schema migrations.
- Integration of essentia so Bard can now perform high level analysis of music and use classifier models to automatically extract more information from songs.
- Generated playlists (aka Dynamic playlists). Playlists that add songs automatically when the current song approaches the last song on the playlist.
- Use the BARDCONFIGFILE environment variable to specify the config file to use (the default is ~/.config/bard)
- Refactor how artist images are stored in the database.
- Add mediaSession / metadata support in bard web so the KDE Plasma media player applet shows information about the bard player and can also control it.
- Add feature to select which artists to show when browsing artists on the web ui. This way the user can select if browsing all artists,
only "main artists" (artists who are credited in a release group or release) or "main+ artists" (artists who are credited in a release group, release or recording). - Import also the collaborators relationship and use it in the web ui (This is used for example to relate Jon Anderson and Vangelis with
the "Jon and Vangelis" artist). - Installing bard now installs web static files and jinja templates to the package directory so
bard webcan no longer needs to be run from the source directory. - Add more config defaults and improve the handling of config values
- Add support to process wav and dsf files (with id3 tags)
- Add the Bard plugin for Picard and a recommended file naming script to the
picard_plugindirectory. - Add LOTS of documentation
- Make the generate-keys.sh script more user friendly
New commands:
- New command
analyze-songsto perform a highlevel analysis of the collection. - The
ls/listcommand now has a--durationflag to show the duration of each song listed. - The
ls/listcommand now has new--rating,--my-ratingand--others-ratingflags to filter
the listing using each type of rating (i.e.bard ls --rating "> 8") - Add
update-musicbrainz-artistscommand to search for artist images in directories containing an.artist_mbidfile. - Add
-a/--show-analysisparameter to theinfocommand to show the analysis information of a song. - Add new
initcommand to initialize the database and create an example config file. - New command
process-songs, a shortcut forfind-audio-duplicates+analyze-songs. - New commands
mb-updateandmb-importto update and import the data from musicbrainz. Alsomb-import --updatedoes both at the same time. - The
updatecommand has a new--processflag which performs all audio processing (likeprocess-songs) after the database collection has been updated.
New config options:
- Add an 'ignore_extensions' config parameter
- Add a preferred_locales config option instead of having it hardcoded. For example with preferred_locales = ["es", "en"], if an artist has aliases in different locales, a "es" locale is preferred (primary aliases before non primary ones), then "en" locales, and if none of those are avialable, any primary alias followed by non primary ones.
- Rename some config options so now all config options use
snake_case:musicPathshas been renamed tomusic_paths.storeThresholdhas been renamed tostore_threshold.shortSongStoreThresholdhas been renamed toshort_song_store_threshold.shortSongLengthhas been renamed toshort_song_length.immutableDatabasehas been renamed toimmutable_database.matchThresholdhas been renamed tomatch_threshold.musicbrainzTaggedMusicPathshas been renamed tomusicbrainz_tagged_music_paths.sslCertificateChainFilehas been renamed tossl_certificate_chain_file.sslCertificateKeyFilehas been renamed tossl_certificate_key_file.databasePathhas been renamed todatabase_path.translatePathshas been renamed totranslate_paths.pathTranslationMaphas been renamed topath_translation_map.
- Rename the
ignore_extensionsconfig option toignore_filesand use globs so it's more flexible.
Fixes and other changes:
- Fix length of some files for which mutagen returned a length of 0 seconds
- Normalize also the style TXXX id3 tags
- Improve the song ratings storage in database and small refactor to speed it up
- Fix queries which should be outer joins
- Fix find-audio-duplicates when it's the first time it's run
- Fix importing from musicbrainz when we don't need any item from a table
- Fix importing ratings on newly imported artists
- Add all commands and options to the bash autocompletion scripts
- Keep artist images aspect ratio in the web ui
- Don't print null when a release event has no date assigned
- Also compare the file checksums when comparing files in a backup to recognize files modified since a backup was done.
- Fix sending a non-existing file to the web ui.
- Fix 'hostname' config option which was wrongly referred as 'host'
- Don't fail if ssl_certificate_chain_file or ssl_certificate_key_file don't exist
- Don't fail to create a MBImporter object when mbdump files haven't been downloaded yet
- Create the web private_key file correctly
- Remove the logo rotation animation in the web ui
- Create the musicbrainz_schema_importer_names file on demand
v0.4.0
This release mainly improves the web ui. The main changes are:
- Much better ratings support for songs, albums, release groups and artists.
- Fix compatibility with python 3.6 (by @cristobalcl )
- Add url support and refactor history management. Now navigating through Bard changes the url shown in the browser and allows
to link a page so links to artists, release-groups, albums, searches, etc. can be shared or bookmarked. - Import the release_unknown_country table from musicbrainz
- Much improved album view, showing medium covers if they're different from the main album cover, also release events, and more information.
- Much improved artist view, member-of relationships and release group lists (with release groups separated by types and secondary types).
- Much improved release group view, with album format and disambiguation text information.
- Added flags for release events and the script used to download them from wikipedia.
- Increase storeThreshold to 0.60 so less data is stored in the database when finding duplicates.
- Add the initial work for a configuration dialog (useless for now)
- Import song/album/artist ratings from musicbrainz
- Changes in the database tables, mainly related to the ratings.
v0.3.2
This release includes changes over the last 3 months, including mainly lots of changes to the web ui, important optimizations and several bugfixes. The full list of changes:
- Fixes for mpris support reporting the same song twice
- Fix building on archs other than x86_64
- Big speed ups to some database operations
- Improve tag normalization when scanning audio files
- Read embedded cuesheets in flac audio files and store the information in the database. This will allow to distinguish songs within the same file
- Import recording_alias from musicbrainz, which will be used at some point
- web ui changes:
- Custom controls for the media player
- Support for seeking
- Add playlists support
- Play the next song automatically when the current song finishes, continuing the current playlist, album or search result
- Lots of improvements to the search view which now is more congruent with the rest of the interface
- Add caching in the web ui so many operations are much faster now
- Change default font of the application
- Add ratings support (stars representing a rating from 0 to 10 for each song) which allows to be set easily from the playlist/search or album view.
v0.3.1
This release can be used from a terminal and has the following working features:
- Add music files to the collection, parsing metadata tags, audio features and audio fingerprints.
- Store all the parsed and calculated data in a postgresql database.
- Set song ratings.
- Play music (using mpv) selecting what to play or in shuffle mode (
- List/Play (select) music by genre. List music genres in the collection.
- Compare songs or full directories to find out if two directories include the same songs, which one has better quality or to find duplicated songs in general, based on the audio, and not on tags.
- Import metadata from musicbrainz for songs in the collection (to the database).
What isn't finished yet but is planned for 1.0:
- The web interface. It currently has a very-very-early-development-stage interface which shows artists, releases, songs and can play single songs, but is not really usable yet.
- Documentation. There's a lot of missing documentation.
- Chromecast/Sonos support. I've made some simple tests with those, but it's not supported at all yet.
Changes from the previous version:
- Fix build/installation
- Add --version argument
v0.3.0
This release can be used from a terminal and has the following working features:
- Add music files to the collection, parsing metadata tags, audio features and audio fingerprints.
- Store all the parsed and calculated data in a postgresql database.
- Set song ratings.
- Play music (using mpv) selecting what to play or in shuffle mode (
- List/Play (select) music by genre. List music genres in the collection.
- Compare songs or full directories to find out if two directories include the same songs, which one has better quality or to find duplicated songs in general, based on the audio, and not on tags.
- Import metadata from musicbrainz for songs in the collection (to the database).
What isn't finished yet but is planned for 1.0:
- The web interface. It currently has a very-very-early-development-stage interface which shows artists, releases, songs and can play single songs, but is not really usable yet.
- Documentation. There's a lot of missing documentation.
- Chromecast/Sonos support. I've made some simple tests with those, but it's not supported at all yet.