return METADATA_EDITOR_ERROR_NONE;
}
-#if 0
static int __xiph_getFieldValue(Ogg::XiphComment *xtag, const char *fieldname, char **value)
{
metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
return METADATA_EDITOR_ERROR_NONE;
}
-#endif
+
static int __metadata_editor_get_file_ext(const char *file_path, char *file_ext, int max_len)
{
int i = 0;
return METADATA_EDITOR_FORMAT_MP3;
else if (strcasecmp(ext, "MP4") == 0)
return METADATA_EDITOR_FORMAT_MP4;
+ else if (strcasecmp(ext, "FLAC") == 0)
+ return METADATA_EDITOR_FORMAT_FLAC;
else if (strcasecmp(ext, "WAV") == 0)
return METADATA_EDITOR_FORMAT_WAV;
else
return METADATA_EDITOR_FORMAT_MP3;
else if (strstr(mimetype, "mp4") != NULL)
return METADATA_EDITOR_FORMAT_MP4;
+ else if (g_strcmp0(mimetype, "audio/flac") == 0)
+ return METADATA_EDITOR_FORMAT_FLAC;
else if (strstr(mimetype, "wav") != NULL)
return METADATA_EDITOR_FORMAT_WAV;
_file = new MP4::File(path);
break;
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
_file = new FLAC::File(path);
break;
+#if 0
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
_file = new Ogg::Vorbis::File(path);
break;
}
}
-#if 0
static int __metadata_editor_get_flac_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
{
int ret = METADATA_EDITOR_ERROR_NONE;
auto xtag = _file->xiphComment(false);
- switch (attribute) { // Check which one of frame types was given to the function for processing
+ switch (attribute) {
case METADATA_EDITOR_ATTR_ARTIST: return __xiph_getFieldValue(xtag, "ARTIST", value);
case METADATA_EDITOR_ATTR_TITLE: return __xiph_getFieldValue(xtag, "TITLE", value);
case METADATA_EDITOR_ATTR_ALBUM: return __xiph_getFieldValue(xtag, "ALBUM", value);
}
}
+#if 0
static int __metadata_editor_get_ogg_vorbis_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, char **value)
{
int ret = METADATA_EDITOR_ERROR_NONE;
case METADATA_EDITOR_FORMAT_MP4:
return __metadata_editor_get_mp4_metadata(_metadata, attribute, value);
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __metadata_editor_get_flac_metadata(_metadata, attribute, value);
-
+#if 0
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
return __metadata_editor_get_ogg_vorbis_metadata(_metadata, attribute, value);
ret = __check_metadata_set_parameter(metadata);
metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "fail to __check_metadata_set_parameter() [%d]", ret);
- switch (attribute) { // Check which one of frame type was given for processing
+ switch (attribute) {
case METADATA_EDITOR_ATTR_ARTIST: return __MP4_updateStringItem(dynamic_cast<MP4::Tag*>(metadata->file->tag()), "\xA9""ART", value);
case METADATA_EDITOR_ATTR_TITLE: return __MP4_updateStringItem(dynamic_cast<MP4::Tag*>(metadata->file->tag()), "\xA9""nam", value);
case METADATA_EDITOR_ATTR_ALBUM: return __MP4_updateStringItem(dynamic_cast<MP4::Tag*>(metadata->file->tag()), "\xA9""alb", value);
}
}
-#if 0
static int __metadata_editor_set_flac_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
{
int ret = METADATA_EDITOR_ERROR_NONE;
metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
auto xtag = _file->xiphComment(true);
- if (!xtag) { // Check if we have a valid tag for processing
- metadata_editor_error("Error. Xiph Comment was not created. Can not proceed metadata updating");
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
- switch (attribute) { // Check which one of frame type was given for processing
+ metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to create Xiph Comment. Can not proceed metadata updating");
+
+ switch (attribute) {
case METADATA_EDITOR_ATTR_ARTIST: return __xiph_updateFieldValue(xtag, "ARTIST", value);
case METADATA_EDITOR_ATTR_TITLE: return __xiph_updateFieldValue(xtag, "TITLE", value);
case METADATA_EDITOR_ATTR_ALBUM: return __xiph_updateFieldValue(xtag, "ALBUM", value);
}
}
+#if 0
static int __metadata_editor_set_ogg_vorbis_metadata(metadata_editor_s *metadata, metadata_editor_attr_e attribute, const char *value)
{
int ret = METADATA_EDITOR_ERROR_NONE;
case METADATA_EDITOR_FORMAT_MP4:
return __metadata_editor_set_mp4_metadata(_metadata, attribute, value);
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __metadata_editor_set_flac_metadata(_metadata, attribute, value);
-
+#if 0
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
return __metadata_editor_set_ogg_vorbis_metadata(_metadata, attribute, value);
}
case METADATA_EDITOR_FORMAT_MP4: {
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
+#if 0
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
case METADATA_EDITOR_FORMAT_OGG_FLAC:
#endif
return METADATA_EDITOR_ERROR_NONE;
}
-#if 0
static int __get_flac_picture(metadata_editor_s *metadata, int index, void **picture, int *size, char **mime_type)
{
int ret = METADATA_EDITOR_ERROR_NONE;
return METADATA_EDITOR_ERROR_NONE;
}
-#endif
+
static int __get_wav_picture(metadata_editor_s *metadata, int index, void **picture, int *size, char **mime_type)
{
auto _file = dynamic_cast<RIFF::WAV::File*>(metadata->file);
case METADATA_EDITOR_FORMAT_MP4:
return __get_mp4_picture(_metadata, index, picture, size, mime_type);
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
return __get_flac_picture(_metadata, index, picture, size, mime_type);
-#endif
+
case METADATA_EDITOR_FORMAT_WAV:
return __get_wav_picture(_metadata, index, picture, size, mime_type);
return METADATA_EDITOR_ERROR_NONE;
}
-#if 0
static int __append_flac_picture(metadata_editor_s *metadata, const char *picture, size_t size, const char *mime_type)
{
auto _file = dynamic_cast<FLAC::File*>(metadata->file);
return METADATA_EDITOR_ERROR_NONE;
}
-#endif
+
static int __append_wav_picture(metadata_editor_s *metadata, const char *picture, size_t size, const char *mime_type)
{
return __append_APIC(dynamic_cast<ID3v2::Tag*>(metadata->file->tag()), picture, size, mime_type);
ret = __append_mp4_picture(_metadata, picture, size, mime_type);
break;
-#if 0
case METADATA_EDITOR_FORMAT_FLAC:
ret = __append_flac_picture(_metadata, picture, size, mime_type);
break;
-#endif
+
case METADATA_EDITOR_FORMAT_WAV:
ret = __append_wav_picture(_metadata, picture, size, mime_type);
break;
return METADATA_EDITOR_ERROR_NONE;
}
-#if 0
static int __remove_flac_picture(metadata_editor_s *metadata, int index)
{
int ret = METADATA_EDITOR_ERROR_NONE;
return METADATA_EDITOR_ERROR_NONE;
}
-#endif
static int __remove_wav_picture(metadata_editor_s *metadata, int index)
{
case METADATA_EDITOR_FORMAT_MP4:
return __remove_mp4_picture(_metadata, index);
-#if 0
+
case METADATA_EDITOR_FORMAT_FLAC:
return __remove_flac_picture(_metadata, index);
-#endif
+
case METADATA_EDITOR_FORMAT_WAV:
return __remove_wav_picture(_metadata, index);
case METADATA_EDITOR_FORMAT_MP4:
delete dynamic_cast<TagLib::MP4::File*>(_metadata->file);
break;
-#if 0
+
case METADATA_EDITOR_FORMAT_FLAC:
delete dynamic_cast<TagLib::FLAC::File*>(_metadata->file);
break;
+#if 0
case METADATA_EDITOR_FORMAT_OGG_VORBIS:
delete dynamic_cast<TagLib::Ogg::Vorbis::File*>(_metadata->file);
break;