Created
May 20, 2022 21:35
-
-
Save mishaxz/6597596cd85beda82cb5bf6440c4f843 to your computer and use it in GitHub Desktop.
Show Tagger Manual
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
------------------------------------------------------------------------------- | |
; .▄▄ · ▄ .▄ ▄▄▌ ▐ ▄▌ ▄▄▄▄▄▄ ▄▄▄· ▄▄ • ▄▄ • ▄▄▄ .▄▄▄ | |
; ▐█ ▀. ██▪▐█ ▄█▀▄ ██· █▌▐█ ▀•██ ▀▐█ ▀█ ▐█ ▀ ▪▐█ ▀ ▪▀▄.▀·▀▄ █· | |
; ▄▀▀▀█▄██▀▀█▐█▌.▐▌██▪▐█▐▐▌ ▐█.▪▄█▀▀█ ▄█ ▀█▄▄█ ▀█▄▐▀▀▪▄▐▀▀▄ | |
; ▐█▄▪▐███▌▐▀▐█▌.▐▌▐█▌██▐█▌ ▐█▌·▐█▪ ▐▌▐█▄▪▐█▐█▄▪▐█▐█▄▄▌▐█•█▌ | |
; ▀▀▀▀ ▀▀▀ · ▀█▄▀▪ ▀▀▀▀ ▀▪ ▀▀▀ ▀ ▀ ·▀▀▀▀ ·▀▀▀▀ ▀▀▀ .▀ ▀ | |
------------------------------------------------------------------------------- | |
; 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