Skip to content

Instantly share code, notes, and snippets.

@mishaxz
Created May 20, 2022 21:35
Show Gist options
  • Save mishaxz/6597596cd85beda82cb5bf6440c4f843 to your computer and use it in GitHub Desktop.
Save mishaxz/6597596cd85beda82cb5bf6440c4f843 to your computer and use it in GitHub Desktop.
Show Tagger Manual
-------------------------------------------------------------------------------
; .▄▄ · ▄ .▄ ▄▄▌ ▐ ▄▌ ▄▄▄▄▄▄ ▄▄▄· ▄▄ • ▄▄ • ▄▄▄ .▄▄▄
; ▐█ ▀. ██▪▐█ ▄█▀▄ ██· █▌▐█ ▀•██ ▀▐█ ▀█ ▐█ ▀ ▪▐█ ▀ ▪▀▄.▀·▀▄ █·
; ▄▀▀▀█▄██▀▀█▐█▌.▐▌██▪▐█▐▐▌ ▐█.▪▄█▀▀█ ▄█ ▀█▄▄█ ▀█▄▐▀▀▪▄▐▀▀▄
; ▐█▄▪▐███▌▐▀▐█▌.▐▌▐█▌██▐█▌ ▐█▌·▐█▪ ▐▌▐█▄▪▐█▐█▄▪▐█▐█▄▄▌▐█•█▌
; ▀▀▀▀ ▀▀▀ · ▀█▄▀▪ ▀▀▀▀ ▀▪ ▀▀▀ ▀ ▀ ·▀▀▀▀ ·▀▀▀▀ ▀▀▀ .▀ ▀
-------------------------------------------------------------------------------
; by ycomp
-------------------------------------------------------------------------------
- to contact me write me on Lossless Legs Forum (username: ycomp)
************** INSERT FORUM LINK HERE **********************
-------------------------------------------------------------------------------
; 2022.05.13 - v3.02/v1.22 + Candidate for Public Release (Show Tagger/Show Taggers)
; 2022.05.13 - v3.10/v1.22 + YEAR, Tips: My Album Format
; 2022.05.13 - v3.20/v1.22 + cover (front and back) support
; 2022.05.13 - v3.21/v1.22 + "other" pic support
; 2022.05.13 - v3.30/v1.22 + KEYWORDS & GENRE switches
; 2022.05.13 - v3.31/v1.22 + supports .jpeg photos (i.e. .jpg & .jpeg & .png)
; 2022.05.13 - v3.35/v1.22 + improved YEAR interpolation
; 2022.05.13 - v3.40/v1.22 + Show Tagger.ini
; 2022.05.13 - v3.41/v1.30 + plays sounds upon success or failure (if specified in .ini)
; 2022.05.13 - v3.50/v1.30 + deletes extra files based on settings in .ini [delete]
; 2022.05.14 - v3.50/v1.30 + description of Files Launcher
; 2022.05.15 - v3.60/v1.33 + FILLER switch support, "missing" songs ignored
; 2022.05.15 - v3.70/v1.33 + support for FLAC Custom Tags
; 2022.05.15 - v3.80/v1.33 + support for MP3 ID3v2.3 Custom Tags
; 2022.05.15 - v3.80/v1.33 + Files Launcher.ini (v1.10)
; 2022.05.15 - v3.85/v1.33 + Aborts upon misuse of DISC/CD/SET directives
; 2022.05.15 - v3.90/v1.33 + Song Acronym Expander (see Show Tagger.ini)
; 2022.05.16 - v3.95/v1.33 + song based Encores (e.g. E1: Day Job)
; 2022.05.16 - v4.00/v1.33 + INI: [regex]
; 2022.05.16 - v4.10/v1.33 + INI: [useless]
; 2022.05.17 - v4.20/v1.33 + RTRIM regex support (like IGNORE has)
; 2022.05.17 - v4.25/v1.33 + RTRIMT to remove times from the song
; 2022.05.17 - v4.30/v1.33 + (encore) Support
; 2022.05.17 - v4.40/v1.40 + INI [move], -move, +batch command line parameters
; 2022.05.17 - v4.40/v1.45 + INI [move]:movedOnFailedFolder
; 2022.05.17 - v4.45/v1.46 + INI [move]:moveOnSuccessFolder date
; 2022.05.18 - v4.60/v1.46 + OGG Vorbis Tagging (No Pictures)
; - FLAC# Custom Tags, -MP3#TXXX: Custom Tags
; + TAG# Custom Tags
; 2022.05.18 - v4.70/v1.46 + M4A Tagging
; 2022.05.18 - v4.75/v1.50 + INI [launch]:launchMp3Tag
; 2022.05.18 - v4.80/v1.50 + Unlimited Pictures can be embedded
; 2022.05.19 - v4.85/v1.55 + INI [launch]:launchMp3TagIfM4A
; 2022.05.20 - v4.90/v1.60 + .MP4 Support
; 2022.05.20 - v5.00/v1.61 + WMA Support
; 2022.05.20 - v5.05/v1.61 + command-line arg[2] (folder) now accepts full-qualified
; filenames and extacts the folder from it
; 2022.05.20 - v5.10/v1.65 ~ switched command-line arg[2] with arg[1]
; 2022.05.20 - v5.11/v1.70 + Show Taggers: Command Line Argument to specify Folder
-------------------------------------------------------------------------------
What's a SWITCH?
-------------------------------------------------------------------------------
- the word 'switch' in documentation means a command, usually these are uppercase
by convention (you can write them lowercase if you want), although they
must start at the beginning of the line usually (SET/DISC/CD) for example
can be anywhere in the line (e.g. 'First Set of the Show' will tag it as DISC 1)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
SUPPORTED formats
-------------------------------------------------------------------------------
- Sound Files can be MP3 (tagged as ID3V2.3), FLAC, OGG Vorbis, WMA, M4A or MP4
NOTE: Cannot currently tag pictures into OGG Vorbis files
NOTE: Everywhere you see M4a in the docs or INI it means MP4 as well
NOTE: M4A tags work with MusicBee as well as MP3 Tag, Tag Scanner, Foobar
& others. They do not work with AIMP or Clementine and others.
I don't know about Kodi, Plex & JellyFin, I haven't tried those.
I'm not sure how to implement it for the ones it doesn't work for. It's
because M4A (MP4) taggging is mostly undocumented, so I don't really know
what else to do.
One workaround is to load the files after taggging into MP3 Tag and then
select them and hit save. After that the tags will show up in all players.
- NOTE: for some reason it is best to wait a few seconds before closing
Mp3Tag after saving, otherwise the tags might not be completely
saved. If that happens, just retag with ShowTagger again.
- Show Tagger has an "mp3tag" command-line option you can use to launch
MP3 Tag immediately after tagging.
- the INI has a [launch]:launchMp3TagIfM4A option that will do the same
after tagging in Show Tagger OR Show Taggers
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
USAGE
-------------------------------------------------------------------------------
- use either Show Taggers.exe or Show Tagger.exe
- Show Tagger.exe has some nice command line options but both can be used
without any command line options
- if you need to tag multiple shows, I highly recommend creating the show.txt
files first and then using Show Taggers (i.e. Batch Tagging)
-------------------------------------------------------------------------------
ALL THESE FILES MUST BE IN THE SAME FOLDER
-------------------------------------------------------------------------------
- Show Tagger.exe
- Show Taggers.exe (optional)
- AudioGenie3.dll
- so find a nice folder on your computer to store these
-------------------------------------------------------------------------------
NEVER use Original files (well, it's up to you!)
-------------------------------------------------------------------------------
- ok, well never is harsh lol. I don't forsee a problem however you can never
be too safe. If you just downloaded the torrent, fine... tag those files
if you don't want to make a copy. But obviously if you spent hours working
on sound files yourself, never tag the originals.
- my code doesn't actually modify (i.e. tag the files) itself, it uses the
well-respected AudioGenie library (https://sourceforge.net/projects/audiogenie/)
so I don't forsee any mangling of the sound files. That said, who knows,
maybe you could lose power to the drive when it is writing. It's probably best
to work on a copy of the files.
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Show Tagger.ini
-------------------------------------------------------------------------------
This file contains a bunch of settings that you can configure
there are more descriptions in the .ini itself
-------------------------------------------------------------------------------
[misc]
-------------------------------------------------------------------------------
- miscellaneous options like debug
-------------------------------------------------------------------------------
[launch]
-------------------------------------------------------------------------------
- launch mp3Tag after Tagging
-------------------------------------------------------------------------------
[defaults]
- all available switches that you can set defaults of are listed inside
- any default will be overridden by any correspding switch being used in show.txt
e.g. GENRE in show.txt takes precedence over genre= in the INI file.
-------------------------------------------------------------------------------
[delete]
-------------------------------------------------------------------------------
- specify the various file types Show Tagger should delete (to Recycle Bin)
- they are all off, except deleteDownloadedTxts (unless you turn them on here)
-------------------------------------------------------------------------------
[move]
-------------------------------------------------------------------------------
- various folders to which the show folder can be moved
- some interesting things here, can extrapolate folder names,
read the INI
-------------------------------------------------------------------------------
[sounds]
-------------------------------------------------------------------------------
- specify the filename to the various sounds listed in [sounds]
- filename can be without a path (i.e. same folder as INI) or with one
-------------------------------------------------------------------------------
[regex]
- useful regexes here to do useful things (see .ini for details)
-------------------------------------------------------------------------------
[useless]
-------------------------------------------------------------------------------
- regexes that define useless lines. You CAN add your own.
- see the Useless lines description further down in the docs and in the INI
-------------------------------------------------------------------------------
[acronyms]
- song acronyms found here get busted into their full song names
- acronyms MUST be one word and UPPERCASE
- you CAN add your own
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Show Taggers DESCRIPTION (Batch Tagging of shows)
-------------------------------------------------------------------------------
- calls Show Tagger for every subfolder (of the chosen folder)
in which show.txt exists
- moves shows that failed tagging to "tagging-failed" folder
- moves shows that were successfully tagged to "tagged" folder
-------------------------------------------------------------------------------
Launching using a Folder Selection Dialog
-------------------------------------------------------------------------------
- run the exe
-------------------------------------------------------------------------------
WARNING!
-------------------------------------------------------------------------------
- do not close the window when you see
">>>>>> Please close the "Report Log Window" to exit <<<<<<<"
until you are sure that the last show has completed tagging.
Otherwise you might possibly corrupt a file (I'm not really sure)
It is a message I have no control over. I can't remove it.
-------------------------------------------------------------------------------
Exit Codes
------------------------------------------------------------------------------
< 0 = on success
2 = already running
3 = could not run Show Taggers.exe
9 = User Closed Cancelled/Closed the Folder Dialog or Folder Choice Failure
10 = Path was invalid
------------------------------------------------------------------------------
Launching via Command Line Arguments
-------------------------------------------------------------------------------
- all Arguments are optional
- No Command Line Arguments will open a Folder Dialog containing the
show.txt Folders
[1] - folder where show.txt Folders are located
-------------------------------------------------------------------------------
Launching via Send To
-------------------------------------------------------------------------------
- Can be Launched via Send To, see the Show Tagger "Send To" section below
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Show Tagger DESCRIPTION
-------------------------------------------------------------------------------
- Tags a folder of mp3 and/or FLAC files using the user supplied Show.txt
- song files MUST be in the same folder as Show.txt (not subfolders of it)
- Tags all mp3/flac files in the Show.txt folder as per songs listed in Show.txt
The mp3/flac files MUST be named in alphabetical order
i.e. so that first mp3/flac is the first song, 2nd the second song
- The # of mp3s and/or FLACs and the # of songs in show.txt should match
- There must be a file called Show.txt in the Folder you select, this file
contains the song names and other information to add to the tags
- While intended to Tag Shows, you can also use it to Tag Albums including
multi-disc Albums
- For Verification, after operations are complete it can launch Mp3Tag program.
- www.mp3tag.de
- So that you can see all the files in a grid format with their tags and
play MP3s to make sure it the correct song associated with the tag
- If you do not have mp3tag installed, it will just do nothing
after tagging...
- NOTE: No support for AAC/MP4 is planned
-------------------------------------------------------------------------------
Launching using a Folder Selection Dialog
-------------------------------------------------------------------------------
- run the exe, or use "choose" in the Command Line Arguments
-------------------------------------------------------------------------------
Launching via Command Line Arguments
-------------------------------------------------------------------------------
- all Arguments are optional
- No Command Line Arguments will open a Folder Dialog to select the show.txt
Folder
[1] - folder where the show.txt to use is located (or a filename in that folder)
- choose : will open a Folder Dialog to select the show.txt folder
[2] - mp3tag : will launch mp3Tag after finishing
- songs : will display parsed songs and exit, no tagging
- batch : batch tagging (used by Show Taggers)
-------------------------------------------------------------------------------
Launching via Send To
-------------------------------------------------------------------------------
- If you want you can create a Send To link and then select the folder
containing show.txt OR any file within that folder, right click and
choose "Send To"
- Creating the Send To Shortcut
1. Open File Explorer, type shell:sendto into the location box and press enter
2. Drag the Show Tagger.exe to the SendTo folder, WHILE holding down
CTRL+SHIFT (it should say "Create Link in SendTo")
3. Rename newly created Shortcut to remove the "- Shortcut" suffix
4. now right click a file in the show.txt folder and Send To > Show Tagger
5. Do the same steps 1..4 for Show Taggers.exe
-------------------------------------------------------------------------------
Exit Codes
-------------------------------------------------------------------------------
< 0 = on success
> 0 = on failure
-10 = stopped processing because a line matched INI:[regex]:notSwitch regex
1 = misc error
2 = if already running
3 = if no show.txt was found in the folder
4 = if show.txt could not be opened for processing
5 = less track files than songs parsed
6 = more track files than songs parsed
9 = User Closed Cancelled/Closed the Folder Dialog or Folder Choice Failure
10 = on failure of moving tagged show folder
20 = show.txt: on mixing and matching of SET, DISC, CD switches
21 = show.txt: User Defined Tag is not correctly formatted
22 = show.txt: Artist Line (The 1st Line) is blank
23 = show.txt: Album Line (The 2nd Line) is blank!
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Files Launcher DESCRIPTION
-------------------------------------------------------------------------------
- Handy little program that will open all files matching the extension in
a given folder
- I use it in MusicBee as a tool, so that I can assign a hotkey and quickly
open all the txt files or images in a folder
- use File Launchers.ini to specify files to ignore (that otherwise would launch)
-------------------------------------------------------------------------------
Launching via Command Line Arguments
-------------------------------------------------------------------------------
[1] - extension : e.g. txt or doc ; OR
images : opens all images found (bmp, jp(e)g, gif, png, svg, tif, tiff)
text : opens all text files found (e.g. txt, nfo, md)
ebook : opens all ebook files found (e.g. azw(3,4) epub, mobi)
document : opens all document files found (e.g. doc, rtf, xml, html(l), pdf)
documents : opens all document and text files found
all : opens all document, text, ebook & image files found
[2] - the full path to the folder
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Tips: Recommended Software
-------------------------------------------------------------------------------
Text Editor: Visual Studio Code (or VS Codium, a fork)
- you can multi-caret edit (i.e. edit a bunch of different lines at the same time)
- it will recommend text as you type, for example people's names that are in
the show.txt, very useful
CopyQ: Great Multi-Item Clipboard
- you can make your own Scripts like ones that can rewrite dates into
YYYY-MM-DD format (script: https://gist.github.com/mishaxz/fabfbb178fce3c94e12b1d6ff47ed880)
- or assign hotkeys to paste a chunk of text (like IGNORE, OYEAR, COMMENT lines)
File Explorer:
- XYPlorer Free is great and what I use for this, it can color code files
including based on recently used, has a preview window and many other nice
features and is multi-pane and multi-tab
- FreeCommander is 2-pane and multi-tab and it is very easy to filter
directories, I also like it and use it for other things than shows.
Renaming: Windows Power Toys (comes with Power Renamer)
- what can I say this is great, all you need is extremely rudementary knowledge
of regular expressions.. e.g. ^ matches the start of the line
Renaming: Bulk Renamer
- another renaming alternative, looks complicated but is easy to use
Renaming: ReNamer Lite
- useful to drop a bunch of tracks from different folders all at once and then
to prefix them with the folder name. This can be useful when you want to
move files into one folder
e.g. disc1\01 Gloria, 02 Moondance disc2\01 Domino, 02 Tupelo Honey
you can see you can't just copy them or the order will get messed up, so
this Software lets you use a rule to instantly rename all of them to
disc1-01 Gloria, etc. then you can copy them all out the subfolders into
one folder while retaining the order of the show. Mostly this is not a
problem with Grateful Dead or JGB shows, but is with Van Morrison and I
imagine a lot of other artists where the shows originate as bootleg CDs.
- you just configure this rule :File_FolderName: - and check the prefix box.
-------------------------------------------------------------------------------
Tips: Recommended Web Sites
-------------------------------------------------------------------------------
www.jerrybase.com : best for finding photos and tickets/passes for a show
www.jerrygarcia.com : also great for finding photos and tickets/passes for a show
www.regex101.com : great for practicing your regexes
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Tips
-------------------------------------------------------------------------------
- in order to move a disc forward (for example an NRPS Set that is disc 2, to
make it Set 0) move it up in the show.txt, write Set 0 and rename the song
files to start with a comma (,) this will bring those files ahead of the
other songs due to alphabetical order in Windows (do not use ~ or _ as these
follow letters and numbers in alphabetical ordering, unless you want to
put them last)
-------------------------------------------------------------------------------
Tips: My ALBUM format
-------------------------------------------------------------------------------
The Album line (mentioned in the Format section) can be anything you want
however there are benefits to the format I use, which is:
YYYY-MM-DDa/b Location description [Source Identifier]
I use the greatest Music Library Application of all time, i.e. MusicBee but
I imagine the same things might apply to other Music Library Applications.
Have the date in this format and at the start of the Album means that Albums
sorted in ascending order will be ordered by the Album date.
The Source Identifier makes the Album string unique in order to prevent
Album Collisions where you would see songs from different sources all displayed
as part of one Album (which would only happen if the Location part is identical,
as well as the date)... but if you add the [Source Identifier] at the end
then the Album is unique and will be displayed as multiple albums if there are
multiple sources for the same show.
The a and b are not really important, I just that to identify Early and Late
shows... you could also add "Early" or "Late" in the Location Description or
at the end of the Album text or not include it at all and have all songs
from both shows in the same Album but differentiate it with different Set #s
in your show.txt
I perfer to use the same pic for both Early and Late shows since it makes it
easy to recognize that 2 shows are related in MusicBee.
Some examples:
1983-05-28 Cape Cod Coliseum, South Yarmouth, MA [Steve Rolfe]
1990-12-04 Oakland Coliseum Arena - Oakland, CA [UltraMatrix:Miller]
1978-04-08 Veterans Memorial Coliseum - Jacksonville, FL [SBD:Joe Noel]
1973-10-25 Dane County Coliseum - Madison, WI [SBD-IIp:Clugston]
1970-10-30a University Gymnasium - State University of New York - Stony Brook, NY [SBD:SIRMick]
1970-10-30b University Gymnasium - State University of New York - Stony Brook, NY [SBD:SIRMick]
1973-07-27 Grand Prix Racecourse - Watkins Glen, NY (Soundcheck) [Matrix:Hunter Seamons]
(note: soundchecks I usually specify as Set 0 not a whole Album but in this case it
was the whole show)
2006-03-03 Nob Hill Masonic Auditorium, San Francisco, CA [Keep This Music Alive]
(Van Morrison Bootleg, Source is the Bootleg name)
It's Too Late to Stop Now Volume II
(Van Morrison Album)
-------------------------------------------------------------------------------
MusicBee - Searching Sites with my Album Format (YYYY-MM-DD)
-------------------------------------------------------------------------------
1) Create a Virtual Field in MusicBee YYYY-MM-DD (Album) = $Left(<Album>,10)
2) Define Sites in Preferences:Internet:Custom Web Links
- JerryBase [Show] https://jerrybase.com/search_advanced/advanced_results?start_date=<YYYY-MM-DD (Album)>&end_date=<YYYY-MM-DD (Album)>
- Jerry Garcia [Show] https://jerrygarcia.com/shows/?srt=MP&kw=<YYYY-MM-DD (Album)>
- etc.
3) Now you right click on tracks and search for the exact show!
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
COVERS (and other pictures)
-------------------------------------------------------------------------------
- Pictures can be embedded into all formats (except Ogg)
- NOTE: Currently WMA Pictures aren't added (this might be added in the future)
- any picture in the format 'show(optional text).png/jp(e)g/bmp' will be added
- they must be called:
- show.png (or.jp(e)g or .bmp) ; OR
- show description text.png (or.jp(e)g or .bmp)
- the "description text" can either be random stuff you write OR
MP3, WMA or FLAC Picture Codes (see table below)
- files are added in alphabetical order, show.png/jp(e)g/bmp being first
- so it's good practice for your main photo to be called show.png or show.jpg
- when filenames have the same name but different extension,
they will be added in alphabetical extension order
- MP3 or FLAC: any existing images are not affected or replaced
- but it is safe to run Show Tagger multiple times adding
the same pictures, there won't be duplicates
- M4A/MP4: tagging results is utter destruction of existing tags and Pictures
(it is necessary otherwise weird things can happen in some Players)
-------------------------------------------------------------------------------
MP3, WMA or FLAC Picture Codes (doesn't do anything for M4A)
-------------------------------------------------------------------------------
You write these codes as part of the filename, e.g. show leaflet.png,
if there is an exact match with the word in the middle (e.g. leaflet) then
that code will be used
other = Other
front = Cover Front
back = Cover Back
leaflet = Leaflet Page
media = Media ( Label Side Of Cd )
lead = Lead Artist/Solist
artist = Artist/Performer
conductor = Conductor
band = Band/Orchestra
composer = Composer
lyricist = Lyricist/Text Writer
location = Recording Location
recording = During Recording
performance = During Performance
movie = Movie/Video Screen Capture
fish = A Bright Coloured Fish
illustration = Illustration
logo = Band/Artist Logotype
publisher = Publisher/Studio Logotype
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
SHOW.TXT Format - most commands optional except first 2 lines
-------------------------------------------------------------------------------
Artist (e.g. Grateful Dead ) ; REQUIRED (MUST BE 1ST LINE)
Album (e.g. 1976-06-03 Paramount Theater, Portland, OR) REQUIRED (MUST BE on 2ND LINE)
- The first 2 or 4 characters (if digits) are used for year mp3 tag)
- e.g. 73-05-02 is equivalent to specifying YEAR 73
- e.g. 1973-05-02 is equivalent to specifying YEAR 1973
- e.g. Without a Net does not extract any date
- read the Tips section above for the benefits of the Album format I use.
(ALL TAGS DESCRIBED BELOW ARE OPTIONAL)
(ORDER does not matter EXCEPT:
- aside from COMMENT all these switches should occur BEFORE any songs
- COMMENT should occur after the songs because everything after it is detected
will be in the comment)
OYEAR (Original Year Tag) - Syntax: OYEARyear e.g. OYEAR 2010 or OYEAR2010
YEAR - Syntax: YEARyear e.g. YEAR 2010 or YEAR2010
*********************************************************************************************
* Notes about YEAR
*********************************************************************************************
* - if you specify a YEAR, that year is used for the Year tag
* - if you don't and a 4 digit or 2 digit year is detected as the first characters of the
* ALBUM line then that will be used for the year tag.
* e.g. 1983-05-28 Cape Cod Coliseum, South Yarmouth, MA [Steve Rolfe]
* 83-05-28 Cape Cod Coliseum, South Yarmouth, MA [Steve Rolfe]
*********************************************************************************************
GENRE - Syntax: GENREgenre e.g. GENRERock or GENRE Rock
KEYWORDS - Syntax: KEYWORDSkeywords e.g. KEYWORDSnew or KEYWORDS new;listen
- "new" is the default, so if you don't want that you have to
explicity write KEYWORDS to make it blank, or add your own keyword
MP3#tag=value - standard MP3 tags are not as English-language as FLAC tags
- you must write 4 character ID3V2.3 tags (https://docs.mp3tag.de/mapping-table/)
- see the example show.txt about custom tags to see what it looks like in a show.txt
TAG#tag=value STANDARD TAGS (FLAC, Ogg Vorbis, WMA, M4A):
- Syntax TAG#tag=value where tag is the FLAC, OGG Vorbis, WMA or M4A
- WMA: standard tags should be written in the format
TAG#WMMood=Awesome (i.e. TAG#WM <- WM capitalized). Doesn't apply to user-defined tags.
- don't use this is a corresponding switch already exists
e.g GENRE, KEYWORDS, etc. or for ALBUM or ARTIST
- a list of some FLAC & Ogg Vorbis tags https://getmusicbee.com/forum/index.php?topic=18622.0
- list of WMA tags https://docs.microsoft.com/en-us/windows/win32/wmformat/attribute-list
- M4A (you can try https://docs.mp3tag.de/mapping-table/ or googling but M4A
tagging is a dark science, a tag that works in some players won't work in others
and vice-versa)
USER-DEFINED TAGS (FLAC, Ogg Vorbis, WMA, M4A & MP3):
- write your own tag (e.g TAG#COOLFACTOR=Very High! or TAG#MIKESREVIEW=Awesome Sauce)
IGNORE. <- Ignores for song names any text until after the first "."
or whatever character(s) is after IGNORE.. e.g. IGNORE- or IGNORE---
(or IGNORE - or IGNORE ---)
or if it is a # then ignores the first specified # of characters
- e.g. IGNORE4 ignores first 4 (or IGNORE 4)
e.g IGNORE14 ignores the first 14 characters
- if enclosed in // it is a regex, e.g. IGNORE/^\d{3}
- for dusborne info file song formats use IGNORE/^.+\-\s/
e.g. 107 - gd74-08-06s1t07 - Eyes of the World
RTRIM( <- trims anything in a song name starting at the RTRIM character(s) specified
until end of line e.g. RTRIM( trims everything starting at the left parenthesis
- good for example for removing [5:23] or (5:23) after songs
- also can use regexes like IGNORE does
e.g. RTRIM/\d{2}:\d{2}/ to get rid of times like 03:12 that sometimes follow songs
or RTRIM/\d{1,2}:\d{2}/ for 6:12 (can match 12:23 also)
- RTRIMT or RTRIM T (uppercase T) will remove times from songs also
(e.g jack straw 12:34 or 01. jack straw 6:15)
if the comment section has not begun:
- blank lines, ignored.
- lines that consist of the same repeated character are ignored e.g. -------------
- lines containing "run time", "runtime" or "total time", ignored.
Anything can be between run or total and time... e.g. total disc time
SOUNDCHECK (or variants e.g. sound|snd followed by check|chk) marks the Set as Set 0 (i.e. Disc 0)
- unfortunately for now if this (e.g. soundcheck) is the name of a song, it will be detected
as a Sound Check Set marker and tagging will fail. If this occurs then edit the song name to
something else.
*********************************************************************************************
* Notes about SET
*********************************************************************************************
* - reversed set/disc/cd supported, e.g. "1st..5th Set|Disc|CD" or "first...fifth Set|Disc|CD"
* reversement (e.g. 1st Set -> Set 1) will happen first then the following will be processed:
*
* - SET can also be CD or DISC instead (all case insensitive)
* - Don't use Disc or CD and Set together in show.txt, decide on one delete the others
* - SET 1 can also be Set I,II,III,IV,V or Set One,Two..Five)
* - if no SET is ever specified, songs are assumed to be Set 1)
* - non alphanumeric crap can be between Set and the number, e.g. Set #1 or Set-V)
* - non alphanumeric crap after will be ignored e.g. Disc One:Early Show (the :Early Show part)
* - lines with set/disc/cd followed by cont (e.g. cont or cont'd or continued) are ignored
* (unfortunately this means that songs cannot have these words in them)
* - SET, ENCORE, FILLER, etc. can be in any order
* - ENCORE or FILLER adds 1 to the current disc # (they can be used multiple times each)
* - SET and ENCORE lines can have garbage before and after
* e.g. --- SET I ----
* === Encore ===
* @!#!@#!@#$4 Set1@##$$$
*********************************************************************************************
* Notes about songs
*********************************************************************************************
- use IGNORE to ignore stuff before the start of the song name (see IGNORE for more details)
(e.g. IGNORE3 ignores the first 3 spaces e.g. 11 Scarlet Begonias)
- use RTRIM to ignore stuff (like song length) after the song name (see RTRIM for more details)
- a song track must be on a single line
7. Cryptical Envelopment>
Drums>
The Other One>
Cryptical Envelopment
should be written as:
7. Cryptical Envelopment>Drums>The Other One>Cryptical Envelopment
*********************************************************************************************
SET 1 <- starts tagging as Disc 1... note instad of word SET, DISC can be used
song 1 name [8:30] <- optional time in square brackets, will be stripped out if RTRIM[ is used
song 2 name
song 3 name
etc.
SET 2 <- starts tagging as Disc 2
song 4 name
SET 3
song 5 name
Encores <-- if "Encore" is found... e.g. Encore, ENCORE, Encores are all ok
instead we could've used SET 4 or DISC 4 in this example, it does the same thing
- if there are multiple encores write one Encore before each group of encore songs
- it increases the disc # tag each time
FILLER <-- works like an ENCORE but is called FILLER (e.g. Filler:)
song 6 name
song 7 name
E: Johhny B. Goode <-- these are all valid also, they are song with encores specified
E1: Day Job - so E or E1 would add 1 to current disc #
e.g. it was after Set 3 so E1 is tagged as Disc 4
Encore 2: Liberty - now in this same example, this would be tagged as Disc 5
(multiple Encores in a row, without specifying #s, are treated as members of the
same Encore "Set", i.e. Disc # Tag)
Encore: Baby Blue
E: Samson
E: Eyes
US Blues (Encore)
*********************************************************************************************
* Notes about Useless Lines
*********************************************************************************************
* Useless lines are ignored, unless they occur after a COMMENT starts
* - also the first 2 lines are always ARTIST and ALBUM, they are never useless lines
*
* Useless lines may be [they are in the INI by default]:
* - blank whitespace lines
* - lines containing the word missing
* - repetitive lines e.g. ------------ or +++++++++++ or ********* and can include whitespace
* - lines like run time or total time (also containing times and punctuation is ok)
* - ANY other line that matches a [useless] regex you defined in the INI
*********************************************************************************************
*********************************************************************************************
* Notes about Stop Lines
*********************************************************************************************
* Stops Lines, when encountered, will stop processing of the Show.txt file
* - even if it occurs after a COMMENT has started
* - the first 2 lines (ARTIST & ALBUM lines) are exempt from Stop Line matching
* - a Stop Line is any line matching the regex in the INI [regex]:stopLine
*********************************************************************************************
COMMENT <- if COMMENT text found then everything after goes into
the comment tag (unless it matches a stop line, at which point processing stops)
This stuff
is
all
comment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment