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 (_metadata->filetype) { // Process the file according to the specified file type
- case METADATA_EDITOR_FORMAT_MP3: {
- // Bring the pointer to actual file type
- TagLib::MPEG::File* _file = (TagLib::MPEG::File*)_metadata->file;
-
- TagLib::ID3v1::Tag* tag1 = _file->ID3v1Tag();
+ switch (_metadata->filetype) {
+ case METADATA_EDITOR_FORMAT_MP3: {
+ TagLib::MPEG::File* _file = (TagLib::MPEG::File*)_metadata->file;
+ TagLib::ID3v1::Tag* tag1 = _file->ID3v1Tag();
- if (!tag1 || tag1->isEmpty()) { // If no ID3v1 tag - prevent its creation
- if (_file->save(TagLib::MPEG::File::ID3v2 | TagLib::MPEG::File::APE))
- return METADATA_EDITOR_ERROR_NONE;
- } else { // otherwise - save all tags in file
- if (_file->save(TagLib::MPEG::File::AllTags))
- return METADATA_EDITOR_ERROR_NONE;
- }
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
- case METADATA_EDITOR_FORMAT_MP4: {
- TagLib::MP4::File* _file = (TagLib::MP4::File*)_metadata->file;
- if (_file->save())
+ if (!tag1 || tag1->isEmpty()) { // If no ID3v1 tag - prevent its creation
+ if (_file->save(TagLib::MPEG::File::ID3v2 | TagLib::MPEG::File::APE))
return METADATA_EDITOR_ERROR_NONE;
- else
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
-#if 0
- case METADATA_EDITOR_FORMAT_FLAC: {
- TagLib::FLAC::File* _file = (TagLib::FLAC::File*)_metadata->file;
- if (_file->save())
+ } else { // otherwise - save all tags in file
+ if (_file->save(TagLib::MPEG::File::AllTags))
return METADATA_EDITOR_ERROR_NONE;
- else
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
- case METADATA_EDITOR_FORMAT_OGG_VORBIS: {
- TagLib::Ogg::Vorbis::File* _file = (TagLib::Ogg::Vorbis::File*)_metadata->file;
- if (_file->save())
- return METADATA_EDITOR_ERROR_NONE;
- else
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
- case METADATA_EDITOR_FORMAT_OGG_FLAC: {
- TagLib::Ogg::FLAC::File* _file = (TagLib::Ogg::FLAC::File*)_metadata->file;
- if (_file->save())
- return METADATA_EDITOR_ERROR_NONE;
- else
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
- }
- case METADATA_EDITOR_FORMAT_WAV: {
- TagLib::RIFF::WAV::File* _file = (TagLib::RIFF::WAV::File*)_metadata->file;
- if (_file->save())
- return METADATA_EDITOR_ERROR_NONE;
- else
- return METADATA_EDITOR_ERROR_OPERATION_FAILED;
}
+
+ return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+ }
+
+ case METADATA_EDITOR_FORMAT_MP4: {
+#if 0
+ case METADATA_EDITOR_FORMAT_FLAC:
+ case METADATA_EDITOR_FORMAT_OGG_VORBIS:
+ case METADATA_EDITOR_FORMAT_OGG_FLAC:
+ case METADATA_EDITOR_FORMAT_WAV:
#endif
- default:
- metadata_editor_error("Wrong file type");
- return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
+ if (_metadata->file->save())
+ return METADATA_EDITOR_ERROR_NONE;
+
+ return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+ }
+
+ default:
+ metadata_editor_error("Wrong file type");
+ return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
}
}