```makefile <<<<<<< SEARCH check: cppcheck --enable=all --error-exitcode=1 --suppress=missingIncludeSystem --suppress=usleepCalled --suppress=unreadVariable --suppress=normalCheckLevelMaxBranches src/*.c --library=posix . ======= check: cppcheck --enable=all --error-exitcode=1 --suppress=unreadVariable src/*.c --library=posix . >>>>>>> REPLACE ``` src/channel.c ```c <<<<<<< SEARCH #include "channel.h" #include <jack/jack.h> #include <stdatomic.h> #include <stdio.h> #include <string.h> ======= // cppcheck-suppress missingIncludeSystem #include "channel.h" #include <jack/jack.h> #include <stdatomic.h> #include <stdio.h> #include <string.h> >>>>>>> REPLACE ``` src/channel.h ```c <<<<<<< SEARCH #include <jack/jack.h> #include <stdatomic.h> ======= // cppcheck-suppress missingIncludeSystem #include <jack/jack.h> #include <stdatomic.h> >>>>>>> REPLACE ``` src/looper.c ```c <<<<<<< SEARCH #include "looper.h" #include "channel.h" #include "midi.h" #include <jack/jack.h> #include <jack/midiport.h> #include <math.h> #include <stdatomic.h> #include <stdio.h> #include <stdlib.h> #include <string.h> ======= // cppcheck-suppress missingIncludeSystem #include "looper.h" #include "channel.h" #include "midi.h" #include <jack/jack.h> #include <jack/midiport.h> #include <math.h> #include <stdatomic.h> #include <stdio.h> #include <stdlib.h> #include <string.h> >>>>>>> REPLACE ``` src/looper.h ```c <<<<<<< SEARCH #include <jack/jack.h> ======= // cppcheck-suppress missingIncludeSystem #include <jack/jack.h> >>>>>>> REPLACE ``` src/main.c ```c <<<<<<< SEARCH #include "looper.h" #include <jack/jack.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> ======= // cppcheck-suppress missingIncludeSystem #include "looper.h" #include <jack/jack.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> >>>>>>> REPLACE ``` src/midi.c ```c <<<<<<< SEARCH #include "midi.h" #include "channel.h" #include <jack/jack.h> #include <jack/midiport.h> #include <stdatomic.h> ======= // cppcheck-suppress missingIncludeSystem #include "midi.h" #include "channel.h" #include <jack/jack.h> #include <jack/midiport.h> #include <stdatomic.h> >>>>>>> REPLACE ``` src/midi.h ```c <<<<<<< SEARCH #include <jack/types.h> ======= // cppcheck-suppress missingIncludeSystem #include <jack/types.h> >>>>>>> REPLACE ``` tests/integration.c ```c <<<<<<< SEARCH #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #include <sys/wait.h> #include <sys/types.h> #include <string.h> #include <stdarg.h> #include <fcntl.h> #include <jack/jack.h> #include <jack/midiport.h> #include <math.h> #include <time.h> ======= // cppcheck-suppress missingIncludeSystem // cppcheck-suppress usleepCalled // cppcheck-suppress normalCheckLevelMaxBranches #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <signal.h> #include <sys/wait.h> #include <sys/types.h> #include <string.h> #include <stdarg.h> #include <fcntl.h> #include <jack/jack.h> #include <jack/midiport.h> #include <math.h> #include <time.h> >>>>>>> REPLACE ``` Co-authored-by: aider (deepseek/deepseek-reasoner) <aider@aider.chat>
41 lines
1.3 KiB
C
41 lines
1.3 KiB
C
// cppcheck-suppress missingIncludeSystem
|
||
#include "channel.h"
|
||
#include <jack/jack.h>
|
||
#include <stdatomic.h>
|
||
#include <stdio.h>
|
||
#include <string.h>
|
||
|
||
void channel_add(jack_client_t *client, int idx) {
|
||
char in_name[64], out_name[64];
|
||
snprintf(in_name, sizeof(in_name), "channel%d_input", next_channel_id);
|
||
snprintf(out_name, sizeof(out_name), "channel%d_output", next_channel_id);
|
||
|
||
channels[idx].audio_in = jack_port_register(
|
||
client, in_name, JACK_DEFAULT_AUDIO_TYPE, JackPortIsInput, 0);
|
||
channels[idx].audio_out = jack_port_register(
|
||
client, out_name, JACK_DEFAULT_AUDIO_TYPE, JackPortIsOutput, 0);
|
||
if (!channels[idx].audio_in || !channels[idx].audio_out) {
|
||
fprintf(stderr, "Failed to register ports for channel %d\n",
|
||
next_channel_id);
|
||
/* Do NOT mark channel active – process loop will skip it */
|
||
atomic_store(&channels[idx].active, 0);
|
||
return;
|
||
}
|
||
|
||
atomic_store(&channels[idx].active, 1);
|
||
atomic_store(&channels[idx].state, STATE_IDLE);
|
||
channels[idx].prev_state = -1;
|
||
channels[idx].loop_count = 0;
|
||
channels[idx].record_pos = 0;
|
||
channels[idx].playback_pos = 0;
|
||
|
||
next_channel_id++;
|
||
channel_count++;
|
||
}
|
||
|
||
void channel_remove(jack_client_t *client, int idx) {
|
||
(void)client;
|
||
atomic_store(&channels[idx].active, 0);
|
||
channel_count--;
|
||
}
|