Re: [LAD] liquidsfz-0.2.0
Yes, I understand your explanation. For the moment, I just forward jack received CCs to the lib. I will try to make some mokcup before to update the UI. Cheers, Ben Le 16/01/2020 à 23:34, Stefan Westerfeld a écrit : >Hi! > > Am 12.01.20 um 18:59 schrieb Benoît Rouits: >> I will update QLiquidSFZ then, to reflect the additions you made. >> Many thanks for this cool library. > > Right. The most interesting (difficult) addition from the UI point of > view is probably > >>> - provide list of CCs supported by .sfz file (Synth::list_ccs) > > The thing is that CCs can be used to control aspects of the sound, such > as panning or the number of layers used for the sound (i.e. some layers > will be turned on/off by the cc). From an UI point of view it would be > ideal if each CC was displayed as one slider (or knob), so you would > call list_ccs and create a number of sliders/knobs, one for each CC. The > default value provided by liquidsfz would be the initial position of the > slider/knob. If the user turns the slider/knob, then qliquidsfz would > generate CC events for it. > > Its a bit tricky because obviously Synth::add_event_cc() cannot be > executed at the same time Synth::process() is running in the JACK > thread. One way to do this is using some kind of queue for the CC > events, so that the JACK process callback can execute them together with > the other midi events before process(). > > Also in a perfect world if CC events were be received by MIDI, the UI > would update its state. So using an external midi controller would move > the Qt slider/knob widget. Again, this needs to be implemented carefully > in order to be thread safe. > > The CC widgets really cannot be done properly by the text UI, this is > why I only display a list there. If you are looking for a program for > inspiration how a UI could look, I'd recommend sforzando for windows. > This can at least give you an idea of the direction to go. I personally > obtained an old version (win_sforzando_v1.822.exe) which runs in wine. > You'll see in the controls tab what I mean if you load a sfz with CCs. > >Cu... Stefan > ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] liquidsfz-0.2.0
Hi! Am 12.01.20 um 18:59 schrieb Benoît Rouits: > I will update QLiquidSFZ then, to reflect the additions you made. > Many thanks for this cool library. Right. The most interesting (difficult) addition from the UI point of view is probably >> - provide list of CCs supported by .sfz file (Synth::list_ccs) The thing is that CCs can be used to control aspects of the sound, such as panning or the number of layers used for the sound (i.e. some layers will be turned on/off by the cc). From an UI point of view it would be ideal if each CC was displayed as one slider (or knob), so you would call list_ccs and create a number of sliders/knobs, one for each CC. The default value provided by liquidsfz would be the initial position of the slider/knob. If the user turns the slider/knob, then qliquidsfz would generate CC events for it. Its a bit tricky because obviously Synth::add_event_cc() cannot be executed at the same time Synth::process() is running in the JACK thread. One way to do this is using some kind of queue for the CC events, so that the JACK process callback can execute them together with the other midi events before process(). Also in a perfect world if CC events were be received by MIDI, the UI would update its state. So using an external midi controller would move the Qt slider/knob widget. Again, this needs to be implemented carefully in order to be thread safe. The CC widgets really cannot be done properly by the text UI, this is why I only display a list there. If you are looking for a program for inspiration how a UI could look, I'd recommend sforzando for windows. This can at least give you an idea of the direction to go. I personally obtained an old version (win_sforzando_v1.822.exe) which runs in wine. You'll see in the controls tab what I mean if you load a sfz with CCs. Cu... Stefan -- Stefan Westerfeld, http://space.twc.de/~stefan ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] liquidsfz-0.2.0
Wonderful! I will update QLiquidSFZ then, to reflect the additions you made. Many thanks for this cool library. Benoît Le 12/01/2020 à 18:34, Stefan Westerfeld a écrit : > liquidsfz-0.2.0 has been released > > The main goal of liquidsfz is to provide an SFZ sampler implementation > library that is easy to integrate into other projects. A standalone jack > client and a LV2 plugin is also available. > > liquidsfz is implemented in C++ and licensed under the GNU LGPL version > 2.1 or later. The release tarball can be downloaded here: > > https://github.com/swesterfeld/liquidsfz#releases > > Overview of Changes in liquidsfz-0.2.0: > --- > > > > > * Provide LV2 plugin > > > * Support for // sections > > > * Handle #define > * Lots of new opcodes supported, including > - key switches > - crossfading for layers > - more amp-related opcodes > - allow changing more parameters using CCs > * API additions > - load progress function (Synth::set_progress_function) > - global gain factor (Synth::set_gain) > - provide list of CCs supported by .sfz file (Synth::list_ccs) > - support pitch bend (Synth::add_event_pitch_bend) > ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev
[LAD] liquidsfz-0.2.0
liquidsfz-0.2.0 has been released The main goal of liquidsfz is to provide an SFZ sampler implementation library that is easy to integrate into other projects. A standalone jack client and a LV2 plugin is also available. liquidsfz is implemented in C++ and licensed under the GNU LGPL version 2.1 or later. The release tarball can be downloaded here: https://github.com/swesterfeld/liquidsfz#releases Overview of Changes in liquidsfz-0.2.0: --- * Provide LV2 plugin * Support for // sections * Handle #define * Lots of new opcodes supported, including - key switches - crossfading for layers - more amp-related opcodes - allow changing more parameters using CCs * API additions - load progress function (Synth::set_progress_function) - global gain factor (Synth::set_gain) - provide list of CCs supported by .sfz file (Synth::list_ccs) - support pitch bend (Synth::add_event_pitch_bend) -- Stefan Westerfeld, http://space.twc.de/~stefan ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev