To display a list of available commands, run MotionCatalyst-cli.exe --help from the Command Prompt. If you are using the installed version, navigate to C:\Program Files\Initial Force\Swing Catalyst\bin, for local builds go to ScDesktop\src\motioncatalyst\BUILD\x64_Debug.
The export-diff-takes Command
The export-diff-takes command functions similarly to export-all-takes by generating take files. However, it only creates files for recordings that are unique when comparing two databases.
All commands accept options (arguments) that must be specified before the command name. For example:
MotionCatalyst-cli export-diff-takes --current <value> --other <value> --dest <value> [options]
Example Command
MotionCatalyst-cli.exe export-diff-takes -c "C:\ProgramData\Swing Catalyst\SwingCatalystDB.s3db"
-o "C:\ProgramData\Swing Catalyst\backup\SwingCatalystDB downgrade 2025-01-06 161737 - backup migration 2025-02-03 171305 v75 - backup.s3db"
-d "F:\Exports"
Example Explanation
- Destination: The take files will be exported to the
F:\Exportsdirectory. - Other Database: The designated "other" database is a previous migration backup that includes recordings missing from the current database.
The following images illustrate the contents of the “other” database, note there are 7 students and 61 takes:
In contrast, the current database (C:\ProgramData\Swing Catalyst\SwingCatalystDB.s3db) only includes recordings for two students and a total of 53 recordings:
Database Analysis
When you execute the command, it performs the following steps:
Analyzing databases for differences...
Loading current database...
√ Found 53 takes in the current database
Analyzing other database...
Found 61 unique takes across 7 students
Note: The tool identifies 61 takes that exist only in the “other” database. It's also possible to operate the tool in reverse simply by using the other database path as current and visa versa.
Running the export-diff-takes Command
Running the command compares both databases and exports only those recordings that are unique. For example, if:
- The current database contains recordings for Student A and Student B, and
- The other database contains recordings for Student A, Student B, and Student C,
then the command will export recordings for Student C and any recordings for Student A or B that are not present in the current database.
The Result
Exporting differential takes to: F:\Exports
Other database: F:\Swing Catalyst DB\backup\SwingCatalystDB downgrade 2025-01-06 161737 - backup migration 2025-02-03 171305 v75 - backup.s3db
Current database: C:\ProgramData\Swing Catalyst\SwingCatalystDB.s3db
Analyzing databases for differences...
Loading current database...
√ Found 53 takes in the current database
Analyzing other database...
Found 61 unique takes across 7 students
Progress: 1/61
Progress: 2/61
Progress: 3/61
Progress: 4/61
Progress: 5/61
Progress: 6/61
In this example:
- 53 takes were detected in the current working database.
- 61 unique takes were detected in the other database.
Progress Reporting
Found 61 unique takes across 7 students
Progress: 1/61
Progress: 2/61
Progress: 3/61
Progress: 4/61
Progress: 5/61
Progress: 6/61
Verifying the Destination Folder
In our example, the destination folder is F:\Exports. When you inspect this folder, you will see that a separate folder is created for each student, with their corresponding take files stored inside.
├── Bastian Graf
│ └── Bastian Graf - 2024-04-26 - 6.take
├── Brad Banas
│ └── Brad Banas - 2022-09-02 - 7.take
├── Carl Hansen
│ └── Carl Hansen - 2024-11-26 - 29.take
├── Courtney Semkewyc
│ ├── Courtney Semkewyc - 2024-10-04 - 8.take
│ └── Courtney Semkewyc - 2024-11-05 - 38.take
├── Eirin Kvandal
│ ├── Eirin Kvandal - 2024-10-02 - 9.take
│ └── Eirin Kvandal - 2024-10-22 - 10.take
├── Stian Eklund
│ ├── Stian Eklund - 2014-06-06 - 11.take
│ ├── Stian Eklund - 2024-12-03 - 1.take
│ ├── Stian Eklund - 2024-12-03 - 2.take
│ ├── Stian Eklund - 2024-12-03 - 3.take
│ ├── Stian Eklund - 2024-12-05 - 13.take
│ ├── Stian Eklund - 2024-12-05 - 14.take
│ └── Stian Eklund - 2024-12-05 - 15.take