Changelog: ======== v 1.01 - fix html parse errors due to small discogs html changes - fix parse errors with tracklisting containing placeholder artist such as "No Artist" or "Various" (such as releases 204297 or 336752) v 1.0 - add: back button on the release dialog, return to find release dialog - fix: crash when parsing some releases such as 743691 with disc titles in the tracklisting. (thx Hivemind) - fix: crash when parsing buggy artist pages with empty "Members:" section. Hey Bob Sinclar :). (thx stampgevaar) v 0.99 - add: "find deleted release ids" will scan all selected item and see if %DISCOG_RELEASE_ID% has been deleted in discogs.com database. Those items are put in a new playlist. - chg: when updating tags /art the only possible error now aborting the operation is if the connection to discogs.com is lost. Other errors (deleted release id, bad url) will just cancel processing for the current item and proceed to the next. Most of those errors are now logged in the foobar console. If operation is stopped because of a connexion error, retrieved tag up to this point will be still written. Also the abort button will stop the operation but still write all tags up to this point. - chg: now it's possible again to retrieve art when tagging, without having the release id tag enabled for writing (thanks - chg: clear cached data (releases, artists, ...) when the cache contains 50 releases. - fix: crash if updating tags for tags write-enabled and DISCOGS_ORIGINAL_TRACK_NUMBER was write-enabled v 0.98 - chg: big refactoring of the code - chg: all dialogs are now non-modal and feching discogs info properly use threads, so no more UI slugishness. - chg: use standard foobar dialog for task progress display - chg: redone configuration panel, using tabs and moving album art options previously in release dialog - add: fetch/update artist art support - add: new entry in context menu: "display artist art page" (need %discogs_artist_id%) - add: tag mapppings: added "Original Track number", used to point to the discogs track number in case the user renumber tracks for multi-disc release, and to be later able to find those track for updating track specific tags. Enabled by default and recommended to let it enabled - add: tag mapppings: added "Artist id", "Artist aliases", "Artist groups", "Artist members" and "Artists ANVs". This information is fetched from discogs artist pages, so it takes a bit longer - add: support of dragging of single items in discogs track list. - fix: auto matching based on track length was incorrect - fix: html parser: fixed crash when cat# contained "," such as release 1350 (thanks Dave Scream) - fix: when fetching art ignore not found image instead of just aborting (thanks Ydope) - fix: find release dialog: in some cases old previously searched artist list could appear - fix: find release dialog: "exact matches" state was not correctly restored to user's setting next time if automatically checked on search when there are no exact matches - fix: release dialog: "save art" check box was always disabled if "display art" was not checked - fix: update tags: TOTALTRACKS was not written Artist art ========== If you want to retrieve artist art on releases already tagged with foo_discogs, it's easy: check fetch artist art in the configuration panel and indicate a directory where all artist art will be downloaded. Artist have a unique numeric identifier associated to them and stored as tag DISCOGS_ARTIST_ID. It is automatically written when retrieving / fetching artist art so you can use this source for foo_uie_albumart: \[%discogs_artist_id%]_?.jpg Files are stored as _.jpg. This scheme won't be parametrable as it has severe complications :) Artist aliases ============== Fetching artist aliases allow interesting queries such as displaying all music of an artist and its aliases. By default in foo_uie_quicksearch if you enter an artist name, it will also find all it's aliases Some useful queries can probably be done with "Artist members" and "Artist groups". Updating tags for track specific tags ====================================== When updating tags there's the need to map the local track being updated to it's corresponding discog track, when filling track-specific tags (Artist, title, track number, vinyl track, Artist aliases, Artist Groups, Artist members, Artists ANV, artist id) To find the discogs track, it works like this: if %DISCOGS_ORIGINAL_TRACK_NUMBER% exist (only with files tagged from this version) use this as the discogs track number else if %DISCNUMBER% > 1 do nothing as we can't know discogs corresponding track (mainly for CD > 1 of multi-cd releases) else if %DISCNUMBER% do not exist or is equal to 1, then use the mapping of %TRACKNUMBER% if it exist or it's remapped equivalent In theory it's possible to delete and regenerate all tags, provided that %DISCOGS_RELEASE_ID% exist and the track can be mapped to the discog track with the system above. Know limitations ================ Dragging items in discogs track list works for single items only. You can select several items by clicking on them but that works for the "remove" button only. win32 list programming sux0r... v 0.92 ------- - add: find release dialog: focus on OK and search buttons is automatically set according to user actions - add: find release dialog: "auto" option if enabled will auto search for the value of %ARTIST% if the tag has some value - add: find release dialog: ability to search for non exact artist names, "exact matches" checkbox toggle display of exact matches and all matches - add: find release dialog: artist name containing funky characters (&, :, etc) should now return results - add release dialog: option to display or not the small album art. Allow to gain some time by not fetching it (for display purpose) - add release dialog: Delete key delete tracks in discogs and local track lists - chg: connection failure should be more robust if discogs is not responding or no data is received for some time v 0.91 ------- - fix: retrieving and update of album art was b0rken (retrieving nothing) - fix: album art filenames are made filesystem compliant by replacing non-valid characters by underscores. This is needed if theses filenames are generated from tags. v 0.90 -------- - fix: progress dialog window staying displayed sometimes - add: configuration option allow to set a http proxy - add: configuration option offers to move "The" in artist name in front of the name or to stay at the end - chg: find release dialog: display all releases (including pending releases) listed on artist page, not only "Releases" and "DJ Mixes". - fix: find release dialog: in search string, replace non alphanum chars by hex chars acceptable in URLs. - fix: find release dialog: crash if double-click in artist and release list and no item selected in - fix: find release dialog: html garbage displayed as release year in some cases - fix: under wine (linux), tags were never written after pressing "write tags" in the release dialog, due to unimplemented API call (thx deucalion) - fix: artist name truncated in some ultra rare cases (Add N to (X)) anyone ?) (thx deucalion) - fix: "update tags": checking "replace ANVs" was doing nothing - chg: releases and artists fecthed are cached in memory until you quit fb2k, so getting the info of a release in the cache is instantaneous known issues: - album art not retrieved for pending releases - find release dialog: searching for artist names with an "&" character or other funky characters return no match because for some unknown reason Discogs never returns *exact* matches when there are such characters, and I parse only exact matches for now - in very rare cases when searching for an artist, the search result is the list of releases one of its ANV! (Discogs bug?) - UI can stay freezed for a while if the connection to discogs is slow or impossible. However it should never stay stuck forever: it should succeed or display an error popup. v 0.31 -------- - add: in discogs track list display both track number and vinyltrack if any - add: option to enable/disable auto track matching of discogs tracks and local files - find release dialog improvments: add: display year of releases add: display "DJ Mixes" releases add: incremental search in release list - custom info: fix: style, genre, catalog#, label, album artist, compilation were written in tag even if custom info enabled chg: %DISCOGS_RELEASE_ID% can be stored as custom info, though it is highly discouraged - add: update tags shows a proper progress indicator and is cancelable [small issue: the UI is unresponsive during the update] - add: made update tag more robust and with two modes: 1. write only tags enabled for write in tag mapping config. Good to regenerate all write-enabled tags if your tag config changed 2. write only tags enabled for update in tag mapping config. Good to update only a few specific tags whose value change over time (rating, #want, ...) Update tag in write-enable mode can regenerate all tags marked for write as long as %DISCOGS_RELEASE_ID% *and* "track Number" (stored as %TRACKNUMBER%) exist. So you could potentially destroy all tags except those two and regenerate everything v 0.30 ------- - add: [b]search dialog[/b] to help finding the release id. Allow to search by artist name and display artist's releases. Double click on an artist or release displays the web page. Release id or URL can still be entered manually. If %ARTIST% exist it will autosearch for that and automatically fill the release list with the first artist it finds. - add: [b]progress bars[/b] for every lengthy operation - add: [b]foo_custominfo support[/b], configurable per tag. Need latest of version of foo_custominfo installed. - fix: did not remove artist/label number if >= 10 (thx stampgevaar) - fix: trailing artist number and ", The" were not handled for non ANVs. (thx orchid) v 0.28 ------- - add: ANVs (Artist Name Variations) can be displayed (asterix after the artist) and replaced by the non-ANV artist name in release dialog - chg: album art: first file not appended a number suffix to comply to folder.jpg semi-standard. Files are numbered after the first file: folder_2.jpg, folder_3.jpg,... - chg: now in the release id dialog you can enter either the id or the full URL of the release - fix: secondary cat# was always starting with one space (thx mquander) - fix: album art not retrieved in some rare cases - fix: Album Artist not written (not detected) in some cases - fix: removed possible trailing number from labels: Foo (3) => Foo (thx mquander) - fix: Track lengths not removed on some rare releases having length in mm.ss format (thx orchid) Here's how ANV system works and why it can be useful: ANV, short for Artist Nane Variation are well...small variation of the name of an artist. For example "Matthew Herbert" has ANVs "Herbert", "M. Herbert", etc. Some releases use the ANV as artist instead of the non ANV version. While it's great for exactness it's not so great for search in database. The ANV replacing system if enabled (in configuration panel) allows to show if an artist name is an ANV (using asterix like Discogs, just for display, asterix are *never* written in tags) and to replace ANVs with the real non-ANV artist name (for artist name, album artist and track artist name if it applies). For example for a release with artist "M. Herbert" it would replace it with "Matthew Herbert". If ANV processing is enabled and the release contain ANVs it can take 10-20 sec to fetch Discogs data v 0.27 ------- - chg: "Compilation" checkbox in release dialog, to be able to override detected value - fix: tag mappings were not loaded if you didn't go on the "Edit tag mapping" dialog first (thx orchid and mquander) - fix: discogs <-> local files matching was buggy (thx orchid) - fix: "Album Artist" was not written for some releases with multiple artists, such as 630496 (thx orchid) - fix: "update tags" was slower than needed - chg: now link statically against libcurl, no need for libcurl.dll/zlib1.dll in fb2k root dir anymore v 0.26 -------- - fix: update album art would freeze foobar if a selected track was playing + fixed some UI slugishness - fix: update album art: would do unecessary processing when updating only release with no art - fix: "Vinyl Track" not written correctly v 0.25 -------- - add: basic attempt to match discogs tracks to local files: if number of tracks is not the same than local files, no matching is performed. if discogs has track length info, this is used to match the tracks. Match may be incorrect if 2 tracks have the same length. if local files to tag have %TRACKNUMBER% defined, this is mapped to the corresponding discogs tracks. %TRACKNUMBER% has to be defined for all local tracks with no missing value in [1; number of tracks in release] range. Obviously if %TRACKNUMBER% is wrong, the mapping won't be correct - add: batch update of album art accessible through context menu. Can update all releases or only releases missing art - add: possible to specify the location/format of file art using titleformat syntax - add: option to retrieve all available art, possibly several files - chg: removed hi-res art option, art is always retrieved in high-res - add: "View album art page" in popup menu shows...Discogs album art page - chg: track numbers can be written on single or double digits (affect "track number", "total tracks", "total discs", "disc number") - chg: "Style And Genre" removed from mappings, now there's "Genre" and "Style" separated. Also displayed separately in the release dialog. - chg: "Album Artist" and "Compilation" added to tag mappings, default mapped to "ALBUM ARTIST" and "COMPILATION" and enabled - chg: "Total discs" and "Disc number" added to tag mappings, default mapped to "TOTALDISCS" and "DISCNUMBER" and enabled (written only if set in multi-disc panel) - add: "Format" added to tag mappings, not written by default, mapped to DISCOGS_FORMAT as a multi-value tag - chg: some tags have "refresh tag on update" grayed because it does not make sense to update them - add: keyboard shortcuts - add: configuration dialog - fix: crash on update on tags using track info ("album", "track number", "track title", "artist link") - fix: memory leak due to album art retrieving titleformat to specify album art location works like this: let's say you enter "c:\albumart\%artist album% - %album%" in the configuarion dialog as art location. Files written will automatically have a number appeded to the location: c:\albumart\%artist album% - %album%_1.jpg c:\albumart\%artist album% - %album%_2.jpg etc default is to write album_art_xx.jpg files in the album's directory. It's safe and always work, however if you change it and use a custom location (with %% variables) and there's some funky characters not allowed by the filesystem (such as ':'), thoses files won't be written correclty. v 0.21 -------- - add: basic album art support: will write album art in release directory under filename "album_art.jpg". Can write either low res or high res version of the art v 0.2 -------- - chg: [b]rewritten discogs release page parser[/b]: - should parse correclty all pages even the most exotic. Support splitted releases (several artists). Goes to great pain to make the output correct - artist name: artist number is removed (Erb (2) => Erb) - artist name: if the artist begins by "The", dicogs prepend this prefix (ie: John Doe, The). this is put before the name (The John Doe) - rerieve # votes, # member want this, # member have this - retrieve all labels and cat # - remove all mutiple spaces in strings due to html evaluating several consecutive space as one space - add: [b]multi-disc interface helps to tag mutiple discs[/b], in a semi automatic way. Writes TOTALDISCS / DISCNUMBER and the tag assigned to "Number of tracks" in track mappings (TOTALTRACKS by default) - chg: label and cat # stored as multi-value tag if necessary - add: ALBUM ARTIST and COMPILATION tags (not parametrable) values are displayed - chg ALBUM ARTIST is written like this: if release is a splitted release it's assigned the artists concatenated as displayed by discogs (ex John & Bob and Foo) if release is a compilation, it's assigned "Various Artists") - COMPILATION is set to "1" if Artist = "Various" - add: "Styles and Genre" in tag mappings represent styles and genres concatenated and mapped to the Genre combo box in the release dialog - add: more precises descriptions in tag mapping list - chg: "Track number" always numeric on two digits - add: "Vinyl track number" mapped by default to VINYLTRACK, default not written - add: "Number of tracks" stored on two digits, mapped by default to TOTALTRACKS, default written - fix: length of track was in "Track title" if > 10min - fix: character '&' was not displayed correctly in release panel - chg: never write empty tags - add: button apply on the edit mapping dialog. Allow to change the mappings temporarily while on the main release dialog. Apply just commit the mappings for the release being tagged. This is great for changing mappings just for a release - chg: ok or cancel on the release dialog close the tag mapping dialog if opened - fix: release id dialog was sytem modal - chg: link against recent libcurl.dll (need zlib1.dll) The multi-disc options works like this: You must tag the files of one disc at a time. Enter the release id as usual and on the release panel you'll have more discogs tracks than tracks to tag. Select the tracks to remove in the discogs track list and remove them. Then check "enable" in the "Multi Disc Release" Panel. Now you can set TOTALDISCS and DISCNUMBER. button "renumber" will renumber all tracks in the discogs track list : this is usually needed for CD2 or higher. v 0.10 -------- - initial release