{"id":17315284,"url":"https://github.com/frando/studiox-switcher","last_synced_at":"2026-06-18T21:31:34.807Z","repository":{"id":136981408,"uuid":"387543360","full_name":"Frando/studiox-switcher","owner":"Frando","description":"Input channel switcher \u0026 silence detector for JACK","archived":false,"fork":false,"pushed_at":"2021-07-23T09:10:48.000Z","size":24,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T01:32:48.344Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Frando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-19T17:24:25.000Z","updated_at":"2024-04-10T02:38:09.000Z","dependencies_parsed_at":"2023-05-19T12:30:53.324Z","dependency_job_id":null,"html_url":"https://github.com/Frando/studiox-switcher","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Frando/studiox-switcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frando%2Fstudiox-switcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frando%2Fstudiox-switcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frando%2Fstudiox-switcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frando%2Fstudiox-switcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Frando","download_url":"https://codeload.github.com/Frando/studiox-switcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Frando%2Fstudiox-switcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34508862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T13:07:24.631Z","updated_at":"2026-06-18T21:31:34.795Z","avatar_url":"https://github.com/Frando.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# studiox-switcher\n\nA input switcher and silence detector for JACK.\n\n* Can switch between 3 stereo inputs\n* A fallback channel is activated if the active input is below a volume threshold for some amount of seconds\n* Channels may be switched via OSC and HTTP (TODO)\n\n## Roadmap\n\n- [x] Core DSP engine via Faust for switching, silence detection and level metering\n- [x] JACK client with autoconnect\n- [x] OSC interface for switching\n- [ ] HTTP interface\n- [ ] Web frontend\n- [ ] Level meter on CLI and web frontend\n- [ ] Authentication \n\n## Installation\n\n```\ngit clone https://github.com/Frando/studiox-switcher.git\ncd studiox-switcher\ncargo build --release\nsudo cp rust_target/release/studiox-switcher /usr/local/bin\n```\n\n## Configuration \u0026 usage\n\n`studiox-switcher` may be called with a `-c path/to/config.toml` option. In the config file, the labels and JACK connection target ports for inputs and outputs can be specified. See [`studiox-switcher.toml`](studiox-switcher.toml) for an example config file.\n\n### Usage via OSC\n\n`studiox-switcher` listens for OSC messages on port 7000. The only supported path is `/switcher` with two integers, the first being the input number (1-3) and the second either 0 or 1 to enable or disable the channel.\n\nIf more than one channel is enabled, the \"higher\" channel wins. If none is enabled, the fallback channel is on. If an enabled channel goes silent, the fallback channel kicks in.\n\nExample: Enable channel 1\n```\noscsend localhost 7000 /switcher ii 1 1\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrando%2Fstudiox-switcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrando%2Fstudiox-switcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrando%2Fstudiox-switcher/lists"}