29
29
#ifndef LIBMTP_H_INCLUSION_GUARD
30
30
#define LIBMTP_H_INCLUSION_GUARD
32
#define LIBMTP_VERSION 0.3.0
33
#define LIBMTP_VERSION_STRING "0.3.0"
32
#define LIBMTP_VERSION 0.3.7
33
#define LIBMTP_VERSION_STRING "0.3.7"
35
35
/* This handles MSVC pecularities */
111
109
} LIBMTP_filetype_t;
114
* Helpful macros to determine filetype properties
112
* \def LIBMTP_FILETYPE_IS_AUDIO
113
* Audio filetype test.
115
* For filetypes that can be either audio
116
* or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO
116
118
#define LIBMTP_FILETYPE_IS_AUDIO(a)\
117
119
(a == LIBMTP_FILETYPE_WAV ||\
123
125
a == LIBMTP_FILETYPE_AAC ||\
124
126
a == LIBMTP_FILETYPE_M4A ||\
125
127
a == LIBMTP_FILETYPE_UNDEF_AUDIO)
130
* \def LIBMTP_FILETYPE_IS_VIDEO
131
* Video filetype test.
133
* For filetypes that can be either audio
134
* or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO
126
136
#define LIBMTP_FILETYPE_IS_VIDEO(a)\
127
137
(a == LIBMTP_FILETYPE_WMV ||\
128
138
a == LIBMTP_FILETYPE_AVI ||\
129
139
a == LIBMTP_FILETYPE_MPEG ||\
130
140
a == LIBMTP_FILETYPE_UNDEF_VIDEO)
143
* \def LIBMTP_FILETYPE_IS_AUDIOVIDEO
144
* Audio and&slash;or video filetype test.
131
146
#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
132
147
(a == LIBMTP_FILETYPE_MP4 ||\
133
148
a == LIBMTP_FILETYPE_ASF ||\
134
149
a == LIBMTP_FILETYPE_QT)
152
* \def LIBMTP_FILETYPE_IS_TRACK
153
* Test if filetype is a track.
154
* Use this to determine if the File API or Track API
155
* should be used to upload or download an object.
135
157
#define LIBMTP_FILETYPE_IS_TRACK(a)\
136
158
(LIBMTP_FILETYPE_IS_AUDIO(a) ||\
137
159
LIBMTP_FILETYPE_IS_VIDEO(a) ||\
138
160
LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
163
* \def LIBMTP_FILETYPE_IS_IMAGE
164
* Image filetype test
166
#define LIBMTP_FILETYPE_IS_IMAGE(a)\
167
(a == LIBMTP_FILETYPE_JPEG ||\
168
a == LIBMTP_FILETYPE_JFIF ||\
169
a == LIBMTP_FILETYPE_TIFF ||\
170
a == LIBMTP_FILETYPE_BMP ||\
171
a == LIBMTP_FILETYPE_GIF ||\
172
a == LIBMTP_FILETYPE_PICT ||\
173
a == LIBMTP_FILETYPE_PNG ||\
174
a == LIBMTP_FILETYPE_JP2 ||\
175
a == LIBMTP_FILETYPE_JPX ||\
176
a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
179
* \def LIBMTP_FILETYPE_IS_ADDRESSBOOK
180
* Addressbook and Business card filetype test
182
#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
183
(a == LIBMTP_FILETYPE_VCARD2 ||\
184
a == LIBMTP_FILETYPE_VCARD2)
187
* \def LIBMTP_FILETYPE_IS_CALENDAR
188
* Calendar and Appointment filetype test
190
#define LIBMTP_FILETYPE_IS_CALENDAR(a)\
191
(a == LIBMTP_FILETYPE_VCALENDAR1 ||\
192
a == LIBMTP_FILETYPE_VCALENDAR2)
141
195
* These are the numbered error codes. You can also
142
196
* get string representations for errors.
458
512
int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const,
459
513
LIBMTP_file_t * const, LIBMTP_progressfunc_t const,
460
514
void const * const);
515
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *);
461
516
LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
462
517
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
463
518
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
506
562
LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
507
563
LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
508
564
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
565
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
519
576
LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *);
520
577
LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const);
521
578
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
522
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t const * const);
579
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
580
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *);
532
590
LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
533
591
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
534
592
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
593
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);