-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathacxi.1
1771 lines (1379 loc) · 68.4 KB
/
acxi.1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.TH ACXI 1 "2023\-09\-16" acxi "acxi manual"
.SH NAME
acxi \- Command line audio conversion tool
.SH SYNOPSIS
Most of the commonly used options have short forms to make typing the commands
faster.
.IP * 2
Directories: [\fB\-\-destination\fR, \fB\-d\fR {destination-path}]
[\fB\-\-dot\fR] [\fB\-\-nlink\fR] [\fB\-\-no\-dot\fR] [\fB\-\-no\-nlink\fR]
[\fB\-\-recurse\fR {-1-xx}] [\fB\-\-source\fR, \fB\-s\fR {source\-path}]
[\fB\-\-source\-glob\fR, \fB\-\-glob\fR, \fB\-g\fR {relative path}]
.IP * 2
Input/Output: [\fB\-\-input\fR, \fB\-i\fR {flac|raw|shn|wave}]
[\fB\-\-output\fR, \fB\-d\fR {flac|mp3|ogg|opus}]
.IP * 2
Syncing:
[\fB\-\-append\fR, \fB\-\-copy\-append\fR, \fB\-a\fR {extensions}]
[\fB\-\-clean\fR] [\fB\-\-codec\fR {aac|libfdk_aac2}]
[\fB\-\-copy\fR, \fB\-c\fR {extensions}] [\fB\-\-copy\-append \fR {extensions}]
[\fB\-\-dither\fR {dither\-type}]
[\fB\-\-exclude\fR, \fB\-x\fR {filename|extension}]
[\fB\-\-exclude\-append\fR, \fB\-y\fR {filename|extension}]
[\fB\-\-force\fR, \fB\-f\fR] [\fB\-\-fork\fR, \fB\-F\fR {0-xx}]
[\fB\-\-quality\fR\fR, \fB\-q\fR {NUMBER}]
[\fB\-\-resample\fR {bit-depth:sample-rate}]
.IP * 2
Tagging: [\fB\-\-autotag\fR, \fB\-A\fR]
[\fB\-\-autotag\-create\fR, \fB\-C\fR]
[\fB\-\-autotag\-create\-single\fR, \fB\-S\fR]
[\fB\-\-autotag\-create\-multi\fR, \fB\-M\fR {filename start ID}]
[\fB\-\-autotag\-file\fR, \fB\-\-atf\fR, \fB\-\-af\fR, {file name}]
[\fB\-\-image\fR, \fB\-I\fR [cover image filename|remove]]
[\fB\-\-info\-file\fR, \fB\-\-if\fR, \fB\-\-prefill\-file\fR, \fB\-\-pf\fR
{release info file name}]
[\fB\-\-infofix\fR, \fB\-X\fR [0acdklmnqtuvw]]
[\fB\-\-info\-rating\fR {2\-xxx}
[\fB\-\-multiartist\fR, \fB\-\-ma\fR {[at|ta]:separator}]
[\fB\-\-prefill\fR, \fB\-E\fR]
[\fB\-\-prefill\-tag\fR, \fB\-\-pt\fR {tags}]
[\fB\-\-no\-replaygain\fR]
[\fB\-\-remove\-images\fR, \fB\-\-image\-remove\fR, \fB\-R\fR]
[\fB\-\-remove\-padding\fR, \fB\-P\fR]
[\fB\-\-start\fR {0-xx}]
[\fB\-\-tag\fR, \fB\-T\fR] {"TAG1%:tag value^^TAG2%:tag value"}]
[\fB\-\-taglist\fR, \fB\-L\fR [acfiw]]
[\fB\-\-taglist\-file\fR {file name}]
[\fB\-\-unique\fR {comma separated tags}]
.IP * 2
Analyze/Checksums: [\fB\-\-analyze\fR, \fB\-Z\fR]
[\fB\-\-checksum\fR, \fB\-K\fR] [\fB\-\-checksum\-delete\fR, \fB\-D\fR]
[\fB\-\-checksum\-ffps\fR, \fB\-\-ffps\fR]
[\fB\-\-checksum\-verify\fR, \fB\-V\fR]
[\fB\-\-duplicates\fR, \fB\-\-dupes\fR] [\fB\-\-ffprobe\fR]
[\fB\-\-infofix\fR, \fB\-X\fR [qv]] [\fB\-\-no\-ffp\fR]
[\fB\-\-no\-md5\fR]
[\fB\-\-z\-min\-size\fR {0\-xxx}] [\fB\-\-z\-min\-time\fR {0\-xxx}]
.IP * 2
Miscellaneous: [\fB\-\-aggregate\fR, \fB\-G\fR [file name|extension]]
[\fB\-\-config\fR, \fB\-\-configuration\fR]
[\fB\-\-help\fR, \fB\-h\fR] [\fB\-\-no\-ssl\fR]
[\fB\-\-update\fR, \fB\-U\fR [3]] [\fB\-\-version\fR]
.IP * 2
Output Controls: [\fB\-\-verbosity\fR, \fB\-v\fR {0-3}]
[\fB\-\-quiet\fR]
.IP * 2
Debugging: [\fB\-\-dbg\fR {1\-xx}[,y][,z]...]
[\fB\-\-dry\fR, \fB\-\-dry\-run\fR, \fB\-\-test\fR]
.SH DESCRIPTION
\fBacxi\fR is a command line audio conversion program and audio processing
program. It converts and syncs all desired source lossless files to the desired
output format, and to a different directory location.
.PP
Supports lossless input formats aiff/flac/raw/shn/wav. Output formats are flac,
ogg, opus, aac/m4a, or mp3. aif/raw/shn can only output to flac. aac, m4a, mp3
can only have flac as input format. Resampling can only have flac as input and
output formats.
.PP
By default, syncing will also copy over most common filetypes like gif, jpg,
png, and txt. You can change the defaults using a configuration file, or using
the \fB\-c\fR or \fB\-a\fR options.
.PP
The destination directory cannot be the same as the source directory, but it can
be inside of the source directory.
.PP
It can also generate or verify md5 and ffp checksum files if required, as well
as tag/embed images using \fBauto.tag\fR or \fB\-\-tag\fR / \fB\-\-image
[filename]\fR methods.
.PP
\fBacxi\fR runs pretests on each start to make sure input and output directories
are valid, conversion programs for input and output formatting programs are
present, and other user values are correct.
.SH TABLE OF CONTENTS
This man page is pretty long and information packed. The options items are
broken up into the same organization as the help menu. The man page is divided
into the following sections:
* \fBDEPENDENCIES\fR Tools and codecs required by the various features.
* \fBUSING OPTIONS\fR How to use the command line options.
* \fBINPUT/OUTPUT OPTIONS\fR input, output codecs; source, destination
directories; source globbing, dot files, recursion levels.
* \fBSYNCING OPTIONS\fR Options related to syncing your collection. Includes
forking, clean, copy types, excludes, codecs, dither, quality, resample,
* \fBTAGGING OPTIONS\fR Includes autotag, image embed, infofix, prefill, tag,
tag list.
* \fBANALYZE/CHECKSUMS OPTIONS\fR Analyze, duplicates, checksums.
* \fBMISCELLANEOUS OPTIONS\fR Aggregate files, help, version, self\-updater.
* \fBDEBUG/OUTPUT CONTROL OPTIONS\fR Dry run, debug, verbosity levels.
* \fBCONFIGURATION FILE\fR Configuration file name, locations, and configuration
values.
* \fBBUGS\fR Where to report bugs, or make issue requests etc.
* \fBHOME PAGE/AUTHORS\fR Home page, copyright, authors, etc.
.SH DEPENDENCIES
For backward compatibility, acxi requires only Perl 5.010 (or newer), so it
should run on anything. Several features (copy, make directory, find files) were
moved from *nix commands to Perl native commands in version 3, which should make
acxi fully platform agnostic.
.IP * 2
\fBAAC/M4A\fR encoding requires \fBffmpeg\fR with either \fBlibfdk_aac\fR
(Debian/Ubuntu package: \fBlibfdk_aac2\fR) or native \fBffmpeg aac\fR codec.
Source file must be flac. To transfer tags, \fBm4a\fR must be used.
.IP * 2
\fBFLAC\fR resampling requires \fBffmpeg\fR and \fBmetaflac\fR (for source file
sample rate data).
.IP * 2
\fBMP3\fR encoding requires: \fBlame\fR and \fBflac\fR. Source file must be
flac. MP3 encoding does not support wav or raw input formats.
.IP * 2
\fBOgg\fR encoding requires \fBoggenc\fR (Debian/Ubuntu package:
\fBvorbis-tools\fR).
.IP * 2
\fBOpus\fR encoding requires \fBopusenc\fR (Debian/Ubuntu package:
\fBopus-tools\fR).
.IP * 2
\fBSHN \-> \fBFLAC\fR conversion requires the codec \fBshorten\fR and
\fBffmpeg\fR.
.IP * 2
\fB\-\-analyze\fR, \fB\-\-duplicates\fR, \fB\-\-ffps\fR, and \fB\-\-infofix
[qv]\fR require \fBmetaflac\fR (with the following exception).
.IP * 2
\fB\-\-analyze\fR, \fB\-\-infofix q\fR require \fBffprobe\fR for non \fBflac \fR
input types, or if using \fB\-\-ffprobe\fR option with input type \fBflac\fR.
.IP * 2
\fB\-\-autotag\fR, \fB\-\-tag\fR, \fB\-\-image\fR, and \fB\-\-image\-remove\fR
require \fBmetaflac\fR for \fBVORBIS\fR tagging.
.IP * 2
\fB\-\-checksum\fR and \fB\-\-checksum\-delete\fR require \fBmetaflac\fR and
\fBmd5sum\fR (or any comparable program that generates md5sums).
.IP * 2
\fB\-\-checksum\-verify\fR and \fB\-\-infofix v\fR require the \fBflac\fR
executable.
.IP * 2
\fB\-\-checksum\-verify\fR requires \fBmd5sum\fR (or any comparable program that
generates md5 hashes).
.IP * 2
\fB\-\-fork\fR requires Perl module \fBParallel::ForkManager\fR.
.IP * 2
\fB\-\-infofix c\fR requires Perl Core Module \fBEncoding::Guess\fR.
.IP * 2
\fB\-\-infofix k\fR requires Perl Core Module \fBPOSIX::strftime\fR.
.IP * 2
\fB\-\-infofix [tu]\fR require Perl module \fBText::Autoformat\fR.
.IP * 2
\fB\-\-taglist\fR require \fBmetaflac\fR for getting \fBFLAC\fR tags.
.IP * 2
\fB\-U\fR Self-updater requires \fBcurl\fR.
.PP
In theory, acxi 3.x should run on Windows and Macs, but I have not tested that,
but as long as the source/destination directory paths and the
application/configuration paths are correct, it should 'just work'.
.SH USING OPTIONS
For example:
.EX
\fBacxi \-o mp3\fR or \fBacxi \-fo opus\fR or \fBacxi \-d /home/you/music\fR
.EE
.PP
Note that some options have long and short forms. The short form is used when
available in examples in order to keep things simple.
.PP
All tagging or checksum options (\fB\-A\fR, \fB\-C\fR, \fB\-\-dupes\fR,
\fB\-D\fR, \fB\-E\fR, \fB\-\-ffps\fR, \fB\-G\fR, \fB\-I\fR, \fB\-K\fR,
\fB\-M\fR, \fB\-P\fR, \fB\-R\fR, \fB\-S\fR, \fB\-T\fR, \fB\-V\fR, \fB\-Z\fR)
must have an explicit source (\fB\-s\fR) location supplied to avoid errors.
.SH INPUT/OUTPUT OPTIONS
These options are related to input/output actions, and may apply to sync,
analyze, checksum, tagging, and aggregate options.
.TP
.B \-\-destination, \fB\-d {path}\fR
Full path to the directory where you want the processed lossy (eg, ogg) files to
go. Cannot start with \fB../\fR.
.TP
.B \-\-dot\fR
Disables the default behavior when creating file/directory syncing/action lists
of excluding dot files and directories (like \fB/home/user/.config\fR). Added by
request, but use at your own risk, I take NO responsibility for any unintended
consequences. Note that if you do find unintended consequences, you should be
able to filter those out using additional \fB\-\-exclude\fR lists.
.TP
.B \-\-glob\fR, \fB\-g\fR, \fB\-\-source\-glob {path relative to \-s path}\fR
.br
See \fB\-\-source\-glob\fR.
.TP
.B \-\-input\fR, \fB\-i {aif|flac|raw|shn|wav}\fR
Input type. Supported types: flac, wav, raw, shn.
\fBaif\fR/\fBraw\fR/\fBshn\fR/\fBwav\fR \- only support flac output.
\fBshn\fR \- requires the shorten codec, which you usually have to build
yourself unless you can find a package for it. Use \fB\-v 3\fR to test the
first time to make sure you have shorten codec installed.
Some other input types may be active for testing purposes occasionally, but acxi
does not promote, advocate, or officially support those types (like mp3 to
flac).
Supports flac to flac for cases where you might want to redo flac files to known
quality/compression levels, or redo them using current flac codecs.
Tags transfer from AIF files that are tagged to FLAC files in my tests.
.TP
.B \-\-nlink\fR
Set \fB$File::Find::dont_use_nlink = 0\fR. Default is \fB1\fR. Only change this
if you have a reason to do so. Setting value to \fB0\fR may make \fBcifs\fR type
file system reads fail, on a \fBsamba\fR network share for example. If you
encounter issues with the default value, please post an issue on the acxi
codeberg.org page.
See this PerlMonks thread for an explanation:
\fIhttps://www.perlmonks.org/?node_id=1180606\fR
.TP
.B \-\-no\-dot\fR
Overrides user configuration \fBDOT\fR. Basically restores default behavior for
acxi in terms of skipping all dot files. Only useful if you have set \fBDOT\fR
to true in your configuration file and want to do a one time override of that
setting.
.TP
.B \-\-no\-nlink\fR
Set \fB$File::Find::dont_use_nlink = 1\fR. This is the default value. See
\fB\-\-nlink\fR for details.
.TP
.B \-\-output\fR, \fB\-o {aac|flac|m4a|mp3|ogg|opus}\fR
Output type. Output only for syncing operations. Supported types: aac, flac,
ogg, opus, m4a, mp3
\fBaac\fR \- only supports flac input type, To preserve flac tags, use m4a.
\fBflac\fR \- only supports aiff, flac, shn, wav, or raw input types.
\fBm4a\fR \- only supports flac input type, Container around aac data. Use if
you want to preserve flac tags in your aac audio file.
\fBmp3\fR/\fBogg\fR/\fBopus\fR \- only support flac input type.
.TP
.B \-\-recurse {number}\fR
There may be cases where you want a certain action to NOT recurse beyond the
number of steps you supply as an argument for this option. Default recursion
level is infinite (-1). If you use 0, it will only return files for the current
directory.
This can be useful if you for example do not want to create ffp or md5, or sync
files in a sub directory.
In general, use the \fB\-\-test\fR option to verify the results are what you
expected before actually proceeding with this option for real.
.TP
.B \-\-source\fR, \fB\-s {path}\fR
Path to the top-most directory containing your source files (eg, flac). Cannot
start with \fB../\fR.
.TP
.B \-\-source\-glob\fR, \fB\-\-glob\fR, \fB\-g {path relative to \-s path}\fR
Accepts wild card paths if you only want to update or check certain directories
within the main \fB\-\-source\fR working directory. Requires \fB\-\-source\fR
(or pre-configured \fBSOURCE_DIRECTORY\fR), wild card path must be within
\fB-\-source\fR.
Sample:
.nf
\fBacxi -s ./ \-g 'BandName*' \-V
acxi -s ./ \-g '{BandName,Band Name,Band_Name}*' \-V\fR
.fi
Will only verify folders tarting with BandName. Remember to always quote the
value otherwise your shell will expand the wild cards!!
Uses standard globbing patterns: * one or more of anything; {one,two,three}
matches one of the comma separated values inside {...}. Note that * only matches
directory names or files, not the path separator, like /.
Works with all options except \fB\-\-clean\fR and \fB\-\-prefill\fR.
.SH SYNCING OPTIONS
Sync your lossless collection to lossy, or to another lossless format, or
resample lossless to lossless.
.TP
.B \-\-append\fR, \fB\-\-copy\-append\fR, \fB\-a {extensions}\fR
Takes one or more comma separated extensions. Do not use whitespaces in this
list. These will be appended on to the current list being used on a one time
basis. This can be useful if you want to copy over a specific file type for one
sync action without having to make a full list with \fB\-c\fR.
Sample: \fBacxi \-a tag,md5\fR will add md5 and tag file type to copy list.
.TP
.B \-\-clean [sync]\fR
Clean directories and files from destination (compressed) directories which are
not present in the source music directories. Will show you the directories or
files to be removed before deleting them, and you have to confirm the deletion
of each set two times before it will actually delete it. If used with optional
value \fBsync\fR, will proceed to sync actions, otherwise exits after cleaning.
The paths provided by \fB\-s\fR and \fB\-d\fR must be relative to either root or
\fB$HOME\fR:
.EX
\fBacxi \-\-clean \-s /home/fred/music \-d /home/fred/music/opus\fR
.EE
OR
.EX
\fBacxi \-\-clean \-s ~/music \-d ~/music/opus\fR
.EE
Take care with this one, if you have other compressed formats in your compressed
directory than your default $OUTPUT_TYPE format, it will want to delete all
those, so do not use this option unless your compressed directories are literal
true copies of your source directories.
To confirm deletion of each group, you must first type 'delete' then hit enter,
then type 'yes' to confirm the deletion. This should avoid errors and unintended
deletions.
Note that this feature does not run in silent/quiet mode because it should never
be used automatically, or without explicit confirmation by the user. It can be
enabled using the CLEAN configuration option below so that acxi always cleans up
before it starts syncing.
.TP
.B \-\-codec {libfdk_aac|aac}\fR
Currently only supported for aac/m4a output using ffmpeg.
.TP
.B \-\-copy\fR, \fB\-c {extensions}\fR
Comma separated list of extensions for file types you want to sync to your lossy
music directory. Overrides default values. Use lowercase, but it's case
insensitive internally. Do not include the period in the extension.
Default values are: bmp doc docx gif jpg jpeg odt pdf png tif txt
If you use no value, it will not copy anything.
Sample: \fB\-c txt,pdf,png,jpg,jpeg,gif\fR
.TP
.B \-\-dither {dither-type}\fR
Use with \fB\-\-resample\fR and if you want to use a different dither type than
default shibata. Possible values:
.nf
\fB0\fR \- no dither
\fBrectangular\fR \- rectangular dither
\fBtriangular\fR \- triangular dither
\fBtriangular_hp\fR \- triangular dither with high pass
\fBlipshitz\fR \- Lipshitz noise shaping dither
\fBshibata\fR \- Shibata noise shaping dither (default value)
\fBlow_shibata\fR \- low Shibata noise shaping dither
\fBhigh_shibata\fR \- high Shibata noise shaping dither
\fBf_weighted\fR \- f-weighted noise shaping dither
\fBmodified_e_weighted\fR \- modified-e-weighted noise shaping dither
\fBimproved_e_weighted\fR \- improved-e-weighted noise shaping dither
.fi
Read more on these dither types here:
\fIhttps://ffmpeg.org/ffmpeg-resampler.html\fR
Dithering is only applied if being resampled to sample depth of less than 24
bit.
.TP
.B \-\-exclude\fR, \fB\-x {items}\fR
Exclude a list of unique strings separated by ^^, or a full path to an exclude
file whose name includes the value set in \fB$EXCLUDE_BASE\fR.
Excludes sync/copy action to destination directory. Replaces \fBEXCLUDE\fR
values if present. Anything matching in any part of the source directory file
path will be excluded or removed from the destination directory.
If it's a path to a file of excludes, use one exclude string per line.
Samples:
.nf
\fB\-\-exclude='artwork^^Daisy Queen^^Bon Jovi'
\-\-exclude='/home/me/music/excludes/acxi-excludes-phone.txt\fR
.fi
If you want to temporarily suspend exclude actions one time, use:
\fB\-\-exclude='UNSET'\fR
.TP
.B \-\-exclude\-append\fR, \fB\-y {items}\fR
Append an item to the list of excludes or file. Only accepts string values, not
a file path.
Sample: \fB\-\-exclude\-append='My Sharona^^Dancing Queen'\fR
.TP
.B \-\-ffprobe\fR
Force \fB\-\-analyze\fR and \fB\-\-infofix q\fR to use ffprobe instead of
metaflac for flac files. Useless!!! Incredibly slow, but just in case you want
to confirm the outputs of the two, or something. My tests showed 30x slower.
.TP
.B \-\-force\fR, \fB\-f\fR
Overwrites all the mp3/ogg/opus/jpg/txt etc. files, even if they already exist.
This is useful if you for example want to change compression quality on existing
files.
.TP
.B \-\-fork\fR, \fB\-F {0-xx}\fR
Uses Perl module \fBParallel::ForkManager\fR to allow for forking of audio file
conversions actions. This can speed up your syncing a lot depending on how many
threads your CPU can support and how many you assign with this option.
Supports integer values \fB0\fR or greater, but tests show 1 is slower than not
using forking at all. \fB0\fR is default, and disables forking.
Some debugging features will be slightly distorted if fork is used, but it is
only cosmetic.
See also configuration file option \fBFORK\fR if you want to set this
permanently.
Please note that this can have strange consequences if you run it on a huge job,
even if you use only half your threads, the system can still act strange as a
result of running it with multiple forks.
.TP
.B \-\-quality\fR, \fB\-q {number}\fR
Set compression quality level.
\fBaac/m4a\fR \- n can be an integer between 10\-500 (bitrate). 500 is largest
file/highest quality.
\fBflac\fR \- n can be an integer between 0\-8, 0 is largest file / fastest
conversion time, 8 is smallest file, longest time. Note that tests show there is
very little point in using anything over 4.
\fBmp3\fR \- n can be an integer between 0\-9 (variable bit rate), 0 is largest
file / highest quality.
\fBogg\fR \- n can be between \-1 and 10. 10 is the largest file/highest
quality. Fractions are allowed, e.g. \fB\-o ogg \-q 7.54\fR
\fBopus\fR \- n can be an integer between 6\-256 (bitrate). 256 is largest
file/highest quality.
Note that using a higher or lower quality than you used to create the compressed
files will not result in redoing those files unless you use the \fB\-f\fR /
\fB\-\-force\fR option to force the overwrite of the existing files.
.TP
.B \-\-resample {bit depth:sample rate khz}\fR
Allows for standard resampling options: 16|20|24 bit depth and
44.1|48|88.2|96|192 khz sampling rate.
To get best results, always make sure to resample to a sampling rate that
divides evenly into the original sampling rate, for example, if the original is
96khz sampling rate, 24 bit, resample to 48khz, 16 bit (96/2 == 48).
If you use values that do not divide evenly, you have to deal with synthesizing
sample issues (depending on how the resampling is done, of course), and your
audio will not be as good as it could be. Note that 44.1 is only required for
Audio CDs, and in most cases, the cd burning software can deal with that itself,
unless you want to force it using acxi.
In short, if you have 192 or 96 khz originals, resample them to 48 khz. If you
have 88.2 khz, resample it to 44.1. Do not sample upwards, it's just wasted
bytes, for example, there is no reason to resample from 44.1 to 88.2. In almost
all cases, if you need to work like that, use a dedicated DAW program like
Audacity and let it do the resamplings to higher levels in its native mode, then
after you have worked on the project, save it, and export to normal sampling
rates and bit depths.
IMPORTANT: use the \fB\-Z\fR analyze option first to make sure what the bit
depth and sampling rate of your files are before using this resampling option.
\fB\-\-resample\fR and \fB\-\-analyze\fR are meant to be used together to avoid
errors, and so you always can be sure of what you are actually dealing with.
Output for \fB\-v1\fR shows source file bit-depth:sample-rate and resample
bit-depth:sample-rate per file. \fB\-v2\fR adds dither type to output resample
data. Dither (\fBshibata\fR default, use \fB\-\-dither {type}\fR for alternates)
is added when sampling from bit depths of 24 or more to less than 24.
Sample:
.nf
\fB# to get sampling rates etc:
acxi \-s ./ \-Z
[.... output...]
# then run resampling once you have determined sampling rates etc
acxi \-s working \-d results \-i flac \-o flac \-\-resample 16:48\fR
.fi
.TP
.B \-\-resample\-override\fR
Allows users to select any supported bit depth (4\-32) and sample rate, in khz
(1\-655). Why you would want to do this is beyond me, but if you want to, you
can if you add this override switch.
.SH TAGGING OPTIONS
Create autotag files, fix info files, create prefills, image embedding and
removal, command line and autotag tagging.
.TP
.B \-\-autotag\fR, \fB\-A\fR
Requires specially formatted file, default name \fBauto.tag\fR, to be put into
each music collection directory. See the file for explanations.
FLAC input files only. OGG/Opus may be added. Will search source directory for
\fBauto.tag\fR and update each collection/album that has that file present with
the tagging information contained in it.
Note that all existing tags are removed. Default is to preserve the existing
\fBREPLAYGAIN\fR tags in the \fBauto.tag\fR file since the assumption is those
were generated for a reason.
See codeberg.org acxi page for a blank sample file, but make sure to use
\fB\-\-autotag\-create\fR, \fB\-\-autotag\-create\-single\fR, or
\fB\-\-autotag\-create\-multi [prefix]\fR because it's a LOT faster that way,
and you don't have to find the file. These file builders also preserve existing
\fBREPLAYGAIN\fR and \fBWAVEFORMATEXTENSIBLE_CHANNEL_MASK\fR data found in the
track file.
Notes on \fBIMAGE\fR: Avoid using large images, and as far as I can tell,
there's no point in using anything other than the standard 'cover' type image
(type 3). Keep sizes down by optimizing the image down to around 30\-60 KiB,
300\-400 pixel width.
If you make a mistake, or want to undo the images, use \fB\-\-remove\-images
\-\-autotag\fR after updating the \fBauto.tag\fR file by either removing the
value for \fBIMAGE\fR or changing the value. Most media players I tested on only
pay attention to the main image, and only one of them. Don't use a flac file as
a way to store large high resolution images as a general rule, it just makes the
entire collection pointlessly bloated.
Can be used with \fB\-K\fR or \fB\-D\fR for all in one tag checksum actions.
See \fB\-\-tag\fR or \fB\-\-image\fR for updating/modifying existing FLAC
comment values, or adding images to your FLAC files.
.TP
.B \-\-autotag\-create\fR, \fB\-C\fR
Creates the \fBauto.tag\fR file in the directory, and populates it with field
names, and per track blocks that include the track file name so you can just
fill out the fields you want. Not recommended.
if you use the \fB\-\-autotag\-create\-single\fR or
\fB\-\-autotag\-create\-multi\fR options instead Will also populate the
\fBTRACKNUMBER\fR and \fBTRACKTOTAL\fR fields.
All existing \fBREPLAYGAIN\fR tags for the audio files are preserved and used in
the auto.tag file. If want to remove those, use the \fB\-\-no\-replaygain\fR
option.
.TP
.B \-\-autotag\-create\-multi\fR, \fB\-M {file prefix}\fR
Similar to \fBautotag\-create\-single\fR except it includes a prefix argument
which is the unique per disk track file name ID. Uses \fB%\fR to indicate a
number between 1 and 9, or \fB@\fR to indicate an upper/lower case letter from A
to Z.
Use together with \fB\-E\fR (\fB\-\-prefill\fR) To prepopulate the \fBALBUM,\fR
\fBARTIST\fR, \fBALBUMARTIST\fR, \fBPERFORMER\fR, \fBDATE\fR, \fBYEAR\fR, and
\fBTITLE\fR fields as well.
Samples:
\fB\-M d%\fR [d1track02.flac]; \fB\-M d%\-\fR [d2\-track04.flac];
\fB\-M %\fR [112.flac]; \fB-M 2015-03-21.d%.\fR [2015-03-21.d1.track03.flac]
\fB\-M d@\-\fR [dAtrack02.flac]; \fB\-M d@\-\fR [dB\-track04.flac];\n";
\fB\-M @\fR [a12.flac]; \fB-M 2015-03-21.d@.\fR [2015-03-21.da.track03.flac]
This will create prepopulated \fBDISCTOTAL\fR, per disk
\fBDISCNUMBER\fR and \fBTRACKTOTAL\fR, and per track \fBTRACKNUMBER\fR fields.
This saves a lot of time when tagging multi disk sets.
Caveat: does not work with per disk subfolders, sorry.
.TP
.B \-\-autotag\-create\-single\fR, \fB\-S\fR
When creating \fBauto.tag\fR file, as well as populating the per track file
names, it also fills in the \fBTRACKTOTAL\fR and \fBTRACKNUMBER\fR fields.
Do not use for multidisk recordings since the totals per disk and the track
numbering for the second or more disks will be wrong, but for single disks, it
will speed up slightly the time required to manually populate the \fBauto.tag\fR
file.
Use together with \fB\-E\fR (\fB\-\-prefill\fR) To prepopulate the \fBALBUM,\fR
\fBARTIST\fR, \fBALBUMARTIST\fR, \fBPERFORMER\fR, \fBDATE\fR, \fBYEAR\fR, and
\fBTITLE\fR fields as well.
.TP
.B \-\-autotag\-file\fR, \fB\-\-atf\fR, \fB\-\-af\fR {file}
An alternate file name to use for auto.tag file. Note that file MUST have a
*.tag extension, and should not be anything other than ASCII or UTF8, otherwise
you will get ungood results.
.TP
.B \-\-image\fR, \fB\-I [cover image file name|remove]\fR
Flac only. Use only on a single directory. Takes the supplied cover image file
and embeds it into the existing flac files. Only use \fB.png\fR or \fB.jpg\fR
image types, otherwise the results may be inconsistent.
Do not use if you are using an \fBauto.tag\fR file, this is is intended only to
add an image to an already tagged .flac file without retagging it, or to remove
images from those files, or to replace old images with the supplied file name.
The value \fBremove\fR removes all embedded images and their padding. \fB\-RI\fR
can be used as shorthand for \fB\-Iremove\fR or \fB\-I[image]
\-\-remove\-images\fR. If remove is not used, -I will not add new images to the
file if pre-existing images are found in it (image embedding is cumulative in
FLAC files).
Only run this in a single recording directory, do not use globally!!
Samples:
.nf
\fBacxi \-s ./ \-\-image='cover.jpg'
acxi \-s ./ \-\-image remove
acxi \-s ./ \-I cover.jpg \-\-remove\-images
acxi \-s ./ \-RI cover.jpg
acxi \-s ./ \-RI
.fi
.TP
.B \-\-info\-file\fR, \fB\-\-if\fR, \fB\-\-prefill\-file\fR, \fB\-\-pf\fR {file}
An alternate file name to use for prefill or infofix. Note that file MUST have a
*.txt extension, and should not be anything other than ASCII or UTF8, otherwise
you will get ungood results.
.TP
.B \-\-infofix\fR, \fB\-X [0acdklnqtuvwz]\fR
Correct common corruptions to info.txt files. Note that this can be used in bulk
mode on sets of directories if all the info text files have the same name.
You can use any combination of the following options, or no options.
* no option \- clean white space. Trim white spaces off line ends, get rid of
extra new lines, convert multiple white spaces to single space. Also change tabs
to space. This always runs.
* \fB0\fR \- (zero) turn off leading characters per info file. Useful if you
want to use output for copy/paste actions etc.
* \fBa\fR \- In cases where track or setlist is not numbered, add numbering
using start code \fB:an:\fR or \fB:an-[number]:\fR. Terminates using same
terminators as n m t.
Will skip empty lines and things like Setlist:, Tracks:, Tracklist:, Disk 1:,
Set 1:, Encore:, and of course, itself. The :an..: must be the only thing on its
line.
This makes the tedious process of adding track numbers a lot faster. For
multidisk or set releases, use the \fB:an-1:\fR, \fB:an-2:\fR, and so on, to
indicate that the following track numbers should start at 1, and reset to 1
every new \fB:an-[number]:\fR found.
.nf
:an: changes
\fB:an:
Song Title\fR
to
\fB01. Song Title\fR
and :an-[number]: changes:
\fB:an-1:
Disk 1:
Song Title
...
:an-2:
Disk 2:
Song Title\fR
to
\fBDisk 1:
1-01. Song Title
...
Disk 2:
2-01. Song Title\fR
.fi
Make sure to add the colon after Setlist, Tracks, Disc 1, Set 1, Encore, etc or
they will be treated as track titles. And make sure to terminate the tracklist
with a terminator or every following line will be numbered.
Note that once you write changes, the :an item will be removed automatically
from the info file.
* \fBc\fR \- Try to change CP\-1252 Windows special characters like magic quotes
to clean ASCII equivalents. Should handle most, but if it hits one it does not
know about, it will let you know with a message. To let you find these in
collections (do NOT bulk write since you should always verify fixes as correct
per file!), search the output for:
\fBacxi \-s./ \-X0c | grep \-E 'Processing:|CF:|Encoding:'\fR
That will show you all directories with bad characters, what encoding type was
discovered, and if CP\-1252, if they are correctible or not. There may be other
character sets this does not handle, but this should cover most common cases,
since most of these come from MS Word, notepad, or similar Windows generated
*.txt files.
Be careful with this one, the tests are not completely reliable, so check before
writing changes to file. It does not try to map European characters to ASCII, so
you have to fix those yourself. Recommend changing document to UTF 8 after the
special characters have been fixed, then correcting the European characters.
Note that this is only able to test for UTF8, CP\-1252, and ASCII. Other
character sets are too difficult to handle. If it found, or failed to find, the
encoding, it will show that in a message. An Encoding showing as ending with
\fB\-2\fR means it used a fallback detection.
For character encoding issues, the perfect is the fatal enemy of the good.
Detection results for valid CP\-1252 and ASCII encodings are so far quite
reliable, UTF8 a bit less so.
* \fBd\fR \- set date to ISO format YYYY\-MM\-DD. Use this to correct dates that
are non ISO YYYY\-MM\-DD, like May 23, 1983; 4/12/78; 2011-8-12; 18.4.21. Always
double check file to make sure they aren't using some really silly date format,
and confirm with d option before using wd to make sure it is as expected.
Pretests for less common formats like dd/mm/yyyy by checking for a day/month >
13 in first or second position anywhere in the file.
* \fBk\fR \- set date to ISO format and add day of week after date. Also removes
any existing day of weeks from that line. Only does this on first date found in
info file, which should be on top block.
Sample: \fBThursday, April 23, 2020\fR becomes \fb2020-04-23 (Thursday)\fR
* \fBl\fR \- more simplistic upper case first, lower case rest. Good for info
files that have all upper case, but a lot of sentences. You will have to go back
in and correct items. Good in combination with \fBt\fR.
* \fBm\fR \- add (..) around track time when it's included in track title at end
of Title string. Required for the prefill track title cleanup of track times. If
time is located at start of track title, after disk/track numbers, moves to end.
Note that \fBm\fR should be used together with \fBn\fR for best results.
* \fBn\fR \- fix track numbering to be consistent '0X. ' or 'Y-0X'. See
\fB\-\-prefill\fR track terminators for stopping fixes at end of track listing.
Use when track numbering is defective or inconsistent.
* \fBq\fR \- add in technical quality info lines after top header. Reads flac
file in directory to determine bit rate, sampling frequency, and channels.
Requires track file name starts with D-NN or ends with D-NN.flac. Exits if it
can't find a match. Quality is /[rating] number and can be changed from default
if desired.
.nf
\fBFLAC: 16/44.1 (2 channels)
Quality: /4 ()
Time: 29:35.01
Size: 324.2 MiB
Average kb/s: 768
Tracks: 7\fR
.fi
* \fBt\fR \- smart upper case first track titles only. Requires Perl module
\fBText::Autoformat\fR. See \fB\-\-prefill\fR track terminators for stopping at
end of track listing.
* \fBu\fR \- run upper case first smart fix. Requires Perl module
\fBText::Autoformat\fR. Use this if entire file is uppercase (this happens
surprisingly often). Applies smart Autoformat fix (\fBu\fR) for Upper/lower
case, not recommended if the file has a lot of text in it. Perfect for titles
and most standard values, but not for paragraghs of text.
* \fBv\fR \- validate \fBFFP\fR hash signatures. \fBFLAC\fR only. Activates
\fBq\fR. Adds \fBFLAC FFPs:\fR status line to the \fBq\fR report.
* \fBw\fR \- write changes to info file.
With no \fBw\fR supplied, will just show what would have happened, with \fBw\fR,
writes fixes to file.
Info file fixes would be used before running \fB\-E\fR, and not with any other
option.
See \fB\-\-info\-file\fR for using alternate info txt file names.
Samples: \fBacxi \-s./ -X dtn\fR (to test) \fBacxi \-s./ -X dtnw\fR (to apply)
.TP
.B \-\-info\-rating {2\-xxx}\fR
Any number greater than 1 for the \fB\-\-infofix q\fR item \fBQuality: /[rating
number]\fR line if you want to change from default of 4. Some people like rating
by x/100, others x/10, etc. Use with \fB\-X q\fR or set in configurations.
.TP
.B \-\-multiartist\fR, \fB\-\-ma\fR {[at|ta]:separator}\fR
Use with \fB\-\-prefill\fR if the recording is multiartist, and the source info
file is in Artist [separator] Title or Title [separator] Artist format. Note
that all track titles must be in the same format, and the first item before the
separator cannot contain the separator. There must be 1 or more spaces before
and after the [sep] value in the info track string.
* \fBat\fR \- Artist [sep] Title
.br
* \fBta\fR \- Title [sep] Artist
Only include the actual non space character(s) used to separate the two items.
.nf
Example (info file track title format: 23. Band Name / Song):
\fBacxi \-s ./ \-SE \-\-ma 'at:/'\fR
Example (info file track title format: 23. Band Name - Song-Name):
\fBacxi \-s ./ \-SE \-\-ma 'at:-'\fR
Example (info file track title format: 22. Song \\ Band Name):
\fBacxi \-s ./ \-SE \-\-ma 'ta:\\'\fR
Example (info file track title format: 03. Song \\\\ Band Name):
\fBacxi \-s ./ \-SE \-\-ma 'ta:\\\\'\fR
.fi
Not OK (info file track title format: 23. Band \- Name - Song). This would result
in the following:
.br
Artist: \fBBand\fR
.br
Title: \fBName - Song\fR
If you have such a conflict, simply change separators in the info file to
a character that does not occur in the first item.
However, this format: \fB23. Band\-Name - Song\fR works fine, since there are no
spaces around the first \-.
You must use single quotes around the argument or things like backslashes may
behave oddly. Do not include whitespaces in the separator value. The separator
itself cannot contain a whitespace.
If the match fails for some reason, \fBacxi\fR will exit with error message
telling you which track title and separator failed. It will often be because
there was a space missing on one or both sides of the separator.
.TP
.B \-\-no\-replaygain\fR
Remove any existing \fBREPLAYGAIN\fR and \fBWAVEFORMATEXTENSIBLE_CHANNEL_MASK\fR
tags when creating a new \fBauto.tag\fR file. See \fB\-\-autotag\-create\fR for
details.
.TP
.B \-\-prefill\fR, \fB\-E\fR
Will attempt to populate \fBauto.tag\fR file using data from \fBinfo.txt\fR file
located in flac directory.
Two distinct methods are used for Artist, Venue, Location, and Date
pre\-filling.
No blank lines or unsupported data can be in top block for either pre\-fill
method.
.B Automatic Detection of Fields
Automatic detection requires that the data must have an extremely specific
syntax for this type of prefill to work:
* Band/Artist name must be first line in file.
* Date must be iso \fBYYYY\-MM\-DD\fR formatted, and must be the first thing on
its line, and must be in first 6 lines of file. See \fB\-Xd\fR to apply date
fixes. \fBYEAR\fR is generated from Date.
* Location can be 1 or more lines not starting with \fB19|20XX\fR on lines 2-6.
Each non\-date item will be added one by one until it reaches the end of the
block, so make sure the block is in the order you want, or, better, use the
explicit field name method.
.B Using Existing Field Names
Alternately, if the first line contains a supported field name folowed by a ':',
pre\-fill will switch to using field names to match to tag names. Note that the
field names are not case sensitive. This method is much more reliable than
auto\-detection.
All field names must be followed by a ':'. Space before/after ':' optional, and
ignored. The value after the colon will be used as the tag value.
If a field name should be added, just let us know what it is and we'll add it.
Supported field names, and their corresponding tag name (note: all two word
field names can use a space, \fB\-\fR, \fB_\fR or no space as word separators):
.nf
\fBALBUM\fR \- Album.
\fBALBUMARTIST\fR \- AlbumArtist, Album Artist.
\fBALBUMSORT\fR \- AlbumSort, Album Sort.
\fBARTIST\fR \- Artist, Artists, Artiste, Artistes, Band, Artist/Band.
\fBCDDB\fR \- CDDB, CDDB ID.
\fBCOMPOSER\fR \- Composer, Composed by.
\fBCONDUCTOR\fR \- Conductor, Conducted by.
\fBDATE\fR \- Date.
\fBENSEMBLE\fR \- Ensemble, Orquestra, Symphony.
\fBETREE\fR \- Etree, Etree DB. Non\-standard. See below.
\fBGENRE\fR \- Genre.
\fBIMAGE\fR \- Cover, Image.
\fBLOCATION\fR \- City, State, Country, Lieu, Location, Ville.
\fBMIXER\fR \- Mixer, Mixed by, Masterer, Mastered by.
\fBOPUS\fR \- Opus.
\fBPRODUCER\fR \- Producer, Recorded by, Taper, Taped By.
\fBPUBLISHER\fR \- Publisher, Label
\fBREMIXER\fR \- Remixer, Remixed by, Remasterer, Remastered by.
\fBSHNID\fR \- Shnid. Non\-standard. See below.
\fBSOURCEMEDIA\fR \- Media, SourceMedia, Source Media.
\fBType:\fR \- Extra data to append to ALBUM. See below.
\fBVENUE\fR \- Club, Event, Festival, Venue.
\fBYEAR\fR \- Year.
.fi
Notes:
* \fBALBUM\fR is constructed out of \fBDATE\fR, \fBLOCATION\fR, \fBVENUE\fR if
\fBAlbum\fR not explicitly supplied. See \fBDATE\fR, \fBETREE\fR, \fBSHNID\fR,
\fBTYPE\fR below.
** \fBDATE\fR will be prepended to \fBALBUM\fR if no ALBUM supplied.
** \fBTYPE\fR if present: appends to end of ALBUM string: ' - [type]'. Normal
values AUD, SBD, MTX, AUD 16/44.1, SBD Master 24/48, but can be anything. This
goes before etree/shnid appends in ALBUM string.
** \fBETREE\fR if present: appends to end of ALBUM string: ' (etree [id])'
** \fBSHNID\fR if present: appends to end of ALBUM string: ' (shnid [id])'
* \fBBand:\fR will trigger \fBARTIST\fR only if in top block, before first
empty line, since \fBBand:\fR can also be used to trigger \fBPERFORMERS\fR
prefill if not in top block.
* \fBComposer:\fR, \fBConductor\fR, \fBEnsemble:\fR, \fBOpus:\fR are usually
for classical recordings, but up to you.
* See \fB\-Xd\fR for date fixes, prefill only accepts YYYY\-MM\-DD formatting.
* \fBPRODUCER\fR is preferred over \fBMIXER\fR unless for example 1 person
produced, taped, or otherwise created the recording, and another mixed or
mastered it.
* \fBREMIXER\fR is if track is remixed, remastered. The person who did the
remix/remaster.
* \fBVENUE\fR will also be added to \fBLOCATION\fR if no \fBALBUM\fR set.
* \fBYEAR\fR is generated from \fBDATE\fR if no Year: supplied.
Sample:
.nf\fB
Artist: The Band
Album: Darkness in the Sunlight
Year: 1975
Cover: cover.jpg\fR
.fi
.B Both Methods
* Performers list must be preceded by a line starting with \fBBand:\fR,
\fBLineup:\fR, \fBLine\-up:\fR, or \fBBand Lineup\fR, \fBBand Line\-up\fR,
\fBMembers:\fR, or \fBBand Members\fR, \fBPerformers\fR, and must be followed by
the band members list, with no empty lines between performers.
* Track numbers must start with either \fBX-X.\fR, \fBX-XX.\fR (for multidisc),
\fBX.\fR or \fBXX.\fR where \fBX\fR is a number. The number of tracks listed
must correspoond to the total number of actual track files present. If they do
not match in counts, acxi will exit with an error.
* You can add a terminator to the Setlist/Tracks etc to stop creating and
counting tracks. This helps when there are numbered comments, numbered per track
notes, and so on, which could then trigger a track count mismatch exit error.
Also makes it so you don't have to do anything to the info file other than add
the terminator string. Not case sensitive. Supported:
One or more: \fB:^<>\fR followed by zero or one ES, ESL, ET, ETL, END,
END\-TRACKS, END_TRACKS, END TRACKS, END\-SETLIST, END_SETLIST, END SETLIST,
terminating in 1 or more \fB:^<>\fR.