Пример #1
0
void StopGen(void)
{
  if (genRef) {
	  MidiForgetTask(&genTask);
	  MidiClose(genRef);
	  genRef = 0;
  }
}
Пример #2
0
/* -----------------------------------------------------------------------------*/
void CloseMSConnect (void)
{
	short i;
	MidiClose (myRefNum);
	for (i = 0; i < listSize; i++) {
		LDispose(theList[i]);
	}
}
Пример #3
0
void test22 ()
{
        printf("\n\n<TEST 22> close the MidiShare session\n");
        DebugStr ("--> use g or G to end the session and exit the tutorial\n");
		
		MidiFreeFilter(ourFilter);
        MidiClose(ourRefNum);
        printf("\nTHE TUTORIAL IS NOW FINISHED!\n");
}
Пример #4
0
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;
}
Пример #5
0
//_______________________________________________________________________
static void closeDriver (DrvMemPtr mem) 
{
	if (mem->devId) {
		tcflush(mem->devId, TCIFLUSH);
		tcsetattr (mem->devId, TCSANOW, &mem->tio[kOld]);
		close(mem->devId);
		mem->devId = 0;
	}
	if (mem->refNum > 0) {
		MidiClose (mem->refNum);
		mem->refNum = 0;
	}
	if (mem->filter) {
		MidiFreeFilter (mem->filter);
		mem->filter = 0;
	}
}
   /**
     * Create MidiShare input device for LinuxSampler. 
	 *
     * @param AutoConnectPortID - (optional) Alsa client and port ID of a
     *                            MIDI source we should auto connect to
     *                            (e.g. "64:0")
     * @throws MidiInputException  if initialization failed
     */
    MidiInputDeviceMidiShare::MidiInputDeviceMidiShare(char* AutoConnectPortID) : MidiInputDevice(MidiInputDevice::type_midishare) 
	{
		if (!MidiShare())
			throw MidiInputException("MidiShare not installed");
			
		#if defined(MIDISHARE_DRIVER)
			OpenDriver();
		#else
			OpenAppl();
		#endif
		
		hMidiFilter = MidiNewFilter();
		
		if (hMidiFilter == 0) {
			MidiClose(hRefnum);
			throw MidiInputException("MidiShare filter can not be allocated");	
		}
		  
		for (int i = 0 ; i < 256; i++) {
			MidiAcceptPort(hMidiFilter, i, 1); /* accept all ports */
			MidiAcceptType(hMidiFilter, i, 0); /* reject all types */ 
		} 
		  
		for (int i = 0 ; i < 16; i++) {
			MidiAcceptChan(hMidiFilter, i, 1); /* accept all chan */ 
		} 
		/* accept only the following types */
		MidiAcceptType(hMidiFilter, typeNote, 1);
		MidiAcceptType(hMidiFilter, typeKeyOn, 1);
		MidiAcceptType(hMidiFilter, typeKeyOff, 1);
		MidiAcceptType(hMidiFilter, typeCtrlChange, 1);
		//MidiAcceptType(hMidiFilter, typeProgChange, 1);
		MidiAcceptType(hMidiFilter, typePitchWheel, 1);
		  
		/* set the filter */
		MidiSetFilter(hRefnum, hMidiFilter);
	
		MidiSetRcvAlarm(hRefnum,ReceiveEvents);
		MidiSetApplAlarm(hRefnum,ApplAlarm);
		MidiSetInfo(hRefnum,this);
		MidiConnect(0,hRefnum,true);
	}
Пример #7
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;
}
Пример #8
0
gint my_delete_action(GtkWidget* w, GdkEvent* ev, gpointer data) 
{
	MidiClose(gRefNum);
	gtk_main_quit();
	return FALSE;
}
	void MidiInputDeviceMidiShare::CloseAppl() 
	{
		MidiClose(hRefnum);
	}
Пример #10
0
/* ------------------------------------------------------------------------- */
void QuitMidi() 
{
	MidiFreeFilter(myFilter);
	MidiClose(myRefNum);
}
Пример #11
0
int QuitMidi()
{
	MidiFreeFilter(myFilter);
	MidiClose(myRefNum);
	return ( 0);
}
Пример #12
0
/*
 * fluid_midishare_close_appl
 */
static void fluid_midishare_close_appl (fluid_midishare_midi_driver_t* dev)
{
    if (dev->refnum > 0) MidiClose(dev->refnum);
}
Пример #13
0
void CloseSeq(TSequencer * s)
{
        StopSeq(s);
        MidiFreeSeq(s->seq);
        MidiClose(s->ref);
}
Пример #14
0
/*____________________________________________________________________*/
void Close (void)
{
	if (myFilterPtr) FreeFilter (myFilterPtr);
	MidiClose( refNum);
}