Code Monkey home page Code Monkey logo

rakarrack-plus's People

Contributors

fpesari avatar raboof avatar ssj71 avatar stazed avatar trebmuh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rakarrack-plus's Issues

Default user directory

The user directory preference is by default set to DATADIR which is defined as DATADIR="${CMAKE_INSTALL_PREFIX}/share/rakarrack-plus". This however is usually not writable by the user and @jujudusud reported this caused R+ to display an error on launch.

Ideally R+ should

  • default this pref (see src/Config_fltk.C) to something like ~/.rakarrack-plus or ~/.local/share/rakarrack-plus
  • create this directory automatically on first launch

Fix midi_converter plugin instantiation in lv2lint

Can't tell what exactly is missing here, but this does not happen for any other plugin.

$ lv2lint https://github.com/Stazed/rakarrack-plus#midi_converter

<https://github.com/Stazed/rakarrack-plus#midi_converter>
    [FAIL]  Plugin Instantiation
              failed to instantiate
              seeAlso: <http://lv2plug.in/ns/lv2core>
    [FAIL]  Plugin Symbols
              binary exports superfluous globally visible symbols: 
                * _ZN4Ring10setpanningEi
                * _ZN8Resample8mono_outEPfS0_idi
                * _ZN9MuTroMojo9setpresetEi
                * _ZN12AnalogFilter11filterout_sEf
                * _ZN8Sequence7cleanupEv
                * _ZN8VaryBand10initializeEv
                * _ZN5ArpieD0Ev
                * _ZN8Echotron6getparEi
                * _ZN10StereoHarm7cleanupEv
                * _Z10run_voclv2Pvj
                * ... there is more, but the rest is being truncated
              seeAlso: <http://lv2plug.in/ns/lv2core#binary>
    [WARN]  Plugin Project
              lv2:project doap:name not found
              seeAlso: <http://lv2plug.in/ns/lv2core#project>
  {4 : MIDI_IN}
    [FAIL]  Port Atom Port
              atom:AtomPort requires urid:map feature
              seeAlso: <http://lv2plug.in/ns/ext/urid#map>
  {5 : MIDI_OUT}
    [FAIL]  Port Atom Port
              atom:AtomPort requires urid:map feature
              seeAlso: <http://lv2plug.in/ns/ext/urid#map>

New UI mockup

Hello,

I am no graphic designer but I've used a fair share of plugins so I tried my hand at an alternative UI. Here is the result so far:

New (FLTK theme, no effects yet)

image

Original (FLTK theme)

image

This was all done using standard FLTK in fluid (and some sed). I think it is no masterpiece but I think it looks a bit less dated than the original rakarrack UI, since it is flatter.

I can't get the combo boxes not to show borders, though.

What do you think about it (keeping in mind that I am not a designer)? Sadly, I can't easily deploy it due to #22 - sorry but I am no FLTK expert!

Can R+ be somehow configured to perform like Vocal Harmonizer stomp-boxes ?

There are some pretty effective busker friendly Vocal Harmonizer stomp-boxes like Zoom V3, Boss VE-2, TC Helicon Perform-VG or TC-Helicon VoiceLive etc, which can do vocal harmony that do typically the following to the signal chain in real-time:

  • Apply compression
  • Apply some light EQ
  • Apply some studio reverb
  • Apply some optional echo
  • Most importantly, do Vocal Harmony by adding another voicing in various configurations, while taking cues from the chords being played on the guitar that sound natural and just-right.

Remove Release from tags

Hello,

I am making an openSUSE package for rakarrack-plus. Having "release" in release tag is a bit nonstandard, could you please use simple version numbers like 1.0.5, so that the tarball is named rakarrack-plus-1.0.5? Thank you!

ATTENTION!!

For release version 1.2.5, the LV2 plugin names have been changed to be prefixed with RKRP instead of RakarrackPlus.
This change is only cosmetic and is fully compatible with prior versions. The change was made to provide for better display of plugin type in plugin host modules that often have limited space for name display. You will now find the LV2s in host plugin choosers under RKRP instead of RakarrackPlus.

Can we merge projects?

Hi Stazed. I didn't know that you were working on this project for a long time. I'm very glad you are. I'd like to merge our projects and work together. Do you see any obstacles for doing so? AFAICT I think I can just close out rkrlv2 and point people here since you have the plugins merged already IIUC. Does that seem appropriate? Lets talk about it. If you'd like to discuss on IRC or something let me know, or we can email, or discuss here, whatever you prefer.

NSM support seems to not work at all.

Hello.
I tried rakarrack-plus NSM support, but the main NSM goal seems to not work at all: save the rakarrack-plus NSM client doesn't saves anything !

  • add executable rakarrack-plus to RaySession or NSM
  • move any slider in rakarrack-plus
  • save rakarrack-plus client
  • stop rakarrack-plus client
  • resume rakarrack-plus client

and changes are forgotten :(

Cheers
Mathieu

/nsm/client/gui_visible missing somewhere at startup

When r-plus is started under NSM with GUI visible, it forgets to send to NSM server /nsm/client/gui_visible.
Then the r-plus GUI is hidden for the NSM server GUI, and click on the GUI button changes nothing (it make NSM server send to rakarrack-plus /nsm/client/show_optional_gui, but the r-plus GUI is already shown in reality).

to reproduce:

  • add rakkarack-plus to the current session
  • show its GUI
  • save and close the session
  • reload this session

Implementing small feature - best practices, git guidelines...?

I'm in the process of adding a small but powerful feature to the 'analog phaser' effect. It's essentially a tick box called "static LFO" which when enabled, makes the 'frequency' slider directly control the LFO position instead of the frequency (which stays at zero). I've been using this trick for decades on a Behringer unit (only phaser i've used which has this feature) to make killer tone filters that really beef up (or can even sometimes replace) a speaker cab sound.

It could also be used to create some kinds of wah-like effects by mapping a midi control to the LFO position parameter. The Boss GT-PRO has such wah models that are phaser/flanger based, and they sound pretty similar to what could be achieved with this.

I'd like to ask if there are any 'code of conduct' guidelines/rules for writing the code, i can see the code in aphaser.{h,C,c*} is pretty hectic in its indentation and style, so i'm not expecting something too strict there. How about submitting patches / pull requests, what would be the best way to do this when this feature is functional?\

EDIT:

Looking at the LFO code (src/EFX_common/EffectLFO.{h,C} it looks like it would make more sense to implement this feature there (ie. add a LFO type "static") than directly in the phaser FX as i'm currently doing. Also the added benefit would be that it can easily be applied to other effects in the same way. What do you guys think?

Could NOT find FLTK error

Hi! I am trying to compile this on Fedora 37. I have installed both the fltk and fltk-devel packages, but I get this:

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find FLTK (missing: FLTK_FLUID_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindFLTK.cmake:329 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:81 (find_package)

Do you have any idea how to solve this?

Thanks!

Rakarrack Plus no reacciona con un valor MIDI de Program Change igual a 0

Hola, he detectado que Rakarrack Plus no reacciona con un valor MIDI de Program Change igual a 0, es necesario darle un valor de 1 para que nos ubique en el preset 1. Esto no debería ser así, ya que, la mayoría de los programas de computadora aceptan el Valor 0 para ubicarse en el primer preset.

Ardour 7 can't find the LV2 plugins

Hiya there!

So I compiled and everything works wonderfully in the standalone application, but I can't get Ardour 7 to see the LV2.

It is correctly installed in usr/local/lib/lv2, tried to copy the folder to /usr/lib/lv2/ but still no success.

Any ideas on how to solve this?

Thanks!

More standardized CMake build script

Hello,

I am building rakarrack-plus in a virtualized environment (Open Build System) and the current build is a bit uncomfortable, because it requires that an environment variable is set and that the lv2 directory already exists, which is not necessarily true in virtualized environments (which are built from scratch for every build, basically).

I did not submit a PR because my change was pretty substantial and you might want to think about an alternative. Here is my solution, which uses a CMAKE variable so that it can be passed via cmake -DLV2_PATH=...

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8efa0d56..7b9fa94d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -210,8 +210,8 @@ endif (BuildRakarrackPlus)
 if (BuildLV2Plugins)
     pkg_check_modules(LV2 REQUIRED lv2>=1.0.0)
     if (LV2_FOUND)
-        if (EXISTS $ENV{LV2_PATH})
-            set(LV2_INSTALL_DIR $ENV{LV2_PATH} CACHE PATH
+        if (DEFINED LV2_PATH)
+            set(LV2_INSTALL_DIR "${LV2_PATH}/RakarrackPlus.lv2" CACHE PATH
             "Specifies where the LV2 libraries should be installed")
         else()
             set(LV2_INSTALL_DIR lib/lv2/RakarrackPlus.lv2 CACHE PATH

Also, I think there was a typo in the first branch of the if because the LV2_PATH should not include the RakarrackPlus.lv2 child directory but should be the generic LV2 path, such as /usr/lib/lv2 or /usr/lib64/lv2

make fail with "erreur fatale: FL/Fl_Tiled_Image.H : Aucun fichier ou dossier de ce type"

Which mean fatal error: FL/Fl_Tiled_Image.H : No file or directory of that type
That is on a gentoo linux amd64 system with fltk-1.3.5 and cmake 3.27.3.

$ make
[  1%] Building CXX object lv2/CMakeFiles/rakarrack-plus-lv2.dir/rkrlv2.C.o
Dans le fichier inclus depuis /home/dom/softs/Musique/rakarrack-plus/lv2/../src/FX/Effect.h:22,
                 depuis /home/dom/softs/Musique/rakarrack-plus/lv2/rkrlv2.h:39,
                 depuis /home/dom/softs/Musique/rakarrack-plus/lv2/rkrlv2.C:21:
/home/dom/softs/Musique/rakarrack-plus/lv2/../src/FX/../global.h:38:10: erreur fatale: FL/Fl_Tiled_Image.H : Aucun fichier ou dossier de ce type
   38 | #include <FL/Fl_Tiled_Image.H>
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminée.
make[2]: *** [lv2/CMakeFiles/rakarrack-plus-lv2.dir/build.make:76: lv2/CMakeFiles/rakarrack-plus-lv2.dir/rkrlv2.C.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:269: lv2/CMakeFiles/rakarrack-plus-lv2.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

This append both with the git code and with 1.2.3.

$ cmake -L .
CMake Deprecation Warning at CMakeLists.txt:3 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


USING GNU OPTIMIZATIONS
-- Found aconnect in /usr/bin/aconnect
-- Found rt in /usr/lib64/librt.a
-- Found dl in /usr/lib64/libdl.a
-- 
-- =========================================================
-- Build Configuration for Rakarrack-plus-1.2.3 for Linux
-- =========================================================
-- 
-- ___________________ Optimizations________________________
-- Vectorization. . . . . . . . . . . . . . . . . . . . . .: Yes
-- Use altiveck . . . . . . . . . . . . . . . . . . . . . .: No
-- Use sse. . . . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Use sse2 . . . . . . . . . . . . . . . . . . . . . . . .: Yes
-- 
-- ______________________Library____________________________
-- PkgConfig. . . . . . . . . . . . . . . . . . . . . . . .: Yes
-- FLTK toolkit . . . . . . . . . . . . . . . . . . . . . .: Yes
-- ALSA MIDI Sequencer support. . . . . . . . . . . . . . .: Yes
-- X11 support. . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Freetype support . . . . . . . . . . . . . . . . . . . .: Yes
-- Zlib support . . . . . . . . . . . . . . . . . . . . . .: Yes
-- pthread support (libpthread) . . . . . . . . . . . . . .: Yes
-- JACK Audio Connection Kit library. . . . . . . . . . . .: Yes
-- Fontconfig support . . . . . . . . . . . . . . . . . . .: Yes
-- Fast Fourier Transform (fftw3) . . . . . . . . . . . . .: Yes
-- General audio file (libsndfile). . . . . . . . . . . . .: Yes
-- Samplerate conversion (libsamplerate). . . . . . . . . .: Yes
-- Xft support. . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Xrender support. . . . . . . . . . . . . . . . . . . . .: Yes
-- Xpm support (libxpm) . . . . . . . . . . . . . . . . . .: Yes
-- Liblo support. . . . . . . . . . . . . . . . . . . . . .: Yes
-- LV2 support. . . . . . . . . . . . . . . . . . . . . . .: Yes
-- 
-- ____________________ User Options________________________
-- Use optimizations. . . . . . . . . . . . . . . . . . . .: Yes
-- Vectorization. . . . . . . . . . . . . . . . . . . . . .: Yes
-- Use altiveck . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Use sse. . . . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Use sse2 . . . . . . . . . . . . . . . . . . . . . . . .: Yes
-- Build Rakarrack-plus . . . . . . . . . . . . . . . . . .: Yes
-- Build LV2s (RakarrackPlus.lv2) . . . . . . . . . . . . .: Yes
-- Build Carla lv2 presets. . . . . . . . . . . . . . . . .: No
-- Build for debug. . . . . . . . . . . . . . . . . . . . .: No
-- NSM session support. . . . . . . . . . . . . . . . . . .: Yes
-- Sysex preset save support. . . . . . . . . . . . . . . .: No
-- 
-- 
-- Building for Release
-- Flags: -std=c++11 -Wno-unused-parameter -O3 -ffast-math -pipe -fsigned-char -msse -msse2 -mfpmath=sse -ftree-vectorize -fvect-cost-model
-- Configuring done (0.2s)
-- Generating done (0.1s)
-- Build files have been written to: /home/dom/softs/Musique/rakarrack-plus-1.2.3/build
-- Cache values
BuildCarlaPresets:BOOL=OFF
BuildForDebug:BOOL=OFF
BuildLV2Plugins:BOOL=ON
BuildOptionsBasic:STRING=-std=c++11 -Wno-unused-parameter -O3 -ffast-math -pipe -fsigned-char
BuildOptionsDebug:STRING=-std=c++11 -O0 -g3 -ggdb -Wall -Wextra -Wpointer-arith
BuildOptions_Altivec:STRING=-maltivec
BuildOptions_SSE:STRING=-msse -mfpmath=sse
BuildOptions_SSE2:STRING=-msse -msse2 -mfpmath=sse
BuildOptions_Vectorization:STRING=-ftree-vectorize -fvect-cost-model
BuildRakarrackPlus:BOOL=ON
EnableAltivec:BOOL=ON
EnableNSM:BOOL=ON
EnableOptimizations:BOOL=ON
EnableSSE:BOOL=ON
EnableSSE2:BOOL=ON
EnableSysex:BOOL=OFF
EnableVectorization:BOOL=ON
FLTK_CONFIG_SCRIPT:FILEPATH=/usr/bin/fltk-config
FLTK_FLUID_EXECUTABLE:FILEPATH=/usr/bin/fluid
FLTK_INCLUDE_DIR:PATH=/usr/include/fltk
LV2_INSTALL_DIR:PATH=lib/lv2/RakarrackPlus.lv2
X11_xcb_xkb_INCLUDE_PATH:PATH=/usr/include

FLTK_INCLUDE_DIR is correct and the missing file exist.
Is it something I can do about this?

Update Icons

..doc/help/imagenes/icono_rakarrack_128x128.png.
We should have a contest!!!

VST or LADSPA to use in Renoise - possible?

Glad to have found this project of creating plugins of the old Rakarrack and improve it, which is something i was considering to undertake myself!

The only thing missing from this is to be able to use them in Renoise, which doesn't (yet) support LV2 plugins, without using a wrapper VST like Carla or similar which adds (a bit of) overhead, usage complication, and possibility of potential issues. Is it possible to compile these as LADSPA plugins, or is there any plans to port them to VST?

Slow startup on Raspberry Pi OS (Buster)

I've noticed that Rakarrack-Plus takes about one and a half minutes to start up on my Raspberry Pi 4. Not a bug, necessarily, but When I didn't know to expect the wait, it seemed like one.

It might be a good idea to put up a splash screen of some kind while Rakarrack-Plus is initializing.

Remove CheckOldBank()

Highly unlikely that any of these old banks are still out there.
Remove bank conversion, and help references also.

Headless/Remote Control

I have an interest in using R+ headless and remotely controlling it from a different computer or tablet or phone, etc. The idea being to not open the GUI on the host machine at all to make more CPU time available for the audio.

There was a rakarrack-headless project on GitHub, but it only went so far. There were several issues with being able to use Rak headless. Would you be interested in work in that area?

In terms of remote control, R+ has, I assume, the same default MIDI implementation as the old version. While extensive, it is not complete without functions such as editing every parameter in every FX unit, being able to edit presets and save new ones, changing preferences, etc. I thought I saw that you had added somethings like bank change to the default MIDI. Would you be interested in a more complete remote control system like OSC? I see you have liblo already for NSM support.

MIDI program change table listing

The listing of user bank presets should list unnamed items as "Untitled (#)". The program change table matches by numeric location from the drop down list. If the user bank has unnamed items which are not listed, then the selection is misaligned with the bank when the program change is sent.
Temporary solution is to fill the user bank in numerical order, left to right, top to bottom with no unnamed presets in between.

libjack-dev vs libjack-jackd2-dev

In the Install section, you say "The dependencies are: ..." and include "libjack-dev".

Installing "libjack-dev" on my Ubuntu Studio causes the apt package manager to uninstall other packages including studio-controls.

I can avoid this by installing "libjack-jackd2-dev" instead and everything compiles as expected with no packages needing to be removed.

CMakeLists.txt typo at line 185

The line:

set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} $[BuildOptions_Altivec}")

has a typo after the dollar sign, it should be ${. This breaks the build if the user is too lazy to fix it locally.

Thank you

ld doesn't see pipewire-jack

On Fedora 36 make command ends up with error:
[ 29%] Linking CXX executable rakarrack-plus /usr/bin/ld: cannot find -ljack collect2: error: ld returned 1 exit status make[2]: *** [src/CMakeFiles/rakarrack-plus.dir/build.make:2625: src/rakarrack-plus] Error 1 make[1]: *** [CMakeFiles/Makefile2:295: src/CMakeFiles/rakarrack-plus.dir/all] Error 2 make: *** [Makefile:136: all] Error 2

jack is installed via pipewire-jack-audio-connection-kit-devel

$ pkgconf jack --libs -L/usr/lib64/pipewire-0.3/jack -ljack $ pkgconf jack --print-provides jack = 1.9.17

I've assume it is Fedora issue is there any way to bypass it?

Controller changes followed immediately by program changes do not take effect

If a midi program change is received and followed by a controller change (which, presumably, should apply to the newly loaded program) the controller change is ignored. This is due to a race condition: program changes are effectively asynchronous whereas controller changes are immediate and synchronous. As a result, the parameters changed by the controller end up being overwritten by the program change.

I'm in the process of implementing a fix for this. I'll follow up with a PR.

Use the FLTK or GTK+ theme rather than Gleam theme by default

Hello,

Gleam looks very bad on my PC, very 1990s with gradients which aren't almost never used in GUIs:

image

FLTK looks a lot better, but has some white borders which look weird, and old-style comboboxes:

image

GTK+ IMHO looks the best, even if those blue controls need to be replaced:

image

FLTK are GTK+ are both better than Gleam IMHO, even if they need some fixes. I am no graphic designer but if you allow me, I can make some mockups for an user-friendlier interface, with the feedback of some people who use the rakarrack-plus package I made on openSUSE.

Meanwhile, I kindly ask to switch away from Gleam, since it looks very dated and doesn't help people get that this is a modern fork of rakarrack. These are my 2 cents, not as a designer but as a packager and user. Thank you for listening 😸

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.