mirror of
https://codeberg.org/unspeaker/tek.git
synced 2025-12-07 12:16:42 +01:00
wip: specify instance_access feature
This commit is contained in:
parent
d7b3d64472
commit
96570d0267
1 changed files with 37 additions and 22 deletions
|
|
@ -5,40 +5,55 @@ use std::sync::Arc;
|
||||||
fn test_lv2_ui () {
|
fn test_lv2_ui () {
|
||||||
let mut features = [];
|
let mut features = [];
|
||||||
std::mem::forget(features);
|
std::mem::forget(features);
|
||||||
gtk::init().unwrap();
|
//gtk::init().unwrap();
|
||||||
//use gtk::prelude::{ApplicationExt, ApplicationExtManual};
|
use gtk::prelude::{ApplicationExt, ApplicationExtManual};
|
||||||
//let app = gtk::Application::builder().application_id("lol.tek").build();
|
let app = gtk::Application::builder().application_id("lol.tek").build();
|
||||||
//app.connect_activate(move |app| {
|
app.connect_activate(move |app| {
|
||||||
let host = Host::new();
|
let host = Host::new();
|
||||||
//let mut plugin = plugin::LV2Plugin::new("file:///home/user/.lv2/Odin2.lv2").unwrap();
|
let mut plugin = plugin::LV2Plugin::new("file:///home/user/.lv2/Odin2.lv2").unwrap();
|
||||||
let mut plugin = plugin::LV2Plugin::new("file:///home/user/.lv2/Helm.lv2").unwrap();
|
//let mut plugin = plugin::LV2Plugin::new("file:///home/user/.lv2/ChowKick.lv2").unwrap();
|
||||||
for ui in plugin.plugin.raw().uis().unwrap().iter() {
|
for ui in plugin.plugin.raw().uis().unwrap().iter() {
|
||||||
println!("{:?}", ui.uri());
|
println!("{:?}", ui.uri());
|
||||||
println!("{:?}", ui.classes());
|
println!("{:?}", ui.classes());
|
||||||
}
|
}
|
||||||
|
let handle = plugin.instance.raw_mut().instance_mut().handle();
|
||||||
|
let instance_access = crate::bound::LV2_Feature {
|
||||||
|
URI: std::ffi::CString::new("http://lv2plug.in/ns/ext/instance-access").unwrap().into_raw(),
|
||||||
|
data: handle as *mut _ as *mut std::ffi::c_void
|
||||||
|
};
|
||||||
|
let ui_instance = Arc::new(host.instance(
|
||||||
|
&mut plugin,
|
||||||
|
"http://lv2plug.in/ns/extensions/ui#Gtk3UI",
|
||||||
|
"https://thewavewarden.com/odin2",
|
||||||
|
"https://thewavewarden.com/odin2#ParentUI",
|
||||||
|
"http://lv2plug.in/ns/extensions/ui#X11UI",
|
||||||
|
"/home/user/.lv2/Odin2.lv2/Odin2.so",
|
||||||
|
"/home/user/.lv2/Odin2.lv2/Odin2.so",
|
||||||
|
&features,
|
||||||
|
).unwrap());
|
||||||
//let instance = Arc::new(host.instance(
|
//let instance = Arc::new(host.instance(
|
||||||
//&mut plugin,
|
//&mut plugin,
|
||||||
//"http://lv2plug.in/ns/extensions/ui#Gtk3UI",
|
//"http://lv2plug.in/ns/extensions/ui#Gtk3UI",
|
||||||
//"https://thewavewarden.com/odin2",
|
//"http://tytel.org/helm",
|
||||||
//"https://thewavewarden.com/odin2#ParentUI",
|
//"http://tytel.org/helm#ParentUI",
|
||||||
//"http://lv2plug.in/ns/extensions/ui#X11UI",
|
//"http://lv2plug.in/ns/extensions/ui#X11UI",
|
||||||
//"/home/user/.lv2/Odin2.lv2/Odin2.so",
|
//"/home/user/.lv2/Helm.lv2/helm.so",
|
||||||
//"/home/user/.lv2/Odin2.lv2/Odin2.so",
|
//"/home/user/.lv2/Helm.lv2/helm.so",
|
||||||
|
//&features,
|
||||||
|
//).unwrap());
|
||||||
|
//let instance = Arc::new(host.instance(
|
||||||
|
//&mut plugin,
|
||||||
|
//"http://lv2plug.in/ns/extensions/ui#Gtk3UI",
|
||||||
|
//"http://github.com/Chowdhury-DSP/ChowKick",
|
||||||
|
//"http://github.com/Chowdhury-DSP/ChowKick:UI",
|
||||||
|
//"http://lv2plug.in/ns/extensions/ui#X11UI",
|
||||||
|
//"/home/user/.lv2/ChowKick.lv2/libChowKick.so",
|
||||||
|
//"/home/user/.lv2/ChowKick.lv2/libChowKick.so",
|
||||||
//&features,
|
//&features,
|
||||||
//).unwrap());
|
//).unwrap());
|
||||||
let instance = Arc::new(host.instance(
|
|
||||||
&mut plugin,
|
|
||||||
"http://lv2plug.in/ns/extensions/ui#Gtk3UI",
|
|
||||||
"http://tytel.org/helm",
|
|
||||||
"http://tytel.org/helm#ParentUI",
|
|
||||||
"http://lv2plug.in/ns/extensions/ui#X11UI",
|
|
||||||
"/home/user/.lv2/Helm.lv2/helm.so",
|
|
||||||
"/home/user/.lv2/Helm.lv2/helm.so",
|
|
||||||
&features,
|
|
||||||
).unwrap());
|
|
||||||
//println!("{:?}", instance.get_widget());
|
//println!("{:?}", instance.get_widget());
|
||||||
//});
|
});
|
||||||
//app.run();
|
app.run();
|
||||||
//self::ui::UI::run(&instance).join();
|
//self::ui::UI::run(&instance).join();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue