README.md
1# B.SEQuencer
2Repository: BSEQuencer
3
4Description: Multi channel MIDI step sequencer LV2 plugin with a variable matrix
5
6Key features:
7
8* Step sequencer with a selectable pattern matrix size (8x16, 16x16, 24x16, or 32x16)
9* Autoplay or host or host + MIDI controlled playing
10* User defined pad features: Gate, note pitch, octave pitch, velocity, and duration
11* Optional individual randomization of each pad feature
12* Handles multiple MIDI inputs signals (keys) in one sequencer instance
13* Use musical scales and / or drumkits
14* Scale & drumkit editor
15* Controls for playing direction, jump, skip, and stop options placeable to any position within the matrix
16* Notes can be associated with four different, configurable output channels
17* Additional channel features: velocity and MIDI note offset
18* Output channels connectable with individual MIDI channels
19
20![screenshot](https://github.com/sjaehn/BSEQuencer/blob/master/docs/screenshot.png "Screenshot from B.SEQuencer")
21
22
23## Installation
24
25a) Install the bsequencer (bsequencer-lv2) package for your system
26* [Arch linux](https://www.archlinux.org/packages/community/x86_64/bsequencer/) by David Runge
27* [Debian](https://librazik.tuxfamily.org/doc3/logiciels/bsequencer) by Olivier Humbert
28* [Free BSD](https://www.freshports.org/audio/bsequencer-lv2) by yurivict
29* [NixOS](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/audio/bsequencer/default.nix) by Bart Brouns
30* [openSUSE](https://software.opensuse.org/package/BSEQuencer)
31* [Ubuntu](https://launchpad.net/ubuntu/+source/bsequencer) by Erich Eickmeyer
32* Check https://repology.org/project/bsequencer/versions for other systems
33
34Note: This will NOT necessarily install the latest version of B.SEQuencer. The version provided depends on the packagers.
35
36b) Use the latest provided binaries
37
38Unpack the provided bsequencer-\*.zip or bsequencer-\*.tar.xz from the latest release and
39copy the BSEQuencer.lv2 folder to your lv2 directory (depending on your system settings,
40~/.lv2/, /usr/lib/lv2/, /usr/local/lib/lv2/, or ...).
41
42c) Build your own binaries in the following three steps.
43
44Step 1: Clone or download this repository.
45
46Step 2: Install pkg-config and the development packages for x11, cairo, and lv2 if not done yet. If you
47don't have already got the build tools (compilers, make, libraries) then install them too.
48
49On Debian-based systems you may run:
50```
51sudo apt-get install build-essential
52sudo apt-get install pkg-config libx11-dev libcairo2-dev lv2-dev
53```
54
55On Arch-based systems you may run:
56```
57sudo pacman -S base-devel
58sudo pacman -S pkg-config libx11 cairo lv2
59```
60
61Step 3: Building and installing into the default lv2 directory (/usr/local/lib/lv2/) is easy using `make` and
62`make install`. Simply call:
63```
64make
65sudo make install
66```
67
68**Optional:** Standard `make` and `make install` parameters are supported. Alternatively, you may build a debugging version using
69`make CPPFLAGS+=-g`. For installation into an alternative directory (e.g., /usr/lib/lv2/), change the
70variable `PREFIX` while installing: `sudo make install PREFIX=/usr`. If you want to freely choose the
71install target directory, change the variable `LV2DIR` (e.g., `make install LV2DIR=~/.lv2`) or even define
72`DESTDIR`.
73
74**Optional:** Further supported parameters include `LANGUAGE` (usually two letters code) to change the GUI language
75(see customize).
76
77
78## Running
79
80After the installation Carla, Ardour and any other LV2 host should automatically detect B.SEQuencer.
81
82If jalv is installed, you can also call it
83```
84jalv.gtk https://www.jahnichen.de/plugins/lv2/BSEQuencer
85```
86to run it stand-alone and connect it to the JACK system.
87
88
89## Usage
90
91See https://github.com/sjaehn/BSEQuencer/wiki/B.SEQuencer
92
93
94## Presets
95
96B.SEQuencer comes along with a set of factory presets including arpeggios and drum patterns. You can also import
97the large collection of Tidal Cycles drum patterns made by LVM from https://github.com/lvm/tidal-drum-patterns
98using the Importpattern tool: https://github.com/sjaehn/Importpattern .
99
100
101## Customize
102
103You can create customized builds of B.SEQuenzr using the parameter `LANGUAGE`(e.g.,
104`make LANGUAGE=DE`). To create a new language pack, copy `src/Locale_EN.hpp` and edit
105the text for the respective definitions. But do not change or delete any definition symbol!
106
107
108## What's new
109
110* Logo
111* Bugfixes
112* Link tool to import drum patterns to presets
113* Support LANGUAGE parameter
114* Add locales: EN, DE, IT (by LAM)
115* Enable web browser call (help, tutorial) on fork-blocking hosts
116* Faster due to compiler optimizations (`-O3 -ffast-math`)
117* Binary compatibility improved
118 * Static libs
119 * Strip symbols by default
120* Binary packages provided
121
122
123## Acknowledgments
124
125* Thanks for translation by LAM
126
127
128## See also
129
130* Feature tour: https://www.youtube.com/watch?v=J6bU4GdUVYc
131* Preview: https://www.youtube.com/watch?v=iERRKL7J-KU
132