Update script names and aloop-daemon code
This commit is contained in:
parent
147833d8ae
commit
bd9f4c043a
|
@ -36,11 +36,12 @@ carla-discovery-native
|
|||
carla-discovery-posix32
|
||||
carla-discovery-posix64
|
||||
|
||||
c++/jackmeter/cadence-jackmeter
|
||||
c++/xycontroller/cadence-xycontroller
|
||||
|
||||
c++/carla-backend/doxygen/
|
||||
c++/carla-bridge/doxygen/
|
||||
c++/carla-includes/vst/
|
||||
c++/jackmeter/cadence_jackmeter
|
||||
c++/xycontroller/cadence_xycontroller
|
||||
|
||||
*-build-*Debug/
|
||||
*-build-*Release/
|
||||
|
@ -57,5 +58,8 @@ c++/carla-backend/carla-dynamic.lv2/
|
|||
c++/carla-backend/carla_backend_lv2.cpp
|
||||
c++/carla-backend/carla_backend_vst.cpp
|
||||
c++/carla-bridge/qt-plugin/
|
||||
c++/carla-bridge/qtcreator/Makefile
|
||||
c++/carla-jackbridge/jack
|
||||
c++/flmixer/
|
||||
c++/widgets/ledbutton.*
|
||||
src/ui/carla_driver.ui
|
||||
|
|
23
Makefile
23
Makefile
|
@ -230,10 +230,11 @@ install:
|
|||
# Install script files and binaries
|
||||
install -m 755 \
|
||||
data/cadence \
|
||||
data/cadence_jacksettings \
|
||||
data/cadence_logs \
|
||||
data/cadence_pulse2jack \
|
||||
data/cadence_render \
|
||||
data/cadence-aloop-daemon \
|
||||
data/cadence-jacksettings \
|
||||
data/cadence-logs \
|
||||
data/cadence-pulse2jack \
|
||||
data/cadence-render \
|
||||
data/catarina \
|
||||
data/catia \
|
||||
data/claudia \
|
||||
|
@ -242,9 +243,8 @@ install:
|
|||
data/carla-control \
|
||||
c++/carla-bridge/carla-bridge-* \
|
||||
c++/carla-discovery/carla-discovery-* \
|
||||
c++/jackmeter/cadence_jackmeter \
|
||||
c++/xycontroller/cadence_xycontroller \
|
||||
src/cadence-aloop-daemon \
|
||||
c++/jackmeter/cadence-jackmeter \
|
||||
c++/xycontroller/cadence-xycontroller \
|
||||
$(DESTDIR)$(PREFIX)/bin/
|
||||
|
||||
# Install desktop files
|
||||
|
@ -307,10 +307,11 @@ install:
|
|||
# Adjust PREFIX value in script files
|
||||
sed -i "s/X-PREFIX-X/$(SED_PREFIX)/" \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence_jacksettings \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence_logs \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence_pulse2jack \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence_render \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence-aloop-daemon \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence-jacksettings \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence-logs \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence-pulse2jack \
|
||||
$(DESTDIR)$(PREFIX)/bin/cadence-render \
|
||||
$(DESTDIR)$(PREFIX)/bin/catarina \
|
||||
$(DESTDIR)$(PREFIX)/bin/catia \
|
||||
$(DESTDIR)$(PREFIX)/bin/claudia \
|
||||
|
|
|
@ -474,8 +474,8 @@ enum ProcessModeType {
|
|||
typedef void (*CallbackFunc)(void* ptr, CallbackType action, unsigned short pluginId, int value1, int value2, double value3);
|
||||
|
||||
struct midi_program_t {
|
||||
quint32 bank;
|
||||
quint32 program;
|
||||
uint32_t bank;
|
||||
uint32_t program;
|
||||
const char* name;
|
||||
|
||||
midi_program_t()
|
||||
|
@ -486,11 +486,11 @@ struct midi_program_t {
|
|||
|
||||
struct ParameterData {
|
||||
ParameterType type;
|
||||
qint32 index;
|
||||
qint32 rindex;
|
||||
qint32 hints;
|
||||
quint8 midiChannel;
|
||||
qint16 midiCC;
|
||||
int32_t index;
|
||||
int32_t rindex;
|
||||
int32_t hints;
|
||||
uint8_t midiChannel;
|
||||
int16_t midiCC;
|
||||
|
||||
ParameterData()
|
||||
: type(PARAMETER_UNKNOWN),
|
||||
|
|
|
@ -25,12 +25,12 @@ OBJS = jackmeter.o \
|
|||
|
||||
# --------------------------------------------------------------
|
||||
|
||||
all: cadence_jackmeter
|
||||
all: cadence-jackmeter
|
||||
|
||||
cadence_jackmeter: $(OBJS)
|
||||
cadence-jackmeter: $(OBJS)
|
||||
$(CXX) $^ $(LINK_FLAGS) -o $@ && strip $@
|
||||
|
||||
cadence_jackmeter.exe: $(OBJS)
|
||||
cadence-jackmeter.exe: $(OBJS)
|
||||
$(CXX) $^ -static -mwindows $(LINK_FLAGS) -o $@ && strip $@
|
||||
|
||||
# --------------------------------------------------------------
|
||||
|
|
|
@ -38,12 +38,12 @@ OBJS = xycontroller.o \
|
|||
|
||||
# --------------------------------------------------------------
|
||||
|
||||
all: cadence_xycontroller
|
||||
all: cadence-xycontroller
|
||||
|
||||
cadence_xycontroller: $(FILES) $(OBJS)
|
||||
cadence-xycontroller: $(FILES) $(OBJS)
|
||||
$(CXX) $(OBJS) $(LINK_FLAGS) -o $@ && strip $@
|
||||
|
||||
cadence_xycontroller.exe: $(FILES) $(OBJS) icon.o
|
||||
cadence-xycontroller.exe: $(FILES) $(OBJS) icon.o
|
||||
$(CXX) $(OBJS) icon.o -static -mwindows $(LINK_FLAGS) -o $@ && strip $@
|
||||
|
||||
# --------------------------------------------------------------
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
#!/bin/bash
|
||||
|
||||
if [ -f /usr/bin/python3 ]; then
|
||||
PYTHON=/usr/bin/python3
|
||||
else
|
||||
PYTHON=python
|
||||
fi
|
||||
|
||||
INSTALL_PREFIX="X-PREFIX-X"
|
||||
exec $PYTHON $INSTALL_PREFIX/share/cadence/src/cadence_aloop_daemon.py "$@"
|
|
@ -1,181 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Imports (Global)
|
||||
from ctypes import *
|
||||
from os import system
|
||||
from sys import version_info
|
||||
from signal import signal, SIGINT, SIGTERM
|
||||
from time import sleep
|
||||
|
||||
# --------------------------------------------------
|
||||
# Test for python 3.x
|
||||
|
||||
if (version_info >= (3,0)):
|
||||
PYTHON3 = True
|
||||
else:
|
||||
PYTHON3 = False
|
||||
|
||||
# --------------------------------------------------
|
||||
# Global loop check
|
||||
|
||||
global doLoop, doRunNow
|
||||
doLoop = True
|
||||
doRunNow = True
|
||||
|
||||
# --------------------------------------------------
|
||||
# Global JACK variables
|
||||
|
||||
global sample_rate, buffer_size
|
||||
sample_rate = 44100
|
||||
buffer_size = 1024
|
||||
|
||||
# --------------------------------------------------
|
||||
# JACK ctypes implementation
|
||||
|
||||
jacklib = cdll.LoadLibrary("libjack.so.0")
|
||||
|
||||
class jack_client_t(Structure):
|
||||
_fields_ = []
|
||||
|
||||
jack_nframes_t = c_uint32
|
||||
|
||||
JackBufferSizeCallback = CFUNCTYPE(c_int, jack_nframes_t, c_void_p)
|
||||
JackShutdownCallback = CFUNCTYPE(None, c_void_p)
|
||||
|
||||
jacklib.jack_client_open.argtypes = [c_char_p, c_int, POINTER(c_int)]
|
||||
jacklib.jack_client_open.restype = POINTER(jack_client_t)
|
||||
|
||||
jacklib.jack_client_close.argtypes = [POINTER(jack_client_t)]
|
||||
jacklib.jack_client_close.restype = c_int
|
||||
|
||||
jacklib.jack_activate.argtypes = [POINTER(jack_client_t)]
|
||||
jacklib.jack_activate.restype = c_int
|
||||
|
||||
jacklib.jack_deactivate.argtypes = [POINTER(jack_client_t)]
|
||||
jacklib.jack_deactivate.restype = c_int
|
||||
|
||||
jacklib.jack_connect.argtypes = [POINTER(jack_client_t), c_char_p, c_char_p]
|
||||
jacklib.jack_connect.restype = c_int
|
||||
|
||||
jacklib.jack_get_sample_rate.argtypes = [POINTER(jack_client_t)]
|
||||
jacklib.jack_get_sample_rate.restype = jack_nframes_t
|
||||
|
||||
jacklib.jack_get_buffer_size.argtypes = [POINTER(jack_client_t)]
|
||||
jacklib.jack_get_buffer_size.restype = jack_nframes_t
|
||||
|
||||
jacklib.jack_on_shutdown.argtypes = [POINTER(jack_client_t), JackShutdownCallback, c_void_p]
|
||||
jacklib.jack_on_shutdown.restype = None
|
||||
|
||||
jacklib.jack_set_buffer_size_callback.argtypes = [POINTER(jack_client_t), JackBufferSizeCallback, c_void_p]
|
||||
jacklib.jack_set_buffer_size_callback.restype = c_int
|
||||
|
||||
def jack_client_open(client_name, options, status):
|
||||
if (PYTHON3): client_name = client_name.encode("ascii")
|
||||
return jacklib.jack_client_open(client_name, options, status)
|
||||
|
||||
def jack_client_close(client):
|
||||
return jacklib.jack_client_close(client)
|
||||
|
||||
def jack_activate(client):
|
||||
return jacklib.jack_activate(client)
|
||||
|
||||
def jack_deactivate(client):
|
||||
return jacklib.jack_deactivate(client)
|
||||
|
||||
def jack_connect(client, source_port, destination_port):
|
||||
if (PYTHON3): source_port = source_port.encode("ascii")
|
||||
if (PYTHON3): destination_port = destination_port.encode("ascii")
|
||||
return jacklib.jack_connect(client, source_port, destination_port)
|
||||
|
||||
def jack_get_sample_rate(client):
|
||||
return jacklib.jack_get_sample_rate(client)
|
||||
|
||||
def jack_get_buffer_size(client):
|
||||
return jacklib.jack_get_buffer_size(client)
|
||||
|
||||
def jack_on_shutdown(client, shutdown_callback, arg):
|
||||
global _shutdown_callback
|
||||
_shutdown_callback = JackShutdownCallback(shutdown_callback)
|
||||
jacklib.jack_on_shutdown(client, _shutdown_callback, arg)
|
||||
|
||||
def jack_set_buffer_size_callback(client, bufsize_callback, arg):
|
||||
global _bufsize_callback
|
||||
_bufsize_callback = JackBufferSizeCallback(bufsize_callback)
|
||||
return jacklib.jack_set_buffer_size_callback(client, _bufsize_callback, arg)
|
||||
|
||||
# --------------------------------------------------
|
||||
# quit on SIGINT or SIGTERM
|
||||
|
||||
def signal_handler(sig, frame=0):
|
||||
global doLoop
|
||||
doLoop = False
|
||||
|
||||
# --------------------------------------------------
|
||||
# listen to jack buffer size changes
|
||||
|
||||
def buffer_size_callback(new_buffer_size, arg):
|
||||
global doRunNow, buffer_size
|
||||
buffer_size = new_buffer_size
|
||||
doRunNow = True
|
||||
return 0
|
||||
|
||||
# --------------------------------------------------
|
||||
# listen to jack shutdown
|
||||
|
||||
def shutdown_callback(arg):
|
||||
global doLoop
|
||||
doLoop = False
|
||||
|
||||
# --------------------------------------------------
|
||||
# run alsa_in and alsa_out
|
||||
def run_alsa_bridge():
|
||||
global sample_rate, buffer_size
|
||||
system("killall alsa_in alsa_out zita-a2j zita-j2a pulseaudio")
|
||||
|
||||
#if (False):
|
||||
system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i alsa_in -j alsa2jack -d cloop -q 1 2>&1 1> /dev/null &" % (sample_rate, buffer_size))
|
||||
system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i alsa_out -j jack2alsa -d ploop -q 1 2>&1 1> /dev/null &" % (sample_rate, buffer_size))
|
||||
#else:
|
||||
#system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i zita-a2j -j alsa2jack -d hw:Loopback,1,0 -r 44100 &" % (sample_rate, buffer_size))
|
||||
#system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i zita-j2a -j jack2alsa -d hw:Loopback,1,1 -r 44100 &" % (sample_rate, buffer_size))
|
||||
|
||||
# Pause it for a bit, and connect to the system ports
|
||||
sleep(1)
|
||||
jack_connect(client, "alsa2jack:capture_1", "system:playback_1")
|
||||
jack_connect(client, "alsa2jack:capture_2", "system:playback_2")
|
||||
jack_connect(client, "system:capture_1", "jack2alsa:playback_1")
|
||||
jack_connect(client, "system:capture_2", "jack2alsa:playback_2")
|
||||
|
||||
#--------------- main ------------------
|
||||
if __name__ == '__main__':
|
||||
|
||||
# Init JACK client
|
||||
client = jack_client_open("jack-aloop-daemon", 0, None)
|
||||
|
||||
if (not client):
|
||||
quit()
|
||||
|
||||
jack_set_buffer_size_callback(client, buffer_size_callback, None)
|
||||
jack_on_shutdown(client, shutdown_callback, None)
|
||||
|
||||
jack_activate(client)
|
||||
|
||||
# Quit when requested
|
||||
signal(SIGINT, signal_handler)
|
||||
signal(SIGTERM, signal_handler)
|
||||
|
||||
# Get initial values
|
||||
sample_rate = jack_get_sample_rate(client)
|
||||
buffer_size = jack_get_buffer_size(client)
|
||||
|
||||
# Keep running until told otherwise
|
||||
while (doLoop):
|
||||
if (doRunNow):
|
||||
doRunNow = False
|
||||
run_alsa_bridge()
|
||||
sleep(1)
|
||||
|
||||
# Close JACK client
|
||||
jack_deactivate(client)
|
||||
jack_client_close(client)
|
|
@ -616,16 +616,16 @@ class CadenceMainW(QMainWindow, ui_cadence.Ui_CadenceMainW):
|
|||
self.connect(self.act_tools_catia, SIGNAL("triggered()"), lambda tool="catia": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_claudia, SIGNAL("triggered()"), lambda tool="claudia": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_carla, SIGNAL("triggered()"), lambda tool="carla": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_logs, SIGNAL("triggered()"), lambda tool="cadence_logs": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_meter, SIGNAL("triggered()"), lambda tool="cadence_jackmeter": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_render, SIGNAL("triggered()"), lambda tool="cadence_render": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_xycontroller, SIGNAL("triggered()"), lambda tool="cadence_xycontroller": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_logs, SIGNAL("triggered()"), lambda tool="cadence-logs": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_meter, SIGNAL("triggered()"), lambda tool="cadence-jackmeter": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_render, SIGNAL("triggered()"), lambda tool="cadence-render": self.func_start_tool(tool))
|
||||
self.connect(self.act_tools_xycontroller, SIGNAL("triggered()"), lambda tool="cadence-xycontroller": self.func_start_tool(tool))
|
||||
self.connect(self.pic_catia, SIGNAL("clicked()"), lambda tool="catia": self.func_start_tool(tool))
|
||||
self.connect(self.pic_claudia, SIGNAL("clicked()"), lambda tool="claudia": self.func_start_tool(tool))
|
||||
self.connect(self.pic_carla, SIGNAL("clicked()"), lambda tool="carla": self.func_start_tool(tool))
|
||||
self.connect(self.pic_logs, SIGNAL("clicked()"), lambda tool="cadence_logs": self.func_start_tool(tool))
|
||||
self.connect(self.pic_render, SIGNAL("clicked()"), lambda tool="cadence_render": self.func_start_tool(tool))
|
||||
self.connect(self.pic_xycontroller, SIGNAL("clicked()"), lambda tool="cadence_xycontroller": self.func_start_tool(tool))
|
||||
self.connect(self.pic_logs, SIGNAL("clicked()"), lambda tool="cadence-logs": self.func_start_tool(tool))
|
||||
self.connect(self.pic_render, SIGNAL("clicked()"), lambda tool="cadence-render": self.func_start_tool(tool))
|
||||
self.connect(self.pic_xycontroller, SIGNAL("clicked()"), lambda tool="cadence-xycontroller": self.func_start_tool(tool))
|
||||
|
||||
self.connect(self.b_tweaks_apply_now, SIGNAL("clicked()"), SLOT("slot_tweaksApply()"))
|
||||
|
||||
|
|
|
@ -0,0 +1,102 @@
|
|||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
# Imports (Global)
|
||||
from ctypes import *
|
||||
from os import system
|
||||
from sys import version_info
|
||||
from signal import signal, SIGINT, SIGTERM
|
||||
from time import sleep
|
||||
|
||||
# Imports (Custom Stuff)
|
||||
import jacklib
|
||||
|
||||
# --------------------------------------------------
|
||||
# Global loop check
|
||||
|
||||
global doLoop, doRunNow
|
||||
doLoop = True
|
||||
doRunNow = True
|
||||
|
||||
# --------------------------------------------------
|
||||
# Global JACK variables
|
||||
|
||||
global bufferSize, sampleRate
|
||||
bufferSize = 1024
|
||||
sampleRate = 44100
|
||||
|
||||
# --------------------------------------------------
|
||||
# quit on SIGINT or SIGTERM
|
||||
|
||||
def signal_handler(sig, frame=0):
|
||||
global doLoop
|
||||
doLoop = False
|
||||
|
||||
# --------------------------------------------------
|
||||
# listen to jack buffer size changes
|
||||
|
||||
def buffer_size_callback(newBufferSize, arg):
|
||||
global doRunNow, bufferSize
|
||||
bufferSize = newBufferSize
|
||||
doRunNow = True
|
||||
return 0
|
||||
|
||||
# --------------------------------------------------
|
||||
# listen to jack shutdown
|
||||
|
||||
def shutdown_callback(arg):
|
||||
global doLoop
|
||||
doLoop = False
|
||||
|
||||
# --------------------------------------------------
|
||||
# run alsa_in and alsa_out
|
||||
def run_alsa_bridge():
|
||||
global sample_rate, buffer_size
|
||||
system("killall alsa_in alsa_out zita-a2j zita-j2a pulseaudio")
|
||||
|
||||
#if (False):
|
||||
system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i alsa_in -j alsa2jack -d cloop -q 1 2>&1 1> /dev/null &" % (sampleRate, bufferSize))
|
||||
system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i alsa_out -j jack2alsa -d ploop -q 1 2>&1 1> /dev/null &" % (sampleRate, bufferSize))
|
||||
#else:
|
||||
#system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i zita-a2j -j alsa2jack -d hw:Loopback,1,0 -r 44100 &" % (sample_rate, buffer_size))
|
||||
#system("env JACK_SAMPLE_RATE=%i JACK_PERIOD_SIZE=%i zita-j2a -j jack2alsa -d hw:Loopback,1,1 -r 44100 &" % (sample_rate, buffer_size))
|
||||
|
||||
# Pause it for a bit, and connect to the system ports
|
||||
sleep(1)
|
||||
jacklib.connect(client, "alsa2jack:capture_1", "system:playback_1")
|
||||
jacklib.connect(client, "alsa2jack:capture_2", "system:playback_2")
|
||||
jacklib.connect(client, "system:capture_1", "jack2alsa:playback_1")
|
||||
jacklib.connect(client, "system:capture_2", "jack2alsa:playback_2")
|
||||
|
||||
#--------------- main ------------------
|
||||
if __name__ == '__main__':
|
||||
|
||||
# Init JACK client
|
||||
client = jacklib.client_open("jack-aloop-daemon", 0, None)
|
||||
|
||||
if not client:
|
||||
quit()
|
||||
|
||||
jacklib.set_buffer_size_callback(client, buffer_size_callback, None)
|
||||
jacklib.on_shutdown(client, shutdown_callback, None)
|
||||
|
||||
jacklib.activate(client)
|
||||
|
||||
# Quit when requested
|
||||
signal(SIGINT, signal_handler)
|
||||
signal(SIGTERM, signal_handler)
|
||||
|
||||
# Get initial values
|
||||
sampleRate = jacklib.get_sample_rate(client)
|
||||
bufferSize = jacklib.get_buffer_size(client)
|
||||
|
||||
# Keep running until told otherwise
|
||||
while doLoop:
|
||||
if doRunNow:
|
||||
doRunNow = False
|
||||
run_alsa_bridge()
|
||||
sleep(1)
|
||||
|
||||
# Close JACK client
|
||||
jacklib.deactivate(client)
|
||||
jacklib.client_close(client)
|
Loading…
Reference in New Issue