[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [fluid-dev] Auto-connect ALSA MIDI input patch
From: |
Tommaso Cucinotta |
Subject: |
Re: [fluid-dev] Auto-connect ALSA MIDI input patch |
Date: |
Tue, 3 May 2016 09:12:59 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.2 |
Hi RL,
thanks for the comments!
You can find attached a refined patch, with the meaningless comments removed
:-), and the new option disabled by default.
I kept the alloca() for now, just as it clears the memory, it seems a common
paradigm across alsa utils and tutorials (eg, aconnect.c, where I took
inspiration for the patch), it doesn't seem a huge in-stack allocation, and
keeps code a bit simpler than real allocations. Though, if this really hurts, I
can change it to using FLUID_MALLOC() and FLUID_MEMSET, checking for OOM
etc.... just let me know what's best for the current code base.
Thanks,
T.
On 05/03/2016 01:42 AM, R.L. Horn wrote:
> On Mon, 2 May 2016, Tommaso Cucinotta wrote:
>
>> So I worked out the attached patch that adds a bool setting for
>> auto-connecting ALSA MIDI inputs. This is the dual of the "Auto-connect JACK
>> outputs" already there in fluidsynth/QSynth.
>
>> Feel free to try out the attached patch, and please, share your
>> comments/thoughts!
>
> I've only glanced over it, but the alloca()s and assert()s jumped right out.
> The X != NULL assertion is pretty much meaningless after an alloca() and it
> looks like NDEBUG is normally defined anyway.
>
> Besides, there's no good reason to use alloca() there (there are very few
> good reasons for using alloca() generally), especially as you've already seen
> to freeing the variables (and commenting it out because, of course, it
> segfaults). Use the corresponding malloc() functions instead. And tedious
> old conditionals to check the return values.
>
> Other than that, it looks fairly sound.
>
> _______________________________________________
> fluid-dev mailing list
> address@hidden
> https://lists.nongnu.org/mailman/listinfo/fluid-dev
>
--
Tommaso Cucinotta, Computer Engineering PhD
Associate Professor at the Real-Time Systems Laboratory (ReTiS)
Scuola Superiore Sant'Anna, Pisa, Italy
http://retis.sssup.it/people/tommaso
fluidsynth_autoconnect_alsa_midi_inputs_v2.patch
Description: Text Data