Changeset 4165


Ignore:
Timestamp:
04/11/12 13:14:10 (3 years ago)
Author:
drobilla
Message:

Fix Jack MIDI output.

Location:
trunk/jalv/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/jalv/src/jalv.c

    r4159 r4165  
    465465                uint8_t* data; 
    466466                lv2_evbuf_get(i, &frames, &subframes, &type, &size, &data); 
    467                 assert(size > 0); 
    468                 // FIXME: check type 
    469                 jack_midi_event_write(buf, frames, data, size); 
     467                if (type == host->midi_event_id) { 
     468                    jack_midi_event_write(buf, frames, data, size); 
     469                } else { 
     470                    fprintf(stderr, "Non-MIDI event output type %d\n", type); 
     471                } 
    470472 
    471473                /* TODO: Be more disciminate about what to send */ 
     
    672674    host.sratom = sratom_new(&host.map); 
    673675 
    674     host.midi_event_id = uri_to_id(&host, 
    675                                    "http://lv2plug.in/ns/ext/event", 
    676                                    NS_MIDI "MidiEvent"); 
     676    host.midi_event_id = uri_to_id( 
     677        &host, "http://lv2plug.in/ns/ext/event", LV2_MIDI__MidiEvent); 
     678 
    677679    host.urids.atom_eventTransfer  = symap_map(host.symap, LV2_ATOM__eventTransfer); 
    678680    host.urids.log_Trace           = symap_map(host.symap, LV2_LOG__Trace); 
     681    host.urids.midi_MidiEvent      = symap_map(host.symap, LV2_MIDI__MidiEvent); 
    679682    host.urids.time_Position       = symap_map(host.symap, LV2_TIME__Position); 
    680683    host.urids.time_bar            = symap_map(host.symap, LV2_TIME__bar); 
  • trunk/jalv/src/jalv_internal.h

    r4159 r4165  
    9595    LV2_URID atom_eventTransfer; 
    9696    LV2_URID log_Trace; 
     97    LV2_URID midi_MidiEvent; 
    9798    LV2_URID time_Position; 
    9899    LV2_URID time_bar; 
  • trunk/jalv/src/lv2_evbuf.c

    r4077 r4165  
    198198    case LV2_EVBUF_EVENT: 
    199199        ebuf = &iter.evbuf->buf.event; 
    200         ev = (LV2_Event*)ebuf->data + iter.offset; 
     200        ev = (LV2_Event*)((char*)ebuf->data + iter.offset); 
    201201        *frames    = ev->frames; 
    202202        *subframes = ev->subframes; 
Note: See TracChangeset for help on using the changeset viewer.