From 9089f9d93609257406536f18c61097c5c718f39b Mon Sep 17 00:00:00 2001 From: Jan-Bulthuis Date: Thu, 24 Apr 2025 14:08:51 +0200 Subject: [PATCH] Added carla_osc_bridge for bidirectional osc commands --- machines/vm-audio.nix | 24 +++++++++++++++++++++++- pkgs/default.nix | 1 + pkgs/programs/carla_osc_bridge.nix | 19 +++++++++++++++++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 pkgs/programs/carla_osc_bridge.nix diff --git a/machines/vm-audio.nix b/machines/vm-audio.nix index 429abd2..697d125 100644 --- a/machines/vm-audio.nix +++ b/machines/vm-audio.nix @@ -29,6 +29,7 @@ pulsemixer adwaita-icon-theme open-stage-control + carla_osc_bridge # Add LV2 plugins lsp-plugins @@ -124,6 +125,27 @@ }; }; + # Carla service + systemd.user.services.carla-bridge = { + description = "Carla OSC Bridge"; + wantedBy = [ "default.target" ]; + after = [ + "network.target" + "sound.target" + ]; + requires = [ + "carla.service" + ]; + unitConfig = { + ConditionUser = "mixer"; + }; + serviceConfig = { + ExecStart = "${pkgs.carla_osc_bridge}/bin/carla_osc_bridge --clients \"127.0.0.1:8080\""; + Restart = "always"; + RestartSec = 5; + }; + }; + # Open stage control service systemd.user.services.osc = { description = "OSC Service"; @@ -138,7 +160,7 @@ ConditionUser = "mixer"; }; serviceConfig = { - ExecStart = "${pkgs.open-stage-control}/bin/open-stage-control --no-gui --send 127.0.0.1:22752 --load /home/mixer/open-stage-control/session.json --theme /home/mixer/open-stage-control/theme.css"; + ExecStart = "${pkgs.open-stage-control}/bin/open-stage-control --no-gui --send 127.0.0.1:10402 --load /home/mixer/open-stage-control/session.json --theme /home/mixer/open-stage-control/theme.css"; Environment = "\"ELECTRON_RUN_AS_NODE=1\""; Restart = "always"; RestartSec = 5; diff --git a/pkgs/default.nix b/pkgs/default.nix index ee7c780..88722b3 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -12,6 +12,7 @@ let wprs = prev.callPackage ./programs/wprs/default.nix { }; nixgreety = prev.callPackage ./programs/nixgreety.nix { }; + carla_osc_bridge = prev.callPackage ./programs/carla_osc_bridge.nix { }; # ly = prev.callPackage ./programs/ly/default.nix { }; }; in diff --git a/pkgs/programs/carla_osc_bridge.nix b/pkgs/programs/carla_osc_bridge.nix new file mode 100644 index 0000000..fae5402 --- /dev/null +++ b/pkgs/programs/carla_osc_bridge.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: + +with pkgs; +rustPlatform.buildRustPackage { + pname = "carla_osc_bridge"; + version = "master"; + + src = fetchFromGitea { + domain = "git.bulthuis.dev"; + owner = "Jan"; + repo = "carla_osc_bridge"; + rev = "8966a25e8d56efa30a28fd320c6f657040a1f01c"; + hash = "sha256-AJ+hb642V/aqizbM4URaZhFSIFwSvGa23HIkHqIru2o="; + }; + + cargoHash = "sha256-s1ZKbhHudgPOy7613zbT8TkbM6B7oloLEuTYHoWjX5o="; + + useFetchCargoVendor = true; +}