/* * Copyright 2006, Haiku. * * Copyright (c) 2003 Matthijs Hollemans * Copyright (c) 2002 Jerome Leveque * Distributed under the terms of the MIT License. * * Authors: * Matthijs Hollemans * Jérôme Leveque */ #include #include "MidiGlue.h" #include using namespace BPrivate; BMidiGlue::BMidiGlue(BMidi* midiObject_, const char* name) : BMidiLocalConsumer(name) { fMidiObject = midiObject_; } void BMidiGlue::NoteOff( uchar channel, uchar note, uchar velocity, bigtime_t time) { fMidiObject->NoteOff(channel + 1, note, velocity, MAKE_TIME(time)); } void BMidiGlue::NoteOn( uchar channel, uchar note, uchar velocity, bigtime_t time) { fMidiObject->NoteOn(channel + 1, note, velocity, MAKE_TIME(time)); } void BMidiGlue::KeyPressure( uchar channel, uchar note, uchar pressure, bigtime_t time) { fMidiObject->KeyPressure(channel + 1, note, pressure, MAKE_TIME(time)); } void BMidiGlue::ControlChange( uchar channel, uchar controlNumber, uchar controlValue, bigtime_t time) { fMidiObject->ControlChange( channel + 1, controlNumber, controlValue, MAKE_TIME(time)); } void BMidiGlue::ProgramChange( uchar channel, uchar programNumber, bigtime_t time) { fMidiObject->ProgramChange(channel + 1, programNumber, MAKE_TIME(time)); } void BMidiGlue::ChannelPressure( uchar channel, uchar pressure, bigtime_t time) { fMidiObject->ChannelPressure(channel + 1, pressure, MAKE_TIME(time)); } void BMidiGlue::PitchBend( uchar channel, uchar lsb, uchar msb, bigtime_t time) { fMidiObject->PitchBend(channel + 1, lsb, msb, MAKE_TIME(time)); } void BMidiGlue::SystemExclusive( void* data, size_t length, bigtime_t time) { fMidiObject->SystemExclusive(data, length, MAKE_TIME(time)); } void BMidiGlue::SystemCommon( uchar status, uchar data1, uchar data2, bigtime_t time) { fMidiObject->SystemCommon(status, data1, data2, MAKE_TIME(time)); } void BMidiGlue::SystemRealTime(uchar status, bigtime_t time) { fMidiObject->SystemRealTime(status, MAKE_TIME(time)); } void BMidiGlue::TempoChange(int32 beatsPerMinute, bigtime_t time) { fMidiObject->TempoChange(beatsPerMinute, MAKE_TIME(time)); } BMidiPortGlue::BMidiPortGlue(BMidiPort* midiObject_, const char* name) : BMidiLocalConsumer(name) { fMidiObject = midiObject_; } void BMidiPortGlue::NoteOff( uchar channel, uchar note, uchar velocity, bigtime_t time) { fMidiObject->SprayNoteOff(channel + 1, note, velocity, MAKE_TIME(time)); } void BMidiPortGlue::NoteOn( uchar channel, uchar note, uchar velocity, bigtime_t time) { fMidiObject->SprayNoteOn(channel + 1, note, velocity, MAKE_TIME(time)); } void BMidiPortGlue::KeyPressure( uchar channel, uchar note, uchar pressure, bigtime_t time) { fMidiObject->SprayKeyPressure( channel + 1, note, pressure, MAKE_TIME(time)); } void BMidiPortGlue::ControlChange( uchar channel, uchar controlNumber, uchar controlValue, bigtime_t time) { fMidiObject->SprayControlChange( channel + 1, controlNumber, controlValue, MAKE_TIME(time)); } void BMidiPortGlue::ProgramChange( uchar channel, uchar programNumber, bigtime_t time) { fMidiObject->SprayProgramChange( channel + 1, programNumber, MAKE_TIME(time)); } void BMidiPortGlue::ChannelPressure( uchar channel, uchar pressure, bigtime_t time) { fMidiObject->SprayChannelPressure(channel + 1, pressure, MAKE_TIME(time)); } void BMidiPortGlue::PitchBend( uchar channel, uchar lsb, uchar msb, bigtime_t time) { fMidiObject->SprayPitchBend(channel + 1, lsb, msb, MAKE_TIME(time)); } void BMidiPortGlue::SystemExclusive( void* data, size_t length, bigtime_t time) { fMidiObject->SpraySystemExclusive(data, length, MAKE_TIME(time)); } void BMidiPortGlue::SystemCommon( uchar status, uchar data1, uchar data2, bigtime_t time) { fMidiObject->SpraySystemCommon(status, data1, data2, MAKE_TIME(time)); } void BMidiPortGlue::SystemRealTime(uchar status, bigtime_t time) { fMidiObject->SpraySystemRealTime(status, MAKE_TIME(time)); } void BMidiPortGlue::TempoChange(int32 beatsPerMinute, bigtime_t time) { fMidiObject->SprayTempoChange(beatsPerMinute, MAKE_TIME(time)); }