コード例 #1
0
ファイル: JackNetInterface.cpp プロジェクト: HI-CARL/jack2
 int JackNetSlaveInterface::DataSend()
 {
     if (MidiSend(fNetMidiPlaybackBuffer, fParams.fReturnMidiChannels, fParams.fReturnAudioChannels) == SOCKET_ERROR) {
         return SOCKET_ERROR;
     }
     return AudioSend(fNetAudioPlaybackBuffer, fParams.fReturnAudioChannels);
 }
コード例 #2
0
ファイル: JackNetInterface.cpp プロジェクト: HI-CARL/jack2
 int JackNetMasterInterface::DataSend()
 {
     if (MidiSend(fNetMidiCaptureBuffer, fParams.fSendMidiChannels, fParams.fSendAudioChannels) == SOCKET_ERROR) {
         return SOCKET_ERROR;
     }
     return AudioSend(fNetAudioCaptureBuffer, fParams.fSendAudioChannels);
 }
コード例 #3
0
ファイル: MidiBench.c プロジェクト: AntonLanghoff/whitecatlib
static pascal void AccProcess(long d, short refNum, long a1, long a2, long a3)
{
  short i;
  for (i = 0; i <= 15; i++) {
    MidiEvPtr e = MidiNewEv(typeNote);
    if (e) {
      Pitch(e) = 60;
      Vel(e) = 80;
      Dur(e) = 16;
      Chan(e) = i;
    }
    MidiSend (refNum, e);
  }
  MidiTask (AccProcess, d + 32, refNum, a1, a2, a3);
}
コード例 #4
0
//_______________________________________________________________________
static void * inputThread (void * ptr)
{
	DrvMemPtr mem = (DrvMemPtr)ptr;
	StreamFifoPtr f = &mem->inFifo;
	signal(SIGDRVQUIT, QuitHandler);
	while (!mem->done) {
		char c;
		ssize_t n = read (mem->devId, &c, 1);
		if (n == 1) {
			MidiEvPtr e = MidiParseByte (f, c);
			if (e) MidiSend (mem->refNum, e);
		} else {
			printf ( "input thread read error");
			mem->done = true;
		}
	}
	return 0;
}
コード例 #5
0
 void transposeAndDelay (short aRefNum)
{
        MidiEvPtr e;
        
        while (e = MidiGetEv(aRefNum)) {
                switch (EvType(e)) {
                        case typeNote:
                        case typeKeyOn:
                        case typeKeyOff:
                                MidiSetField(e, 0, 7 + MidiGetField(e,0));      // transpose pitch + 7
                                Date(e) += 1000;                                // delay 1000 ms
                                MidiSend(aRefNum, e);
                                break;
                        default:
                                MidiFreeEv(e);
                }
        }
}
コード例 #6
0
ファイル: SCC.c プロジェクト: AntonLanghoff/whitecatlib
static inline void Send (MidiEvPtr e, SCCPtr scc) 
{ 
	Port(e)=scc->inSlots[Port(e)];
	MidiSend (scc->refNum, e);
}
コード例 #7
0
void thru (short aRefNum)
{
        MidiEvPtr e;
        
        while (e = MidiGetEv(aRefNum)) MidiSend(aRefNum, e);
}