Feat: add hidden mode and new documentation
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
//! Plugin editor: renders the ratatui TUI inside an egui surface.
|
||||
|
||||
use std::sync::atomic::{AtomicBool, AtomicI64};
|
||||
use std::sync::Arc;
|
||||
use std::time::Instant;
|
||||
@@ -147,6 +149,7 @@ struct EditorState {
|
||||
unsafe impl Send for EditorState {}
|
||||
unsafe impl Sync for EditorState {}
|
||||
|
||||
/// Build the egui-based plugin editor with ratatui rendering.
|
||||
pub fn create_editor(
|
||||
params: Arc<CagireParams>,
|
||||
egui_state: Arc<EguiState>,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
//! Cagire as a CLAP/VST3 plugin via NIH-plug.
|
||||
|
||||
mod editor;
|
||||
mod params;
|
||||
|
||||
@@ -20,6 +22,7 @@ use cagire::engine::{
|
||||
use cagire::model::{Dictionary, Rng, Variables};
|
||||
use params::CagireParams;
|
||||
|
||||
/// Channel bridge between the plugin editor and the audio/sequencer threads.
|
||||
pub struct PluginBridge {
|
||||
pub cmd_tx: Sender<SeqCommand>,
|
||||
pub cmd_rx: Receiver<SeqCommand>,
|
||||
@@ -37,6 +40,7 @@ struct PendingNoteOff {
|
||||
note: u8,
|
||||
}
|
||||
|
||||
/// NIH-plug plugin implementing sequencer, synthesis, and MIDI I/O.
|
||||
pub struct CagirePlugin {
|
||||
params: Arc<CagireParams>,
|
||||
seq_state: Option<SequencerState>,
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
//! Standalone entry point for the Cagire plugin.
|
||||
|
||||
use cagire_plugins::CagirePlugin;
|
||||
use nih_plug::prelude::*;
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
//! Persisted plugin parameters exposed to the DAW.
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use cagire_project::Project;
|
||||
@@ -5,6 +7,7 @@ use nih_plug::prelude::*;
|
||||
use nih_plug_egui::EguiState;
|
||||
use parking_lot::Mutex;
|
||||
|
||||
/// DAW-visible parameters and persisted editor/project state.
|
||||
#[derive(Params)]
|
||||
pub struct CagireParams {
|
||||
#[persist = "editor-state"]
|
||||
|
||||
Reference in New Issue
Block a user