[Top][All Lists]

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

Re: [Denemo-devel] reset to channel 0

From: Richard Shann
Subject: Re: [Denemo-devel] reset to channel 0
Date: Tue, 11 Aug 2009 21:05:20 +0100

        As an experiment, I commented out the code I mentioned and placing this

(d-DirectivePut-chord-midibytes "prog" "0xC0 71")
on a note achieves the desired program change on channel 1 (i.e. the
0xC0) to program 71.

Incidentally, it is quite ok to mix decimal 71 with hex 0xC0 in this
way. So, as qsynth said there was an instrument at decimal 71, I used
this without converting it. The 0xC0 is easier to use for the change
program channel 1 (with 0xC1 for channel 2 and so on, user-land being
one step ahead of the actual encoding).

You can't change the channel of a staff without that I write some C code
for it (like changing tempo or volume, these are done in C). It would
require defining a specific override, so unless it is something that is
needed I don't propose to do it.
      * what is a bank (from the MIDI message side that is)?
      * what is a patch (ditto) ?
      * what *is* needed? in denemo MIDI?

On Tue, 2009-08-11 at 17:09 +0100, Richard Shann wrote:
> Jeremiah,
> We are seeing output on channel 0 and channel n when we are trying to
> send on channel n in jackmidi.c
> It looks like this code in jackmidi.c is responsible.
>               /* Before sending, reset channel to 0. XXX: Not very pretty. */
>               assert(event->midi_buffer_length >= 1);
>               tmp_status = event->midi_buffer[0];
>               if (event->midi_buffer[0] >= 0x80 && event->midi_buffer[0] <= 
> 0xEF)
>                       event->midi_buffer[0] &= 0xF0;
>               memcpy(buffer, event->midi_buffer, event->midi_buffer_length);
>               event->midi_buffer[0] = tmp_status;
> Can you say what this was all about?
> Richard
> _______________________________________________
> Denemo-devel mailing list
> address@hidden

reply via email to

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