int main( int argc, char *argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); ID3D_INIT_NOTICE(); ID3_Tag tag; ID3_Frame frame; tag.Link("test-230-compressed.tag"); tag.Strip(ID3TT_ALL); tag.Clear(); frame.SetID(ID3FID_USERTEXT); frame.GetField(ID3FN_DESCRIPTION)->Set("compression example"); frame.GetField(ID3FN_TEXT)->Set("This sample user text frame came from an ID3v2-3.0 tag. The frame has the 'compression' bit set in it's frame header. This is the new method for compressing frames, which supercedes the 2.01 Compressed Data Metaframe."); frame.SetCompression(true); tag.AddFrame(frame); tag.SetPadding(false); tag.SetUnsync(false); tag.Update(ID3TT_ID3V2); return 0; }
int main(unsigned argc, char* argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); ID3D_INIT_NOTICE(); if (argc != 2) { cout << "Usage: findstr <tagfile>" << endl; exit(1); } ID3_Tag tag(argv[1]); ID3_Frame* first = NULL, *frame = NULL; while(NULL != (frame = tag.Find(ID3FID_COMMENT, ID3FN_DESCRIPTION, ""))) { if (frame == first) { break; } if (first == NULL) { first = frame; } char* comment = ID3_GetString(frame, ID3FN_TEXT); cout << "*** Found comment w/o description: " << comment << endl; delete [] comment; } return 0; }
int main(unsigned argc, char* argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); ID3D_INIT_NOTICE(); if (argc != 2) { cout << "Usage: findeng <tagfile>" << endl; exit(1); } ID3_Tag tag(argv[1]); const ID3_Frame* frame = tag.Find(ID3FID_COMMENT, ID3FN_LANGUAGE, "eng"); if (frame) { char* comment = ID3_GetString(frame, ID3FN_TEXT); cout << "*** Found english comment: " << comment << endl; delete [] comment; } else { cout << "*** No english comment to be found." << endl; } return 0; }
int main( unsigned int argc, char * const argv[]) { int ulFlag = ID3TT_ID3; ID3D_INIT_DOUT(); gengetopt_args_info args; if (cmdline_parser(argc, argv, &args) != 0) { exit(1); } #if defined ID3_ENABLE_DEBUG if (args.warning_flag) { ID3D_INIT_WARNING(); ID3D_WARNING ( "warnings turned on" ); } if (args.notice_flag) { ID3D_INIT_NOTICE(); ID3D_NOTICE ( "notices turned on" ); } #endif if (args.v1tag_flag) { ulFlag = ID3TT_ID3V1; } if (args.v2tag_flag) { ulFlag = ID3TT_ID3V2; } if (args.inputs_num != 2) { cerr << "Usage: id3cp [OPTIONS] SOURCE DEST" << endl; exit(1); } const char *source = args.inputs[0], *dest = args.inputs[1]; ID3_Tag myTag; cout << "Parsing " << source << ": "; myTag.Clear(); myTag.Link(source, ID3TT_ALL); cout << "done. Copying to " << dest << ": "; myTag.Link(dest, ID3TT_NONE); myTag.Update(ulFlag); cout << "done" << endl; return 0; }
int main( int argc, char *argv[]) { ID3D_INIT_DOUT(); ID3D_INIT_WARNING(); ID3D_INIT_NOTICE(); ID3_Tag tag; ID3_Frame frame; tag.Link("test-230-picture.tag"); tag.Strip(ID3TT_ALL); tag.Clear(); frame.SetID(ID3FID_TITLE); frame.GetField(ID3FN_TEXT)->Set("Aquarium"); tag.AddFrame(frame); frame.SetID(ID3FID_CONTENTGROUP); frame.GetField(ID3FN_TEXT)->Set("Short fraction of 'Carnival of the Animals: A Grand Zoological Fantasy'"); tag.AddFrame(frame); frame.SetID(ID3FID_COMPOSER); frame.GetField(ID3FN_TEXT)->Set("Camille Saint-Saëns"); tag.AddFrame(frame); frame.SetID(ID3FID_BAND); frame.GetField(ID3FN_TEXT)->Set("Slovakia Radio Symphony Orchestra"); tag.AddFrame(frame); frame.SetID(ID3FID_CONDUCTOR); frame.GetField(ID3FN_TEXT)->Set("Ondrej Lenárd"); tag.AddFrame(frame); frame.SetID(ID3FID_COPYRIGHT); frame.GetField(ID3FN_TEXT)->Set("1996 HNH international Ltd."); tag.AddFrame(frame); frame.SetID(ID3FID_CONTENTTYPE); frame.GetField(ID3FN_TEXT)->Set("(32)"); tag.AddFrame(frame); frame.SetID(ID3FID_INVOLVEDPEOPLE); frame.GetField(ID3FN_TEXT)->Add("Producer"); frame.GetField(ID3FN_TEXT)->Add("Martin Sauer"); frame.GetField(ID3FN_TEXT)->Add("Piano"); frame.GetField(ID3FN_TEXT)->Add("Peter Toperczer"); tag.AddFrame(frame); frame.SetID(ID3FID_PICTURE); frame.GetField(ID3FN_MIMETYPE)->Set("image/jpeg"); frame.GetField(ID3FN_PICTURETYPE)->Set(11); frame.GetField(ID3FN_DESCRIPTION)->Set("B/W picture of Saint-Saëns"); frame.GetField(ID3FN_DATA)->FromFile("composer.jpg"); tag.AddFrame(frame); tag.SetPadding(false); tag.SetUnsync(true); tag.Update(ID3TT_ID3V2); return 0; }