Cjam is non-destructive MP3 editing software designed for Windows PCs.
Files are imported by dragging and dropping them onto the interface, after which they can be processed and exported according to the specified settings.
Operations can be defined using text input, allowing multiple independent actions to be executed sequentially.
The software enables fast editing without the need for decoding and re-encoding the audio.
Extract the ZIP file and place the "Cjam" folder on a drive that allows file read and write operations.
To uninstall, simply delete the "Cjam" folder.
Note 1: For parameters that can be specified in profile commands, both the header for specification and the values are provided.
Example 1: Cue (cu=0-1,1) → Valid values are '0' and '1', default value is '1'.
Example 2: Max Count [Block] (mb=1-3000,3000) → Valid values are integers from '1' to '3000', default value is '3000'.
Example 3: Block Name (fn="string","") → Valid values are any string, default value is no string. When specifying in text, enclose the string in double quotes (").
Example 4: Playback (pl="0-3000" or pl="0-3000:0-1500","") → Valid values are a string of integers between '0' and '3000' or a string of an integer between '0' and '3000' + colon (:) + an integer between '0' and '1500'. Default value is no string. When specifying in text, enclose the value in double quotes (").
Note 2: For items with command aliases defined, values are provided.
Example: Select All (CMDA:SELECTALL) → The command alias for Select All is 'SELECTALL'.
Performs file import/export, list operations, Block playback, and more.
Note: Playback operates on a Block basis. All Import MP3s within a Block are decoded and become playable if the total size is within 300MB.
Manages profiles applied to file import/export and operations.
Access via [Menu Bar] > [Settings] > [Manage Execution Profiles].
Manages profiles related to list item operations.
Access via [Menu Bar] > [List] > [Manage List].
Manages of settings common to the entire program.
Access via [Menu Bar] > [Settings] > [General Settings]
Edits and manages command aliases.
Access via [Menu Bar] > [Settings] > [Manage Commands].
Manages profiles for command input using shortcut keys.
User defined shortcut keys override the default shortcut keys.
Access via [Menu Bar] > [Settings] > [Manage Keys].
Writes content in CUE/M3U/CJAMC/CJAMJ/CJAM/CJAMT/TEXT formats, runs commands, and adds items to list.
Access via [Menu Bar] > [File] > [Show Text Editor].
Dropping CUE/M3U/CJC/CJJ/CJM/CJT/TXT files onto the screen will read and display the contents using the import character encoding (ie=0-3) of the currently applied profile. Dropping MP3 files will display the absolute paths.
Manages profiles for text search and replace in the "Text Editor" screen.
Access via [Text Editor Screen] > [Menu Bar] > [Search] > [Find and Replace]
Displays a list of exported Virtual MP3s.
The folder list is displayed on the left, and the Virtual MP3 list for each folder is displayed on the right.
Access via [Menu Bar] > [File] > [Show VMP3].
Displays images and lyrics specified by text descriptions or ID3 tags during Block playback.
Access via [Menu Bar] > [File] > [Show Metadata]
Reassigns MP3 files or Virtual MP3s to any Import MP3 in the list.
When "Reassign" is "Allow" (ri=1-2), access via [Menu Bar] > [File] > [Reassign]
Displays details of the specified parameters extracted from the operation manual.
Access via [Menu Bar] > [Help] > [Command Reference]
Displays a list of Cues for each Block.
Access via [Right-Click on Main Screen List] > [Show Cue]
Cuts a large MP3 file exceeding 300MB into appropriately sized segments.
The screen shows when importing a large MP3 file.
Displays the volume graph, which allows for editing audio and adding/removing Cues while viewing the waveform.
Access via [Right-Click on Main Screen List] > [Show Wave]
Note 1: Waveform displays on a Block basis. All Import MP3s within the Block are decoded and made available for display if the length is within 180 minutes.
Note 2: After pressing the Apply button, the fade/silence addition/Cue state for the corresponding Block will be changed to individual specification (qa=2,qd=10-11).
Note 3: The command applies only to the displayed Block. Other Blocks remain unchanged.
Note 4: Some parameters may have values that are not supported exclusively on the "Waveform" screen.
To add Cues based on the silence detection (bs=1), follow the steps below:
|
Example of an audio waveform (Vertical axis: Volume, Horizontal axis: Time) |
Applicable Parameters: gt (Threshold [Gain]), ft (Threshold [Time]), bo (Offset [Start]), ao (Offset [End]), cl (Cue Position), cr (Ratio for Cue Position)
Note 1: If cl=1 and the positions of green and blue are swapped in Step 4 (i.e., blue moves to an earlier time than green), use the midpoint between green and blue as the Cue.
Note 2: If, in Step 4, green/blue moves into a sound interval (i.e., green/blue crosses black), use black as the Cue and ensure that the Cue is added within the silence interval.
Text files in CUE, M3U, CJAMC, CJAMJ, CJAM, CJAMT, and TEXT formats can be used to specify import sources, execution procedures, and export results.
All formats are written in plain text and can be viewed or edited with general text editors.
These file formats are primarily used for specifying and exporting cut procedures.
|
REM comment REM comment REM comment
TITLE "Album" FILE "sample.mp3" MP3 TRACK 01 AUDIO TITLE "Track01" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Track02" INDEX 01 01:00:00 TRACK 03 AUDIO TITLE "Track03" INDEX 01 04:30:00 TRACK 04 AUDIO TITLE "Track04" INDEX 01 07:15:00 TRACK 05 AUDIO TITLE "Track05" INDEX 01 10:20:00 TRACK 06 AUDIO TITLE "Track06" INDEX 01 15:25:00 Example of CUE format |
REM CJC si=0,sp=2,it=1,em=1 REM DIRINDEX 1\2,1\3,1\4 REM DIRNAME "main","subA","subB","subC"
TITLE "Album" FILE "sample.mp3" MP3 TRACK 01 AUDIO TITLE "2:Track01" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "3:Track02" INDEX 01 01:00:00 TRACK 03 AUDIO TITLE "4:Track03" INDEX 01 04:30:00 TRACK 04 AUDIO TITLE "0:" INDEX 01 07:15:00 TRACK 05 AUDIO TITLE "2:Track05" INDEX 01 10:20:00 TRACK 06 AUDIO TITLE "3:Track06" INDEX 01 15:25:00 Example of CJAMC format |
CUE (*.cue) is a general-purpose file format used for purposes such as recording track information of audio files.
At the beginning, the target MP3 file is specified, followed by the description of each track's information.
In Cjam, the following three items of the CUE format are used:
FILE "xxx.mp3" MP3:
Specify the absolute path of the target MP3 file, or a relative path based on the CUE file.
Paths using forward slash (/) and relative paths with periods for upper directories (..\) are invalid.
TITLE "xxx":
Specify the export file name.
INDEX 01 mm:ss:ff:
Specify the position of the Cue. mm = 00-arbitrary (minutes), ss = 00-59 (seconds), ff = 00-74 (frames, 1 frame = 1/75 second for CD-DA).
CJAMC (*.cjc) is Cjam's proprietary file format, which extends the CUE format.
By adding descriptions to the CUE format, the following items can be specified:
Changing the file extension of a CJC file allows it to be used as a CUE file.
Profile Command:
Describe the applicable parameters following "REM CJC " (REM-space-CJC-space).
Command [Specify the Structure of MP3 Folder]:
Describe the value following "REM DIRINDEX " (REM-space-DIRINDEX-space).
The value is applied to "MP3 Folder Structure" in the "General Settings" screen.
Command [Specify the Name of MP3 Folder]:
Describe the value following "REM DIRNAME " (REM-space-DIRNAME-space).
The value is applied to "MP3 Folder Name" in the "General Settings" screen.
Command [Specify the Name of VMP3 Folder]:
Describe the value following "REM VDIRNAME " (REM-space-VDIRNAME-space).
The value is applied to "VMP3 Folder Name" in the "General Settings" screen.
Command [Specify the Name of Text Folder]:
Describe the value following "REM TDIRNAME " (REM-space-TDIRNAME-space).
The value is applied to "Text Folder Name" in the "General Settings" screen.
Command [Specify Tag Addition]:
Describe the value following "REM TAG " (REM-space-TAG-space).
The value is applied to "Add Tag" in the "General Settings" screen.
Command [Specify Length Verification]:
Describe the value following "REM LENGTH " (REM-space-LENGTH-space).
The value is applied to "Verify Length" in the "General Settings" screen.
Description for Each TRACK
The export folder number/export file name is described in the line TITLE "x:yyy".
Export Folder Number:
For x, specify a number between '1' and '300'. The folder with the same number in the "MP3 Folder Structure [General Settings/Profile]" description will be used as the export destination. If '0' is specified, export for that section will not be performed.
Export File Name:
For yyy, specify an arbitrary string.
Note 1: The commands described at the beginning of the file are always read and applied, regardless of the value of "Import Text" (it).
Note 2: When reading the CUE/CJAMC format, a new Block is created and added for each Import MP3.
Note 3: TRACK descriptions that exceed the length of the Block are invalid.
Note 4: If the profile command includes the specified export path (ed="string"), "Export Directory Default/Specify" is automatically set to "Specify" (dt=1). Relative path descriptions for `ed` are not valid.
Note 5: Any CJAMC-specific descriptions are optional. If all CJAMC-specific descriptions are omitted, the export will be identical to that of the CUE format.
These file formats are primarily used for specifying and exporting join procedures.
|
#comment(not used in Cjam) #comment(not used in Cjam) #comment(not used in Cjam)
#"file01" C:\Users\Public\Music\Album\Track01.mp3 C:\Users\Public\Music\Album\Track02.mp3 C:\Users\Public\Music\Album\Track03.mp3 C:\Users\Public\Music\Album\Track04.mp3 #"file02" C:\Users\Public\Music\Album\Track05.mp3 C:\Users\Public\Music\Album\Track06.mp3 C:\Users\Public\Music\Album\Track07.mp3 C:\Users\Public\Music\Album\Track08.mp3 #"file03" C:\Users\Public\Music\Album\Track09.mp3 C:\Users\Public\Music\Album\Track10.mp3 C:\Users\Public\Music\Album\Track11.mp3 C:\Users\Public\Music\Album\Track12.mp3 C:\Users\Public\Music\Album\Track13.mp3 C:\Users\Public\Music\Album\Track14.mp3 C:\Users\Public\Music\Album\Track15.mp3 C:\Users\Public\Music\Album\Track16.mp3 Example of M3U format |
#CJJ si=0,sp=2,it=1,em=1 #DIRINDEX 1\2,1\3,4 #DIRNAME "mainA","subA","subB","mainB"
#2:"file01":TALB="album",TPE1="artist" C:\Users\Public\Music\Album\Track01.mp3 C:\Users\Public\Music\Album\Track02.mp3 C:\Users\Public\Music\Album\Track03.mp3 C:\Users\Public\Music\Album\Track04.mp3 #3:"file02":TALB="album",TPE1="artist" C:\Users\Public\Music\Album\Track05.mp3 C:\Users\Public\Music\Album\Track06.mp3 C:\Users\Public\Music\Album\Track07.mp3 C:\Users\Public\Music\Album\Track08.mp3 #4:"file03":APIC="image\image01.jpg" C:\Users\Public\Music\Album\Track09.mp3 C:\Users\Public\Music\Album\Track10.mp3 C:\Users\Public\Music\Album\Track11.mp3 C:\Users\Public\Music\Album\Track12.mp3 C:\Users\Public\Music\Album\Track13.mp3 C:\Users\Public\Music\Album\Track14.mp3 C:\Users\Public\Music\Album\Track15.mp3 C:\Users\Public\Music\Album\Track16.mp3 Example of CJAMJ format |
M3U (*.m3u) is a general-purpose file format used for creating playlists in music player software.
MP3 files are specified using either absolute paths or relative paths based on the M3U file. Supplementary information or comments can be added following a hash sign (#).
In Cjam, a new Block is created for each line that begins with "#". The Import MP3 is created from the MP3 file paths and added to the most recently created Block.
A Block name can be specified by writing it after "#".
Paths using forward slash (/) and relative paths with periods for upper directories (..\) are invalid.
Cjam does not support M3U8 files (*.m3u8).
CJAMJ (*.cjj) is Cjam's proprietary file format, which extends the M3U format.
By adding descriptions to the M3U format, the following items can be specified:
Changing the file extension of a CJJ file allows it to be used as a M3U file.
Profile Command:
Describe the applicable parameters following "#CJJ " (hash sign-CJJ-space).
Command [Specify the Structure of MP3 Folder]:
Describe the value following "#DIRINDEX " (hash sign-DIRINDEX-space).
The value is applied to "MP3 Folder Structure" in the "General Settings" screen.
Command [Specify the Name of MP3 Folder]:
Describe the value following "#DIRNAME " (hash sign-DIRNAME-space).
The value is applied to "MP3 Folder Name" in the "General Settings" screen.
Command [Specify the Name of VMP3 Folder]:
Describe the value following "#VDIRNAME " (hash sign-VDIRNAME-space).
The value is applied to "VMP3 Folder Name" in the "General Settings" screen.
Command [Specify the Name of Text Folder]:
Describe the value following "#TDIRNAME " (hash sign-TDIRNAME-space).
The value is applied to "Text Folder Name" in the "General Settings" screen.
Command [Specify Tag Addition]:
Describe the value following "#TAG " (hash sign-TAG-space).
The value is applied to "Add Tag" in the "General Settings" screen.
Command [Specify Length Verification]:
Describe the value following "#LENGTH " (hash sign-LENGTH-space).
The value is applied to "Verify Length" in the "General Settings" screen.
Description at the Beginning of Each Block
After "#", specify the export folder number, Block name, and ID3 tag by separating them with colon (:).
Export Folder Number:
Specify a number between '1'and '300'. The folder with the same number in the "MP3 Folder Structure [General Settings/Profile]" description will be used as the export destination. If '0' is specified, export for that Block will not be performed.
Block Name:
Specify any string enclosed in double quotes (").
ID3 Tag Specification:
Specify the ID3 tag to be added to each Export MP3 using the format described in "Add Tag [General Settings]". This specification takes precedence over the "Add Tag [General Settings/Profile]" settings.
Note 1: The commands described at the beginning of the file are always read and applied, regardless of the value of "Import Text" (it).
Note 2: In Cjam, lines starting with "#" in M3U/CJAMJ format are read as Block addition specifications, so they cannot be used for comments.
Note 3: If the profile command includes the specified export path (ed="string"), "Export Directory Default/Specify" is automatically set to "Specify" (dt=1). Relative path descriptions for `ed` are not valid.
Note 4: Any CJAMJ-specific descriptions are optional. If all CJAMJ-specific descriptions are omitted, the export will be identical to that of the M3U format.
CJAM (*.cjm) is Cjam's proprietary file format.
Both CJAMC and CJAMJ formats can be included in a single file.
To identify the content, it is mandatory to include a profile command at the beginning of the file. If no parameter changes are needed, only the header string "REM CJC" or "#CJJ" needs to be written.
Anything written from two slashes (//) to the end of the line is treated as a comment and skipped during processing.
|
REM CJC si=0,sp=2,it=1,em=1 REM DIRINDEX 1\2,1\3 REM DIRNAME "main","subA","subB" REM LENGTH 03:00,04:00
FILE "sample01.mp3" MP3 TRACK 01 AUDIO TITLE "2:Track01" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "2:Track02" INDEX 01 01:00:00 TRACK 03 AUDIO TITLE "2:Track03" INDEX 01 02:00:00 FILE "sample02.mp3" MP3 TRACK 01 AUDIO TITLE "3:Track01" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "3:Track02" INDEX 01 02:30:00 TRACK 03 AUDIO TITLE "3:Track03" INDEX 01 03:30:00 Example of CJAM 1 (CJAMC format) |
#CJJ si=0,sp=2,it=1,em=1 #DIRINDEX 1\2,1\3,4 #DIRNAME "mainA","subA","subB","mainB" #TAG TALB="album",TPE1="artist"
#2:"T01-03" Track01.mp3 Track02.mp3 Track03.mp3 #3:"T04-06":TIT2="file02" Track04.mp3 Track05.mp3 Track06.mp3 #4:"T07-09":TIT2="file03" Track07.mp3 Track08.mp3 Track09.mp3 Example of CJAM 2 (CJAMJ format) |
In the CJAM format, Examples 1 and 2 can be rewritten as Examples 3 and 4, enabling both cutting and joining to be specified in the same notation.
Lines starting with "#" create a new Block, paths to MP3s store MP3s into the Block, and lines starting with "mm:ss:ff" add a time spicification Cue (bt) for the Block.
Cue times can follow either the CUE format "mm:ss:ff" or "mm:ss:fff" (minutes:seconds:milliseconds).
|
CJM si=0,sp=2,it=1,em=1 DIRINDEX 1\2,1\3 DIRNAME "main","subA","subB" LENGTH 03:00,04:00
#"" sample01.mp3 00:00:00 2:"Track01" 01:00:00 2:"Track02" 02:00:00 2:"Track03" #"" sample02.mp3 00:00:00 3:"Track01" 02:30:00 3:"Track02" 03:30:00 3:"Track03" Example of CJAM 3 (Rewritten from Example 1) |
CJM si=0,sp=2,it=1,em=1 DIRINDEX 1\2,1\3,4 DIRNAME "mainA","subA","subB","mainB" TAG TALB="album",TPE1="artist"
#2:"T01-03" Track01.mp3 Track02.mp3 Track03.mp3 #3:"T04-06":TIT2="file02" Track04.mp3 Track05.mp3 Track06.mp3 #"" Track07.mp3 Track08.mp3 Track09.mp3 00:00:00 4:"T07-09":TIT2="file03" Example of CJAM 4 (Rewritten from Example 2) |
CJAM format supports the following three types of path descriptions:
Example: C:\Users\CJ\Desktop\Album\Track.mp3, D:\MyMusic\Album\Track.mp3
If at mark (@) is prefixed to the path, parameters related to the file (tt,tg,tn,ti,tw) are not applied.
Example: V:\Album\Track.mp3
The Virtual MP3 drive is always "V", and the hierarchy structure is fixed as "V:\foldername\vmp3name.mp3".
If at mark (@) is prefixed to the path, parameters related to Virtual MP3s (tt,tg,tn,ti,tw,va,vf,vc,vn) are not applied.
In the "VMP3" screen, the path for each Virtual MP3 can be retrieved.
Example: Track.mp3, Album\Track.mp3
The starting point for relative path conversion is the path of the relative path conversion folder (ap).
If `ap` is not specified, the path of the folder containing the text file is used.
If `ap` is not specified and text is imported via the "Text Editor" screen, the desktop path is used.
When multiple profile commands are written in CJAMC/CJAMJ/CJAM format, Cjam recognizes each section of text between profile commands as a separate run description and runs them sequentially from beginning to end.
Example 6 specifies that the export of the first run and the import for the second run will be Virtual MP3s. The MP3 files are only exported after the second run is completed.
If the profile command header is set as "REM CJCP", "#CJJP", or "CJMP", the corresponding section will be run with priority, regardless of its position in the text.
|
//First Run CJM si=0,sp=2,it=1,em=1
# sample01.mp3 00:00:000 "Track01" 01:00:000 "Track02" 02:00:000 "Track03" # sample02.mp3 00:00:000 "Track04" 02:30:000 "Track05" 03:30:000 "Track06" # sample03.mp3 00:00:000 "Track07" 01:30:000 "Track08" 02:30:000 "Track09"
//Second Run CJM si=0,sp=2,it=1,ap="C:\Music\MP3",em=1 DIRINDEX 1\2,1\3,1\4 DIRNAME "main","subA","subB","subC"
#2:"T147" Track01.mp3 Track04.mp3 Track07.mp3 #3:"T258" Track02.mp3 Track05.mp3 Track08.mp3 #4:"T369" Track03.mp3 Track06.mp3 Track09.mp3 Example of CJAM 5 (Sequential Run) |
//First Run CJM si=0,sp=2,it=1,ev=1
# sample01.mp3 00:00:000 "Track01" 01:00:000 "Track02" 02:00:000 "Track03" # sample02.mp3 00:00:000 "Track04" 02:30:000 "Track05" 03:30:000 "Track06" # sample03.mp3 00:00:000 "Track07" 01:30:000 "Track08" 02:30:000 "Track09"
//Second Run CJM si=0,sp=2,it=1,tt=2,ap="V:\VM",em=1 DIRINDEX 1\2,1\3,1\4 DIRNAME "main","subA","subB","subC"
#2:"T147" Track01.mp3 Track04.mp3 Track07.mp3 #3:"T258" Track02.mp3 Track05.mp3 Track08.mp3 #4:"T369" Track03.mp3 Track06.mp3 Track09.mp3 Example of CJAM 6 (Sequential Run) |
The following parameters are not linked to controls on the Cjam screen. Instead, they are specified by entering values in either the text file, the "Text Editor" screen, or the command input box on the main screen.
The following special value strings can be used when specifying parameters.
Example: im=dflt, fn=curr, to=prev, do=%r, psn=%r:1.00:300.00, ed=DeskTop
dflt or %d: Stores the default value.
curr or %c: Stores the current value.
prev or %p: Restores the previously stored value.
rand or %r: Stores a random value. Minimum and maximum values can be specified by appending them after a colon (:). Cannot be used for parameters that store strings.
sftu or %su: Stores the previous valid value relative to the current value. Cannot be used for parameters that store strings.
sftd or %sd: Stores the next valid value relative to the current value. Cannot be used for parameters that store strings.
DeskTop: Stores the path to the Desktop. This value can be used for the "Specify Export Path" (ed), "Relative Path Conversion Folder Path" (ap), or "Reassign Source Folder Path" (rp).
MyDocuments: Stores the path to My Documents. This value can be used for the "Specify Export Path" (ed), "Relative Path Conversion Folder Path" (ap), or "Reassign Source Folder Path" (rp).
MyMusic: Stores the path to My Music. This value can be used for the "Specify Export Path" (ed), "Relative Path Conversion Folder Path" (ap), or "Reassign Source Folder Path" (rp).
Application: Stores the path to the folder containing the application executable. This value can be used for the "Specify Export Path" (ed), "Relative Path Conversion Folder Path" (ap), or "Reassign Source Folder Path" (rp).
SavedDir: Stores the path saved by the "Folder Path Storage" (sd). This value can be used for the "Specify Export Path" (ed), "Relative Path Conversion Folder Path" (ap), or "Reassign Source Folder Path" (rp).
When specifying string values in text, enclose the string in double quotes ("). To include a double quote within the value, represent it as an escaped quote (\").
As an exception, when specifying tags within the TITLE of each TRACK in CUE/CJAMC format, write the value directly without enclosing it in double quotes ("). Double quotes cannot be used within the value.
Parameters such as "MP3 Folder Structure" (ddi) are associated with items in the "General Settings" screen that specify the same target.
If parameters are specified, they take precedence over the values in the "General Settings" screen.
There are differences in the notation between the "General Settings" screen and the parameters as follows:
DIRINDEX and ddi: Both use numbers ( '1' to '300') to represent created folders and use backslashes (\) to indicate hierarchy, separated by commas (,) for multiple items. `ddi` encloses the entire value in double quotes (").
DIRINDEX example: DIRINDEX 1\2, 1\3
ddi example: ddi="1\2, 1\3"
DIRNAME and ddn: DIRNAME encloses each folder name in double quotes (") and separates multiple items with commas (,). `ddn` encloses the entire value in double quotes ("). If a folder name contains a comma (,), it should be enclosed in escaped quotes (\").
DIRNAME example: DIRNAME "main", "subA", "sub,B"
ddn example: ddn="main, subA, \"sub,B\""
VDIRNAME and dvn: Both enclose the name in double quotes ("). Multiple items cannot be specified.
VDIRNAME example: VDIRNAME "Vm01"
dvn example: dvn="Vm01"
TDIRNAME and dtn: Both enclose the name in double quotes ("). Multiple items cannot be specified.
TDIRNAME example: TDIRNAME "Text01"
dtn example: dtn="Text01"
TAG and dtg: TAG encloses each item's value in double quotes ("), while `dtg` encloses the entire value in double quotes ("). When using a double quote within the value, represent it as an escaped quote (\"). Relative paths specified in the APIC field of TAG are resolved relative to the Desktop folder, while relative paths in `dtg` are resolved relative to the folder containing the text file.
TAG example: TAG APIC="D:\Data\image.jpg", USLT="She said, \"Hi\""
dtg example: dtg="APIC=D:\Data\image.jpg, USLT=She said, \"Hi\""
LENGTH and dln: Both specify the Block length in formats mm:ss (minutes:seconds), mm:ss:ff (minutes:seconds:CD-DA frames), or mm:ss:fff (minutes:seconds:milliseconds). Multiple Blocks can be specified separated by commas (,). `dln` encloses the entire value in double quotes (").
LENGTH example: LENGTH 3:30, 03:40:50, 03:50:750
dln example: dln="3:30, 03:40:50, 03:50:750"
CJAMT (*.cjt) files support several types of content, including CJAMC, CJAMJ, and CJAM descriptions.
CJAMT files can be imported using the menu bar, drag and drop, the "Reference Text File Path" (at) parameter, or by pasting descriptions from the clipboard with [Ctrl]+[V].
TEXT (*.txt) files can contain the same content as CJAMT files.
Write "[Cjam Import CJM]" on the first line, followed by data in CJAM format.
The following header options are available:
"Full"/"NoCommand": Specifies the content to import. "NoCommand" skips Command entries. If omitted, "Full" is used.
"Forward"/"Reverse"/"Random": Specifies the import order. If omitted, "Forward" is used.
Example: "[Cjam Import CJM Random]".
Relative MP3 paths are resolved relative to the "Relative Path Conversion Folder Path" (ap). If it is not specified, they are resolved relative to the folder containing the text file.
|
[Cjam Import CJM] #2:"T01-02" Track01.mp3 Track02.mp3 #3:"T03-04":TIT2="file02" D:\Data\Track03.mp3 D:\Data\Track04.mp3 00:00:00 1:"T03-04-1" 01:30:00 1:"T03-04-2" 03:30:00 1:"T03-04-3" |
Write "[Cjam Import MP3]" on the first line, followed by the paths to MP3s or folders.
The following header options are available:
"Forward"/"Reverse"/"Random": Specifies the import order. If omitted, "Forward" is used.
Example: "[Cjam Import MP3 Random]".
Relative MP3 paths are resolved relative to the "Relative Path Conversion Folder Path" (ap). If it is not specified, they are resolved relative to the folder containing the text file.
Relative folder paths are not supported.
|
[Cjam Import MP3] file.mp3 D:\Data\file2.mp3 D:\Data\Folder V:\Vmfolder\vm.mp3 V:\Vmfolder |
Write "[Cjam Import VMP3]" on the first line, followed by the contents of the vmp3.txt file.
The following header options are available:
"Forward"/"Reverse"/"Random": Specifies the import order. If omitted, "Forward" is used.
Example: "[Cjam Import VMP3 Random]".
|
[Cjam Import VMP3] <sv> im01.mp3 D:\Data\source01.mp3,0,10000,0, im02.mp3 D:\Data\source02.mp3,0,15000,0, </sv> <sv> im03.mp3 APIC="D:\Data\image.jpg",USLT="lyric" VLBL="label1","label2" D:\Data\source02.mp3,0,1000,0, D:\Data\source02.mp3,0,0,1000, D:\Data\source02.mp3,2000,13000,0, </sv> |
Write "[Cjam Reassign CJM]" on the first line, followed by data in CJAM format.
The following header options are available:
"All"/"Selected"/"Parameter": Specifies the target items for reassignment. "Parameter" follows the current parameter setting. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the reassignment order. If omitted, "Forward" is used.
Example: "[Cjam Reassign CJM Selected Random]".
Relative MP3 paths are resolved relative to the "Relative Path Conversion Folder Path" (ap). If it is not specified, they are resolved relative to the folder containing the text file.
Only MP3 entries are processed; Block/Cue/Command entries are ignored.
|
[Cjam Reassign CJM] Track01.mp3 Track02.mp3 D:\Data\Track03.mp3 D:\Data\Track04.mp3 |
Write "[Cjam Reassign MP3]" on the first line, followed by the paths to MP3s or folders.
The following header options are available:
"All"/"Selected"/"Parameter": Specifies the target items for reassignment. "Parameter" follows the current parameter setting. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the reassignment order. If omitted, "Forward" is used.
Example: "[Cjam Reassign MP3 Selected Random]".
Relative MP3 paths are resolved relative to the "Relative Path Conversion Folder Path" (ap). If it is not specified, they are resolved relative to the folder containing the text file.
Relative folder paths are not supported.
|
[Cjam Reassign MP3] file.mp3 D:\Data\file2.mp3 D:\Data\Folder V:\Vmfolder\vm.mp3 V:\Vmfolder |
Write "[Cjam Reassign VMP3]" on the first line, followed by the contents of the vmp3.txt file.
The following header options are available:
"All"/"Selected"/"Parameter": Specifies the target items for reassignment. "Parameter" follows the current parameter setting. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the reassignment order. If omitted, "Forward" is used.
Example: "[Cjam Reassign VMP3 Selected Random]".
|
[Cjam Reassign VMP3] <sv> im01.mp3 D:\Data\source01.mp3,0,10000,0, im02.mp3 D:\Data\source02.mp3,0,15000,0, </sv> <sv> im03.mp3 APIC="D:\Data\image.jpg",USLT="lyric" VLBL="label1","label2" D:\Data\source02.mp3,0,1000,0, D:\Data\source02.mp3,0,0,1000, D:\Data\source02.mp3,2000,13000,0, </sv> |
Write "[Cjam Metadata TAG]" on the first line, followed by one "Add Tag [General Settings]" (TAG) value per line.
The following header options are available:
"All"/"Selected": Specifies the target items. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the processing order. If omitted, "Forward" is used.
Example: "[Cjam Metadata TAG Selected Random]".
Relative image paths in the APIC field are resolved relative to the folder containing the text file.
|
[Cjam Metadata TAG] APIC="D:\Data\image.jpg" USLT="lyric01", TIT2="file01" APIC="image.png", USLT="lyric01" |
Write "[Cjam Metadata Image]" on the first line, followed by the paths to image files or folders.
The following header options are available:
"All"/"Selected": Specifies the target items. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the processing order. If omitted, "Forward" is used.
Example: "[Cjam Metadata Image Selected Random]".
Relative image paths are resolved relative to the "Relative Path Conversion Folder Path" (ap). If it is not specified, they are resolved relative to the folder containing the text file.
Relative folder paths are not supported.
|
[Cjam Metadata Image] image.jpg D:\Data\image.png D:\Data\image.gif D:\Data\Folder |
Write "[Cjam Metadata Lyric]" on the first line, followed by one lyric entry per line.
The following header options are available:
"All"/"Selected": Specifies the target items. If omitted, "All" is used.
"Forward"/"Reverse"/"Random": Specifies the processing order. If omitted, "Forward" is used.
Example: "[Cjam Metadata Lyric Selected Random]".
|
[Cjam Metadata Lyric] lyric01 lyric02 lyric03 |
Write "[Cjam Command]" on the first line, followed by one or more Commands in CJAM format.
If the same Command is specified multiple times in the section, only the last entry is valid.
Profile Commands can omit the header string and specify only the values.
|
[Cjam Command] CJM Join DIRINDEX 1 DIRNAME "Folder01" |
Write "[Cjam Config]" on the first line, followed by the contents of the cjam.ini file.
Updates the settings for the specified items. Some settings cannot be changed.
The following header options are available:
"Reset"/"Retain": Specifies whether to reset or retain the current main list state. If omitted, "Reset" is used.
"Backup"/"NoBackup": Specifies whether to create a backup file of the current configuration before applying the changes. If omitted, "Backup" is used.
Example: "[Cjam Config Retain NoBackup]".
|
[Cjam Config] <settings> <setting>st=1,si=300,sp=3,sa=0,sn="Run"</setting> <setting>st=2,si=300,sp=3,sa=0,in="List"</setting> </settings> <commands> <command>selectall</command> <command>selectall, convert</command> </commands> |
Write "[Cjam Subscreen VMP3]" on the first line, followed by the contents of the vmp3.txt file.
Replaces all items in the "VMP3" screen.
The following header options are available:
"Backup"/"NoBackup": Specifies whether to create a backup file of the current VMP3 list before applying the changes. If omitted, "Backup" is used.
Example: "[Cjam Subscreen VMP3 NoBackup]".
|
[Cjam Subscreen VMP3] <sv> im01.mp3 D:\Data\source01.mp3,0,10000,0, im02.mp3 D:\Data\source02.mp3,0,15000,0, </sv> <sv> im03.mp3 APIC="D:\Data\image.jpg",USLT="lyric" VLBL="label1","label2" D:\Data\source02.mp3,0,1000,0, D:\Data\source02.mp3,0,0,1000, D:\Data\source02.mp3,2000,13000,0, </sv> |
Write "[Cjam Process Placeholder]" on the first line, followed by placeholder replacement specifications.
Replace the placeholders "{1}", "{2}", "{3}", "{n}" in the text with the specified strings.
The following header options are available:
"Forward"/"Reverse"/"Random": Specifies the order of values assigned to each placeholder. If omitted, "Forward" is used.
Example: "[Cjam Process Placeholder Random]".
|
[Cjam Process Placeholder] {1}=firststring {2}=secondstring |
Write "[Cjam Process Lua]" on the first line, followed by Lua code.
Replaces the contents of the section with the text generated by the Lua code.
The Lua code can only be used to generate text.
Lua's built-in text-processing features, Cjam's built-in items, and any items defined in a Definition (Lua) section are all available.
Lua code can only be read when execution is allowed on the "General Settings" screen.
See the forum for details on defining and processing Lua code.
The following header options are available:
"Backup"/"NoBackup": Specifies whether to create a backup file of the generated text. If omitted, "NoBackup" is used.
Example: "[Cjam Process Lua Backup]".
|
[Cjam Process Lua] local folder = [[D:\Data]] local text = "[Cjam Import MP3]\n"
for i = 1, 5 do local filename = string.format("%02d.mp3", i) text = text .. folder .. "\\" .. filename .. "\n" end
return text |
Write "[Cjam Define Lua]" on the first line, followed by Lua function/property definitions.
Defined items are registered under cjam.usr and can be used in other Definition sections or in Process Text (Lua) sections.
Function/property definitions remain available until Cjam exits.
Lua code can only be read when execution is allowed on the "General Settings" screen.
See the forum for details on defining and processing Lua code.
The following header options are available:
"Backup"/"NoBackup": Specifies whether to create a backup file for the generated registration. If omitted, "NoBackup" is used.
Example: "[Cjam Define Lua Backup]".
|
[Cjam Define Lua] function cjam.usr.one_third_framecount(fc) return fc / 3 end
cjam.usr.folder = [[D:\Data]] |
Write "[Cjam Note]" on the first line, followed by any free-form text.
The content of this section is ignored when the text is read.
|
[Cjam Note] Any description. |
A single CJAMT file can contain multiple descriptions. Each description must start with its own header line.
|
[Cjam Process Placeholder] {1}=D:\Data\
[Cjam Command] Join
[Cjam Import MP3] D:\Data\Track01.mp3 {1}Track02.mp3
[Cjam Command] SelectAll, Convert
[Cjam Metadata TAG] TIT2="Title01" |
CJAMT files must begin with a header string. If the header is omitted, the file cannot be imported.
The following formats are exceptions and can omit the header string at the beginning of the file, provided that the file contains only a single description:
The same operations available through mouse actions or shortcut keys can be performed by using command strings in the format of "command header + value to apply".
Commands can be run from a text file, the "Text Editor" screen, or the command input box on the main screen.
The following eight types of commands can be used:
CJM: Specifies changes to the profile settings.
CJMP: Specifies changes to the profile settings. Takes priority over CJM.
DIRINDEX: Specifies the value for "MP3 Folder Structure [General Settings]".
DIRNAME: Specifies the value for "MP3 Folder Name [General Settings]".
VDIRNAME: Specifies the value for "VMP3 Folder Name [General Settings]".
TDIRNAME: Specifies the value for "Text Folder Name [General Settings]".
TAG: Specifies the value for "Add Tag [General Settings]".
LENGTH: Specifies the value for "Verify Length [General Settings]".
Of the eight types of commands, two are profile commands: "CJM" and "CJMP", which apply changes to the profile.
For profile commands, after the header string, specify the parameter values to change, separated by commas (,).
Commands can be run from the command input box on the main screen by omitting the header string and specifying only the values.
Custom names (aliases) can be defined for the values of profile commands, enabling the specification of multiple parameters at once.
Each alias can have arguments, and values can be specified when entering the command.
Aliases are managed from the "Profiles [Command]" screen (Menu Bar > Settings > Manage Commands).
As a special command not included in the eight types above, an alias for one or more text file paths can be defined and used in parallel with profile commands on the main screen.
Multiple text file paths can be specified for each alias by separating them with commas (,).
Each alias can have arguments. The 1st, 2nd, 3rd, nth arguments replace the corresponding placeholders "{1}", "{2}", "{3}", "{n}" in the text files.
When arguments are specified, all replacement specifications in the placeholder section in the text are ignored.
Aliases are managed from the "Profiles [Command]" screen (Menu Bar > Settings > Manage Commands).
In the "Profiles [List]" screen, each profile name in the profile list can be used as a predefined command alias.
Arguments cannot be set.
Examples: CUT, COPY, COPY(3), MOVETOTOP(2,3), SELECTNAME("Example",2)
The following characters cannot be used in profile names (e.g., `sn`):
, = ; \ " ( )
The following characters cannot be used in file names, folder names, or labels:
\ / : * ? " < > | . ;