Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WiP] aoide - External music library #2282

Closed
wants to merge 39 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
e2cdee3
Add faceted custom tags foundation with JSON serialization
uklotzde Aug 16, 2021
7ec7af9
Extract utility functions for parsing JSON data
uklotzde Aug 28, 2021
c5462fe
CustomTags: Log and report parsing errors
uklotzde Aug 28, 2021
1d02a87
Custom tags: Refine and extend documentation
uklotzde Aug 29, 2021
8929eb3
Custom tags: Rename member function
uklotzde Aug 29, 2021
7607dcc
Tag facet/label/score: clampValue() -> convertIntoValidValue()
uklotzde Aug 29, 2021
3645c1d
Tag facet/label: Trade constexpr for validation
uklotzde Aug 29, 2021
e7f3c7b
Custom tags: Split source files
uklotzde Aug 29, 2021
7063527
TagFacet: Enable definition of static, non-validated constants
uklotzde Aug 29, 2021
fd640b5
Explain the purpose of facet identifiers
uklotzde Aug 30, 2021
726388f
Fix clazy warnings
uklotzde Aug 30, 2021
e95d6ff
Restrict the alphabet of tag facets
uklotzde Aug 31, 2021
3e98115
Update tag facet doc comment
uklotzde Aug 31, 2021
b2bc645
Renaming: TagFacet -> TagFacetId
uklotzde Aug 31, 2021
56fd0cc
Tags: Add constants for predefined facet identifiers
uklotzde Aug 31, 2021
c2fb4e2
Fix naming of constant
uklotzde Sep 1, 2021
35c387c
Add more predefined tag facets and labels
uklotzde Sep 1, 2021
ca2fb2d
Remove redundant "Tag" prefix from type names
uklotzde Sep 11, 2021
25c7328
Rename CustomTags as Facets
uklotzde Sep 1, 2021
af3b8fd
DB: Update track metadata from file tags if outdated
uklotzde Aug 29, 2021
d571d22
UI: Reword options for track metadata sync with file tags
uklotzde Aug 21, 2021
a52a118
Library preferences: Reword file synchronization options
uklotzde Sep 6, 2021
3662b25
Track source sync: Log possible reasons for runtime errors
uklotzde Sep 6, 2021
c45c009
Only re-import Serato tags if Serato metadata export is enabled
uklotzde Sep 15, 2021
482877b
Library Prefs: Reword and explain Serato metadata synchronization
uklotzde Sep 16, 2021
4dd7917
Add missing const qualifiers in test classes
uklotzde Sep 17, 2021
cae3707
Add utility functions and accompanying types for tag labels
uklotzde Sep 21, 2021
5888766
Restrict facet identifiers to start with a lowercase alphabetic letter
uklotzde Sep 22, 2021
751866c
Add custom tags
uklotzde Sep 22, 2021
6ce9469
Populate custom tags menu from selected/all tracks
uklotzde Sep 2, 2021
37b5daa
Parse query terms and search for tag facets and labels
uklotzde Sep 19, 2021
0a76e0d
Save custom tags in file tags
uklotzde Mar 20, 2021
7d3ac3d
Undo: Save custom tags in file tags
uklotzde Sep 3, 2021
34a9984
Add a method for writing custom messages into the log
uklotzde May 3, 2020
52eed02
Add tool tips to sidebar tree items
uklotzde Aug 29, 2021
0005270
Add EncodedUrl
uklotzde Sep 13, 2019
ccac753
Add aoide integration
uklotzde May 7, 2021
b68eeaa
aoide: Workaround for spurious SIGSEGV crashes
uklotzde Sep 25, 2021
7403f65
aoide: Mount as external track collection in read-only mode
uklotzde Aug 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -829,6 +829,7 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/soundio/soundmanagerutil.cpp
src/sources/audiosource.cpp
src/sources/audiosourcestereoproxy.cpp
src/sources/metadatasource.cpp
src/sources/metadatasourcetaglib.cpp
src/sources/readaheadframebuffer.cpp
src/sources/soundsource.cpp
Expand All @@ -838,6 +839,11 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/sources/soundsourceproviderregistry.cpp
src/sources/soundsourceproxy.cpp
src/sources/soundsourcesndfile.cpp
src/tagging/taggingconfig.cpp
src/tagging/taggingcontext.cpp
src/tagging/taggingui.cpp
src/tagging/tagmapping.cpp
src/tagging/trackfacetsdb.cpp
src/track/albuminfo.cpp
src/track/beatfactory.cpp
src/track/beatgrid.cpp
Expand All @@ -852,6 +858,10 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/track/keyfactory.cpp
src/track/keys.cpp
src/track/keyutils.cpp
src/library/tags/facets.cpp
src/library/tags/facetid.cpp
src/library/tags/label.cpp
src/library/tags/tag.cpp
src/track/playcounter.cpp
src/track/replaygain.cpp
src/track/serato/beatgrid.cpp
Expand Down Expand Up @@ -894,11 +904,13 @@ add_library(mixxx-lib STATIC EXCLUDE_FROM_ALL
src/util/desktophelper.cpp
src/util/dnd.cpp
src/util/duration.cpp
src/util/encodedurl.cpp
src/util/experiment.cpp
src/util/fileaccess.cpp
src/util/fileinfo.cpp
src/util/imageutils.cpp
src/util/indexrange.cpp
src/util/json.cpp
src/util/logger.cpp
src/util/logging.cpp
src/util/mac.cpp
Expand Down Expand Up @@ -1584,6 +1596,7 @@ add_executable(mixxx-test
src/test/enginemastertest.cpp
src/test/enginemicrophonetest.cpp
src/test/enginesynctest.cpp
src/test/facets_test.cpp
src/test/fileinfo_test.cpp
src/test/frametest.cpp
src/test/globaltrackcache_test.cpp
Expand All @@ -1594,6 +1607,7 @@ add_executable(mixxx-test
src/test/lcstest.cpp
src/test/learningutilstest.cpp
src/test/libraryscannertest.cpp
src/test/librarytags_test.cpp
src/test/librarytest.cpp
src/test/looping_control_test.cpp
src/test/main.cpp
Expand Down Expand Up @@ -1632,6 +1646,7 @@ add_executable(mixxx-test
src/test/synccontroltest.cpp
src/test/tableview_test.cpp
src/test/taglibtest.cpp
src/test/tagmapping_test.cpp
src/test/trackdao_test.cpp
src/test/trackexport_test.cpp
src/test/trackmetadata_test.cpp
Expand Down Expand Up @@ -2946,3 +2961,56 @@ if(APPLE AND MACOS_BUNDLE)
configure_file(cmake/modules/BundleInstall.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/BundleInstall.cmake" @ONLY)
install(SCRIPT "${CMAKE_CURRENT_BINARY_DIR}/BundleInstall.cmake")
endif()

#
# aoide
#
option(AOIDE "aoide - External music library (experimental)" OFF)
if(AOIDE)
target_compile_definitions(mixxx-lib PUBLIC __AOIDE__)
target_compile_definitions(mixxx-lib PUBLIC __EXTRA_METADATA__)
target_compile_definitions(mixxx-lib PUBLIC __CUSTOM_TAGS__)
target_sources(mixxx-lib PRIVATE
src/aoide/activecollectionagent.cpp
src/aoide/collectionlistmodel.cpp
src/aoide/gateway.cpp
src/aoide/json/collection.cpp
src/aoide/json/entity.cpp
src/aoide/json/json.cpp
src/aoide/json/marker.cpp
src/aoide/json/playlist.cpp
src/aoide/json/tag.cpp
src/aoide/json/track.cpp
src/aoide/libraryfeature.cpp
src/aoide/settings.cpp
src/aoide/subsystem.cpp
src/aoide/trackcollection.cpp
src/aoide/trackexport.cpp
src/aoide/trackreplacementscheduler.cpp
src/aoide/tracksearchlistmodel.cpp
src/aoide/tracksearchoverlayfilterdlg.cpp
src/aoide/tracksearchoverlayfilterdlg.ui
src/aoide/tracktablemodel.cpp
src/aoide/util.cpp
src/aoide/web/createcollectedplaylisttask.cpp
src/aoide/web/createcollectiontask.cpp
src/aoide/web/deletecollectiontask.cpp
src/aoide/web/deleteplaylisttask.cpp
src/aoide/web/listcollectedplayliststask.cpp
src/aoide/web/listcollectionstask.cpp
src/aoide/web/listtagstask.cpp
src/aoide/web/listtagsfacetstask.cpp
src/aoide/web/playlistappendtrackentriesbyurltask.cpp
src/aoide/web/playlistappendtrackentriestask.cpp
src/aoide/web/purgecollectedtrackstask.cpp
src/aoide/web/relocatecollectedtrackstask.cpp
src/aoide/web/replacecollectedtrackstask.cpp
src/aoide/web/resolvecollectedtrackstask.cpp
src/aoide/web/searchcollectedtrackstask.cpp
src/aoide/web/shutdowntask.cpp
src/aoide/web/updatecollectiontask.cpp
)
target_sources(mixxx-test PRIVATE
src/test/aoide_trackexport_test.cpp
)
endif()
71 changes: 71 additions & 0 deletions res/images/library/ic_library_aoide.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
113 changes: 113 additions & 0 deletions res/images/library/ic_library_tag-search-filter.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions res/mixxx.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@
<file>images/library/ic_library_traktor.svg</file>
<file>images/library/ic_library_rekordbox.svg</file>
<file>images/library/ic_library_serato.svg</file>
<file>images/library/ic_library_aoide.svg</file>
<file>images/library/ic_library_tag-search-filter.svg</file>
<!-- logo and icons for 'About' dialog -->
<file>images/mixxx_logo.svg</file>
<file>images/icons/scalable/apps/mixxx.svg</file>
Expand Down
Loading