Commit Graph

115 Commits

Author SHA1 Message Date
Alaric Senat baed3b02ec medialibrary: allow changing folder public state
This is the main mechanism that will be exposed to the user to
allow/disallow multiple media to be publicly exposed on the network by
VLC.
2024-04-11 13:19:17 +00:00
Alaric Senat 2bb616a50c medialibrary: media: expose an `is_public` accessor 2024-04-11 13:19:17 +00:00
Alaric Senat c4a3e9ceee medialibrary: expose the `publicOnly` query parameter
Allow medialibrary queries to process and list public media.

Public media are a new addition of the medialibrary 0.13 version. With
this, the users will have the opportunity to allow a subset of the
medialibrary to be exposed on network interfaces (notably the upnp
server and the HTTP remote control).

Community discussions around the subject can be found here:
https://code.videolan.org/videolan/vlc/-/merge_requests/269#note_274345
2024-04-11 13:19:17 +00:00
Alaric Senat 9394e7eace medialibrary: expose `favorite_only` QueryParameter
Allow favorite only listing on various medialibrary objects.
2024-03-30 17:41:04 +00:00
Alaric Senat bbd81d4cf5 medialibrary: playlist: expose new listing options
MediaLibrary 0.13 allows to list and search on playlist that contains at
least one element of a certain media type.

This is mostly useful to consider playlists with at least one audio file
to be treated as music playlists.
2024-03-30 17:41:04 +00:00
Alaric Senat 99b6c691c2 medialibrary: folder: expose the duration field 2024-03-30 17:41:04 +00:00
Alaric Senat d848ce86ed medialibrary: history: rework listing by media type
To reflect the latest changes in medialibrary 0.13. There is a listing
function for both audio and video now. This avoids bad combinations of
mediatype and history type.
2024-03-30 17:41:04 +00:00
Alaric Senat 2d2ded737a medialibrary: history: unify stream and global wrappers
To reflect the 0.13 medialibrary public API. The network/local/global
histories can be fetched by a single call now.
2024-03-30 17:41:04 +00:00
Alaric Senat ab1dd2678e medialibrary: history: allow clearing via import type
This feature was added in medialibrary 0.13.
2024-03-30 17:41:04 +00:00
Alaric Senat b5c36b754e medialibrary: update to 0.13 API changes 2024-03-30 17:41:04 +00:00
Alaric Senat ac5c1d1782 medialibrary: add query parameter documentation 2024-03-30 17:41:04 +00:00
Alaric Senat d4f6fdcf6a medialibrary: rename playlist filtering types
These needs to be more explicit to match the actual medialibrary
behavior. Currently, filtering asking for video or audio playlists will
return playlists that contain exclusively the designated entity type.

The next medialibrary release introduce new filtering types allowing
finer filtering.
2024-03-30 17:41:04 +00:00
Alexandre Janniaux ccb9ad8abd vlc_media_library.h: include missing time.h
On MacOS, the checkheader for vlc_media_library.h fails with:

    In file included from checkheader_vlc_media_library_h.c:3:
    /Users/unidan/Workspace/vlc/extras/package/macosx/../../../include/vlc_media_library.h:151:5: error: unknown type name 'time_t'; did you mean 'size_t'?
        time_t i_last_modification_date;
        ^~~~~~
        size_t
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note: 'size_t' declared here
    typedef __darwin_size_t        size_t;
                                   ^
    In file included from checkheader_vlc_media_library_h.c:3:
    /Users/unidan/Workspace/vlc/extras/package/macosx/../../../include/vlc_media_library.h:213:5: error: unknown type name 'time_t'; did you mean 'size_t'?
        time_t i_last_played_date;
        ^~~~~~
        size_t
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note: 'size_t' declared here
    typedef __darwin_size_t        size_t;
                                   ^
    In file included from checkheader_vlc_media_library_h.c:3:
    /Users/unidan/Workspace/vlc/extras/package/macosx/../../../include/vlc_media_library.h:257:5: error: unknown type name 'time_t'; did you mean 'size_t'?
        time_t i_creation_date;
        ^~~~~~
        size_t
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note: 'size_t' declared here
    typedef __darwin_size_t        size_t;
                                   ^
    In file included from checkheader_vlc_media_library_h.c:3:
    /Users/unidan/Workspace/vlc/extras/package/macosx/../../../include/vlc_media_library.h:258:5: error: unknown type name 'time_t'; did you mean 'size_t'?
        time_t i_last_modification_date;
        ^~~~~~
        size_t
    /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/sys/_types/_size_t.h:31:32: note: 'size_t' declared here
    typedef __darwin_size_t        size_t;
                                   ^
    4 errors generated.
    make[4]: *** [Makefile:6719: checkheader_vlc_media_library_h] Error 1
2023-09-05 09:22:46 +00:00
Alexandre Janniaux 1747fb920f vlc_media_library: fix doxygen warnings
include/vlc_media_library.h:658: warning: Unsupported xml/html tag <type> found

    include/vlc_media_library.h:918: warning: argument 'p_handle' of command @param is not found in the argument list of vlc_ml_event_unregister_callback(vlc_medialibrary_t *p_ml, vlc_ml_event_callback_t *p_callback)

    include/vlc_media_library.h:918: warning: The following parameters of vlc_ml_event_unregister_callback(vlc_medialibrary_t *p_ml, vlc_ml_event_callback_t *p_callback) are not documented:
      parameter 'p_ml'
      parameter 'p_callback'

    include/vlc_media_library.h:924: warning: The following parameter of vlc_ml_event_unregister_from_callback(vlc_medialibrary_t *p_ml, vlc_ml_event_callback_t *p_callback) is not documented:
      parameter 'p_ml'

    include/vlc_media_library.h:1530: warning: The following parameter of vlc_ml_list_artists(vlc_medialibrary_t *p_ml, const vlc_ml_query_params_t *params, bool b_include_all) is not documented:
      parameter 'p_ml'
