Closed #145.
--
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/145#event-7549618282
You are receiving this because you are subscribed to this thread.
Message ID: ___
beast mailing list
beast@gnome.org
I've created an Anklang PR here: https://github.com/tim-janik/anklang/pull/7 so
I'll close this one.
--
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/145#issuecomment-1272578402
You are receiving this because you are subscribed to this thread.
This PR is about jack midi support which is not in Anklang (you only merged a
jack pcm driver).
--
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/129#issuecomment-1200058166
You are receiving this because you are subscribed to this thread.
Message
Basically, liquidsfz tries to transparently load hydrogens xml format, and
turns its xml content into .sfz opcodes. For instance if you use
```
$ liquidsfz /usr/share/hydrogen/data/drumkits/GMRockKit/drumkit.xml
```
you can use the hydrogen GMRockKit in liquidsfz. This works because a lot of
Hi!
I'd like to allow re-using my code contributions to BEAST according to
this license statement:
All of my past & future contributions to the Beast project
(https://github.com/tim-janik/beast) may be licensed under the
MPL-2.0+/LGPLv2.1+ dual license.
Cu... Stefan
--
Stefan Wester
@swesterfeld pushed 1 commit.
af9880a269e559e5be54f0687b7a63cd99d098b5 DEVICES: lv2device: add TODO items
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
9b9955206e74d6296a269139f17141bff34bceb6 DEVICES: lv2device: call worker
interface end_run() at end of run()
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
784b185608c84c55a8188e1d2c357d28058acb03 DEVICES: lv2device: improve audio
input/output channel->bus mapping
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
Ive been working on LV2 support. This is work in progress, so Im
submitting the current version here, while I know the code is somewhat
incomplete. As discussed previously, there is no custom UI support yet, and
should be added once we have out-of-process support.
- the ringbuffer is a copy
I'm no longer recommending that we do this, we should rather use the LV2, see
also
https://github.com/tim-janik/beast/pull/30#issuecomment-718844587
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
Closed #12.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/issues/12#event-3937103728___
beast mailing list
beast@gnome.org
I've implemented a preliminary version of a SpectMorph Device for BEAST here:
https://github.com/swesterfeld/beast/blob/spectmorph/devices/spectmorph/spectmorph.cc
Some things (custom ui/serialization) are not finished. However, there is a
general problem that arises if a user uses multiple
Closed #30.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/30#event-3937076917___
beast mailing list
beast@gnome.org
@swesterfeld pushed 1 commit.
bd50c86918a28248a88d4d6046b648b9557940ee DEVICES: liquidsfz: use liquidsfz API
to stop voices / reset state
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
:
--
Website: http://www.spectmorph.org
Download: http://www.spectmorph.org/downloads
There are many audio demos on the website, which demonstrate morphing
between instruments.
--
Stefan Westerfeld, http://space.twc.de/~stefan
___
beast mailing list
Here is an implementation of a LiquidSFZ device. The obvious next step would be
allowing the user to specify file. Loading might want to use an extra thread,
so that it doesnt block anything. SFZ files can take a long while to load.
You can view, comment on, or merge this pull request online
Just one more comment on this code: I saw that if you use a very small
pulse_width and make sync really high then not all pulses will be visible. A
higher number of samples would help, but I think we may want to make the
minimum pulse width depend on the sync factor (to plot a wider pulse in
It would be nice if the oscillator wave form (which depends on the oscillator
parameters) could be displayed at the UI. Ive ported the necessary
plotting code from Python (plotblep.py) to C++.
The actual waveform is sampled, so one parameter to tune might be how many
samples to use. Or the
Closed #142.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/142#event-3570575327___
beast mailing list
beast@gnome.org
Ok, now that this is merged I think we can close the issue, certainly the other
issues can be sorted out later, we can't have everything at once.
> > TODO: under some conditions we could enable SSE in LadderVCF (alignment and
> > block_size) *
>
> * Anything needed for that from my part? We
Here is a bunch of new stuff for BlepSynth, I wont try to reproduce the
commit entries here. Only a few additional observations:
* x^3 non-linear adsr time scaling used to work but now it doesnt probably
due to parameter API changes (I didnt try to fix it)
* some parameters (octave, unison
t to quantize the
lower/upper bound to an integer number midi note.
Cu... Stefan
>
>
> On 13.07.20 13:13, Stefan Westerfeld via beast wrote:
>> I have just added logscale mappings
>>
>> The mappings you added are obviously useful, especially for millisecond
Yes, the main code is merged. There are a few files in this branch but I'll
merge them in one of the next iterations of BlepSynth.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
Closed #29.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/29#event-3539262435___
beast mailing list
beast@gnome.org
> I have just added logscale mappings
The mappings you added are obviously useful, especially for milliseconds (x^3)
mappings, but these are *not logscale*. A true logscale mapping plots as line
if you `set logscale y` in gnuplot. A true logscale mapping is fully determined
by two points, a
Btw, one issue I ran into while testing was that the project auto deactivation
was triggered. So to be able to test, I disabled the function auto_deactivate
in bseproject.cc.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
So here is the first version of my BlepSynth subtractive synth. Its
based on MinBLEP oscillators and a non-linear Moog VCF (LadderVCF). Obviously
this is the initial version and there is still plenty of thing to do, I have
put some TODO comments in the code. Once the midi API is available, it
As additional information, g++-8 also generates different code if you use -mfma.
```
$ out/tests/suite1 --resampler accuracy --fpu --precision=24 --subsample
--freq-scan=90,9000,983 --freq-scan-verbose --verbose
## g++ 8.3.0 without fma
# accuracy test for factor 2 subsampling using
> Did you find out _why_ this is needed?
> I.e. peeked at the generated assembly to figure if -ffast-math related
> options possibly allow transformations that could become problematic for us
> in the long term?
**Short answer:**
I spent some time debugging it, -mfma is causing this - removing
Relax expected accuracy for 24-bit subsampling from 126 to 124.5 dB, to fix
testresampler for clang9.
This should fix #139.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/140
-- Commit Summary --
* TESTS: testresampler: fix resampler
.
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
___
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast
I made every resampler test that is somewhat slow run as slow test. This
reduces the time it takes to execute all resampler tests on my machine from 1.9
seconds to 0.3 seconds if only one cpu is used. Note that although I added
```
if (Bse::Test::slow())
```
to execute the resamplehandle
Is this an acceptabe solution for making failed resampler tests report details
of why the test failed?
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/136
-- Commit Summary --
* TESTS: testresampler: provide more information if
jobs/629651405
>
> There are also some fcompare warnings you might want to take a look at.
Right, this was actually helpful input by cppcheck/scan-build: I created
pull requests for the resulting changes, two of the commits are really
bug fixes.
- https://github.com/tim-janik/beast/pull/
The first commit really just cleans up the code as suggested by cppcheck,
however the second commit fixes an actual bug in the max similarity
computation, although for almost everybody the fix is irrelevant.
You can view, comment on, or merge this pull request online at:
Using assert_return(...) is not good for tests, we want to fail fast if
something goes wrong.
Signed-off-by: Stefan Westerfeld ste...@space.twc.de
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/134
-- Commit Summary --
* TESTS: fix
I believe this is now ready for merging. The midi driver has has the
improvements we talked about:
* both audio and midi driver now support open without auto connect (using
"no-auto-connect" devid)
* the "no-auto-connect" [audio|midi] device can be selected in the ebeast
preferences dialog
*
@swesterfeld pushed 2 commits.
616ace2965d53e54721dd3b3d1f6a49045d085fb BSE: Jack: support opening more than
one jack driver
bba08488dd5331317f314ba924823a25bf04ba90 DOCS: updated jack midi howto
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
3516b54af9a79d7ab6d316d4e3024c3156e03da6 BSE: Jack: support "no-audio-connect"
devid for midi and audio drivers
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
5cb66071c26fc8afe77894f540ca10132a2fbd9c DOCS: add a brief description of how
to use our jack midi driver
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
4d72388a85a96d4d4818c05ccaf1056b8bc49fb4 BSE: Jack: allow to disable midi
driver auto connect
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
@swesterfeld pushed 1 commit.
ef4bc69f79e9c4504020dcfc531ec285571855a1 BSE: Jack: clean up port names
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
So here is a midi (input) driver for jack. The audio/midi driver share the same
jack client, I documented the assumptions I have to make for the communication
of the two in the code. While the audio driver typically only has one option
(the default audio device), for midi there can be more than
@swesterfeld pushed 1 commit.
a96049760b7b37bc643b6063782203911a2d4b87 BSE: Jack: some minor fixes as
requested in review
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
swesterfeld commented on this pull request.
> + std::atomic atomic_active_ {0};
+ std::atomic atomic_xruns_ {0};
+ int printed_xruns_ = 0;
+
+ bool is_down_ = false;
+ bool
swesterfeld commented on this pull request.
> + jack_port_set_latency_range (port, mode, );
+ }
+else
+ {
+jack_latency_range_t range = get_latency_for_ports (output_ports_,
mode);
+range.min += buffer_frames_;
+range.max += buffer_frames_;
+
+
swesterfeld commented on this pull request.
> +
+if (!p) // first port
+ range = port_range;
+else
+ {
+range.min = std::min (range.min, port_range.min);
+range.max = std::max (range.max, port_range.max);
+ }
+ }
+
swesterfeld commented on this pull request.
> + * implemented by two index variables (read_frame_pos and write_frame_pos)
+ * for which atomic integer reads and writes are required. Since the
+ * producer thread only modifies the write_frame_pos and the consumer thread
+ * only modifies the
swesterfeld commented on this pull request.
> +}
+
+static void
+list_jack_drivers (Driver::EntryVec )
+{
+ map devices;
+ jack_client_t *jack_client = connect_jack();
+ if (jack_client)
+{
+ devices = query_jack_devices (jack_client);
+ disconnect_jack (jack_client);
+}
+
swesterfeld commented on this pull request.
> +fast_copy (uintn_values,
+ Data *ovalues,
+ const Data *ivalues)
+{
+ copy (ivalues, ivalues + n_values, ovalues);
+}
+
+template<> void
+fast_copy (uint n_values,
+ float *ovalues,
+
Ok, last commit should have all the fixes you requested.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/pull/128#issuecomment-533811472___
beast
@swesterfeld pushed 1 commit.
f0c4879177cd50959242cfacc4fd8e5b3288ce14 BSE: Jack: some minor fixes as
requested in review
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
swesterfeld commented on this pull request.
> + }
+
+/* setup PCM handle or shutdown */
+if (error == 0)
+ {
+flags_ |= Flags::OPENED;
+
+uint dummy;
+pcm_latency (, ); // debugging only: print latency values
+ }
+else
+ {
+
swesterfeld commented on this pull request.
> +
+/* enable processing in callback (if not already active) */
+atomic_active_ = 1;
+
+/* report jack driver xruns */
+if (atomic_xruns_ != printed_xruns_)
+ {
+printed_xruns_ = atomic_xruns_;
+Bse::printerr
swesterfeld commented on this pull request.
> + void
+ shutdown_callback()
+ {
+is_down_ = true;
+ }
+public:
+ explicit JackPcmDriver (const String ) : PcmDriver (devid) {}
+ static PcmDriverP
+ create (const String )
+ {
+auto pdriverp = std::make_shared (devid);
+
swesterfeld commented on this pull request.
> +vector silence_buffers
> (output_ringbuffer_.get_n_channels());
+
+fill (silence_buffers.begin(), silence_buffers.end(), [0]);
+
+uint frames_written = output_ringbuffer_.write (buffer_frames,
_buffers[0]);
+if
swesterfeld commented on this pull request.
> + /* the default device is usually the hardware device, so things should
> work as expected
+ * we could show try to show non-default devices as well, but this could
be confusing
+ */
+ if (details.default_device)
+{
Ok, here is a port of the Jack driver
(https://github.com/tim-janik/beast/pull/31) to the new driver API. I tested
playback and also stereo-through. This doesnt yet have midi support.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/128
This could break if n_channels_ is large (24 or something).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
@swesterfeld pushed 1 commit.
14ffd216b25d36e31a1597a05dd297b66f89baba PLUGINS: LadderFilter: port code to
new Resampler2 API
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
I was playing a bit with the new alsa driver, and I found that for my first hw
device, it crashed like this:
```
stefan@quadcorn:~/src/3rd-tree/ghbeast (master *% u=)$ LANG=C beast
beast: unable to acquire soft realtime priority: Permission denied
beast-0.15.0: bse/bseengineutils.cc:632:
swesterfeld commented on this pull request.
> @@ -188,6 +188,12 @@ main (int argc, char *argv[])
bench_aida();
return 0;
}
+ if (argc >= 2 && argv[1] && std::string ("--resampler") == argv[1])
+{
+ Bse::init_async (, argv, argv[0], args);
+ extern int
As requested in PR https://github.com/tim-janik/beast/pull/125.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/126
-- Commit Summary --
* TESTS: testresampler: add header file for test_resampler prototype
-- File Changes --
M
@swesterfeld pushed 1 commit.
0e14df11e638c164177b98d00ef34a7d1a08f02f BSE: Resampler2: fix compilation with
clang
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
Since this PR wasn't merged yet, I simply force pushed an updated version.
Since we have no more C API, I could modernize the C++ API. It should be used
like this:
```
float input[128];
float output[256];
Resampler2 resampler (Resampler2::UP, Resampler2::PREC_96DB);
@swesterfeld pushed 23 commits.
1c10aadd20aadf8412cdcc78d3af3bda304f6e00 BSE: Resampler: remove C API
8980aaafd5755f1413f5d9d0f48845de85111a4b TESTS: resamplehandle: remove
Resampler C API test
a9962f8acd512896d02cf1908c7e101102a9343c BSE: no longer rely on block utils to
create Resampler2
@swesterfeld pushed 1 commit.
bee9d0ccd3e6047231d6076c306007d2f44c136d TOOLS: bsewavetool: remove unused
resampler include
--
You are receiving this because you are subscribed to this thread.
View it on GitHub:
Ok, first of all, I no longer think that changing the auto-detect order for
devices can solve our problem. As I understand it for, you
- have a duplex (non-default) device you want beast to use
- have a alsa non-duplex default device that you don't want beast to use
On the other hand, I
- have a
I cleaned up the resampling code:
* the C API was removed
* the implementation no longer relies on blockutils, but does its own SSE/FPU
handling
* Resampler2::create() got an additional argument: true means SSE should be
used if available; false means the FPU version should always be used
*
Inserting T=float casts makes the function perform better (at least here). It
avoids conversions between single precision and double precision values (i.e.
cvtsd2ss) which would otherwise be used. So this version
```
static inline float G_GNUC_CONST
fast_log2ff (float value)
{
union {
First of all, this adds a function that was missing in bsemathsignal: a
`fast_log2` implementation. It works by using the float exponent and
approximating the rest of the value using a polynomial. I found a tool that
gives optimal polynomial coefficients for a given order:
This is a fix for #119 - and finally should make beast work out of the box for
users which have pulseaudio as default device (for instance together with
jack/bridging). For me at least this fixes make run.
In order to force using the default device if available, pcm drivers can return
a string
This is the implementation of a Moog-style lowpass ladderfilter with saturation
and 2x oversampling. The number of poles is configurable . Filter modes are
available for 6db/octave, 12db/octave, 18db/octave and 24db/octave.
I dont have any TODOs left right now, so this could either be the final
Currently, if you want to return a Resampler2 object to its initial state (all
history values zero), you need to delete the instance and create a new one.
This adds a reset() function to the API which has the same effect. Im
using this new API in the Ladder filter implementation.
You can view,
std::string in C++17 cannot be used at compile time, so constexpr is not
possible
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/120
-- Commit Summary --
* BSE: randomhash.hh: fix compilation on g++ 7.4.0
-- File Changes --
M
BEAST for a very long time now refused to produce audio out of the box without
the command line args `-p alsa=pulse` - I am using (setup by Cadence)
- JACK as primary sound server
- PulseAudio bridged to JACK
Problems have been reported by other users
This ports all Server properties.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/117
-- Commit Summary --
* BSE: Server::log_messages: port property to C++
* BEAST-GTK: bstusermessage: use Server::log_messages C++ property
* BSE:
This is a C++ port of the two Part properties - last_tick and n_channels. I saw
there is some signal reemission code in bsetrack.cc, seemingly related to
last_tick updates, which looks like this:
```
bse_object_reemit_signal (part, "notify::last-tick", self, "changed");
...
As discussed previously, I created one example what happens if I try to port a
property that contains an Object to C++. I choose Song postprocessing network
as example.
```
stefan@quadcorn:~/src/ghbeast (object-pport-error % u=)$ make -j1
MODE debug
CHECKConfiguration
This ports all properties of the MidiSynth to C++ (except for object properties
SNet/PNet).
I had to fix a bug in BsePcmOutput (first commit), because setting the volume
on the output object had no effect, but I wanted to test my code.
To have 1:1 the same ranges, I introduced constants for
1. open menu item "Demo" -> "Midi Test".
2. play
3. hit a few notes on external midi keyboard (produces some sound output)
4. stop
5. change "Midi Test" midi channel to 2
6. play
7. hit a few notes on external midi keyboard -> crash
```
stefan@quadcorn:~/src/beast (master % u=)$ gdb --args
I also don't know how to port sfi_pspec_time typed properties. And copyright
looks like it can be removed (?), has a `// COMPAT-FIXME: remove around 0.7.0`
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
This is the first string property port that uses the `APPLY_IDL_PROPERTY`
macro. Since there is no version of `constrain_idl_property` for strings, your
code didn't compile when instantiated with strings. So I used C++17 `if
constexpr` for checking for the type which compiles now. This means
I've ported all Track properties to C++ that do not contain object references.
Two things are worth mentioning.
1. `Const MIDI_MAX_CHANNEL` - I declared this as constant, but maybe the
definition must be moved elsewhere. It seems to be required in bsebasics.idl,
too (there is a `// FIXME:
Here are the two commits (cherry-picked) which update our code to fluidsynth
2.0.5. This finally uses the new - non deprecated - `fluid_synth_process()`.
You can view, comment on, or merge this pull request online at:
https://github.com/tim-janik/beast/pull/108
-- Commit Summary --
*
tmorph.org/downloads
There are many audio demos on the website, which demonstrate morphing
between instruments.
--
Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan
___
beast mailing list
beast@gnome.org
https://mail.gnome.org/mailman/listinfo/beast
Closed #84.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tim-janik/beast/issues/84#event-2475700146___
beast mailing list
beast@gnome.org
The global soundfont lock has been eliminated with merging
https://github.com/tim-janik/beast/pull/102 so I close this issue.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
This plugin uses parts of the SpectMorph API that are no longer supported in
the upcoming SpectMorph 0.5.0 and above.
In 0.4.x, the host can
- manage polyphonic instantiation itself, which this BEAST plugin does, i.e.
for a track with 16 voices, there are 16 `MorphPlanVoice` instances, each
> Please fix review comments I left for you and remove:
> a) the commit introducing the block/unblock API,
Done with all code that depends on it.
> b) the float64 workaround.
Done.
> If that means you updated PR is broken, point out the bugs you're runing into
> and I'll give you a hand with
swesterfeld commented on this pull request.
> @@ -1335,4 +1337,16 @@ ItemImpl::apply_idl_property_need_undo (const
> StringVector )
return !Aida::aux_vector_check_options (kvlist, "", "hints", "skip-undo");
}
+void
+ItemImpl::block_property_undo()
+{
Ok, I just tried to do a 1:1 port so
swesterfeld commented on this pull request.
> @@ -681,7 +683,7 @@ SongImpl::remove_bus (BusIface _iface)
BseItem *child = bus.as();
BseUndoStack *ustack = bse_item_undo_open (self, __func__);
// reset ::master-output property undoable
Fixed.
--
You are receiving this because you are
swesterfeld commented on this pull request.
>Bse::BusImpl *bus = child->as();
+ bus->block_property_undo();
Ok, I removed the block/unblock stuff now.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
swesterfeld commented on this pull request.
>if (BSE_IS_SONG (parent))
{
BseSong *song = BSE_SONG (parent);
BseBus *master = bse_song_find_master (song);
- return (self == master);
+ return self == master;
Thanks for the hint, I normally don't need this while
swesterfeld commented on this pull request.
> @@ -89,8 +89,24 @@ bus_build_param (BstBusEditor *self,
const gchar *editor,
const gchar *label)
{
- GParamSpec *pspec = bse_proxy_get_pspec (self->item, property);
- self->params = sfi_ring_prepend
swesterfeld commented on this pull request.
> + if (BSE_IS_SONG (parent))
+{
+ BseSong *song = BSE_SONG (parent);
+ return song->solo_bus == self;
+}
+ return false;
+}
+
+void
+BusImpl::solo (bool is_solo)
+{
+ BseBus *self = as();
+
+ if (solo() != is_solo)
+{
+
swesterfeld commented on this pull request.
> @@ -89,8 +89,24 @@ bus_build_param (BstBusEditor *self,
const gchar *editor,
const gchar *label)
{
- GParamSpec *pspec = bse_proxy_get_pspec (self->item, property);
- self->params = sfi_ring_prepend
swesterfeld commented on this pull request.
> @@ -1003,6 +993,25 @@ BusImpl::BusImpl (BseObject *bobj) :
BusImpl::~BusImpl ()
{}
+bool
+BusImpl::mute() const
+{
+ BseBus *self = const_cast (this)->as();
+
+ return self->muted;
+}
+
+void
+BusImpl::mute (bool val)
+{
+ BseBus *self =
swesterfeld commented on this pull request.
> @@ -89,8 +89,24 @@ bus_build_param (BstBusEditor *self,
const gchar *editor,
const gchar *label)
{
- GParamSpec *pspec = bse_proxy_get_pspec (self->item, property);
- self->params = sfi_ring_prepend
> The reason the GUI blocks instrument changes is that the BSE core hasn't had
> support for this yet. If soundfonts can implement changes during runtime, the
> associated, we'll of course release that restriction and make it user
> accessible. I guess that's better left for another PR, right?
1 - 100 of 252 matches
Mail list logo