CLI tool to deal with ZoomR16 project
Project description
zrtool
zrtool is a little cli tool that let you do some actions on a ZoomR16 project. For now, you can backup a project in a compressed format, and extract any data you need from it. You can also get the original uncompressed project if you want to restore a backuped project into you ZoomR16 device.
Installation
zrtool need a proper installation of flac
(https://www.xiph.org/flac/) to work. The flac encoder and decoder is
available on most platform, e.g. apt install flac
for debian based OS.
zrtool will try to use the flac
command line. If the flac
binary is
not accessible from your PATH, it can be specified with the
ZRTOOL_FLAC_BIN
environnement.
The recommended way to install zrtool is by using pipx
:
pipx install zrtool
If you don't want to install pipx
to manage python cli tools
installation, zrtool can also be installed with pip:
pip install zrtool
Usage example
All this options are not yet available. They will be included in version 1.0.0. To see what's already implemented refer to the CHANGES document.
Backup a project under the zrpa format.
$ zrtool archive [--compress|--no-compress] PRJ000/ project-000.zrpa
Convert back to the original format.
$ zrtool export [--number N] project-000.zrpa [foo/]
It will create a directory PROJ000
in the foo directory. If foo is not
specified, create PROJ000
in the current directory. Number is
optional, if not given the number of the project is determined by the
project that can be found in the target directory. If specified this
number is used to define the name of the project directory.
Search
Search based on metadata.
$ zrtool filter \
[--not] \
--zprop "name" "Test" \
--zprop-track "fader" 80 1 \
--tag "title" ".*song" \
--tag-file "title" ".*song" "MONO-000" \
[--recursive] \
[directory/...]
path/to/archive.zrpa
path/to/other-archive.zrpa
Return the path of zrpa archive that match at least one of the given tag or zprop. It get archive from directory if given, else it reads path from stdin. Filter can be piped to each other to perform "and" filter and more complex search.
Metadata
Show metadata of a zrpa archive.
$ zrtool tags project-000.zrpa
title: Song title
author: Band name
date: 2020-02-29
MONO-000.WAV:
author: Someone
instrument: Guitar
comment: Recorded with simple microphone
MASTR000.WAV:
comment: First mix done. Needs to be improved
$ zrtool tags --project project-000.zrpa
title: Song title
author: Band name
date: 2020-02-29
$ zrtool tags --file MONO-000.WAV project-000.zrpa
MONO-000.WAV:
author: Someone
instrument: Guitar
comment: Recorded with simple microphone
$ zrtool tags --project --key title project-000.zrpa
Song title
$ zrtool tags --file MONO-000.WAV --key instrument project-000.zrpa
guitar
Add a new key and value to a project.
$ zrtool tag [--update] --key-value Take 0 project-000.zrpa
$ zrtool tag [--update] --key-value Author Someone --file MONO-000 project-000.zrpa
Edit an existing metadata of a project.
$ zrtool tag --key Title project-000.zrpa
$ zrtool tag --key Instrument --file MONO-000 project-000.zrpa
$ zrtool project-000.zrpa metadata rename-key Author Artist
Rename an existing key.
$ zrtool tag --rename-key Author Artist project-000.zrpa
$ zrtool tag --rename-key Author Artist --file MONO-000 project-000.zrpa
Delete an existing tag.
$ zrtool rmtag --key Title project-000.zrpa
$ zrtool rmtag --key Title --file MONO-000 project-000.zrpa
Files
List archive content.
$ zrtool files project-000.zrpa
AUDIO/
AUDIO/MASTR000.WAV
AUDIO/MONO-000.WAV
AUDIO/MONO-001.WAV
AUDIO/MONO-002.WAV
AUDIO/MONO-003.WAV
AUDIO/MONO-004.WAV
AUDIO/MONO-005.WAV
EFXDATA.ZDT
metadata.json
PRJDATA.ZDT
$ zrtool files project-000.zrpa AUDIO
AUDIO/
AUDIO/MASTR000.WAV
AUDIO/MONO-000.WAV
AUDIO/MONO-001.WAV
AUDIO/MONO-002.WAV
AUDIO/MONO-003.WAV
AUDIO/MONO-004.WAV
AUDIO/MONO-005.WAV
$ zrtool files project-000.zrpa AUDIO/*
AUDIO/MASTR000.WAV
AUDIO/MONO-000.WAV
AUDIO/MONO-001.WAV
AUDIO/MONO-002.WAV
AUDIO/MONO-003.WAV
AUDIO/MONO-004.WAV
AUDIO/MONO-005.WAV
$ zrtool files project-000.zrpa AUDIO/* *.ZDT
AUDIO/MASTR000.WAV
AUDIO/MONO-000.WAV
AUDIO/MONO-001.WAV
AUDIO/MONO-002.WAV
AUDIO/MONO-003.WAV
AUDIO/MONO-004.WAV
AUDIO/MONO-005.WAV
EFXDATA.ZDT
PRJDATA.ZDT
Extract a file from an archive.
$ zrtool extract [--directory foo/] project-000.zrpa AUDIO/* *.ZDT
Extract audio files from an archive.
$ zrtool get \
--format {flac|vorbis|mp3|wav} \
[--directory foo/]
[--name '${title} - ${author}.ogg'] \
project-000.zrpa MASTR000...
Add audio file to an archive. File are added to the root of the archive,
except audio file that are added to the audio directory. If --dest DEST
option is given, DEST
is created in the archive starting from
the root and files are added in this directory. It prevent from
overwriting metadata file with a non-conform metadata file.
$ zrtool file [--update] [--dest AUDIO] project-000.zrpa music.wav
$ zrtool file [--update] project-000.zrpa note.txt
Remove a file from an archive. Some integrity checks needs to be done.
$ zrtool rmfile project-000.zrpa AUDIO/MONO-000.WAV...
Project data
Read project data in the PRJDATA.ZDT
file.
$ zrtool zprops project-000.zrpa
name: PROJ000
...
$ zrtool zprops --track 1 project-000.zrpa
file: MONO-000.WAV
fader: 80
...
$ zrtool zprops --key name project-000.zrpa
PROJ000
Edit project data.
$ zrtool zprop --key-value name "MYPROJ" project-000.zrpa
$ zrtool zprop --key-value file MASTR000.WAV --track 1 project-000.zrpa
$ zrtool zprop --key File --track 1 project-000.zrpa
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file zrtool-0.2.0.tar.gz
.
File metadata
- Download URL: zrtool-0.2.0.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.7.3 Linux/4.19.0-12-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07761bc94d3634151fd7cd3c2fd972ef3815c95c4fb1a9e808f336fa45089d94 |
|
MD5 | 0023c5abef454a36b0e09a2c243c3bd6 |
|
BLAKE2b-256 | 52a16bb7cf99309e123e922e41d9829b6e80e7d46b5bfb67bf0449a4eda88a4e |
File details
Details for the file zrtool-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: zrtool-0.2.0-py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.4 CPython/3.7.3 Linux/4.19.0-12-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e3a143d5114a255b4a53b6ff3e7e6ab08862d109dfabc2d4085a3bef7e6d010 |
|
MD5 | 1821a2f3e22e971a96eca8b6e67712bd |
|
BLAKE2b-256 | 95cfa4d3f86fa0bf06beb1f635d584f0d1d42064bc594a87c2974c101d8d3e52 |