denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] midi input weirdness


From: Richard Shann
Subject: Re: [Denemo-devel] midi input weirdness
Date: Sun, 23 Mar 2014 15:11:09 +0000

On Sun, 2014-03-23 at 09:41 -0500, Jeremiah Benham wrote:
> I may be a bit confused. I thought this was all dependant upon how the
> modwheel is set on the midi controller.

Well, it doesn't matter how you last left the mod wheel - only changes
to the mod wheel that you make after starting Denemo are registered.

>  When I do midi input I put the modwheel half way if I was in the key
> of c and then move it up if I start to see flats when sharps are
> expected and visa versa. I was not sure if that is how it is supposed
> to work but I think I remember Richard talking about this once so I
> tried it and it worked.

yes, the default callback for the mod wheel does exactly that. I didn't
mention it because there is a threading bug with audio output which
makes it crash on occasions. (It makes notes of different pitches to let
you know which range of sharps/flats you have set, higher ones for
sharper ranges).

 In fact I recently had this threading bug bite me while entering
figured bass by MIDI filter, which also uses a timer to turn off a midi
note. I discovered something remarkable: as I was running under gdb the
segfault from the threading bug left me at the gdb prompt. I executed
the following:

call gtk_main()

this also returned me to the prompt (the note was still playing) but
after a couple more invocations the program was running again and I
could save my work. I didn't write to the list about this yet, as I
don't want to give the impression that this is something a typical user
is likely to encounter, but it is a serious worry. I have been over the
threading code, as best I can and did not see where the trouble lay.
The crash occurs in the function

scheme_output_midi_bytes()

where the data are nonsensical - it is in a timer callback to turn of a
note that has been started earlier.

If anyone can review the code to see where the threading bug arises I
would sleep easier at night.

Richard







reply via email to

[Prev in Thread] Current Thread [Next in Thread]