libmusicbrainz3
3.0.2
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
mb_c.h
Go to the documentation of this file.
1
/*
2
* MusicBrainz -- The Internet music metadatabase
3
*
4
* Copyright (C) 2006 Lukas Lalinsky
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Lesser General Public
8
* License as published by the Free Software Foundation; either
9
* version 2.1 of the License, or (at your option) any later version.
10
*
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Lesser General Public License for more details.
15
*
16
* You should have received a copy of the GNU Lesser General Public
17
* License along with this library; if not, write to the Free Software
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
*
20
* $Id: mb_c.h 9932 2008-07-02 06:48:17Z luks $
21
*/
22
23
#ifndef __MUSICBRAINZ3_MB_C_H__
24
#define __MUSICBRAINZ3_MB_C_H__
25
26
#ifdef __cplusplus
27
extern
"C"
{
28
#endif
29
30
#include <
musicbrainz3/defines.h
>
31
32
/* {{{ Typedefs */
33
34
typedef
void
*
MbArtist
;
35
typedef
void
*
MbArtistAlias
;
36
typedef
void
*
MbArtistFilter
;
37
typedef
void
*
MbArtistIncludes
;
38
typedef
void
*
MbDisc
;
39
typedef
void
*
MbEntity
;
40
typedef
void
*
MbQuery
;
41
typedef
void
*
MbRelation
;
42
typedef
void
*
MbRelease
;
43
typedef
void
*
MbReleaseEvent
;
44
typedef
void
*
MbReleaseFilter
;
45
typedef
void
*
MbReleaseIncludes
;
46
typedef
void
*
MbResultList
;
47
typedef
void
*
MbTrack
;
48
typedef
void
*
MbTrackFilter
;
49
typedef
void
*
MbTrackIncludes
;
50
typedef
void
*
MbUser
;
51
typedef
void
*
MbUserFilter
;
52
typedef
void
*
MbWebService
;
53
54
/* }}} */
55
56
/* {{{ MusicBrainz::WebService */
57
63
MB_API
MbWebService
64
mb_webservice_new
();
65
71
MB_API
void
72
mb_webservice_free
(MbWebService webservice);
73
77
MB_API
void
78
mb_webservice_set_host
(MbWebService webservice,
const
char
*str);
79
83
MB_API
void
84
mb_webservice_set_port
(MbWebService webservice,
int
port);
85
89
MB_API
void
90
mb_webservice_set_path_prefix
(MbWebService webservice,
const
char
*str);
91
95
MB_API
void
96
mb_webservice_set_username
(MbWebService webservice,
const
char
*str);
97
101
MB_API
void
102
mb_webservice_set_password
(MbWebService webservice,
const
char
*str);
103
107
MB_API
void
108
mb_webservice_set_realm
(MbWebService webservice,
const
char
*str);
109
113
MB_API
void
114
mb_webservice_set_proxy_host
(MbWebService webservice,
const
char
*str);
115
119
MB_API
void
120
mb_webservice_set_proxy_port
(MbWebService webservice,
int
port);
121
125
MB_API
void
126
mb_webservice_set_proxy_username
(MbWebService webservice,
const
char
*str);
127
131
MB_API
void
132
mb_webservice_set_proxy_password
(MbWebService webservice,
const
char
*str);
133
134
/* }}} */
135
136
/* {{{ MusicBrainz::Query */
137
143
MB_API
MbQuery
144
mb_query_new
(MbWebService ws,
const
char
*client_id);
145
151
MB_API
void
152
mb_query_free
(MbQuery query);
153
159
MB_API
MbArtist
160
mb_query_get_artist_by_id
(MbQuery query,
const
char
*
id
, MbArtistIncludes inc);
161
167
MB_API
MbRelease
168
mb_query_get_release_by_id
(MbQuery query,
const
char
*
id
, MbReleaseIncludes inc);
169
175
MB_API
MbTrack
176
mb_query_get_track_by_id
(MbQuery query,
const
char
*
id
, MbTrackIncludes inc);
177
183
MB_API
MbUser
184
mb_query_get_user_by_name
(MbQuery query,
const
char
*name);
185
186
/* }}} */
187
188
MB_API
void
189
mb_result_list_free
(MbResultList list);
190
191
MB_API
int
192
mb_result_list_get_size
(MbResultList list);
193
194
MB_API
int
195
mb_result_list_get_score
(MbResultList list,
int
index);
196
197
MB_API
MbArtist
198
mb_result_list_get_artist
(MbResultList list,
int
index);
199
200
MB_API
MbRelease
201
mb_result_list_get_release
(MbResultList list,
int
index);
202
203
MB_API
MbTrack
204
mb_result_list_get_track
(MbResultList list,
int
index);
205
206
MB_API
MbResultList
207
mb_query_get_artists
(MbQuery query, MbArtistFilter flt);
208
209
MB_API
MbResultList
210
mb_query_get_releases
(MbQuery query, MbReleaseFilter flt);
211
212
MB_API
MbResultList
213
mb_query_get_tracks
(MbQuery query, MbTrackFilter flt);
214
215
/* {{{ MusicBrainz::Artist */
216
220
MB_API
void
221
mb_artist_free
(MbArtist artist);
222
228
MB_API
void
229
mb_artist_get_id
(MbArtist artist,
char
*str,
int
len);
230
236
MB_API
void
237
mb_artist_get_type
(MbArtist artist,
char
*str,
int
len);
238
244
MB_API
void
245
mb_artist_get_name
(MbArtist artist,
char
*str,
int
len);
246
252
MB_API
void
253
mb_artist_get_sortname
(MbArtist artist,
char
*str,
int
len);
254
260
MB_API
void
261
mb_artist_get_disambiguation
(MbArtist artist,
char
*str,
int
len);
262
268
MB_API
void
269
mb_artist_get_unique_name
(MbArtist artist,
char
*str,
int
len);
270
276
MB_API
void
277
mb_artist_get_begin_date
(MbArtist artist,
char
*str,
int
len);
278
284
MB_API
void
285
mb_artist_get_end_date
(MbArtist artist,
char
*str,
int
len);
286
292
MB_API
int
293
mb_artist_get_num_aliases
(MbArtist artist);
294
300
MB_API
MbArtistAlias
301
mb_artist_get_alias
(MbArtist artist,
int
index);
302
308
MB_API
int
309
mb_artist_get_num_releases
(MbArtist artist);
310
316
MB_API
MbRelease
317
mb_artist_get_release
(MbArtist artist,
int
index);
318
324
MB_API
int
325
mb_artist_get_releases_offset
(MbArtist artist);
326
332
MB_API
int
333
mb_artist_get_releases_count
(MbArtist artist);
334
340
MB_API
int
341
mb_artist_get_num_relations
(MbArtist artist);
342
348
MB_API
MbRelation
349
mb_artist_get_relation
(MbArtist artist,
int
index);
350
351
/* }}} */
352
353
/* {{{ MusicBrainz::Release */
354
358
MB_API
void
359
mb_release_free
(MbRelease release);
360
366
MB_API
void
367
mb_release_get_id
(MbRelease release,
char
*str,
int
len);
368
374
MB_API
void
375
mb_release_get_title
(MbRelease release,
char
*str,
int
len);
376
382
MB_API
void
383
mb_release_get_text_language
(MbRelease release,
char
*str,
int
len);
384
390
MB_API
void
391
mb_release_get_text_script
(MbRelease release,
char
*str,
int
len);
392
398
MB_API
void
399
mb_release_get_asin
(MbRelease release,
char
*str,
int
len);
400
406
MB_API
MbArtist
407
mb_release_get_artist
(MbRelease release);
408
414
MB_API
int
415
mb_release_get_tracks_offset
(MbRelease release);
416
422
MB_API
int
423
mb_release_get_tracks_count
(MbRelease release);
424
430
MB_API
int
431
mb_release_get_num_relations
(MbRelease release);
432
438
MB_API
MbRelation
439
mb_release_get_relation
(MbRelease release,
int
index);
440
446
MB_API
int
447
mb_release_get_num_tracks
(MbRelease release);
448
454
MB_API
MbTrack
455
mb_release_get_track
(MbRelease release,
int
index);
456
462
MB_API
int
463
mb_release_get_num_discs
(MbRelease release);
464
470
MB_API
MbDisc
471
mb_release_get_disc
(MbRelease release,
int
index);
472
478
MB_API
int
479
mb_release_get_num_release_events
(MbRelease release);
480
486
MB_API
MbReleaseEvent
487
mb_release_get_release_event
(MbRelease release,
int
index);
488
494
MB_API
int
495
mb_release_get_num_types
(MbRelease release);
496
502
MB_API
void
503
mb_release_get_type
(MbRelease release,
int
index,
char
*str,
int
len);
504
505
/* }}} */
506
507
/* {{{ MusicBrainz::Track */
508
512
MB_API
void
513
mb_track_free
(MbTrack track);
514
520
MB_API
void
521
mb_track_get_id
(MbTrack track,
char
*str,
int
len);
522
528
MB_API
void
529
mb_track_get_title
(MbTrack track,
char
*str,
int
len);
530
536
MB_API
int
537
mb_track_get_duration
(MbTrack track);
538
544
MB_API
int
545
mb_track_get_num_relations
(MbTrack track);
546
552
MB_API
MbRelation
553
mb_track_get_relation
(MbTrack track,
int
index);
554
560
MB_API
MbArtist
561
mb_track_get_artist
(MbTrack track);
562
563
/* }}} */
564
565
/* {{{ MusicBrainz::ArtistAlias */
566
572
MB_API
void
573
mb_artist_alias_get_value
(MbArtistAlias alias,
char
*str,
int
len);
574
580
MB_API
void
581
mb_artist_alias_get_type
(MbArtistAlias alias,
char
*str,
int
len);
582
588
MB_API
void
589
mb_artist_alias_get_script
(MbArtistAlias alias,
char
*str,
int
len);
590
591
/* }}} */
592
593
/* {{{ MusicBrainz::User */
594
598
MB_API
void
599
mb_user_free
(MbUser user);
600
606
MB_API
void
607
mb_user_get_name
(MbUser user,
char
*str,
int
len);
608
614
MB_API
int
615
mb_user_get_show_nag
(MbUser user);
616
622
MB_API
int
623
mb_user_get_num_types
(MbUser user);
624
630
MB_API
void
631
mb_user_get_type
(MbUser user,
int
index,
char
*str,
int
len);
632
633
/* }}} */
634
635
/* {{{ MusicBrainz::ArtistIncludes */
636
637
MB_API
MbArtistIncludes
638
mb_artist_includes_new
();
639
640
MB_API
void
641
mb_artist_includes_free
(MbArtistIncludes inc);
642
643
MB_API
MbArtistIncludes
644
mb_artist_includes_aliases
(MbArtistIncludes inc);
645
646
MB_API
MbArtistIncludes
647
mb_artist_includes_releases
(MbArtistIncludes inc,
const
char
*type);
648
649
MB_API
MbArtistIncludes
650
mb_artist_includes_va_releases
(MbArtistIncludes inc,
const
char
*type);
651
652
MB_API
MbArtistIncludes
653
mb_artist_includes_artist_relations
(MbArtistIncludes inc);
654
655
MB_API
MbArtistIncludes
656
mb_artist_includes_release_relations
(MbArtistIncludes inc);
657
658
MB_API
MbArtistIncludes
659
mb_artist_includes_track_relations
(MbArtistIncludes inc);
660
661
MB_API
MbArtistIncludes
662
mb_artist_includes_url_relations
(MbArtistIncludes inc);
663
664
MB_API
MbArtistIncludes
665
mb_artist_includes_release_events
(MbArtistIncludes inc);
666
667
/* }}} */
668
669
/* {{{ MusicBrainz::ReleaseIncludes */
670
671
MB_API
MbReleaseIncludes
672
mb_release_includes_new
();
673
674
MB_API
void
675
mb_release_includes_free
(MbReleaseIncludes inc);
676
677
MB_API
MbReleaseIncludes
678
mb_release_includes_artist
(MbReleaseIncludes inc);
679
680
MB_API
MbReleaseIncludes
681
mb_release_includes_counts
(MbReleaseIncludes inc);
682
683
MB_API
MbReleaseIncludes
684
mb_release_includes_release_events
(MbReleaseIncludes inc);
685
686
MB_API
MbReleaseIncludes
687
mb_release_includes_discs
(MbReleaseIncludes inc);
688
689
MB_API
MbReleaseIncludes
690
mb_release_includes_tracks
(MbReleaseIncludes inc);
691
692
MB_API
MbReleaseIncludes
693
mb_release_includes_artist_relations
(MbReleaseIncludes inc);
694
695
MB_API
MbReleaseIncludes
696
mb_release_includes_release_relations
(MbReleaseIncludes inc);
697
698
MB_API
MbReleaseIncludes
699
mb_release_includes_track_relations
(MbReleaseIncludes inc);
700
701
MB_API
MbReleaseIncludes
702
mb_release_includes_url_relations
(MbReleaseIncludes inc);
703
704
/* }}} */
705
706
/* {{{ MusicBrainz::TrackIncludes */
707
708
MB_API
MbTrackIncludes
709
mb_track_includes_new
();
710
711
MB_API
void
712
mb_track_includes_free
(MbArtistIncludes inc);
713
714
MB_API
MbTrackIncludes
715
mb_track_includes_artist
(MbArtistIncludes inc);
716
717
MB_API
MbTrackIncludes
718
mb_track_includes_releases
(MbArtistIncludes inc);
719
720
MB_API
MbTrackIncludes
721
mb_track_includes_puids
(MbArtistIncludes inc);
722
723
MB_API
MbTrackIncludes
724
mb_track_includes_artist_relations
(MbArtistIncludes inc);
725
726
MB_API
MbTrackIncludes
727
mb_track_includes_release_relations
(MbTrackIncludes inc);
728
729
MB_API
MbTrackIncludes
730
mb_track_includes_track_relations
(MbTrackIncludes inc);
731
732
MB_API
MbTrackIncludes
733
mb_track_includes_url_relations
(MbTrackIncludes inc);
734
735
/* }}} */
736
737
/* {{{ MusicBrainz::MbArtistFilter */
738
739
MB_API
MbArtistFilter
740
mb_artist_filter_new
();
741
742
MB_API
void
743
mb_artist_filter_free
(MbArtistFilter flt);
744
745
MB_API
MbArtistFilter
746
mb_artist_filter_name
(MbArtistFilter flt,
const
char
*value);
747
748
MB_API
MbArtistFilter
749
mb_artist_filter_limit
(MbArtistFilter flt,
int
value);
750
751
/* }}} */
752
753
/* {{{ MusicBrainz::MbReleaseFilter */
754
755
MB_API
MbReleaseFilter
756
mb_release_filter_new
();
757
758
MB_API
void
759
mb_release_filter_free
(MbReleaseFilter flt);
760
761
MB_API
MbReleaseFilter
762
mb_release_filter_title
(MbReleaseFilter flt,
const
char
*value);
763
764
MB_API
MbReleaseFilter
765
mb_release_filter_disc_id
(MbReleaseFilter flt,
const
char
*value);
766
767
MB_API
MbReleaseFilter
768
mb_release_filter_release_type
(MbReleaseFilter flt,
const
char
*value);
769
770
MB_API
MbReleaseFilter
771
mb_release_filter_artist_name
(MbReleaseFilter flt,
const
char
*value);
772
773
MB_API
MbReleaseFilter
774
mb_release_filter_artist_id
(MbReleaseFilter flt,
const
char
*value);
775
776
MB_API
MbReleaseFilter
777
mb_release_filter_limit
(MbReleaseFilter flt,
int
value);
778
779
/* }}} */
780
781
/* {{{ MusicBrainz::MbTrackFilter */
782
783
MB_API
MbTrackFilter
784
mb_track_filter_new
();
785
786
MB_API
void
787
mb_track_filter_free
(MbTrackFilter flt);
788
789
MB_API
MbTrackFilter
790
mb_track_filter_title
(MbTrackFilter flt,
const
char
*value);
791
792
MB_API
MbTrackFilter
793
mb_track_filter_artist_name
(MbTrackFilter flt,
const
char
*value);
794
795
MB_API
MbTrackFilter
796
mb_track_filter_artist_id
(MbTrackFilter flt,
const
char
*value);
797
798
MB_API
MbTrackFilter
799
mb_track_filter_release_title
(MbTrackFilter flt,
const
char
*value);
800
801
MB_API
MbTrackFilter
802
mb_track_filter_release_id
(MbTrackFilter flt,
const
char
*value);
803
804
MB_API
MbTrackFilter
805
mb_track_filter_duration
(MbTrackFilter flt,
int
value);
806
807
MB_API
MbTrackFilter
808
mb_track_filter_puid
(MbTrackFilter flt,
const
char
*value);
809
810
MB_API
MbTrackFilter
811
mb_track_filter_limit
(MbTrackFilter flt,
int
value);
812
813
/* }}} */
814
815
/* {{{ MusicBrainz::MbUserFilter */
816
817
MB_API
MbUserFilter
818
mb_user_filter_new
();
819
820
MB_API
void
821
mb_user_filter_free
(MbUserFilter flt);
822
823
MB_API
MbUserFilter
824
mb_user_filter_name
(MbUserFilter flt,
const
char
*value);
825
826
/* }}} */
827
828
/* {{{ MusicBrainz::ArtistAlias */
829
835
MB_API
void
836
mb_release_event_get_country
(MbReleaseEvent releaseEvent,
char
*str,
int
len);
837
843
MB_API
void
844
mb_release_event_get_date
(MbReleaseEvent releaseEvent,
char
*str,
int
len);
845
846
/* }}} */
847
848
/* {{{ MusicBrainz::Relation */
849
855
MB_API
void
856
mb_relation_get_type
(MbRelation relation,
char
*str,
int
len);
857
863
MB_API
void
864
mb_relation_get_target_id
(MbRelation relation,
char
*str,
int
len);
865
871
MB_API
void
872
mb_relation_get_target_type
(MbRelation relation,
char
*str,
int
len);
873
879
MB_API
void
880
mb_relation_get_begin_date
(MbRelation relation,
char
*str,
int
len);
881
887
MB_API
void
888
mb_relation_get_end_date
(MbRelation relation,
char
*str,
int
len);
889
895
MB_API
int
896
mb_relation_get_direction
(MbRelation relation);
897
903
MB_API
MbEntity
904
mb_relation_get_target
(MbRelation relation);
905
911
MB_API
int
912
mb_relation_get_num_attributes
(MbRelation relation);
913
919
MB_API
void
920
mb_relation_get_attribute
(MbRelation relation,
int
index,
char
*str,
int
len);
921
922
/* }}} */
923
924
/* {{{ MusicBrainz::Disc */
925
931
MB_API
void
932
mb_disc_get_id
(MbDisc disc,
char
*str,
int
len);
933
939
MB_API
int
940
mb_disc_get_sectors
(MbDisc disc);
941
947
MB_API
int
948
mb_disc_get_first_track_num
(MbDisc disc);
949
955
MB_API
int
956
mb_disc_get_last_track_num
(MbDisc disc);
957
963
MB_API
MbDisc
964
mb_read_disc
(
const
char
*device_name);
965
971
MB_API
void
972
mb_get_submission_url
(MbDisc disc,
const
char
*host,
int
port,
char
*str,
int
len);
973
974
/* }}} */
975
976
#ifdef __cplusplus
977
}
978
#endif
979
980
#endif
include
musicbrainz3
mb_c.h
Generated on Wed Oct 16 2013 03:25:50 for libmusicbrainz3 by
1.8.4