Git Product home page Git Product logo

calf-studio-gear / calf Goto Github PK

View Code? Open in Web Editor NEW
655.0 51.0 93.0 74.19 MB

Developers repository of Calf Studio Gear. Expect some issues when using it for production.

Home Page: http://calf-studio-gear.org

License: GNU Lesser General Public License v2.1

Shell 0.02% Makefile 0.49% Python 2.94% C++ 86.53% C 9.12% Lex 0.07% M4 0.54% Roff 0.28%
hacktoberfest audio music synth synthesizer

calf's Introduction

Calf Studio gear

Calf Studio Gear is an audio plug-in pack for LV2 and JACK environments under LINUX operating systems. The suite contains lots of effects (delay, modulation, signal processing, filters, equalizers, dynamics, distortion and mastering effects), instruments (SF2 player, organ simulator and a monophonic synthesizer) and tools (analyzer, mono/stereo tools, crossovers). Calf Studio Gear aims for a professional audience.

Please visit the website below for further information, screenshots and installation instructions.

http://calf-studio-gear.org

Features

  • Instruments and tone generators (Organ, Monosynth, Wavetable, Fluidsynth)
  • Modulation effects (Multi Chorus, Phaser, Flanger, Rotary, Pulsator, Ring Modulator)
  • Delay effects (Reverb, Vintage Delay,Compensation Delay Line, Reverse Delay)
  • Dynamic processors (Compressor, Sidechain Compressor, Multiband Compressor, Mono Compressor, Deesser, Gate, Sidechain Gate, Multiband Gate, Limiter, Multiband Limiter, Sidechain Limiter, Transient Designer)
  • Filters and equalizers (Filter, Filterclavier, Envelope Filter, Equalizer 5 Band, Equalizer 8 Band, Equalizer 12 Band, Equalizer 30 Band, Vocoder, Emphasis)
  • Distortion and enhancement (Saturator, Exciter, Bass Enhancer, Tape Simulator, Vinyl, Crusher)
  • Tools (Mono Input, Stereo Tools, Haas Stereo Enhancer, Multi Spread, Analyzer, X-Over 2 Band, X-Over 3 Band, X-Over 4 Band)

Usage

Once installed there are a couple of manuals available.

  • "man calf" displays some general instructions
  • "man calfjackhost" gives some hints on how to use the calf rack application
  • /usr/[local]/share/doc/calf (depending on your installation path) contains a HTML manual on how to use the plug-ins user interface
  • The plug-in manuals can also be accessed via the GUI menus.

calf's People

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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

calf's Issues

Feature request: simplified ducker/side-channel compressor

Hi!

There's this awesome Waves plugin named "OneKnob pumper", it's essentially a side-chain compressor with a builtin side-chain signal generator.

This video illustrates it: https://youtu.be/lVrw3StPi24?t=1m25s

So three buttons: amount, rate, offset.

I think you already have all the ingredients, it's only about chaining components together.

FYI: There are more OneKnob plugins: https://youtu.be/HSjMtYzqlL8. They're all just stripped-down versions of existing tools to simplify the workflow. Instant magic sauce. ;)

Feature request : EQ matching

Hi and thanks for the Calf suite !

I'd like to be able to do EQ matching (cf https://www.youtube.com/watch?v=YO_7Q_BmKls) with Calf x-Band Equalizers. My naive guess is that it would add only 2 buttons :

  • "take EQ profile"
  • "match against last profile", which would "substract" the EQs.
    Well, I'm sure it's a LOT more complicated than that but it would be a great addition to the (already great) EQs.

Best Regards

Fluidsynth Gui locking channel preset

I'd like to be able to change the instruments and lock them so program changes from the sending instrument can be ignored. This will allow sparse soundfonts to be used.

Sorry if this is the wrong place but couldnt find feature request and this was 'transferred from SF

calf/primitives.h:394: bad erase ?

[calf/primitives.h:394] -> [calf/primitives.h:397]: (error) Iterator 'i' used after element has been erased.

     timeline.erase(i);

Suggest new code

     i = timeline.erase(i);

Crash with Ardour

On some plugins Ardour crashes on my machine since the latest update, when opening the GUI of the plugin (could reproduce it always with Gate). Also Reverb behaves very strange and gives distorted noises and overloads Ardour's audio.

I have a GDB backtrace and a valgrind output which detected a use of an uninitialized value.

Versions:
Ubuntu Studio 64 15.04
Ardour 4.4.184 "Discreet Music" (built from revision 4.4-201-g5d0b324) Intel 64 bit
Calf checkout: 43f7ccc

The main error from valgrind below is: Access not within mapped region at address 0x71

GDB backtrace:

#0  0x00007ffff52a0705 in gtk_widget_set_no_show_all () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#1  0x00007ffebfd83183 in calf_plugins::plugin_gui_window::show_rack_ears (this=0xe94e2c0, show=true) at plugin_gui_window.cpp:509
#2  0x00007ffebfd8f7ab in gui_instantiate (descriptor=0x7ffebffff680 <lv2ui_descriptor::gtkgui>, plugin_uri=0x20c4c40 "http://calf.sourceforge.net/plugins/Gate", bundle_path=0xc6adf20 "/usr/lib/lv2/calf.lv2/", 
    write_function=0xa4d970 <LV2PluginUI::write_from_ui(void*, unsigned int, unsigned int, unsigned int, void const*)>, controller=0xe786750, widget=0x4586240, features=0xc6adf70) at lv2gui.cpp:364
#3  0x00007ffff28796c5 in suil_instance_new () from /usr/lib/x86_64-linux-gnu/libsuil-0.so.0
#4  0x0000000000a4de7a in LV2PluginUI::lv2ui_instantiate(std::string const&) ()
#5  0x0000000000a4e88f in LV2PluginUI::on_window_show(std::string const&) ()
#6  0x00000000008357e2 in PluginUIWindow::on_show() ()
#7  0x00007ffff3e8bf4d in Gtk::Widget_Class::show_callback(_GtkWidget*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#8  0x00007ffff5bb25e7 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#9  0x00007ffff5bcb088 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#10 0x00007ffff5bcbce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#11 0x00007ffff529adf6 in gtk_widget_show () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 0x00007ffff3e8be10 in Gtk::Widget_Class::show_all_vfunc_callback(_GtkWidget*) () from /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#13 0x0000000000a0de3f in WM::ProxyBase::toggle() ()
#14 0x000000000085fe66 in ProcessorBox::edit_processor(boost::shared_ptr<ARDOUR::Processor>) ()
#15 0x0000000000866637 in ProcessorBox::processor_button_press_event(_GdkEventButton*, ProcessorEntry*) ()
#16 0x0000000000876c20 in sigc::internal::signal_emit2<bool, _GdkEventButton*, ProcessorEntry*, sigc::nil>::emit(sigc::internal::signal_impl*, _GdkEventButton* const&, ProcessorEntry* const&) ()
#17 0x0000000000876df0 in Gtkmm2ext::DnDVBox<ProcessorEntry>::button_press(_GdkEventButton*, ProcessorEntry*) ()
#18 0x00007ffff3e9125b in ?? () from /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1
#19 0x00007ffff5185815 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#20 0x00007ffff5bb23b8 in g_closure_invoke () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#21 0x00007ffff5bc3fd1 in ?? () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#22 0x00007ffff5bcb6f9 in g_signal_emit_valist () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#23 0x00007ffff5bcbce2 in g_signal_emit () from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0
#24 0x00007ffff52956b4 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#25 0x00007ffff5183fc4 in gtk_propagate_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#26 0x00007ffff518437b in gtk_main_do_event () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#27 0x00007ffff4dfe43c in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-x11-2.0.so.0
#28 0x00007ffff56dde04 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff56de048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#30 0x00007ffff56de30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007ffff5183447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#32 0x00007ffff76c90e6 in Gtkmm2ext::UI::run(Receiver&) () from /usr/local/lib/ardour4/libgtkmm2ext.so.0
#33 0x000000000048d0ad in main ()

Valgrind output:

==21039== Thread 15:
==21039== Conditional jump or move depends on uninitialised value(s)
==21039==    at 0x4E0F27A2: float const& std::min<float>(float const&, float const&) (stl_algobase.h:198)
==21039==    by 0x4E11A695: calf_plugins::expander_audio_module::update_curve() (modules_comp.cpp:548)
==21039==    by 0x4E11A584: calf_plugins::expander_audio_module::activate() (modules_comp.cpp:528)
==21039==    by 0x4E1208A8: calf_plugins::gate_audio_module::activate() (modules_comp.cpp:1773)
==21039==    by 0x4E0F8BCE: calf_plugins::lv2_instance::run(unsigned int, bool) (lv2wrap.cpp:144)
==21039==    by 0x4E19676A: calf_plugins::lv2_wrapper<calf_plugins::gate_audio_module>::cb_run(void*, unsigned int) (lv2wrap.h:225)
==21039==    by 0x5CF7337: ARDOUR::LV2Plugin::run(unsigned int) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5CFEAFE: ARDOUR::LV2Plugin::connect_and_run(ARDOUR::BufferSet&, ARDOUR::ChanMapping, ARDOUR::ChanMapping, unsigned int, long) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BA1950: ARDOUR::PluginInsert::connect_and_run(ARDOUR::BufferSet&, unsigned int, long, bool, long) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BA1F28: ARDOUR::PluginInsert::run(ARDOUR::BufferSet&, long, long, unsigned int, bool) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BFB426: ARDOUR::Route::process_output_buffers(ARDOUR::BufferSet&, long, long, unsigned int, int, bool) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BF7377: ARDOUR::Route::passthru(ARDOUR::BufferSet&, long, long, unsigned int, int) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039== 
==21039== Conditional jump or move depends on uninitialised value(s)
==21039==    at 0x4E0F27A2: float const& std::min<float>(float const&, float const&) (stl_algobase.h:198)
==21039==    by 0x4E11A708: calf_plugins::expander_audio_module::update_curve() (modules_comp.cpp:549)
==21039==    by 0x4E11A584: calf_plugins::expander_audio_module::activate() (modules_comp.cpp:528)
==21039==    by 0x4E1208A8: calf_plugins::gate_audio_module::activate() (modules_comp.cpp:1773)
==21039==    by 0x4E0F8BCE: calf_plugins::lv2_instance::run(unsigned int, bool) (lv2wrap.cpp:144)
==21039==    by 0x4E19676A: calf_plugins::lv2_wrapper<calf_plugins::gate_audio_module>::cb_run(void*, unsigned int) (lv2wrap.h:225)
==21039==    by 0x5CF7337: ARDOUR::LV2Plugin::run(unsigned int) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5CFEAFE: ARDOUR::LV2Plugin::connect_and_run(ARDOUR::BufferSet&, ARDOUR::ChanMapping, ARDOUR::ChanMapping, unsigned int, long) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BA1950: ARDOUR::PluginInsert::connect_and_run(ARDOUR::BufferSet&, unsigned int, long, bool, long) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BA1F28: ARDOUR::PluginInsert::run(ARDOUR::BufferSet&, long, long, unsigned int, bool) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BFB426: ARDOUR::Route::process_output_buffers(ARDOUR::BufferSet&, long, long, unsigned int, int, bool) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039==    by 0x5BF7377: ARDOUR::Route::passthru(ARDOUR::BufferSet&, long, long, unsigned int, int) (in /usr/local/lib/ardour4/libardour.so.3.0.0)
==21039== 
CALF DEBUG: instance 0x657b9d80 data 0x63d2be48
CALF DEBUG: calf 0x4eba64c0 cpi 0x4e1968af
==21039== Thread 1:
==21039== Conditional jump or move depends on uninitialised value(s)
==21039==    at 0x77C4703: gtk_widget_set_no_show_all (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==    by 0x540D1182: calf_plugins::plugin_gui_window::show_rack_ears(bool) (plugin_gui_window.cpp:509)
==21039==    by 0x540DD7AA: gui_instantiate(_LV2UI_Descriptor const*, char const*, char const*, void (*)(void*, unsigned int, unsigned int, unsigned int, void const*), void*, void**, _LV2_Feature const* const*) (lv2gui.cpp:364)
==21039==    by 0xA1966C4: suil_instance_new (in /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.6.16)
==21039==    by 0xA4DE79: LV2PluginUI::lv2ui_instantiate(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0xA4E88E: LV2PluginUI::on_window_show(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8357E1: PluginUIWindow::on_show() (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8D44F4C: Gtk::Widget_Class::show_callback(_GtkWidget*) (in /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1.1.0)
==21039==    by 0x6E2E5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x77BEDF5: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039== 

(ardour-4.4.189:21039): Gtk-CRITICAL **: IA__gtk_widget_set_no_show_all: assertion 'GTK_IS_WIDGET (widget)' failed
==21039== Conditional jump or move depends on uninitialised value(s)
==21039==    at 0x77C4703: gtk_widget_set_no_show_all (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==    by 0x540D119E: calf_plugins::plugin_gui_window::show_rack_ears(bool) (plugin_gui_window.cpp:510)
==21039==    by 0x540DD7AA: gui_instantiate(_LV2UI_Descriptor const*, char const*, char const*, void (*)(void*, unsigned int, unsigned int, unsigned int, void const*), void*, void**, _LV2_Feature const* const*) (lv2gui.cpp:364)
==21039==    by 0xA1966C4: suil_instance_new (in /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.6.16)
==21039==    by 0xA4DE79: LV2PluginUI::lv2ui_instantiate(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0xA4E88E: LV2PluginUI::on_window_show(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8357E1: PluginUIWindow::on_show() (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8D44F4C: Gtk::Widget_Class::show_callback(_GtkWidget*) (in /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1.1.0)
==21039==    by 0x6E2E5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x77BEDF5: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039== 
==21039== Use of uninitialised value of size 8
==21039==    at 0x77C4705: gtk_widget_set_no_show_all (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==    by 0x540D119E: calf_plugins::plugin_gui_window::show_rack_ears(bool) (plugin_gui_window.cpp:510)
==21039==    by 0x540DD7AA: gui_instantiate(_LV2UI_Descriptor const*, char const*, char const*, void (*)(void*, unsigned int, unsigned int, unsigned int, void const*), void*, void**, _LV2_Feature const* const*) (lv2gui.cpp:364)
==21039==    by 0xA1966C4: suil_instance_new (in /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.6.16)
==21039==    by 0xA4DE79: LV2PluginUI::lv2ui_instantiate(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0xA4E88E: LV2PluginUI::on_window_show(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8357E1: PluginUIWindow::on_show() (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8D44F4C: Gtk::Widget_Class::show_callback(_GtkWidget*) (in /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1.1.0)
==21039==    by 0x6E2E5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x77BEDF5: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039== 
==21039== Invalid read of size 8
==21039==    at 0x77C4705: gtk_widget_set_no_show_all (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==    by 0x540D119E: calf_plugins::plugin_gui_window::show_rack_ears(bool) (plugin_gui_window.cpp:510)
==21039==    by 0x540DD7AA: gui_instantiate(_LV2UI_Descriptor const*, char const*, char const*, void (*)(void*, unsigned int, unsigned int, unsigned int, void const*), void*, void**, _LV2_Feature const* const*) (lv2gui.cpp:364)
==21039==    by 0xA1966C4: suil_instance_new (in /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.6.16)
==21039==    by 0xA4DE79: LV2PluginUI::lv2ui_instantiate(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0xA4E88E: LV2PluginUI::on_window_show(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8357E1: PluginUIWindow::on_show() (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8D44F4C: Gtk::Widget_Class::show_callback(_GtkWidget*) (in /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1.1.0)
==21039==    by 0x6E2E5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x77BEDF5: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==  Address 0x71 is not stack'd, malloc'd or (recently) free'd
==21039== 
==21039== 
==21039== Process terminating with default action of signal 11 (SIGSEGV)
==21039==  Access not within mapped region at address 0x71
==21039==    at 0x77C4705: gtk_widget_set_no_show_all (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==    by 0x540D119E: calf_plugins::plugin_gui_window::show_rack_ears(bool) (plugin_gui_window.cpp:510)
==21039==    by 0x540DD7AA: gui_instantiate(_LV2UI_Descriptor const*, char const*, char const*, void (*)(void*, unsigned int, unsigned int, unsigned int, void const*), void*, void**, _LV2_Feature const* const*) (lv2gui.cpp:364)
==21039==    by 0xA1966C4: suil_instance_new (in /usr/lib/x86_64-linux-gnu/libsuil-0.so.0.6.16)
==21039==    by 0xA4DE79: LV2PluginUI::lv2ui_instantiate(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0xA4E88E: LV2PluginUI::on_window_show(std::string const&) (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8357E1: PluginUIWindow::on_show() (in /usr/local/lib/ardour4/ardour-4.4.189)
==21039==    by 0x8D44F4C: Gtk::Widget_Class::show_callback(_GtkWidget*) (in /usr/lib/x86_64-linux-gnu/libgtkmm-2.4.so.1.1.0)
==21039==    by 0x6E2E5E6: ??? (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47087: g_signal_emit_valist (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x6E47CE1: g_signal_emit (in /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.4002.0)
==21039==    by 0x77BEDF5: gtk_widget_show (in /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0.2400.23)
==21039==  If you believe this happened as a result of a stack
==21039==  overflow in your program's main thread (unlikely but
==21039==  possible), you can try to increase the size of the
==21039==  main thread stack using the --main-stacksize= flag.
==21039==  The main thread stack size used in this run was 8388608.
==21039== 
==21039== HEAP SUMMARY:
==21039==     in use at exit: 373,190,119 bytes in 2,366,940 blocks
==21039==   total heap usage: 45,362,284 allocs, 42,995,344 frees, 11,382,788,294 bytes allocated
==21039== 
==21039== LEAK SUMMARY:
==21039==    definitely lost: 254,035 bytes in 3,586 blocks
==21039==    indirectly lost: 1,880,010 bytes in 44,579 blocks
==21039==      possibly lost: 18,692,072 bytes in 365,267 blocks
==21039==    still reachable: 334,469,570 bytes in 1,879,748 blocks
==21039==         suppressed: 0 bytes in 0 blocks
==21039== Rerun with --leak-check=full to see details of leaked memory
==21039== 
==21039== For counts of detected and suppressed errors, rerun with: -v
==21039== Use --track-origins=yes to see where uninitialised values come from
==21039== ERROR SUMMARY: 929 errors from 16 contexts (suppressed: 1 from 1)
Killed

Deesser's Split mode broken?

I've been playing around with the awesome Calf deesser a lot today (I had a very nasty track to fix).

I got a strong impression that in the Split Mode all I get is the original signal affected by a gentle lowpass filter and no matter how hard I drive the controls, I can't hear any difference to the signal at all. I think something is broken there.

I'm using the Git version from KX Studio repos. Does anybody have the same experience?

Calf-fluidsynth - *.sf2 autoscan

Would be awesome for newcomers to have an "autoscan sf2" button which can just be something as simple as a find / -name *sf2 on the backend, producing a list you can choose one from.

Cheers for the Calf* BTW, definitely an awesome work

midi bindings are not saved

I have been experimenting with one of the recently added features : assignable midi controller knobs and it works great. However there is 1 problem that makes this feature rather unusable : the ability to save the assignments.

If you assign a knob on your (hardware) midi controller to a knob on the calf gui it works fine as long as you dont close calf. If you do close and reopen it all bindings are lost.

Suspision: Calf causes Ardour 4 to crash X?

Here's a bug I reported for Ardour about this:
http://tracker.ardour.org/view.php?id=6747

The thing is, Ardour recently crahes when I either try to add a Calf pluginf from a favourites list, or select a track, that makes Ardour display a list of plugins (with Calf plugins used there) that are applide to that track.

I suspect the problem might be that recent git version of Calf plugins are mishandling some events from the DAW in such a way that... X server blows up.

I first suspected Ardour, because after upgrade this started to happen. Then I recovered my system from backup with older version of Ardour kept there, but I updated Calf plugins, and the problem came back.

Stereo tools plugins M/S mode not working properly

Hi, just testing Mid side modes in stereo conversions tools and I've realized that LR->MS and MS->LR mode are not working fine. I was expecting something like:
M = 0.5_( L + R )
S = 0.5_( L - R )
L = M + S
R = M - S
However it seams it is working erratically. I've set up a stereo test signal to a Stereo Tools plugin working in LR -> MS mode. The output is connected to another Stereo Tools plugins working in MS -> LR mode. At the end I expect obtaining exactly the same stereo test signal but instead I got a signal with completely mixed L and R channels.

In order to dig a bit more, I've read the source code of the plugin. The file "src/calf/modules_tools.cpp" line 193 have the following code:

        // LR/MS
        L += LL*L + RL*R;
        R += RR*R + LR*L;

The MS/LR conversions seams to be controlled by LL, RL, RR and LR constants. In fact, calculating such values seams thatsthe implementation is wrong for MS modes. Not tested for other modes or balance/pan settings, however I think it should look more like:

        // LR/MS
        M  = LL*L + RL*R;
        S = RR*R + LR*L;

Please note that I've removed the += and used new vars (M, S) to avoid overriding L R values during conversions. I don't know if I'm 100% right about the purposed implementation, but I think you should take it in consideration to review your code.

Thanks for your plugins pack, great work!

out of bounds values on some lv2 control ports

my little validation script caught 2 small errors in the Vocoder plugin.
port 'Carrier' and port 'Modulator' default value are out of bounds.

the modulator port has this info:

   lv2:default 0 ;
   lv2:minimum 1.58490e-05 ;
   lv2:maximum 16 ;

1.58490e-05 > 0, so the default should be 1.58490e-05 instead.
The 'carrier' port has the exact same issue.

build problem with current master

Hello,

I compile the current master branch on fedora 21 64 bits.
I've got an error message while building calf:

g++ -DHAVE_CONFIG_H -I. -I.. -I.. -I. -ffast-math -finline-limit=80 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libdrm -I/usr/include/libpng16 -I/usr/include/lash-1.0 -I/usr/include/alsa -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -g -O2 -O3 -finline-functions -finline-functions-called-once -Wall -msse -mfpmath=sse -MT session_mgr.o -MD -MP -MF .deps/session_mgr.Tpo -c -o session_mgr.o session_mgr.cpp
In file included from session_mgr.cpp:26:0:
./calf/utils.h:197:6: erreur: โ€˜vectorโ€™ in namespace โ€˜stdโ€™ does not name a template type
std::vector list_directory(const std::string &path);
^
Makefile:700: recipe for target 'session_mgr.o' failed
make[3]: *** [session_mgr.o] Error 1
make[3]: Leaving directory '/home/collette/repositories/LV2/calf/src'
Makefile:733: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/home/collette/repositories/LV2/calf/src'
Makefile:585: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/collette/repositories/LV2/calf'
Makefile:386: recipe for target 'all' failed
make: *** [all] Error 2

A missing header perhaps ...

Feature Request: Single Pole Allpass Filter

This plugin would be a little boring since it would mostly be a utility plugin to correct phase shifting problems instead of an effect.

I can find no plugin where I can set a start frequency, and a stop frequency, and within that range it would rotate the phase from 0 to a user defined rotation between -180 and 180 degrees.

So for instance, if I set the start frequency at 1k and set the stop frequency at 5k, with the phase rotation set to +60, the phase would start rotating at 1k and would have rotated to +60 degrees by the time it reached 5k, and then everything past 5k would stay fixed at +60 rotation. If the stop frequency was set below the start frequency, the phase rotation would extend past the stop frequency in the opposite direction. Would probably need an option for linear / log / other(?) interpolation between the start and stop frequencies.

The closest thing I can find is the 4x4 allpass filter by Steve Harris, but it is an effect and can't be controlled in a way that is useful for fixing phase shift.

Feature request: HiDPI theme

I've been having trouble reading the UI since buying a 4k monitor last month:

4k on Gnome

Not a huge problem, but perhaps it would be simple enough to address?

2 more tiny typos on the website

I spotted 2 more tiny typos on the website.

In "Compil from source" paragraph: there is: "Please enshure that your system meets all the requirements illustrated in the section "Dependencies"." -> "enshure" should be "ensure" ... unless this is done as a will :)

In "If you don't have any Linux available..." paragraph, there is: "This means you can run it whithout installation and install it later if you decide to." -> "whithout" should be "without".

Cheers.

Labels for plugin instances in Calf Host

Would it be possible to allow labeling of plugin instances in the calf jack host UI?. When you have more than one instance of a particular plugin it can get confusing when trying to see what plugin instance is for for example having gates for both the kick drum and snare.

In LMMS gui of calf plgins not showing ?

I am on openSUSE 13.1 64 bit. Becaue of an topic on the lmms forums, I found out, I should have those great looking guis in lmms too, but I don't.

I hope this is the right place to ask for help.

LMMS comes with calf plugins, they only have a boring gui, (only knobs) but do work.

I have lmms installed and calf, but I am lost on what to do next ?

First question does calf work with pulseaudio too ?
Second question, how do I proceed ?

Automating calf plugins in ardour can cause ardour to segfault

This seems to be fairly consistent and reproducible for me:

  1. open a new ardour session
  2. load multi chorus on the master channel
  3. create automation for dry amount and set to 'play'
  4. add an audio channel (sometimes it segfaults straight away here)
  5. click on the tracks alternately which the song is playing, after a few clicks ardour segfaults.

I don't know if it is just multi-chorus but that (and the parameters mentioned) is the one I have been working with when this happened. I think that the more parameters you automate the quicker and more consistent the crashing becomes.

Ardour prints this out in a terminal when this happens:

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_adjustment_set_value: assertion 'GTK_IS_ADJUSTMENT (adjustment)' failed

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_widget_get_action: assertion 'GTK_IS_WIDGET (widget)' failed

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_widget_set_tooltip_markup: assertion 'GTK_IS_WIDGET (widget)' failed

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_adjustment_set_value: assertion 'GTK_IS_ADJUSTMENT (adjustment)' failed

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_widget_get_action: assertion 'GTK_IS_WIDGET (widget)' failed

(ardour-4.2.0:21361): Gtk-CRITICAL **: IA__gtk_widget_set_tooltip_markup: assertion 'GTK_IS_WIDGET (widget)' failed *** Error in `/usr/lib64/ardour4/ardour-4.2.0': corrupted double-linked list: 0x00000000074b6040 ***

It goes on with more information but I don't know if it is relevant here - http://pastebin.com/gXXGLe9j

I've been in contact with rgareus from the ardour dev team and it seems this is a semi known issue:

we were not able to track this down. but everything points that calf just writes to some memory where it should not write to..

He did mention another similar issue but the solution (using 0.0.60) makes no difference for me - http://tracker.ardour.org/view.php?id=6511#c17045

I was initially using the latest git version of calf plugins but downgraded and got the same problem. I am using Ardour 4.2.

Calf Jack Host is crashing

Whenever I have a non-empty calf host, it is crashing iresspective of restoring a ladish session or trying to add plugins by hand.

Plugin category?

Hi team and thanks for the hard work! :)

It's maybe not the place to talk about this but as I don't know how to ask I will try here.

Calf plugins doesn't seems to have any category assigned:

calf_categories

This mean they appear in "plugin" category:

calf_categories_001

Maybe I'm wrong but I suspect the category in set inside the LV2 spec.

Feel free to close this ticket if it's not related to your work but if so, I would really love to know where I should report this.

Keep the good work! Those plugins are awesome!

Compiling/Installing Problems

I followed the instructions on your homepage to compile and install the calf plugin suite. It seems that it succeeded, but I cannot call the LV2 plugins from ardour.
This is how the console output looks when I call make install. Any suggestions what goes wrong here? Does it really install the LV2 plugins?

Making install in src
make[1]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
Making install in calf
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
 /bin/mkdir -p '/usr/local/lib/calf'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   calf.la '/usr/local/lib/calf'
libtool: install: /usr/bin/install -c .libs/calf.so /usr/local/lib/calf/calf.so
/usr/bin/install: cannot remove '/usr/local/lib/calf/calf.so': Permission denied
make[3]: *** [install-pkglibLTLIBRARIES] Error 1
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make: *** [install-recursive] Error 1
mrx@audio-workstation:~/Downloads/calf-0.0.60pre5$ sudo make install
[sudo] password for mrx: 
Making install in src
make[1]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
Making install in calf
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src/calf'
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
 /bin/mkdir -p '/usr/local/lib/calf'
 /bin/bash ../libtool   --mode=install /usr/bin/install -c   calf.la '/usr/local/lib/calf'
libtool: install: /usr/bin/install -c .libs/calf.so /usr/local/lib/calf/calf.so
libtool: install: /usr/bin/install -c .libs/calf.lai /usr/local/lib/calf/calf.la
libtool: install: /usr/bin/install -c .libs/calf.a /usr/local/lib/calf/calf.a
libtool: install: chmod 644 /usr/local/lib/calf/calf.a
libtool: install: ranlib /usr/local/lib/calf/calf.a
libtool: finish: PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/sbin" ldconfig -n /usr/local/lib/calf
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/local/lib/calf

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make  install-data-hook
make[4]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
install -d -m 755 /usr/local/share/calf 
install -c -m 644 ../presets.xml /usr/local/share/calf
make[4]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
make[1]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/src'
Making install in gui
make[1]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
Making install in icons/LV2
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
make[3]: Nothing to be done for `install-exec-am'.
make  install-data-hook
make[4]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
install -d -m 755 /usr/local/share/calf/icons/LV2
install -c -m 644 ./*.svg /usr/local/share/calf/icons/LV2
make[4]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui/icons/LV2'
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
make[3]: Nothing to be done for `install-exec-am'.
make  install-data-hook
make[4]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
install -c -m 644 ./*.png /usr/local/share/calf
../src/calfmakerdf -m gui -p /usr/local/share/calf
install -c -m 644 ./gui-*.xml /usr/local/share/calf
sed 's#@guidatadir@#/usr/local/share/calf#g' ./calf.rc.in >../calf.rc
install -c -m 644 ../calf.rc /usr/local/share/calf
rm -f ../calf.rc
make[4]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
make[1]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/gui'
Making install in icons
make[1]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
make[2]: Nothing to be done for `install-exec-am'.
make  install-data-hook
make[3]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
for fn in 16x16 22x22 24x24 32x32 48x48 64x64 128x128 256x256; do \
        mkdir -p "/usr/local/share/icons/hicolor/${fn}/apps/"; \
        cp "../icons/calf_${fn}.png" "/usr/local/share/icons/hicolor/${fn}/apps/calf.png"; \
        cp "../icons/calf_plugin_${fn}.png" "/usr/local/share/icons/hicolor/${fn}/apps/calf_plugin.png"; \
    done
mkdir -p "/usr/local/share/icons/hicolor/scalable/apps/"; \
    cp "../icons/calf_scalable.svg" "/usr/local/share/icons/hicolor/scalable/apps/calf.svg";
cp "../icons/calf_plugin_scalable.svg" "/usr/local/share/icons/hicolor/scalable/apps/calf_plugin.svg";
gtk-update-icon-cache: Cache file created successfully.
make[3]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
make[1]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5/icons'
make[1]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5'
make[2]: Entering directory `/home/mrx/Downloads/calf-0.0.60pre5'
make[2]: Nothing to be done for `install-exec-am'.
install -d -m 755 /usr/local/share/doc/calf
install -d -m 755 /usr/local/share/doc/calf/images
install -d -m 755 /usr/local/share/doc/calf/images/icons
install -d -m 755 /usr/local/share/doc/calf/images/prettyPhoto
install -d -m 755 /usr/local/share/doc/calf/images/prettyPhoto/dark_rounded
install -d -m 755 /usr/local/share/doc/calf/scripts
install -c -m 644 ./doc/manuals/*.html /usr/local/share/doc/calf
install -c -m 644 ./doc/manuals/images/*.png /usr/local/share/doc/calf/images/
install -c -m 644 ./doc/manuals/images/*.jpg /usr/local/share/doc/calf/images/
install -c -m 644 ./doc/manuals/images/prettyPhoto/dark_rounded/* /usr/local/share/doc/calf/images/prettyPhoto/dark_rounded/
install -c -m 644 ./doc/manuals/images/icons/* /usr/local/share/doc/calf/images/icons/
install -c -m 644 ./doc/manuals/scripts/*.css /usr/local/share/doc/calf/scripts/
install -c -m 644 ./doc/manuals/scripts/*.js /usr/local/share/doc/calf/scripts/
 /bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 calf.desktop '/usr/local/share/applications'
 /bin/mkdir -p '/usr/local/share/man/man1'
 /usr/bin/install -c -m 644 calfjackhost.1 '/usr/local/share/man/man1'
 /bin/mkdir -p '/usr/local/share/man/man7'
 /usr/bin/install -c -m 644 calf.7 '/usr/local/share/man/man7'
make[2]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5'
make[1]: Leaving directory `/home/mrx/Downloads/calf-0.0.60pre5'

Questions about Calf Wavetable Synth

Hi all,
I'm really enjoying the Wavetable synth.. reminds me a bit of the Korg DW-6000/8000 back in the days..!
Anyway, I was wondering if, among the very nice waves available, a noise waveform could be added. It would be very useful for making percussive-type sounds.
Also, I'm wondering what is meant by "experimental" on your website. Since I'd like to dedicate a webpage of my own to this synth, it would be nice to hear what your future plans are for it. Personally, I love it! :)

Happy holidays!
brian

Calf host needs bypass buttons per plugin

The title really explains it all: please add a bypass button per audio plugin to calf-jack-host. Right now if you want to disable an effect, you have to reroute stuff. That's rather tedious.

Knobs dont indicate values

In the recent versions of calf turning knob does not give visible feedback so it does not indicate the actual values, the knob is set to.

I thought, this could be an issue with the new white on white theme, as in: the png for the knobs simply dont show any visible notches to indicate values. But the problem is visible in the other themes as well...

I build today from git in Ubuntu 14.10

typos on the website

Hi guys, yesterday I reported a typo on the website to Krzysztof on the #lad channel on IRC. This was in Calf-reverb definition : artifficial -> artificial .
I found another one today in the Calf-mono-input definition : funtion -> function.
Since he's not on IRC right now and my brain would loose it in about 10 mins from now, I'm putting this here in the hope someone will pick it up soon.
HTH

Feature Request: Spectral Delay

Re-implement Jesse Chappell's per-frequency delay from FreqTweak as a calf plugin. Bonus points: include frequency modulator functionality.

This is kinda random, but there are not ladspa, lv2 plugins anything like the spectral delay functionality found in freqtweak. And it is starting to suffer from some significant bit-rot. Would be nice to be able to use it as a plugin.

Analyzer: Improving spectrograph readability?

I find spectrographs very hard to read with the light-green backgrounds. I'd love to be able to make the backgrounds very dark and the displays yellow or green or RGB with full color spectrum used for the data,, I think the stylisation/functionality is here tilted too much left (towards stylisation).

calf

Maybe there's a way to change the stylisation, not hurting it, but improve the functionality?

Let's take a look at some other spectrograms present in Linux Audio:

Here's Audacity: it has a light gray background which isn't optimal, but uses colour information to improve the readability of the image:

audacity

This is FreqTweak, it uses both black background and color coding:

freqtweak

And finally here's Sonic Visualiser:

sonicvisualiser1

Critical bug with Ardour4.4: system freeze

As somebody knows, I've report this bug yesterday on ardour mail list.
Here it is:
"
I use kxstudio12.04 with calf's LV2 for many years, with ardour 2,3
(+/- git), 4, and made my workflow with.
I've worked with this setup using ardour3-git (so it was ardour4 in
fact) for hours without problem.

But now I can't continue like this because I got critical bugs when I
use calf's LV2 (gate and compressor for sure).
Generally, ardour4.4 is slower and not reactive as I (well) know since I
use plug-in (latency to open plugin-UI, to play after moving play head,
when reach end of loop).
The bug is really critical because: my system freeze!
That begin by very big latency between sound and played position showed
in editor (the play head don't go back to the begin of the loop when the
sound does), and go badder to critical bug.
The first time, the system freeze, not tty (!), alt-gr+kill+imp (kill x
server) don't work, and after15min I finally get the login window (same
as when you boot), and still not tty!
After that, I see something strange in another terminal (for a music
player) about "gstreamer pluging scan errors".

After reboot (and update), I've reproduce the bug, also with bigger
buffer value in jack. Simply loop region and pay with calf's gate or
compressor.
"
I tried to make a backtrace by runing ardour in gdb, as it's mentioned on ardour's web site, but can't do "thread apply all bt" because ardour don't crash, but just freeze.

http://pastebin.com/sF3eD16t

Recipe: With Ardour4.4, loop a region, and open calf gate and/or comp UI and play with parameters.
Go badder and badder until total system freeze (and not just ardour).
In the attached file I stop quickly (close UI, stop ardour's playhead) but ardour was definitely freeze.

Hope that could help.

Some uses of uninitialized variables

Recently, while tracking down a crash in Ardour, I came across some uninitialized uses of variables (most probably in if's). Probably not a big issue, but worth to look at. Find attached the valgrind output of loading a session in Ardour (which crashed, though not because of calf).

Calf Plugins Bug Report2.txt

noise artefacts when creating notch filters

when using the 12 band eq for bass management, i noticed pronounced noise artefacts. these occur when placing high Q (20-40) notch filters at low frequencies around 50-150 Hz. the artefacts are easy to hear when playing single bass notes or a sine sweep over this range, and they sound like zipper noise or a piece of paper placed on the driver.

i would think the same occurs also on the 8-band and 5-band but have not tried.

Incomplete GUI when running inside Carla

calf carla

When I'm using Calf plugins with Carla plugin host, some parts of the GUIs are not drawn at all. Mostly this is bearable (compressors don't display the curve and dancing dot), however looks like multibands use this graph to set crossover frequencies, so some important functionality is missing because of this. No idea why this happens so.

Can anybody confirm this?

Finding the html manuals installed with the plugins

Manuals in my distro are in /usr/share/doc/calf/index.html not /usr/local/...

I was having trouble locating them.
I'm running KX Studio, maybe other distros put it elsewhere?

Could there be a way to add a "Manual" button somewhere that'll open the manual index?

Some plugins crash ardour, some show no gui

Not sure what is going on here, I'm sure this used to work. If I load calf compressor in ardour 4 and then try to open the gui of the plugin, ardour crashes and disappears. It seems that not all plugins will crash, if I try to load the Emphasis plugin I just get the ardour plugin header strip and no calf gui at all.

I tried to open them in Carla and was successful. However, running the Carla vst host in Renoise and trying to open the gui also crashes the host. Fortunately in Carla there is an option for "Use UI bridges" and this fixes the crashes in Renoise but it would seem that the cause is the same as that of the problem in ardour.

I am using the 0.0.60 release. I have also replicated this with the official ardour download as well, although this is particular log is with my own version:

ardour4
bind txt domain [gtk2_ardour4] to /usr/share/ardour4/locale
Ardour4.0.gentoo (built using 4.0-gentoo and GCC version 4.9.2)
ardour: [INFO]: Your system is configured to limit Ardour to only 64000 open files
ardour: [INFO]: Loading system configuration file /etc/ardour4/system_config
Loading user configuration file /home/alex/.config/ardour4/config
No H/W specific optimizations in use
ardour: [INFO]: Loading default ui configuration file /etc/ardour4/default_ui_config
ardour: [INFO]: Loading user ui configuration file /home/alex/.config/ardour4/ui_config
ardour: [INFO]: Loading color file /etc/ardour4/dark.colors
ardour: [INFO]: Loading ui configuration file /etc/ardour4/clearlooks.rc
ardour: [INFO]: Loading ui configuration file /etc/ardour4/clearlooks.rc
EngineControl::set_state
setting input device to:  setting output device to:  Found nothing along /home/alex/.config/ardour4/templates:/usr/share/ardour4/templates
run dialog
Announcement is: Version 4.1 has been released. Update at http://ardour.org/download
Scanning folders for bundled LV2s: /usr/lib64/ardour4/LV2
error: failed to expand CURIE `fomp:'
error: attempt to add quad with NULL field
error: failed to expand CURIE `pprops:hasStrictBounds'
error: attempt to add quad with NULL field
error: failed to expand CURIE `pprops:hasStrictBounds'
error: attempt to add quad with NULL field
error: failed to expand CURIE `pprops:hasStrictBounds'
error: attempt to add quad with NULL field
error: failed to expand CURIE `pprops:hasStrictBounds'
error: attempt to add quad with NULL field
Set cursor set to default
CALF DEBUG: instance 0x357c320 data 0x8067d58
CALF DEBUG: calf 0x7fc7f9b347f0 cpi 0x7fc7f916c2a0

** (ardour-4.0.gentoo:7472): ERROR **: Unknown parameter mix
[1]    7472 trace trap  ardour4

This was opening an empty project, loading calf compressor and trying to open the gui.

If there is any more information I can provide in order to troubleshoot this the please let me know, I am keen to get to the bottom of it but not sure where to begin really. If a gdb output from ardour would helpful then I can provide that.

Knobs and graphs not drawing

calf no knobs

I'm using KX Studio's repositories and package calf-plugins-git in version 2:0.0.60+git20150718-1kxstudio1

This seems to affect all Calf plugins in all hosts I tried. Is anybody expiriencing similar problems?

Feature request: please add 0.0.60 GUI theme to Style menu

Please add the 0.0.60 GUI theme to the Style menu. The indicators around the rotary controls in the 0.0.19 style which has replaced it just look broken and are confusing to look at. I'll add that I usually avoid fancy plugin GUIs as I find them visually distracting. The 0.0.60 style is one of the few I can tolerate using ;-)

Feature request: Dark GUI themes

It would be nice to have some darker GUI themes. I find that white or brightly coloured controls and buttons pull my eyes away from the important stuff like the meters and the line display. My own preference is for darker themes as I find them easier to work with. Here's an example:
calf-jr1
calf-jr1-bypass

BTW the new theming setup is very easy to use :-)

Plugin GUI style : RFC

Hi Calf team! Thanks for being there! Your plugins are simply great! But :
Why did you change your plugin's GUI that hard?

The new calf colour theme..nah..too bright and somehow inattractive IMHO. It simply does not make me want to "grab into the screen to turn the knobs" like before. Pity. But I realize maybe you are busy with integrating more info into the GUI and so you might be urged to find a new GUI style.

Please keep in contact with your users to find the optimum.
Yours sincerely,

Robert Dietrich
distrozapper

Feature request: Add text entry for control knob settings

Slider values can be typed in by middle-clicking mouse to bring up a text entry field. I seem to remember this also used to work for control knobs, but it isn't working here in current git version of calfjackhost. It's useful to be able to type in exact values when required.

lv2 units#db handled incorrectly

Copied from sourceforge

eq5 for example has a number of ports that claim to have http://lv2plug.in/ns/extensions/units#db

For instance the "Level L" port. The GUI shows a range of -36..36 but the manifest file gives a range of 0.0156250..64

Clearly the range given by the manifest is db mapped to an amplitude/ As a plugin host, since the units#db are specified, I'd expect to be giving values in DB and have the plugin do that db to amplitude conversion.

A user on SF [JohnR] included this on the original bug listing:

"Fixing this would make it easier to use a generic GUI (eg. in Ardour or jalv.gtk), which can be useful when it's necessary to minimise CPU load. At the moment the conversion to dB
has to be done mentally, which is inconvenient."

Add external inputs to sidechain compressor/gate/limiter

It would make these plugins very useful for ducking, for example. As of today, the only sidechain compressor with external inputs on Linux is the LADSPA SC3 plugin, which is quite basic. Or take for example sidechaining on the multiband gate, in order to reduce maybe spillage the snare onto the tom tracks (but only affecting the high end). It would also be handy to have lookahead on all the dynamics plugins (especially on the gate). It appears that the code for the functionality is already there (I see lookahead functionality on some of the plugins, external sidechaining would have to be added but it is probably trivial).

Multiband gate not effective

up-to-date master, commit cf5a86b. What works: Bypass and solo for each band (though bypass mutes the band; I would have expected it to just pass through.) What doesn't work: No matter what settings I dial in, no gain reduction is ever indicated, and using an analyzer + my ears, I can't discern any change in sound. Is there an activation button I'm missing?

The single-band gate works as described.

git-master: equalizer draggable graph handlers can't be dragged with mouse

Hi. I installed current git-master version (f420ec3) and using Ardour 4.2
When i use calf 12-band equalizer, i can see the mouse handlers in the graph, they show tooltips and cursor becomes 'drag', when hovering over them with mouse. But i can't drag them (not sure if this is how it should work). Those handlers move only when i change the corresponding filter sliders and knobs (below the graph), but not with mouse on the graph.
The same issue with all *-band equalizers

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.