A bunch more function definitions -- maybe enough to get IMetadataProxy operational?

This commit is contained in:
casey langen 2020-01-25 22:41:27 -08:00
parent f8d332d42b
commit 3a42a17abd

View File

@ -129,6 +129,9 @@ static const size_t mcsdk_equalizer_bands[] = {
2093, 2960, 4186, 5920, 8372, 11840, 16744, 22000 2093, 2960, 4186, 5920, 8372, 11840, 16744, 22000
}; };
static const int mcsdk_no_offset = -1;
static const int mcsdk_no_limit = -1;
static const char* mcsdk_category_type_album = "album"; static const char* mcsdk_category_type_album = "album";
static const char* mcsdk_category_type_artist = "artist"; static const char* mcsdk_category_type_artist = "artist";
static const char* mcsdk_category_type_album_artist = "album_artist"; static const char* mcsdk_category_type_album_artist = "album_artist";
@ -166,8 +169,13 @@ static const char* mcsdk_track_field_external_id = "external_id";
typedef void* mcsdk_handle; typedef void* mcsdk_handle;
typedef mcsdk_handle mcsdk_resource; typedef mcsdk_handle mcsdk_resource;
typedef mcsdk_handle mcsdk_value; typedef mcsdk_handle mcsdk_value;
typedef mcsdk_handle mcsdk_value_list;
typedef mcsdk_handle mcsdk_map; typedef mcsdk_handle mcsdk_map;
typedef mcsdk_handle mcsdk_track; typedef mcsdk_handle mcsdk_track;
typedef mcsdk_handle mcsdk_map_list;
typedef mcsdk_handle mcsdk_track_list;
typedef mcsdk_handle mcsdk_track_list_editor;
typedef mcsdk_handle mcsdk_metadata_proxy;
/* /*
* *
@ -187,6 +195,17 @@ extern const char* mcsdk_resource_release(mcsdk_resource r);
*/ */
extern size_t mcsdk_value_get_value(mcsdk_value v, char* dst, size_t size); extern size_t mcsdk_value_get_value(mcsdk_value v, char* dst, size_t size);
extern size_t mcsdk_value_release(mcsdk_value v);
/*
*
* IValueList
*
*/
extern size_t mcsdk_value_list_count(mcsdk_value_list vl);
extern mcsdk_value mcsdk_value_list_get_at(mcsdk_value_list vl, size_t index);
extern void mcsdk_value_list_release(mcsdk_value_list vl);
/* /*
* *
@ -195,17 +214,85 @@ extern size_t mcsdk_value_get_value(mcsdk_value v, char* dst, size_t size);
*/ */
extern int mcsdk_map_get_string(mcsdk_map m, const char* key, char* dst, int size); extern int mcsdk_map_get_string(mcsdk_map m, const char* key, char* dst, int size);
extern int64_t mcsdk_map_get_int64(mcsdk_map m, const char* key, int64_t default_value = 0); extern int64_t mcsdk_map_get_int64(mcsdk_map m, const char* key, int64_t default_value);
extern int32_t mcsdk_map_get_int32(mcsdk_map m, const char* key, int32_t default_value = 0); extern int32_t mcsdk_map_get_int32(mcsdk_map m, const char* key, int32_t default_value);
extern double mcsdk_map_get_double(mcsdk_map m, const char* key, double default_value = 0.0f); extern double mcsdk_map_get_double(mcsdk_map m, const char* key, double default_value);
extern double mcsdk_map_release(mcsdk_map m);
/* /*
* *
* ITrack * IMapList
*
*/
extern void mcsdk_map_list_get_count(mcsdk_map_list ml);
extern mcsdk_map_list mcsdk_map_list_get_at(mcsdk_map_list ml, size_t index);
extern void mcsdk_map_list_release(mcsdk_map_list t);
/*
*
* mcsdk_track
* *
*/ */
extern void mcsdk_track_retain(mcsdk_track t); extern void mcsdk_track_retain(mcsdk_track t);
extern int mcsdk_track_get_uri(mcsdk_track t, char* dst, int size); extern int mcsdk_track_get_uri(mcsdk_track t, char* dst, int size);
extern void mcsdk_track_release(mcsdk_track t);
/*
*
* mcsdk_track_list
*
*/
extern void mcsdk_track_list_get_count(mcsdk_track_list tl);
extern int64_t mcsdk_track_list_get_id(mcsdk_map_list ml, size_t index);
extern int64_t mcsdk_track_list_index_of(mcsdk_map_list ml, int64_t id);
extern int64_t mcsdk_track_list_get_track_at(mcsdk_map_list ml, size_t index);
extern void mcsdk_track_list_release(mcsdk_map_list ml);
/*
*
* mcsdk_track_listEditor
*
*/
extern bool mcsdk_track_list_editor_insert(mcsdk_track_list_editor tle, int64_t id, size_t index);
extern bool mcsdk_track_list_editor_swap(mcsdk_track_list_editor tle, size_t index1, size_t index2);
extern bool mcsdk_track_list_editor_move(mcsdk_track_list_editor tle, size_t from, size_t to);
extern bool mcsdk_track_list_editor_delete(mcsdk_track_list_editor tle, size_t index);
extern void mcsdk_track_list_editor_add(mcsdk_track_list_editor tle, const int64_t id);
extern void mcsdk_track_list_editor_clear(mcsdk_track_list_editor tle);
extern void mcsdk_track_list_editor_shuffle(mcsdk_track_list_editor tle);
extern void mcsdk_track_list_editor_release(mcsdk_track_list_editor tle);
/*
*
* IMetadataProxy
*
*/
extern mcsdk_track_list mcsdk_metadata_proxy_query_tracks(mcsdk_metadata_proxy mp, const char* query = nullptr, int limit = -1, int offset = 0);
extern mcsdk_track_list mcsdk_metadata_proxy_query_track_by_id(mcsdk_metadata_proxy mp, int64_t track_id);
extern mcsdk_track_list mcsdk_metadata_proxy_query_track_by_external_id(mcsdk_metadata_proxy mp, const char* external_id);
extern mcsdk_track_list mcsdk_metadata_proxy_query_tracks_by_category(mcsdk_metadata_proxy mp, const char* category_type, int64_t selected_id, const char* filter, int limit, int offset);
extern mcsdk_track_list mcsdk_metadata_proxy_query_tracks_by_categories(mcsdk_metadata_proxy mp, mcsdk_value* categories, size_t category_count, const char* filter, int limit, int offset);
extern mcsdk_track_list mcsdk_metadata_proxy_query_tracks_by_external_id(mcsdk_metadata_proxy mp, const char** external_ids, size_t external_id_count);
extern mcsdk_value_list mcsdk_metadata_proxy_list_categories(mcsdk_metadata_proxy mp);
extern mcsdk_value_list mcsdk_metadata_proxy_query_category(mcsdk_metadata_proxy mp, const char* type, const char* filter);
extern mcsdk_value_list mcsdk_metadata_proxy_query_category_with_predicate(mcsdk_metadata_proxy mp, const char* type, const char* predicate_type, int64_t predicate_id, const char* filter);
extern mcsdk_value_list mcsdk_metadata_proxy_query_category_with_predicates(mcsdk_metadata_proxy mp, const char* type, mcsdk_value* predicates, size_t predicate_count, const char* filter);
extern mcsdk_map_list mcsdk_metadata_proxy_query_albums(mcsdk_metadata_proxy mp, const char* filter);
extern mcsdk_map_list mcsdk_metadata_proxy_query_albums(mcsdk_metadata_proxy mp, const char* category_id_name, int64_t category_id_value, const char* filter);
extern int64_t mcsdk_metadata_proxy_save_playlist_with_ids(mcsdk_metadata_proxy mp, int64_t* track_ids, size_t track_id_count, const char* playlist_name, const int64_t playlist_id);
extern int64_t mcsdk_metadata_proxy_save_playlist_with_external_ids(mcsdk_metadata_proxy mp, const char** external_ids, size_t external_id_count, const char* playlist_name, const int64_t playlist_id);
extern int64_t mcsdk_metadata_proxy_save_playlist_with_track_list(mcsdk_metadata_proxy mp, mcsdk_track_list track_list, const char* playlist_name, const int64_t playlist_id);
extern bool mcsdk_metadata_proxy_rename_playlist(mcsdk_metadata_proxy mp, const int64_t playlist_id, const char* playlist_name);
extern bool mcsdk_metadata_proxy_delete_playlist(mcsdk_metadata_proxy mp, const int64_t playlist_id);
extern bool mcsdk_metadata_proxy_append_to_playlist_with_ids(mcsdk_metadata_proxy mp, const int64_t playlist_id, const int64_t* track_ids, size_t track_id_count, int offset);
extern bool mcsdk_metadata_proxy_append_to_playlist_with_external_ids(mcsdk_metadata_proxy mp, const int64_t playlist_id, const char** external_track_ids, size_t external_track_id_count, int offset);
extern bool mcsdk_metadata_proxy_append_to_playlist_with_track_list(mcsdk_metadata_proxy mp, const int64_t playlist_id, mcsdk_track_list track_list, int offset);
extern size_t mcsdk_metadata_proxy_remove_tracks_from_playlist(mcsdk_metadata_proxy mp, const int64_t playlist_id, const char** external_ids, const int* sort_orders, int count);
extern void mcsdk_metadata_proxy_release(mcsdk_metadata_proxy mp);
#endif #endif