summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephane Letz <letz@grame.fr>2016-02-10 16:48:44 +0100
committerStephane Letz <letz@grame.fr>2016-02-10 16:48:44 +0100
commit123de3614fd2fa83fbea97d499dedecf95c5cbfc (patch)
treebc5e4e1ef8259bd5a7bac0e4b8bc278912912a42
parent5e565e684a7454c2d9f75887ff0d98202c028107 (diff)
downloadjack2-123de3614fd2fa83fbea97d499dedecf95c5cbfc.tar.gz
Correct midiseq.c : better use jack_midi_reset_buffer instead of jack_midi_clear_buffer for output port.
-rw-r--r--example-clients/midiseq.c67
-rw-r--r--macosx/Jackdmp.xcodeproj/project.pbxproj2
2 files changed, 30 insertions, 39 deletions
diff --git a/example-clients/midiseq.c b/example-clients/midiseq.c
index 1fc779e3..7906e0fa 100644
--- a/example-clients/midiseq.c
+++ b/example-clients/midiseq.c
@@ -50,49 +50,44 @@ static void usage()
static int process(jack_nframes_t nframes, void *arg)
{
- int i,j;
- void* port_buf = jack_port_get_buffer(output_port, nframes);
- unsigned char* buffer;
- jack_midi_clear_buffer(port_buf);
- /*memset(buffer, 0, nframes*sizeof(jack_default_audio_sample_t));*/
+ int i,j;
+ void* port_buf = jack_port_get_buffer(output_port, nframes);
+ unsigned char* buffer;
+ jack_midi_reset_buffer(port_buf);
+ /*memset(buffer, 0, nframes*sizeof(jack_default_audio_sample_t));*/
- for(i=0; i<nframes; i++)
- {
- for(j=0; j<num_notes; j++)
- {
- if(note_starts[j] == loop_index)
- {
- buffer = jack_midi_event_reserve(port_buf, i, 3);
-/* printf("wrote a note on, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer);*/
- buffer[2] = 64; /* velocity */
- buffer[1] = note_frqs[j];
- buffer[0] = 0x90; /* note on */
- }
- else if(note_starts[j] + note_lengths[j] == loop_index)
- {
- buffer = jack_midi_event_reserve(port_buf, i, 3);
-/* printf("wrote a note off, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer);*/
- buffer[2] = 64; /* velocity */
- buffer[1] = note_frqs[j];
- buffer[0] = 0x80; /* note off */
- }
- }
- loop_index = loop_index+1 >= loop_nsamp ? 0 : loop_index+1;
- }
- return 0;
+ for (i = 0; i < nframes; i++) {
+ for (j = 0; j < num_notes; j++) {
+ if (note_starts[j] == loop_index) {
+ if ((buffer = jack_midi_event_reserve(port_buf, i, 3))) {
+ /* printf("wrote a note on, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer); */
+ buffer[2] = 64; /* velocity */
+ buffer[1] = note_frqs[j];
+ buffer[0] = 0x90; /* note on */
+ }
+ } else if (note_starts[j] + note_lengths[j] == loop_index) {
+ if ((buffer = jack_midi_event_reserve(port_buf, i, 3))) {
+ /* printf("wrote a note off, port buffer = 0x%x, event buffer = 0x%x\n", port_buf, buffer); */
+ buffer[2] = 64; /* velocity */
+ buffer[1] = note_frqs[j];
+ buffer[0] = 0x80; /* note off */
+ }
+ }
+ }
+ loop_index = loop_index+1 >= loop_nsamp ? 0 : loop_index+1;
+ }
+ return 0;
}
int main(int narg, char **args)
{
int i;
jack_nframes_t nframes;
- if((narg<6) || ((narg-3)%3 !=0))
- {
+ if ((narg<6) || ((narg-3)%3 != 0)) {
usage();
exit(1);
}
- if((client = jack_client_open (args[1], JackNullOption, NULL)) == 0)
- {
+ if ((client = jack_client_open (args[1], JackNullOption, NULL)) == 0) {
fprintf (stderr, "JACK server not running?\n");
return 1;
}
@@ -105,15 +100,13 @@ int main(int narg, char **args)
note_starts = malloc(num_notes*sizeof(jack_nframes_t));
note_lengths = malloc(num_notes*sizeof(jack_nframes_t));
loop_nsamp = atoi(args[2]);
- for(i=0; i<num_notes; i++)
- {
+ for (i = 0; i < num_notes; i++) {
note_starts[i] = atoi(args[3 + 3*i]);
note_frqs[i] = atoi(args[4 + 3*i]);
note_lengths[i] = atoi(args[5 + 3*i]);
}
- if (jack_activate(client))
- {
+ if (jack_activate(client)) {
fprintf (stderr, "cannot activate client");
return 1;
}
diff --git a/macosx/Jackdmp.xcodeproj/project.pbxproj b/macosx/Jackdmp.xcodeproj/project.pbxproj
index cbd2ba01..ee58ffb6 100644
--- a/macosx/Jackdmp.xcodeproj/project.pbxproj
+++ b/macosx/Jackdmp.xcodeproj/project.pbxproj
@@ -1785,7 +1785,6 @@
4B49D3C214864D49003390F8 /* pa_asio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pa_asio.h; path = ../windows/portaudio/pa_asio.h; sourceTree = SOURCE_ROOT; };
4B49D3C314864D49003390F8 /* portaudio.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = portaudio.h; path = ../windows/portaudio/portaudio.h; sourceTree = SOURCE_ROOT; };
4B49D3C914864DA7003390F8 /* JackLinuxTime.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = JackLinuxTime.c; path = ../linux/JackLinuxTime.c; sourceTree = SOURCE_ROOT; };
- 4B49D3CB14864DB2003390F8 /* cycles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cycles.h; path = ../linux/cycles.h; sourceTree = SOURCE_ROOT; };
4B49D3D814864DEC003390F8 /* JackWinThread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinThread.cpp; path = ../windows/JackWinThread.cpp; sourceTree = SOURCE_ROOT; };
4B49D3D914864DEC003390F8 /* JackWinServerLaunch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinServerLaunch.cpp; path = ../windows/JackWinServerLaunch.cpp; sourceTree = SOURCE_ROOT; };
4B49D3DA14864DEC003390F8 /* JackWinSemaphore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JackWinSemaphore.cpp; path = ../windows/JackWinSemaphore.cpp; sourceTree = SOURCE_ROOT; };
@@ -2905,7 +2904,6 @@
isa = PBXGroup;
children = (
4B05A07D0DF72BC000840F4C /* driver.h */,
- 4B49D3CB14864DB2003390F8 /* cycles.h */,
4B49D3C914864DA7003390F8 /* JackLinuxTime.c */,
4B349837133A6B6F00D130AB /* firewire */,
4B349825133A6AF500D130AB /* alsarawmidi */,