Deliverance.pl - perl script for parsing log files generated by audio applications (currently Sonic Solutions) to create labels, tray cards etc...
Place the Deliverance 3.0 directory in your HOME directory (i.e. /Users/your_user_name/Deliverance_3.0/). It must be here for the installer script to find everything it needs. If you want to move the Deliverance_3.0 directory to another place in your account after installation, you may. Doubleclick the ``INSTALLER.command'' file. A terminal window will open and you will be prompted to enter your password on the command line. Once the process completes you are ready to use Deliverance.
perl Deliverance.pl -a | -d | -p | -h | -c path/to/config [-t path/to/template] [-r TRUE] [-f 15] [-s FALSE] [-i TRUE] list_of_files_to_process
One and only one of the following four flags must be included to determine which parsing engine to use:
-a -> sonic archive log
-d -> sonic delivery log
-p -> sonic pq log version 5.4
-h -> sonic pq log version HD
Point Deliverance to the CONFIG file you wish to use (if not defined defaults to the current working directory/config/Deliverance.conf):
-c -> config file
Optional CONFIG file attribute overrides:
-t -> override html template in config file
(path to html template file)
-r -> override round frames in config file
(TRUE or FALSE)
-f -> override frame median in config file
(NUMBERIC VALUE TO USE WHEN ROUNDING FRAMES)
-s -> override strip leading zeros in config file
(TRUE or FALSE)
-i -> override include index marks in config file
(TRUE or FALSE)
This module attempts to parse a Sonic Solutions log file generated by Sonicstudio/HD to extract the:
Client
Project
Title
Date
WO
Issuing Company Name
Record Catalog Number
Master Disc Number
Time Format
Date Generated
UPC/EAN
Track/Index Number
Track/Index Name
Track/Index Duration
The extracted data is then formatted according to the parameters given in the config file specified by the -c flag
The config file looks like this:
_DELIVERANCE_CONFIG_BEGIN_
ROUND_FRAMES="TRUE"
FRAME_MEDIAN="15"
STRIP_LEADING_ZEROS="TRUE"
INCLUDE_INDEX_MARKS="TRUE"
INDEX_MARK_LEFT_DELIM="("
INDEX_MARK_RIGHT_DELIM=")"
HTML_TEMPLATE="html_templates/CD_tray_template.html"
_DELIVERANCE_CONFIG_END_
If ROUND_FRAMES is set to TRUE then the frames value in each tracks duration will be rounded using the FRAME_MEDIAN value and then removed from the timecode display. If set to FALSE frames are printed as they are in the log file.
FRAME_MEDIAN is the rounding point used when ROUND_FRAMES is set to TRUE. Non-numeric values are illegal.
If STRIP_LEADING_ZEROS is set to TRUE, all leading places that equal '00' will be removed from the display. FALSE preserved all leading zeros.
If INCLUDE_INDEX_MARKS is set to TRUE index marks > 1 are included in the output, FALSE they are omitted.
INDEX_MARK_LEFT_DELIM sets a character placed immediately in front of an index numer in the output which sets it apart from track numbers. Set to ``'' if you want no delimiter.
INDEX_MARK_RIGHT_DELIM sets a character placed immediately after an index numer in the output which sets it apart from track numbers. Set to ``'' if you want no delimiter.
HTML_TEMPLATE is the path to an html template file that defines the formatting of the output.
There is a sample config file in the ``config'' directory of this distribution.
Next the data is handed off to the html template that you have supplied either in the CONFIG file or on the command line. This is a complete html page that has some extra tags that act as place holders for your log data. They are:
<TMPL_VAR NAME="TITLE">
<TMPL_VAR NAME="PROJECT">
<TMPL_VAR NAME="CLIENT">
<TMPL_VAR NAME="DATE">
<TMPL_VAR NAME="WORK_ORDER">
<TMPL_VAR NAME="ISSUING_COMPANY">
<TMPL_VAR NAME="RECORD_CATALOG_NUMBER">
<TMPL_VAR NAME="MASTER_DISC_NUMBER">
<TMPL_VAR NAME="TIME_FORMAT">
<TMPL_VAR NAME="DATE_GENERATED">
<TMPL_VAR NAME="UPC_EAN">
<TMPL_LOOP NAME="TRACKS">
<TMPL_VAR NAME="TRACK_ID">
<TMPL_VAR NAME="TRACK_NAME">
</TMPL_LOOP>
<TMPL_LOOP NAME="TIMES">
<TMPL_VAR NAME="TRACK_TIMES">
</TMPL_LOOP>
It is important that all of these be present in your template. If you wish to exclude a data field insert it in a div element somewhere out of the way and set the div's visibility to hidden. For example:
<div style="visibility: hidden">
<TMPL_VAR NAME="DATE_GENERATED">
<TMPL_VAR NAME="UPC_EAN">
</div>
There is an example template in the ``html_templates'' directory of this distribution.
When the script has finished running, the resulting output will be placed in the output directory of this distribution. You'll note that there is an ``Image'' subdirectory there for your use. See the example template for an example of how to use this.
David Ackerman (david@therockquarry.com)
Copyright 2003, David Ackerman. All Rights Reserved.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Deliverance::SonicArchiveParser.pm Deliverance::SonicDeliveryParser.pm Deliverance::SonicPQParser.pm Deliverance::SonicPQParserHD.pm
perl(1).