mirror of
https://github.com/clangen/musikcube.git
synced 2024-10-02 13:02:35 +00:00
A bunch more function definitions -- maybe enough to get IMetadataProxy operational?
This commit is contained in:
parent
f8d332d42b
commit
3a42a17abd
@ -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
|
Loading…
Reference in New Issue
Block a user