// // WiiMidiDelegate.h // WiiToMidi // // Created by Mike Verdone on 22/12/06. // Copyright 2006 __MyCompanyName__. All rights reserved. // #import #import #import "MidiEventOutput.h" #import "WiiStateArray.h" #import "SensitivityModifier.h" #import "LearnModeModifier.h" #import "SmoothingModifier.h" #import "Animation.h" #import "NoteSender.h" #import "WiiMidiDelegateObserver.h" #import "AdvancedMathModifier.h" #define BUTTONDOWN(buttonId, buttonData) (((buttonData & buttonId) != 0) ? 1 : 0) @interface WiiMidiDelegate : NSObject { int _midiChannel; id _observer; MIDIClientRef _midi; MIDIPortRef _midiOut; MIDIEndpointRef _midiDest; WiiRemote *_wii; Byte _oldState[STATE_ARR_SIZE]; Byte _state[STATE_ARR_SIZE]; BOOL _firstTime; MidiEventOutput *_midiEvts; LearnModeModifier *_learnMode; SensitivityModifier *_sensitivity; SmoothingModifier *_smoother; Animation *_animation; NoteSender *_noteSender; AdvancedMathModifier *_advancedMathMod; NSTimer *_midiTimer; } -(id) init; -(id) setObserver:(id)observer; -(id) setWiiRemote:(WiiRemote*)wii; -(id) setMidiTimer:(NSTimer*)timer; -(id) setAnimation:(Animation*) animation; -(WiiRemote*) wii; -(void) dealloc; -(void) setMidiDestination:(MIDIEndpointRef)midiEndpoint; -(void) setMidiChannel:(int)midiChannel; -(void) sendMidi:(NSTimer*)timer; -(void) stateChanged; @end