Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/B0ney/xmodits-cli
Command line version of xmodits - A tool to rip samples from tracker modules.
https://github.com/B0ney/xmodits-cli
cli fasttracker2 impulsetracker protracker ripper rust screamtracker tracker-music xmodits
Last synced: 3 months ago
JSON representation
Command line version of xmodits - A tool to rip samples from tracker modules.
- Host: GitHub
- URL: https://github.com/B0ney/xmodits-cli
- Owner: B0ney
- License: other
- Created: 2022-12-21T14:02:19.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-12T16:05:29.000Z (9 months ago)
- Last Synced: 2024-04-14T06:51:25.059Z (7 months ago)
- Topics: cli, fasttracker2, impulsetracker, protracker, ripper, rust, screamtracker, tracker-music, xmodits
- Language: Rust
- Homepage:
- Size: 133 KB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## Supported Tracker Formats
| Extension | Format |
| - | - |
| ``.it`` | Impulse Tracker |
| ``.xm`` | Extended Module |
| ``.s3m`` | Scream Tracker 3 |
| ``.mod`` | Amiga Pro Tracker |
| ``.mptm`` | ModPlug Tracker module |
| ``.umx`` | Unreal Music Package (Containing above) |## Supported Exports
| Extension | Format |
|-|-|
|``.wav``| Microsoft Wave|
|``.aiff``| Audio Interchange File Format |
|``.its``| Impulse Tracker 2 sample |
|``.s3i``| Scream Tracker 3 Instrument |
|``.8svx``| 8-Bit Sampled Voice |
|``.raw``| Headerless pcm |# Download
The command line version of xmodits can be downloaded [here](https://github.com/B0ney/xmodits-cli/releases).If you want a more user friendly version, consider getting the gui version [here](https://github.com/B0ney/xmodits/releases). Do note that the gui version has less supported platforms.
Please have a look at [running on older systems](#running-on-older-systems).
# How to Use
```
xmodits {ARGUMENTS} [destination folder]e.g:
xmodits ./test.s3m ~/Music/Samples/xmodits ./test.s3m
xmodits ./mod1.mod ./mod2.it ./mod3.s3m [destination folder]
xmodits --fmt="8svx" ./*.mod ~/Downloads/samples/8svx
```
Note: If the destination is not provided, xmodits will place the ripped samples in a self contained folder in the current working directory.## Additional Arguments
If you want to customize how ripped samples are named, the following arguments can be used:|short| long| Description|
|-|-|-|
|-s |--strict| ``Enabled by default.`` Only allow files with the supported file extensions: [``it``, ``xm``, ``s3m``, ``mod``, ``umx``, ``mptm``]|
|-i |--index-only| Ripped samples will only be named with an index.|
|-r |--index-raw| Preserve internal sample indexing.|
|-p |--index-padding| Pad sample index with preceding zeros. 0-1 will disable padding.|
|-n |--no-folder| Do not create a new folder for ripped samples.|
|-u |--upper| Name samples in upper case. |
|-l |--lower| Name samples in lower case. |
|-g |--prefix| Prefix samples with the tracker's filename. |
|-f|--fmt| Export samples to the following formats: [ ``wav (default)``, ``aiff``, ``8svx``,``its``,``s3i``, ``raw`` ]|## Commands
|short|long|description|
|-|-|-|
||--info| Print information about a tracker module. |
||--Meta| Print metadata about the binary.|
|-V|| Print version|# Building
Install the Rust compiler if you haven't already: https://www.rust-lang.org/tools/installClone the source code:
```shell
git clone https://github.com/B0ney/xmodits-cli
```Build:
```shell
cd xmodits-cli
cargo build --release
```The compiled binary is placed in: ``xmodits-cli/target/release/``
(***nix systems only**) You may get a ``Permission denied`` error if you attempt to run the program. In that case, you'll need to mark the binary as executable:
```shell
chmod +x xmodits
```(**Optional**) Compile with build metadata embedded in the binary (enables ``--Meta`` flag), **This will take longer to compile**:
```shell
cargo build --release --features="with_metadata"
```(**Experimental**) Compile with multi-threading:
```shell
cargo build --release --features="rayon"
```# Running on older systems
## Windows
Minimum supported OS: Windows 7XMODITS is compiled with vcruntime (msvc only) embedded, so it should run out of the box.
## Linux
**For backwards (and forwards) compatibility, it is recommended that you download the ``*-musl`` variant.**Older linux systems may have glibc versions too old to run the program.
You'll most likely get an error like this if you attempt to run the ``*-gnu`` variant:
```
libc.so.6: version `GLIBC_2.18` not found (required by ./xmodits)
```# License
xmodits-cli is licensed under the LGPLv3# Other xmodits projects
|Program| License|Description|
|--|--|--|
|[XMODITS-GUI](https://github.com/B0ney/xmodits) | GPLv3| xmodits gui application|
|[XMODITS-PY](https://github.com/B0ney/xmodits-py)| LGPLv3 | xmodits Python library
(Mainly used for [DawVert](https://github.com/SatyrDiamond/DawVert))|
|[XMODITS-LIB](https://github.com/B0ney/xmodits-lib) | MPLv2 | xmodits core library|