- bump rust-ffmpeg
- Library: make the config file selection "smarter".
- Library: replace XDG_DATA_HOME with XDG_CONFIG_HOME by default.
- Add an extra "integration-tests" feature.
- Expose the Mahalanobis distance in the library feature, reading the learned matrix in metric learning.
- Add training triplets to the database, used in conjunction with https://github.com/Polochon-street/bliss-metric-learning to do metric learning.
- Add Mahalanobis distance.
- Make album playlists take into account disk numbers (no more mixed disks!).
- Add a
disc_number
field inSong
s. - Add a mechanism to do migrations for Libraries, to make sure we're ready for potential new features.
- Make
track_number
an integer, and not a string. - Bump rust-ffmpeg*, to fix compilation warnings.
- Remove the
number_songs
option fromLibrary::playlist_from_custom
. Since it now returns an Iterator,number_songs
can just be replaced bytake
. Library::playlist_from_custom
now returns an Iterator instead of a Vec.Library::playlist_from_custom
now also returns the song(s) the playlist was built from.
- Bump rust-ffmpeg to 7.0.2, to allow building on FreeBSD systems.
- Make ffmpeg an optional dependency, to decouple bliss from ffmpeg:
- Remove Song::from_path
- Add a specific
song
anddecoder
module - Add a
Decoder
trait to make implementing decoders other than ffmpeg more easily - Add an
FFmpeg
struct implementing the previous decoding behavior with ffmpeg Existing code will need to be updated by replacingSong::from_path
bysong::decoder::bliss_ffmpeg::FFmpeg::song_from_path
, and the other corresponding functions (see the updated examples for more details).
- Put the decoding logic in its own module.
- Bump ffmpeg-next version to 7.0.
- Bump aubio-rs custom crate to disable compiling it with -std=c99.
- Add the possibility to make playlists based on multiple songs using extended isolation forest (Thanks @SimonTeixidor!).
- Remove *_by_key family of functions (Thanks @SimonTeixidor!).
- Remove circular dependency between playlist and song by removing distances
from the
Song
struct (Thanks @SimonTeixidor!).
- Bump rust-ffmpeg to 6.1.1 to fix build for raspberry pis.
- Make the
analyze
function public, for people who don't want to use ffmpeg - Run
cargo update
, bump ffmpeg to 6.1 - Fix the library module erroring when wrong UTF-8 ends up in the database.
- Add a feature flag for compilation on raspberry pis.
- Add an
update-aubio-bindings
feature.
- Fix compatibility for ffmpeg 6.0, and bump ffmpeg version to 6.0.
- Update and remove extraneous dependencies.
- Add a
delete_everything_else
function inlibrary
's update functions. - Use Rust 2021.
- Fix library update performance issues.
- Pretty-print JSON in the config file.
- Fix a bug in the customizable CPU number option in
library
.
- Add customizable CPU number in the
library
module.
- Add a
library
module, that greatly helps when making player plug-ins.
- Fix a decoding bug while decoding certain WAV files.
- Change String to PathBuf in
analyze_paths
. - Add
analyze_paths_with_cores
.
- Fix a bug with some broken MP3 files.
- Bump ffmpeg to 5.1.0.
- Add support for CUE files.
- Add
album_artist
andduration
toSong
. - Fix a bug in
estimate_tuning
that led to empty chroma errors. - Remove the unusued Library trait, and extract a few useful functions from
there (
analyze_paths
,closest_to_album_group
). - Rename
distance
module toplaylist
. - Remove all traces of the "analyse" word vs "analyze" to make the codebase more coherent.
- Rename
Song::new
toSong::from_path
.
- Bump ffmpeg crate version to allow for cross-compilation.
- Bump ffmpeg crate version.
- Add an "ffmpeg-static" option.
- Make features' version public.
- Add features' version on each Song instance.
- Add a binary example to easily make playlists.
- Add a function to make album playlists.
- Make the song-to-song custom sorting method faster.
- Rename
to_vec
andto_arr1
toas_vec
andas_arr1
. - Add a playlist_dedup function.
- Add custom sorting methods for playlist-making.
- Bump ffmpeg's version to avoid building ffmpeg when building bliss.
- Add a streaming analysis function, to help libraries displaying progress.
- Fixed a rare ffmpeg multithreading bug.
- Show error message when song storage fails in the Library trait.
- Added a
distance
module containing euclidean and cosine distance. - Added various custom_distance functions to avoid being limited to the euclidean distance only.
- Changed
Song.path
fromString
toPathBuf
. - Made
Song
metadata (artist, album, etc)Option
s. - Added a
BlissResult
error type.
- Fixed an allocation bug in Song::decode that potentially caused segfaults.
- Updates to docs
- Make
Analysis::to_vec()
public.
- Made
NUMBER_FEATURES
public.
- Made
Analysis::new
public. - Made
Analysis
serializable.
- Added an
Analysis
struct toSong
, as well as anAnalysisIndex
to index it easily. - Changed some logging parameters for the Library trait.