From: Sylvain G. <sy...@at...> - 2008-07-17 19:41:48
|
Also note no change for writting tags has been made, so don't be surprised if writting still does not work. First it should be sure Jajuk is reading correctly, then we can have a look at writting. Bertrand Florat schrieb: > Sylvain, > > This fix doesn't seem to work: WMA tags cannot be read nor written. > Strange you can do it with atunes. Perhaps do you use an older version > of JAudiotagger ? > > > Sylvain Gaudard wrote: > >> Hi all >> >> Could someone with write permissions to Jajuk SVN add following patch >> (fixes problem for reading mp4/wma files with Jaudiotagger library): >> >> Index: >> /home/sylvain/Java/jajuk/src/main/java/org/jajuk/services/tags/JAudioTaggerTagImpl.java >> >> =================================================================== >> --- >> /home/sylvain/Java/jajuk/src/main/java/org/jajuk/services/tags/JAudioTaggerTagImpl.java >> (Revision 4063) >> +++ >> /home/sylvain/Java/jajuk/src/main/java/org/jajuk/services/tags/JAudioTaggerTagImpl.java >> (Arbeitskopie) >> @@ -81,7 +81,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getAlbumName() >> */ >> public String getAlbumName() throws Exception { >> - return getValue(TagFieldKey.ALBUM); >> + return tag.getFirstAlbum(); >> } >> >> /* >> @@ -90,7 +90,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getAuthorName() >> */ >> public String getAuthorName() throws Exception { >> - return getValue(TagFieldKey.ARTIST); >> + return tag.getFirstArtist(); >> } >> >> /* >> @@ -99,7 +99,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getComment() >> */ >> public String getComment() throws Exception { >> - return getValue(TagFieldKey.COMMENT); >> + return tag.getFirstComment(); >> } >> >> /* >> @@ -117,7 +117,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getOrder() >> */ >> public long getOrder() throws Exception { >> - String sOrder = getValue(TagFieldKey.TRACK); >> + String sOrder = tag.getFirstTrack(); >> if (NO_VALUE.equals(sOrder)) { >> return 0; >> } >> @@ -142,7 +142,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getStyleName() >> */ >> public String getStyleName() throws Exception { >> - String result = getValue(TagFieldKey.GENRE); >> + String result = tag.getFirstGenre(); >> if ("genre".equals(result)) { >> // the item will be the default jajuk unknown string >> return ""; >> @@ -174,7 +174,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getTrackName() >> */ >> public String getTrackName() throws Exception { >> - return getValue(TagFieldKey.TITLE); >> + return tag.getFirstTitle(); >> } >> >> /* >> @@ -183,7 +183,7 @@ >> * @see org.jajuk.services.tags.ITagImpl#getYear() >> */ >> public String getYear() throws Exception { >> - String result = getValue(TagFieldKey.YEAR); >> + String result = tag.getFirstYear(); >> if (NO_VALUE.equals(result)) { >> result = "0"; >> } else { >> >> Thanks >> >> Regards >> >> Sylvain >> >> Christian Laireiter schrieb: >> >>> Hi Betrand, >>> >>> Nice to see the changes. >>> >>> About the getValue(TagFieldKey) instead of get...(): >>> >>> The primary motivation behind this war to provide the >>> NO_VALUE-constant value when the jaudiotagger should return null >>> instead of an empty String. >>> Looked at some places that implement getTitle() and well, all of them >>> return "". >>> And here it was possible to implement this check at just one place, >>> so I thought it would be a good practice. >>> Its just a proposal (to do it this way), feel free to change. >>> >>> I've just noticed that this will work too: >>> this.tag.set(this.tag.createTagField(TagFieldKey.TITLE, trackName)); >>> >>> I think it would be save to implement a setValue-Method, that will >>> remove >>> existing tag-fields if the provided value is empty or null. >>> Some implementations of audioformats could completely drop sth. like >>> a frame. >>> Would reduce file size (just by very few bytes, I know). However I'd >>> feel cleaner about this. >>> (Just my two cents) >>> >>> About the Errors, and the logging, I've some Ideas, respectively I >>> can look the file registration issue up (oha what an english). >>> However, I'm not into jaudiotagger. I've just started working on it. >>> (change WMA) >>> >>> Now I've to do sth. else. >>> >>> Until later >>> Regards >>> Christian >>> >>> >>> >>> >>> On Monday 14 July 2008, Bertrand Florat wrote: >>> >>> >>>> Hi Christian, >>>> >>>> Thanks again for your patch. It has been applied against trunk after >>>> some code cleanup (jajuk useless methods) and two fixes (wrong fields >>>> used for track title and genre). We used jaudiotagger 1.126. >>>> >>>> Question : why do you use explicit write() method to setters : >>>> public void setTrackName(String trackName) throws Exception { >>>> this.tag.setTitle(trackName); >>>> } >>>> >>>> and not to getters: >>>> public String getTrackName() throws Exception { >>>> return getValue(TagFieldKey.TITLE); >>>> } >>>> >>>> ? >>>> >>>> Beside that, I tested jaudiotagger against my own collection of audio >>>> sample files. It's globally very positive but some formats are not >>>> supported out of the box. My first results (light tests) : >>>> >>>> >>>> * MP3 : no problem found >>>> >>>> * Ogg : no problem found >>>> >>>> * Flac : no problem found >>>> >>>> * WMA: tags cannot be read nor written (no error messages). >>>> 14 juil. 2008 19:31:24 >>>> org.jaudiotagger.audio.generic.AudioFileWriter write >>>> INFO: Started writing tag data for file:pickmeuprange.wma >>>> >>>> * AAC : Extension not recognized : Caused >>>> by:org.jaudiotagger.audio.exceptions.CannotReadException: No Reader >>>> associated to this extension: aac. Isn't AAC files the same that M4A ? >>>> >>>> * M4A: Read/write works except writing genres with special characters >>>> (in my case "Variété") that fails >>>> >>>> * RAM: Extension not recognized : Caused >>>> by:org.jaudiotagger.audio.exceptions.CannotReadException: No Reader >>>> associated to this extension: ram >>>> >>>> * MP2: Extension not recognized >>>> >>>> :org.jaudiotagger.audio.exceptions.CannotReadException: No Reader >>>> >>>> associated to this extension: mp2 >>>> >>>> * APE: Extension not recognized : Caused >>>> by:org.jaudiotagger.audio.exceptions.CannotReadException: No Reader >>>> associated to this extension: ape >>>> >>>> * MAC: Extension not recognized >>>> >>>> :org.jaudiotagger.audio.exceptions.CannotReadException: No Reader >>>> >>>> associated to this extension: ape >>>> >>>> (Seems that even 1.126 doesn't support RAM and APE/MAC or perhaps >>>> should >>>> we use dedicated classes for tag access ? ) >>>> >>>> >>>> Others points: >>>> * On MP4, Paul says on the Jaudiotagger website "Supports reading and >>>> writing of mp4,m4a and mp4p (protected) files, including multiple >>>> images >>>> and reverse dns fields". Perhaps should we add support for .mp4p (is it >>>> the right extension name ?) >>>> >>>> * Does someone knows if JAudiotagger supports or plan to support >>>> WavePack (.wv) ? >>>> >>>> * On logs: by default, we are flooded by logs. Do you know how to tune >>>> them ? (basically, we want only errors and perhaps warnings). Is there >>>> any way to integrate these logs within a larger scope (we at jajuk use >>>> log4j, it would be nice if we could write jaudiotagger to the same >>>> output files than others logs). Any idea ? >>>> >>>> Cheers, >>>> >>>> -Bertrand >>>> >>>> >>>> (BTW, Christian, I wanted to let you know that your name has been added >>>> to this page : >>>> http://jajuk.info/index.php/Jajuk_Team#Contributors) >>>> >>>> Sylvain Gaudard wrote: >>>> >>>> >>>>> Hi Christian, hi Bertrand >>>>> >>>>> Thanks for this patch. I've used a part of the code for aTunes >>>>> (converting number in genre field to matching genre name). I hope >>>>> no one >>>>> has a problem with it. >>>>> >>>>> Please note that Jaudiotagger does not support Ape tag (.ape and >>>>> .mac), >>>>> however it can read/write Mp4 files and *read* Real Audio files. For >>>>> this you must use a recent enough version (latest is 1.126 you can get >>>>> it from CVS >>>>> <https://jaudiotagger.dev.java.net/source/browse/jaudiotagger/dist/>). >>>>> >>>>> Regards >>>>> >>>>> Sylvain >>>>> >>>>> Bertrand Florat schrieb: >>>>> >>>>> >>>>>> Christian Laireiter wrote: >>>>>> >>>>>> >>>>>>> Hallo Bertrand, >>>>>>> >>>>>>> I've added a patch which replaces the entagged implementation with >>>>>>> jaudiotagger, to the Ticket #1071. >>>>>>> However I meant to added it to #947, du to mixing the browser tabs. >>>>>>> >>>>>>> Excuse me for the inconvenience. >>>>>>> >>>>>>> regards >>>>>>> Christian >>>>>>> >>>>>>> >>>>>> Thanks a lot Christian, I hope to apply it soon to the trunk. >>>>>> >>>>>> - Bertrand >>>>>> >>>>>> >>>>> ------------------------------------------------------------------------- >>>>> >>>>> Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! >>>>> Studies have shown that voting for your favorite open source project, >>>>> along with a healthy diet, reduces your potential for chronic lameness >>>>> and boredom. Vote Now at http://www.sourceforge.net/community/cca08 >>>>> _______________________________________________ >>>>> Jajuk-developers mailing list >>>>> Jaj...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/jajuk-developers >>>>> >>>>> >>> >>> >>> >> > > > |