void MidiInputDeviceMidiShare::OpenAppl() { hRefnum = MidiOpen(MSHDriverName); if (hRefnum < 0) { throw MidiInputException("MidiShare client can not be opened"); } MidiSetRcvAlarm(hRefnum,ReceiveEvents); MidiSetApplAlarm(hRefnum,ApplAlarm); }
/* -----------------------------------------------------------------------------*/ Boolean SetupMidi(void) { myRefNum = MidiOpen (ApplName); if (myRefNum == MIDIerrSpace) return false; chgDriver = chgCon = false; MidiSetApplAlarm (myRefNum, ApplAlarm); MidiSetRcvAlarm (myRefNum, RcvAlarm); return true; }
void test4 () { printf("\n\n<TEST 4> Register as a client application\n"); DebugStr ("--> use g or G to register as a client application and go to the next test\n"); ourRefNum = MidiOpen("MacOSX_Tutorial"); if (ourRefNum > 0) printf("MidiOpen succeed. Our reference number is : %ld\n", ourRefNum); else printf("MidiOpen fail. The error code is : %ld\n", ourRefNum); }
static void benchMark(long *elapsed, BenchProcPtr f) { unsigned long d1, d2; short refNum; refNum = MidiOpen(ApplName); if (f) f(refNum); GetDateTime(&d1); reference(); GetDateTime(&d2); MidiClose(refNum); *elapsed = (d2 - d1) * 1000; }
/* * fluid_midishare_open_appl */ static int fluid_midishare_open_appl (fluid_midishare_midi_driver_t* dev) { /* register to MidiShare */ #if defined(MACINTOSH) && defined(MACOS9) dev->refnum = MidiOpen(MSHDriverName); if (dev->refnum < 0) { FLUID_LOG(FLUID_ERR, "Can not open MidiShare Driver client"); return 0; } dev->upp_alarm_ptr = NewRcvAlarmPtr(fluid_midishare_midi_driver_receive); dev->upp_task_ptr = NewTaskPtr(fluid_midishare_keyoff_task); MidiSetRcvAlarm(dev->refnum, dev->upp_alarm_ptr); #else dev->refnum = MidiOpen(MSHDriverName); if (dev->refnum < 0) { FLUID_LOG(FLUID_ERR, "Can not open MidiShare Driver client"); return 0; } MidiSetRcvAlarm(dev->refnum, fluid_midishare_midi_driver_receive); MidiConnect(0,dev->refnum,true); #endif return 1; }
/*____________________________________________________________________*/ int Open (void) { refNum= MidiOpen( ApplName); if (refNum > 0) { myFilterPtr = NewFilter(); if (!myFilterPtr) { Close (); return false; } MidiConnect( refNum, refNum, true); MidiSetFilter( refNum, myFilterPtr); return true; } return false; }
/* ---------------------------------------------------------------------------- MidiShare setup ---------------------------------------------------------------------------- */ Boolean SetUpMidi(void) { if ( !MidiShare() ) { printf("MidiShare is not installed\n"); return false; } myRefNum = MidiOpen(AppliName); if ( myRefNum == MIDIerrSpace ) { printf("Too much MidiShare client applications\n"); return false; } MidiSetRcvAlarm(myRefNum,ReceiveEvents); InstallFilter(); MidiConnect (myRefNum, 0, true); MidiConnect (0, myRefNum, true); return true; }
/* ------------------------------------------------------------------------- */ int InitMidi() { if ( !MidiShare()) { sprintf (string_Last_Order,"MidiShare not available\n"); } InitTblLibEv(); myRefNum = MidiOpen(AppliName); if (myRefNum < 0) {sprintf(string_Last_Order,"MidiOpen failed!");} MidiSetRcvAlarm(myRefNum,ReceiveEvents); MidiConnect(0, myRefNum, true);//in MidiConnect(myRefNum,0,true);//out myFilter = MidiNewFilter(); InstallFilter( myRefNum,myFilter ); //filtrage return(0); }
void OpenSeq(TSequencer * s, char * n) { midiFILE * f; int i; // initialisation s->ref = MidiOpen("msMidiPlayer"); s->state = idle; s->seq = MidiNewSeq(); s->playtask = 0; s->looptask = 0; // read the midi file f = MidiFileOpen(n, MidiFileRead); if (!f) { printf ("Error opening MidiFile %s (%d)\n", n, MidiFile_errno); CloseSeq(s); exit(MidiFile_errno); } for (i = f->ntrks; i; i--){ MixSeq( MidiFileReadTrack(f), s->seq); } if (smpte(f)) TrsfSmpteSeq(s->seq, frame_par_sec(f), ticks_par_frame(f)); else TrsfTempoSeq(s->seq, ticks_par_quarterNote(f)); if (First(s->seq)) printf("File : %s, Format : %d, Tracks : %d, Length : %d, Duration : %d\n", n, f->format, f->ntrks, LenSeq(s->seq), Date(Last(s->seq)) ); (void) MidiFileClose(f); // installation MidiSetInfo(s->ref, s); MidiSetRcvAlarm(s->ref, NullRcv); MidiConnect(s->ref, 0, 1); MidiConnect(0, s->ref, 1); }
int main(int argc, char *argv[] ) { GtkWidget *window, *hbox; char applName[256]; // Initialisations gtk_init (&argc, &argv); StripPath (argv[0], applName); CheckMidiShare (applName); gRefNum = MidiOpen(applName); // User interface construction window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), applName); gtk_container_set_border_width(GTK_CONTAINER(window), 10); hbox = gtk_hbox_new (FALSE, 10); add(hbox, makelist(&gSrcList, "Sources ->", GTK_SELECTION_MULTIPLE, GTK_SIGNAL_FUNC(select_src), GTK_SIGNAL_FUNC(unselect_src))); add(hbox, makelist(&gAppList, "Applications", GTK_SELECTION_BROWSE, GTK_SIGNAL_FUNC(select_appl), NULL)); add(hbox, makelist(&gDstList, "-> Destinations",GTK_SELECTION_MULTIPLE, GTK_SIGNAL_FUNC(select_dst), GTK_SIGNAL_FUNC(unselect_dst))); initLists(); gtk_container_add(GTK_CONTAINER(window), hbox); gtk_widget_show_all (window); // signal connexion gtk_signal_connect( GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(my_delete_action), NULL ); // MidiShare applAlarm initialisation MidiSetApplAlarm(gRefNum, MyApplAlarm); gtk_timeout_add( 100, check_update, NULL); gtk_main (); return(0); }
int main(int argc, char *argv[] ) { GtkWidget *window, *vbox; char applName[256]; // Initialisations gtk_init (&argc, &argv); StripPath (argv[0], applName); CheckMidiShare (applName); gRefNum = MidiOpen(applName); MidiSetRcvAlarm (gRefNum,rcv_alarm); MidiConnect(gRefNum,0,1); MidiConnect(0,gRefNum,1); // Window definition window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), applName); gtk_container_set_border_width(GTK_CONTAINER(window), 10); vbox = gtk_vbox_new (FALSE, 10); // Add controllers add_time (vbox); add(vbox, gtk_hseparator_new()); add_buttons (vbox); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_widget_show_all (window); gtk_signal_connect(GTK_OBJECT(gRun), "clicked", GTK_SIGNAL_FUNC(start_stop_action), NULL); gtk_signal_connect(GTK_OBJECT(gReset), "clicked", GTK_SIGNAL_FUNC(reset_action), NULL); // Connexion of signals gtk_signal_connect( GTK_OBJECT(window), "destroy", GTK_SIGNAL_FUNC(my_delete_action), NULL ); gtk_main (); return(0); }
static void benchMark11(long *elapsed) { unsigned long d1, d2, d3, t1, t2; short refNum; refNum = MidiOpen(ApplName); GetDateTime(&d1); d1++; do { GetDateTime(&d2); } while (d2 < d1); /* synch with a new second */ t1 = MidiGetTime(); d2 += 180; do { GetDateTime(&d3); } while (d3 < d2); /* wait 3 minutes*/ t2 = MidiGetTime(); MidiClose(refNum); *elapsed = t2 - t1; }
//_______________________________________________________________________ static void SetupMidi (char *name, DrvMemPtr mem) { MidiFilterPtr filter; short ref = MidiOpen (name); if (ref < 0) FatalError ("MidiOpen failed !"); mem->refNum = ref; filter = MidiNewFilter (); if (!filter) FatalError ("MidiNewFilter failed !"); mem->filter = filter; SetupFilter (filter); MidiSetFilter (ref, filter); MidiParseInitMthTbl (mem->inMthd); MidiParseInitTypeTbl(mem->inTypes); MidiParseInit (&mem->inFifo, mem->inMthd, mem->inTypes); MidiStreamInitMthTbl (mem->outMthd); MidiStreamInit (&mem->outFifo, mem->outMthd); MidiSetRcvAlarm (ref, RcvAlarm); }
/* ------------------------------------------------------------------------- */ Boolean SetUpMidi(void) { char buff[32], *name; InitTblLibEv(); if ( !MidiShare()) { printf ("MidiShare not available\n"); return false; } myRefNum = MidiOpen(AppliName); if ( myRefNum == MIDIerrSpace ){ printf ( "Too much MidiShare client applications\n"); return false; } MidiSetRcvAlarm(myRefNum,ReceiveEvents); MidiConnect( 0, myRefNum, true); myFilter = MidiNewFilter(); InstallFilter( myRefNum, myFilter); return true; }
void StartGen (short f) { genRef = MidiOpen(GenName); MidiConnect (genRef, 0, true); GenProcess (MidiGetTime(), genRef, MidiGetTime(), 0, f * 100); }