2023-08-03 08:56:58 +00:00
Mohit Marathe 8ba9acdc86 medialibrary: add VLC_ML_REMOVE_STREAM
Signed-off-by: Mohit Marathe <mohitmarathe23@gmail.com>
2023-07-09 08:59:27 +00:00
Benjamin Arnaud 6ffca1a9d3 medialibrary: Add the 'vlc_ml_playlist_rename' function 2023-05-21 06:06:06 +00:00
Pierre Lamot 793acb3a47 medialib: allow to list audio or video only playlists 2023-05-05 17:35:39 +00:00
Steve Lhomme b1adadbb05 medialibrary: don't use named intializers in C++ 2023-02-10 18:18:54 +00:00
Steve Lhomme 32e310fb36 avoid empty function parameters 2023-01-17 10:37:49 +00:00
Benjamin Arnaud e07e728d58 core/medialibrary: Add the favorite media setter 2023-01-14 08:43:40 +00:00
Thomas Guillem 92450571e1 media_library: use double for the position 2022-08-06 14:39:45 +00:00
Aymeric Guillien fc9a43be3e medialibrary: add filename field on media 2022-07-30 17:27:58 +00:00
Benjamin Arnaud f2bfb770b3 qt/medialibrary: Add the 'vlc_ml_media_set_played' function 2022-07-09 22:02:11 +00:00
Hugo Beauzée-Luyssen 452c0aeb77 medialibrary: folder: Add nb_audio/nb_video counters
Refs #27054
2022-06-09 13:58:07 +02:00
Pierre Lamot dbcbe6b992 medialibrary: add folder getter 2022-03-27 13:01:07 +00:00
Hugo Beauzée-Luyssen a5eb80ea3d medialib: Expose missing album properties 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen bab97ff0ba medialib: Use proper types for album properties 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen 53797783a0 medialib: Bind artist number of present tracks 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen 8f168f446f medialib: Use correct types for media group properties
Date are now exposed as time_t
Duration should have always been an int64_t
And replace unsigned int by uint32_t for coherence
2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen 0c4e0191e7 medialib: Bind new media group properties 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen 12572d1bea medialib: Bind duration properties 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen 79905ca608 medialib: Expose playlist nb audio/video/unknown properties 2022-02-26 08:08:10 +00:00
Hugo Beauzée-Luyssen c7a10410ac medialibrary: Bind folder modifications callbacks 2022-02-25 15:37:01 +00:00
Benjamin Arnaud 6f2b25fac0 medialibrary: Udpate folder support 2022-02-20 14:18:57 +00:00
Pierre Lamot 7866b1be2f medialibrary: Add audio(s) list and count functions
Co-authored-by: Benjamin Arnaud <benjamin.arnaud@videolabs.io>
2022-02-20 14:18:57 +00:00
Pierre Lamot a4e5e0ce26 medialibrary: Add video(s) list and count functions
Co-authored-by: Benjamin Arnaud <benjamin.arnaud@videolabs.io>
2022-02-20 14:18:57 +00:00
Hugo Beauzée-Luyssen 0102a531e4 medialibrary: Update to 0.11.x API
Fix #26491
2022-02-19 15:47:05 +00:00
Alexandre Janniaux b9a270574a include: fix typos
Typos found and reworked from codespell.
2022-01-08 15:19:32 +00:00
Prince Gupta 3b1c3d7249 medialibrary: add VLC_ML_MEDIA_SET_GENRE_THUMBNAIL 2021-11-06 16:52:39 +00:00
Prince Gupta 329758a9ec medialibrary: add thumbnail to vlc_ml_genre_t 2021-11-06 16:52:39 +00:00
Hugo Beauzée-Luyssen 5e40633713 medialibrary: Update to recent API changes 2021-09-10 08:49:48 +00:00
Benjamin Arnaud 9e43f884cb medialibrary: Add nb_media and nb_present_media for playlists 2021-05-20 11:15:31 +00:00
Alaric Senat b82eb43c7b medialibrary: add folder listing
This adds new functions to list and access the medialibrary folder
interface.
2021-05-02 12:26:03 +00:00
Alaric Senat e4ac8d8f08 medialibrary: move entry point listing calls to list
As theses ml calls actually simply list folders, moving them to the
"VLC_ML_LIST" interface makes more sense.
2021-05-02 12:26:03 +00:00
Alaric Senat eab292c465 medialibrary: unify enum documentation indent 2021-05-02 12:26:03 +00:00
Alaric Senat f897f6b89f medialibrary: use a va_arg bool to list banned entry points 2021-05-02 12:26:03 +00:00
Alaric Senat cc15256b7b medialibrary: rename now confusing enum values
Now that the `vlc_ml_folder_list_t` replaced `vlc_ml_entry_point_list_t`
the VLC_ML_LIST_FOLDER enum value is a bit confusing and is renamed
VLC_ML_LIST_ENTRY_POINTS to better reflect its functionnality.
2021-05-02 12:26:03 +00:00
Alaric Senat cecd6d016a medialibrary: expose folder id field to vlc_ml_folder 2021-05-02 12:26:03 +00:00
Alaric Senat 4cf84822f3 medialibrary: add a vlc_ml_folder release function 2021-05-02 12:26:03 +00:00
Alaric Senat 3cb3b1f647 medialibrary: rename vlc_ml_entry_point_t to vlc_ml_folder_t
This better reflects the medialibrary internals while also allowing more
flexible medialibrary folder listing as vlc_ml_folder_t is now available
through a more generic name.
2021-05-02 12:26:03 +00:00