sjaehn / BChoppr

An audio stream chopping LV2 plugin
GNU General Public License v3.0
33 stars 3 forks source link

B.Choppr

An audio stream chopping LV2 plugin.

Description: B.Choppr cuts the audio input stream into a repeated sequence of up to 16 chops. Each chop can be leveled up or down (gating) or panned to the left or right. B.Choppr is the successor of B.Slizr.

screenshot

Installation

a) Install the bchoppr package for your system

Note: This will NOT necessarily install the latest version of B.Choppr. The version provided depends on the packagers.

b) Use the latest provided binaries

Unpack the provided bchoppr-*.zip or bchoppr-*.tar.xz from the latest release and copy the BChoppr.lv2 folder to your lv2 directory (depending on your system settings, ~/.lv2/, /usr/lib/lv2/, /usr/local/lib/lv2/, or ...).

c) Build your own binaries in the following three steps.

Step 1: Download the latest published version of B.Choppr. Or clone it including its submodules from this repository:

git clone --recurse-submodules https://github.com/sjaehn/BChoppr

Step 2: Install pkg-config and the development packages for x11, cairo, and lv2 if not done yet. If you don't have already got the build tools (compilers, make, libraries) then install them too.

On Debian-based systems you may run:

sudo apt-get install build-essential
sudo apt-get install pkg-config libx11-dev libcairo2-dev lv2-dev

On Arch-based systems you may run:

sudo pacman -S base-devel
sudo pacman -S pkg-config libx11 cairo lv2

Step 3: Building and installing into the default lv2 directory (/usr/local/lib/lv2/) is easy using make and make install. Simply call:

make
sudo make install

Optional: Standard make and make install parameters are supported. Alternatively, you may build a debugging version using make CXXFLAGS+=-g. For installation into an alternative directory (e.g., /usr/lib/lv2/), change the variable PREFIX while installing: sudo make install PREFIX=/usr. If you want to freely choose the install target directory, change the variable LV2DIR (e.g., make install LV2DIR=~/.lv2) or even define DESTDIR.

Running

After the installation Ardour, Carla, and any other LV2 host should automatically detect B.Choppr.

If jalv is installed, you can also call it

jalv.gtk https://www.jahnichen.de/plugins/lv2/BChoppr

to run it (pseudo) stand-alone and connect it to the JACK system.

Note: Jack transport is required to get information about beat / position

Usage

The plugin slices a stereo input stream, amplifies or silences the individual slices and send the whole sequence to the output. Although this affects only the audio signal, it needs a playback running (Jack transport).

In addition to the global controllers, the interface is divided into three parts: step controls, monitor and step shape.

Global

Step controls

Monitor

Step shape

🔗 Shared data

If you use multiple instances of B.Choppr you may be interested in sharing the plugin settings between the instances. Click on one of the four shared data fields and the respective plugin instance is linked to the shared data. The plugin instance data are copied to the shared data field if no other plugin instance is linked to this shared data field before (otherwise vise versa).

If you now click on the same shared data box in another plugin instance, both plugin instances get the same data.

Click again on the selected box to unlink the plugin instance from shared data. The plugin now shows the host-provided data.

Note: Shared data are unlinked from host automation.

Internationalization

B.Choppr now uses the dictionaries of the new B.Widgets toolkit and all labels are now automatically shown in your system language (if translation is provided). The dictionary for this plugin is stored in src/BChoppr_Dictionary.data. If you want to add a translation to your language, simply edit this file in your text editor und use the (POSIX) language code (format: language_TERRITORY) of your language.

E. g., if you want to add a french translation of "Help", simply change

    {
        "Help",           
        {
            {"de_DE", "Hilfe"},
            {"it_IT", "Aiuto"}
        }
    },

to

    {
        "Help",           
        {
            {"de_DE", "Hilfe"},
            {"fr_FR", "Aide"},
            {"it_IT", "Aiuto"}
        }
    },

Once you changed the dictionary, you have to re-build the plugin. And please share your translations with other users by either submitting a git pull request or notifying me (issue report, e-mail, ...).

What's new

TODO

Acknowledgments

Links