Skip to content

Commit

Permalink
3.2.0
Browse files Browse the repository at this point in the history
  • Loading branch information
psemiletov committed Jul 4, 2023
1 parent 0d3020e commit 77f6fa5
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 49 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#CMake file for drumrox
cmake_minimum_required(VERSION 3.0)
project (drumrox VERSION 3.1.0 LANGUAGES CXX C)
project (drumrox VERSION 3.2.0 LANGUAGES CXX C)


set(LV2_INSTALL_DIR lib/lv2 CACHE PATH "Specifies where the LV2 libraries should be installed")
Expand Down
20 changes: 14 additions & 6 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
Drumrox 3.1.0 (multi-layers for Drumrox format)
Drumrox 3.2.0 (SFZ support + GUI redesign)

Hello!

After the implementation of multi-layered samples support for Hydrogen kits, I made the similar thing for Drumrox own kit format. As the example you can try a new kit TamilMulti at https://github.com/psemiletov/drumrox-kits. There also a simple "Tamil" kit without multi-layered samples. I'm big fan of Tamil movies, as well as Hindi :)
* This release adds SFZ support.

And speaking about multi-layered samples at Drumrox kits, the syntax at file format as usual simple. For the multi-layered samples, just separate their file names with comma, using the order from "quiet" sample to the "loudest" one (multi-layered samples are the set of samples those differs with the timbre, not the volume):
Actually I was eagered to play AVL Blonde Bop kit (avaliable as SFZ at http://www.bandshed.net/avldrumkits/) with Drumrox, so now it works! Needly to say, that it is not the best way to deal with AVL kits, and Avldrums.lv2 gives more features for them, because of built-in MIDNAM and more precise "exclusive groups" (hihats, crash cymbal, ride cymbal). Drumrox supports just hihats group for the auto-mute, and does it in the different way.

kick=kick01.wav,kick02.wav,kick03.wav,kick04.wav
snare=share01.wav,share02.wav,share03.wav
hihat opened=hihat01.wav,hihat02.wav
Drumrox searches SFZ's at $HOME/sfz-kits.

Besides AVL SFZ, you can try other SFZ drumkits, for example from musical-artifacts.com.

Thus, currently Drumrox supports Hydrogen kits, Drumrox kits, and SFZ.

* Another new thing is the redesigned GUI. Yes, it is still GTK2-based. I removed the clickable leds, frame captions, but added buttons instead. The buttons with sample names. You can click them to hear, you can watch how they are triggered from DAW, so buttons are just as good old leds, but bigger and with the labels. The plugin window now became wider, and fits to 1280p with big drum kits.

Stay tuned!

Peter Semiletov, Kiev, 04 july 2023
44 changes: 14 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,46 +13,30 @@ Drumrox is LV2 drum machine (based on DrMr) to load Hydrogen and Drumrox drumkit

Some history: Drumrox is based on Nicklan's DrMr (https://github.com/nicklan/drmr) and Filipe Coelho's DrMr (https://github.com/falkTX/drmr). The first one can save/load the preset by index, so when you install new kits or delete some, indexes are messing up. falkTX's DrMr deals with presets in more comfortable way, via the names. I (Peter Semiletov) used it everyday, but at the some point of time it becomes incompatible with new Hydrogen kits, and I've edited them manually to fix (removing some section in XML). Fresh install of Hydrogen converts my edited kits to the modern kit format again, and it was simplier to add some code than to edit the kits again. And when I've started to do that, I understand that I want to clean up the code, etc, etc. That how Drumrox continues DrMr...

![image](https://user-images.githubusercontent.com/8168336/246684340-0b81c208-a9e5-4c75-b843-8840223d13ac.png)
![image](https://user-images.githubusercontent.com/8168336/250968814-1b15341c-f59e-413b-8276-807a05089021.png)


About:
-----
## Features

- Loads as LV2 in the host (Ardour)
- Scan for and load Hydrogen drum kits
- Multi-layer hydrogen kits (will pick layer based on that samples set gain)
- LV2 controls for gain on first 32 samples of kit
- LV2 controls for pan on first 32 samples of kit
- GTK ui that can select a kit and control gain/pan on each sample
- Custom knob widget for GTK ui based on phatknob that is both functional and awesome looking
* LV2 plugin format (currently with GTK2 GUI, works with Ardour and Mixbus only)

From falkTX's DrMr "Regarding This Branch":
-------------------------------------------
* Stereo (with built-in mixer) and 32-channels versions

- Kits are now selected via their path and not the hacky integer port as before
- The kit path is now saved and restored using lv2-state, so you can install/remove/modify hydrogen kits and your state won't be messed up.
- No need to scan kits in the plugin core so the plugin loads faster
- Led indicator in the UI when a sample is triggered
- Led indicator can be clicked to trigger sample for preview
* Supported sample kit formats: Hydrogen, Drumrox, SFZ

* Up to 32 instruments with layers

Drumrox additions:
------------------
* Automatic open hihat mute on hihat close

- Compatibility with modern Hydrogen kit format
- Presets are sorted in alphabetical order
- Drumrox format drumkits and [kits repo](https://github.com/psemiletov/drumrox-kits)
- Plugin window is more fits to the screen
- Drumkit picture support
- Panning modes (linear panner, law: -6 dB //default; linear panner, law: 0 dB; square root panner, law: -3 dB; sin/cos panner, law: -3 dB
- best resampler mode at sample load (SRC_SINC_BEST_QUALITY from libsamplerate)
- Partial conversion from C to C++ to further development
* Drumkit image at plugin window

* Built-in mixed with panning options


Compilation and Install
-----------------------
Drumrox is built with [CMake](http://www.cmake.org). Or you can install Drumrox from AUR (``yay -S drumrox``)

Drumrox can be built with [CMake](http://www.cmake.org). Or you can install Drumrox from AUR (``yay -S drumrox``)

To build from the source simply do (from this dir):

Expand All @@ -67,9 +51,9 @@ Then do, as root or with sudo:

There are some customizable variables for cmake. To see them do "cmake -L". The important ones are:

USE_NKNOB - Use custom knob widget for controls instead of the default gtk sliders. This defaults to ON. Try turning it off if you are experiencing problems, or just prefer the sliders.
```USE_NKNOB``` - Use custom knob widget for controls instead of the default gtk sliders. This defaults to ON. Try turning it off if you are experiencing problems, or just prefer the sliders.

LV2_INSTALL_DIR - The directory to install the Drumrox plugin to. To install to your home directory, use "~/.lv2" and clear the CMAKE_INSTALL_PREFIX. This defaults to "lib/lv2" (this is relative to CMAKE_INSTALL_PREFIX, which is usually /usr/local)
```LV2_INSTALL_DIR``` - The directory to install the Drumrox plugin to. To install to your home directory, use "~/.lv2" and clear the CMAKE_INSTALL_PREFIX. This defaults to "lib/lv2" (this is relative to CMAKE_INSTALL_PREFIX, which is usually /usr/local)


You need the following libraries to build Drumrox from the source:
Expand Down
27 changes: 17 additions & 10 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,25 +15,33 @@ Drumrox is LV2 drum machine (based on DrMr) to load Hydrogen and Drumrox drumkit

## News

Drumrox 3.1.0 (multi-layers for Drumrox format)
Drumrox 3.2.0 (SFZ support + GUI redesign)

Hello!

After the implementation of multi-layered samples support for Hydrogen kits, I made the similar thing for Drumrox own kit format. As the example you can try a new kit TamilMulti at [Drumrox kits](https://github.com/psemiletov/drumrox-kits). There also a simple "Tamil" kit without multi-layered samples. I'm big fan of Tamil movies, as well as Hindi :)
* This release adds SFZ support.

And speaking about multi-layered samples at Drumrox kits, the syntax at file format as usual simple. For the multi-layered samples, just separate their file names with comma, using the order from "quiet" sample to the "loudest" one (multi-layered samples are the set of samples those differs with the timbre, not the volume):
Actually I was eagered to play AVL Blonde Bop kit (avaliable as SFZ at http://www.bandshed.net/avldrumkits/) with Drumrox, so now it works! Needly to say, that it is not the best way to deal with AVL kits, and Avldrums.lv2 gives more features for them, because of built-in MIDNAM and more precise "exclusive groups" (hihats, crash cymbal, ride cymbal). Drumrox supports just hihats group for the auto-mute, and does it in the different way.

```kick=kick01.wav,kick02.wav,kick03.wav,kick04.wav
snare=share01.wav,share02.wav,share03.wav
hihat opened=hihat01.wav,hihat02.wav```
Drumrox searches SFZ's at $HOME/sfz-kits.

Besides AVL SFZ, you can try other SFZ drumkits, for example from musical-artifacts.com.

Thus, currently Drumrox supports Hydrogen kits, Drumrox kits, and SFZ.

* Another new thing is the redesigned GUI. Yes, it is still GTK2-based. I removed the clickable leds, frame captions, but added buttons instead. The buttons with sample names. You can click them to hear, you can watch how they are triggered from DAW, so buttons are just as good old leds, but bigger and with the labels. The plugin window now became wider, and fits to 1280p with big drum kits.

Stay tuned!

Peter Semiletov, Kiev, 04 july 2023

## Features

* LV2 plugin format (currently GTK2 only, works with Ardour)
* LV2 plugin format (currently with GTK2 GUI, works with Ardour and Mixbus only)

* Stereo (with built-in mixer) and 32-channels versions

* Supported kit formats: Hydrogen, Drumrox, SFZ
* Supported sample kit formats: Hydrogen, Drumrox, SFZ

* Up to 32 instruments with layers

Expand All @@ -42,11 +50,10 @@ hihat opened=hihat01.wav,hihat02.wav```
* Drumkit image at plugin window


![image](https://user-images.githubusercontent.com/8168336/246684340-0b81c208-a9e5-4c75-b843-8840223d13ac.png)
![image](https://user-images.githubusercontent.com/8168336/250968814-1b15341c-f59e-413b-8276-807a05089021.png)


## Some history

Drumrox is based on Nicklan's DrMr (https://github.com/nicklan/drmr) and Filipe Coelho's DrMr (https://github.com/falkTX/drmr). The first one can save/load the preset by index, so when you install new kits or delete some, indexes are messing up. falkTX's DrMr deals with presets in more comfortable way, via the names. I (Peter Semiletov) used it everyday, but at the some point of time it becomes incompatible with new Hydrogen kits, and I've edited them manually to fix (removing some section in XML). Fresh install of Hydrogen converts my edited kits to the modern kit format again, and it was simplier to add some code than to edit the kits again. And when I've started to do that, I understand that I want to clean up the code, etc, etc. That how Drumrox continues DrMr...


11 changes: 9 additions & 2 deletions docs/manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ $HOME/drumrox-kits
```

As you see, Drumrox searches at Hydrogen's directories, legacy DrMr's paths, and its own ```$HOME/drumrox-kits```. Drumrox kits must be placed to ```$HOME/drumrox-kits```, and SFZ kits to ```$HOME/sfz-kits```
As you see, Drumrox searches at Hydrogen's directories, legacy DrMr's paths, and its own ```$HOME/drumrox-kits```. Drumrox kits must be placed to ```$HOME/drumrox-kits```, and SFZ kits to ```$HOME/sfz-kits```.

All scanned kits will be available at Drumrox from the drop-down menu.

You can change the kit during playing. It can cost a bit of time, so wait until the new kit is loaded. Drumrox resamples instruments when load, if the session's sample rate differs from the kit's sample rate.

By clicking on small lights near the drum samples you can hear them without any MIDI input.
By clicking on buttons with drum sample names you can hear them without any MIDI input.

On saving the session, Drumrox saves the full path of the current drumkit, so if you move the drumkit to another directory, Drumkit can't find it later.

Expand All @@ -41,6 +41,13 @@ This version of Drumrox provides 32 output mono channels, one per sample of the

How to use it with Ardour?

Watch this video guide:

[English language version](https://www.youtube.com/watch?v=NqzB98iONMA)
[Видео на русском](https://www.youtube.com/watch?v=k_ImLh4pSvI&t=8s)

Or read this:

1. Create MIDI track with Drumrox-muiti as the instrument.

2. Load drumkit into the Drumrox-multi. For example, Hydrogen's GMRockKit. It has 18 instruments inside. Thus, we need just 18 output channels from the 32 available.
Expand Down

0 comments on commit 77f6fa5

Please sign in to comment.