Closed ecashin closed 1 year ago
Thanks.
I had exactly the same crash, but on a completely different setup:
The error message is the same as the one mentioned by ecashin Note I compiled Octasine from source (tag 0.8.2)
Trying the downloaded Windows VST2 plugin also resulted in a crash :(
@dguillemyn and @ecashin, could you please try building from commit https://github.com/greatest-ape/OctaSine/tree/3efc1de71c9dc059ef95321dd4ff3d63f1e3a06f and checking if it works on Linux?
And @dguillemyn, could you please try out this build on Windows?
I'll try, but I did an upgrade from Linux Mint 19 to 20, which upgraded glibc, so if it works for me now the big could still be there on older Ubuntu Xenial (I think) systems.
@ecashin Alright.
Hi. Thanks for looking into this.
OK, after removing the old one...
ecashin@dell-Latitude-E6420:~$ rm ~/.vst/liboctasine.so
it built nicely...
ecashin@dell-Latitude-E6420:~/git/OctaSine$ git fetch
ecashin@dell-Latitude-E6420:~/git/OctaSine$ git checkout 3efc1de71c9dc059ef95321dd4ff3d63f1e3a06f
ecashin@dell-Latitude-E6420:~/git/OctaSine$ cargo xtask bundle octasine --release
ecashin@dell-Latitude-E6420:~/git/OctaSine$ cp -i target/bundled/octasine.so ~/.vst/
ecashin@dell-Latitude-E6420:~/git/OctaSine$ ~/opt/bin/renoise
... but the behavior appears to be the same. I put in some notes and then switched to OctaSine. I could hear the notes playing but saw the dialog from Renoise stating that a crash had occurred. I am pasting the last part of the console output below.
Renoise LOG> VstPlugs: Trying to instantiate /home/ecashin/.vst/octasine.so
Renoise LOG> VstPlugs: Analyzing VST plugin 'Joakim Frostegard: octasine', Unique ID:1438048625, Version:2400
Renoise LOG> VstPlugs: Instantiate OK
Renoise LOG> VstWindow: Creating a new X11Window...
Renoise LOG> VstWindow: Setting X11Window properties...
Renoise LOG> VstWindow: Give the plug access to the X11Window...
fatal runtime error: Rust panics must be rethrown
Renoise LOG> CrashLog: Caught signal: SIGABRT (6) ...
Renoise LOG> VstPlugs: Caught exception in VSTPlug::Dispatch
Renoise LOG> CrashLog: Caught signal: SIGSEGV (11) ...
Renoise LOG> VstPlugs: Instantiate FAILED (caught structured exception) !!!
Renoise LOG> CrashLog: Caught signal: SIGSEGV (11) ...
Renoise LOG> VstPlugs: Instantiate FAILED (caught structured exception) !!!
Renoise LOG> CrashLog: Caught signal: SIGSEGV (11) ...
Renoise LOG> VstPlugs: Instantiate FAILED (caught structured exception) !!!
Renoise LOG> CrashLog: Caught signal: SIGSEGV (11) ...
Renoise LOG> VstPlugs: Instantiate FAILED (caught structured exception) !!!
Renoise LOG> CrashLog: Caught signal: SIGSEGV (11) ...
Renoise LOG> CrashLog: /lib/x86_64-linux-gnu/libpthread.so.0(+0x14420) [0x7f4d08efc420]
Renoise LOG> CrashLog: /home/ecashin/opt/bin/renoise() [0xb30cdb]
Renoise LOG> CrashLog: [(nil)]
Renoise LOG> CrashLog: [0x7fff292adc90]
Renoise LOG> Application: Caught an unhandled fatal exception (Thread: GUI)!
Renoise LOG> Application: Saving a backup...
Renoise LOG> Error Message: A fatal error or crash occurred (unhandled exception in thread: GUI).
Renoise LOG> Error Message: A backup of the current document was saved at
Renoise LOG> Error Message: '/home/ecashin/.config/Renoise/V3.4.2/CrashBackups/Untitled_2_12_2023__21_47_crash.xrns'...
Renoise LOG> Error Message: This either happened because of a bug in Renoise, or because of a bug in one of its loaded components (plugins). Please contact <bug@renoise.com> and report this problem, so that it can be fixed.
Renoise LOG> Error Message: Note: It's very important that we know exactly what has happened (what you were doing before this message popped up), or the problem cannot be replicated/analyzed. Please include a description of what you were doing and which components were being used...
Renoise LOG> Application: Terminating...
Renoise LOG> ALSA: Stopping ALSA playback...
Renoise LOG> MIDI: Shut down: Closing all acquired MIDI devices...
Renoise LOG> MIDI-IO: Closing MIDI in device 'Renoise MIDI In Port B'...
Renoise LOG> MIDI-IO: Closing MIDI in device 'Renoise MIDI In Sync'...
Renoise LOG> MIDI-IO: Closing MIDI out device 'Renoise MIDI Out Sync'...
Renoise LOG> MIDI-IO: Shutting down the MIDI sequencers...
Killed
Hmm, ok, strange. Thanks for trying it out.
Hi @greatest-ape : The Windows version seems to work fine now. Thanks!
I'll try building from the commit you're referring to tonight.
I meanwhile tried to build, but I got following compilation errors: `Compiling octasine v0.8.2 (/media/ssd/dev/arm/OctaSine/octasine) error[E0308]: mismatched types --> octasine/src/plugin/clap/mod.rs:18:16 | 18 | init: Some(init), | ---- ^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer unsafe extern "C" fn(*const u8) -> _
found fn item extern "C" fn(*const i8) -> _ {clap::init}
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/mod.rs:20:23 | 20 | get_factory: Some(entry_get_factory), | ---- ^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer unsafe extern "C" fn(*const u8) -> _
found fn item unsafe extern "C" fn(*const i8) -> _ {entry_get_factory}
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:15:36 | 15 | pub const ID: *const i8 = unsafe { CStr::from_bytes_with_nul_unchecked(b"OctaSine\0").as_ptr() }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:16:34 | 16 | const NAME: *const i8 = unsafe { CStr::from_bytes_with_nul_unchecked(b"OctaSine\0").as_ptr() }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:18:14 | 18 | unsafe { CStr::from_bytes_with_nul_unchecked(b"Joakim Frostegard\0").as_ptr() }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:20:14 | 20 | unsafe { CStr::from_bytes_with_nul_unchecked(b"https://octasine.com\0").as_ptr() }; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:23:5 | 23 | CLAP_PLUGIN_FEATURE_INSTRUMENT.as_ptr(), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:33:9 | 33 | id: ID, | ^^ expected u8 , found i8 |
---|
= note: expected raw pointer *const u8
found raw pointer *const i8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:34:11 | 34 | name: NAME, | ^^^^ expected u8 , found i8 |
---|
= note: expected raw pointer *const u8
found raw pointer *const i8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:35:13 | 35 | vendor: VENDOR, | ^^^^^^ expected u8 , found i8 |
---|
= note: expected raw pointer *const u8
found raw pointer *const i8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:36:10 | 36 | url: URL, | ^^^ expected u8 , found i8 |
---|
= note: expected raw pointer *const u8
found raw pointer *const i8
error[E0308]: mismatched types --> octasine/src/plugin/clap/descriptor.rs:41:15 | 41 | features: FEATURES.as_ptr(), | ^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|
= note: expected raw pointer *const *const u8
found raw pointer *const *const i8
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:128:28 | 128 | is_api_supported: Some(is_api_supported), | ---- ^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer `unsafe extern "C" fn(_, *const u8, _) -> _`
found fn item `unsafe extern "C" fn(_, *const i8, _) -> _ {is_api_supported}`
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:129:29 | 129 | get_preferred_api: Some(get_preferred_api), | ---- ^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer `unsafe extern "C" fn(_, *mut *const u8, _) -> _`
found fn item `unsafe extern "C" fn(_, *mut *const i8, _) -> _ {get_preferred_api}`
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:130:18 | 130 | create: Some(create), | ---- ^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer `unsafe extern "C" fn(_, *const u8, _) -> _`
found fn item `unsafe extern "C" fn(_, *const i8, _) -> _ {create}`
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/params.rs:172:25 | 172 | value_to_text: Some(value_to_text), | ---- ^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer `unsafe extern "C" fn(_, _, _, *mut u8, _) -> _`
found fn item `unsafe extern "C" fn(_, _, _, *mut i8, _) -> _ {value_to_text}`
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/params.rs:173:25 | 173 | text_to_value: Some(text_to_value), | ---- ^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer `unsafe extern "C" fn(_, _, *const u8, _) -> _`
found fn item `unsafe extern "C" fn(_, _, *const i8, _) -> _ {text_to_value}`
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/factory.rs:15:25 | 15 | create_plugin: Some(create_plugin), | ---- ^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer unsafe extern "C" fn(_, _, *const u8) -> _
found fn item unsafe extern "C" fn(_, _, *const i8) -> _ {create_plugin}
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:31:36 | 31 | !is_floating && CStr::from_ptr(api) == SUPPORTED_API | -------------- ^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer *const u8
found raw pointer *const i8
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:39:12 | 39 | *api = SUPPORTED_API.as_ptr(); | ---- ^^^^^^^^^^^^^^^^^^^^^^ expected i8 , found u8 |
---|---|---|---|
expected due to the type of this binding | |||
= note: expected raw pointer *const i8
found raw pointer *const u8
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/gui.rs:50:38 | 50 | if is_floating | CStr::from_ptr(api) != SUPPORTED_API { | -------------- ^^^ expected u8 , found i8 |
|
---|---|---|---|---|---|
arguments to this function are incorrect | |||||
= note: expected raw pointer *const u8
found raw pointer *const i8
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/params.rs:46:19 | 46 | name: make_c_char_arr(¶meter.name), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|
= note: expected array [u8; 256]
found array [i8; _]
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/params.rs:47:21 | 47 | module: make_c_char_arr(¶meter.clap_path), | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|
= note: expected array [u8; 1024]
found array [i8; _]
error[E0308]: mismatched types --> octasine/src/plugin/clap/ext/params.rs:128:42 | 128 | if let Ok(text) = CStr::from_ptr(text).to_str() { | -------------- ^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer `*const u8`
found raw pointer `*const i8`
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/factory.rs:38:47 | 38 | if !plugin_id.is_null() && CStr::from_ptr(plugin_id) == CStr::from_ptr(super::descriptor::ID) { | -------------- ^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer *const u8
found raw pointer *const i8
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/factory.rs:38:76 | 38 | if !plugin_id.is_null() && CStr::from_ptr(plugin_id) == CStr::from_ptr(super::descriptor::ID) { | -------------- ^^^^^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer *const u8
found raw pointer *const i8
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/plugin.rs:87:37 | 87 | get_extension: Some(Self::get_extension), | ---- ^^^^^^^^^^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this enum variant are incorrect | |||
= note: expected fn pointer unsafe extern "C" fn(_, *const u8) -> _
found fn item unsafe extern "C" fn(_, *const i8) -> _ {clap::plugin::OctaSine::get_extension}
note: tuple variant defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/plugin.rs:262:33 | 262 | let id = CStr::from_ptr(id); | -------------- ^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer `*const u8`
found raw pointer `*const i8`
note: associated function defined here
error[E0308]: mismatched types --> octasine/src/plugin/clap/mod.rs:30:46 | 30 | let factory_id = unsafe { CStr::from_ptr(factory_id) }; | -------------- ^^^^^^^^^^ expected u8 , found i8 |
---|---|---|---|
arguments to this function are incorrect | |||
= note: expected raw pointer *const u8
found raw pointer *const i8
note: associated function defined here`
@dguillemyn thanks, it’s great that the Windows version works for you now. Could you please try building the Linux one with —no-default-features —features “wgpu vst2”? Since the build error seems to originate in the clap plugin code.
@ecashin does running any of the iced examples work for you? https://github.com/iced-rs/iced
@greatest-ape: I just recompiled with the proposed options. It compiles fine now, but still no success in launching the vst in carla or ardour. Both result in a crash.
When I launch the console version with the run-gui option, it also crashes with in the end the following trace:
0:35:02 [INFO] Created render pipeline Valid((4, 1, Gl)) with RenderPipelineDescriptor { label: Some("iced_wgpu::triangle::gradient pipeline"), layout: Some((4, 1, Gl)), vertex: VertexState { stage: ProgrammableStageDescriptor { module: (0, 5, Gl), entry_point: "vs_main" }, buffers: [VertexBufferLayout { array_stride: 8, step_mode: Vertex, attributes: [VertexAttribute { format: Float32x2, offset: 0, shader_location: 0 }] }] }, primitive: PrimitiveState { topology: TriangleList, strip_index_format: None, front_face: Cw, cull_mode: None, unclipped_depth: false, polygon_mode: Fill, conservative: false }, depth_stencil: None, multisample: MultisampleState { count: 4, mask: 18446744073709551615, alpha_to_coverage_enabled: false }, fragment: Some(FragmentState { stage: ProgrammableStageDescriptor { module: (0, 5, Gl), entry_point: "fs_main" }, targets: [Some(ColorTargetState { format: Rgba8UnormSrgb, blend: Some(BlendState { color: BlendComponent { src_factor: SrcAlpha, dst_factor: OneMinusSrcAlpha, operation: Add }, alpha: BlendComponent { src_factor: One, dst_factor: OneMinusSrcAlpha, operation: Add } }), write_mask: RED | GREEN | BLUE | ALPHA | COLOR | ALL })] }), multiview: None } 20:35:02 [INFO] configuring surface with SurfaceConfiguration { usage: RENDER_ATTACHMENT, format: Rgba8UnormSrgb, width: 972, height: 660, present_mode: Immediate, alpha_mode: Auto } thread '<unnamed>' **panicked at 'Error in Surface::configure: requested present mode Immediate is not in the list of supported present modes: [Fifo]', /home/khadas/.cargo/registry/src/github.com-1ecc6299db9ec823/wgpu-0.14.2/src/backend/direct.rs:274:9 note: run with
RUST_BACKTRACE=1environment variable to display a backtrace 20:35:02 [INFO] Dropping Global 20:35:02 [INFO] Destroying 0 command encoders thread 'main' panicked at 'called
Result::unwrap()on an
Errvalue: RecvError', /home/khadas/.cargo/git/checkouts/baseview-9d6c750431f4479e/7001c25/src/x11/window.rs:181:27**
@dguillemyn Thanks! I tried switching to the (default) FIFO present mode, which the log says is supported for you (and should be supported on the most platforms). Could you please try building from commit https://github.com/greatest-ape/OctaSine/commit/86b7fd117dfff37f35102954d4d9d0f1ccb55321?
Hi @greatest-ape
Your fix did the job! No crashes anymore, I can start it from the console, as well as from Carla.
Unfortunately, the GUI is missing quite some 'widgets', see the attached screenshot. Any idea what went wrong here?
@dguillemyn thanks! that’s annoying 😛 it seems to be the same issue as this, since only canvas elements are affected: https://github.com/iced-rs/iced/issues/1338
The issue with removing antialiasing is that widgets will look very bad. I’ll have to think about how to best solve this..
@ecashin does running any of the iced examples work for you? https://github.com/iced-rs/iced
The clock doesn't work. A GUI flashes into view briefly and disappears immediately.
ecashin@dell-Latitude-E6420:~/git/iced/examples/clock$ cargo run --package clock
Finished dev [unoptimized + debuginfo] target(s) in 0.25s
Running `/home/ecashin/git/iced/target/debug/clock`
Error: GraphicsCreationFailed(GraphicsAdapterNotFound)
ecashin@dell-Latitude-E6420:~/git/iced/examples/clock$
The counter is the same, as is progress_bar, so I stopped trying examples.
This problem appears in https://github.com/iced-rs/iced/issues/534 which refers to https://github.com/iced-rs/iced/issues/454, which recommends enabling the "glow" feature. Doing that allowed the progress_bar
example to work.
diff --git a/examples/progress_bar/Cargo.toml b/examples/progress_bar/Cargo.toml
index 383a9bdd..fac70908 100644
--- a/examples/progress_bar/Cargo.toml
+++ b/examples/progress_bar/Cargo.toml
@@ -6,4 +6,4 @@ edition = "2021"
publish = false
[dependencies]
-iced = { path = "../.." }
+iced = { path = "../..", features = ["glow"] }
ecashin@dell-Latitude-E6420:~/git/iced/examples/progress_bar$
I did that in OctaSine,
ecashin@dell-Latitude-E6420:~/git/OctaSine$ git diff
diff --git a/octasine/Cargo.toml b/octasine/Cargo.toml
index 1fc6ae3..ee93093 100644
--- a/octasine/Cargo.toml
+++ b/octasine/Cargo.toml
@@ -6,7 +6,7 @@ license = "AGPL-3.0"
edition = "2021"
[features]
-default = ["clap", "vst2", "wgpu"]
+default = ["clap", "glow", "vst2"]
clap = ["atomic_refcell", "bytemuck", "clap-sys", "parking_lot"]
vst2 = ["vst"]
glow = ["gui", "iced_baseview/glow", "iced_audio/glow"]
ecashin@dell-Latitude-E6420:~/git/OctaSine$
... and I thought maybe it would work! But I get the same behavior as before. :/
@dguillemyn and @ecashin Thanks! Does commit e713cc3 work for you with glow, i.e. with --no-default-features --features "glow vst2"? I've applied a possible fix to an upstream issue as well as reduced antialiasing to x4 on Linux, which might fix the framebuffer config issue. (Side note: iced seems to default to turning off antialiasing with OpenGL.)
@dguillemyn and @ecashin Thanks! Does commit e713cc3 work for you with glow, i.e. with --no-default-features --features "glow vst2"? I've applied a possible fix to an upstream issue as well as reduced antialiasing to x4 on Linux, which might fix the framebuffer config issue. (Side note: iced seems to default to turning off antialiasing with OpenGL.)
Yes, it works now! I'm going to make a song. :)
Thanks for sticking with it.
Great! Thanks for trying out all the changes.
@dguillemyn and @ecashin Thanks! Does commit e713cc3 work for you with glow, i.e. with --no-default-features --features "glow vst2"? I've applied a possible fix to an upstream issue as well as reduced antialiasing to x4 on Linux, which might fix the framebuffer config issue. (Side note: iced seems to default to turning off antialiasing with OpenGL.)
Hi @greatest-ape
I compiled commit e713cc3 with the "glow vst2" option, but I get the following at startup:
[khadas@vim3 release]$ ./octasine-cli run-gui
thread 'RUST_BACKTRACE=1
environment variable to display a backtrace thread 'main' panicked at 'called Result::unwrap()
on an Err
value: RecvError',
/home/khadas/.cargo/git/checkouts/baseview-9d6c750431f4479e/7001c25/src/x11/window.rs:181:27
Looks like X11 is not happy with the specific config :(
@dguillemyn ok. What if you turn off antialiasing by changing the struct values for these two lines to None? https://github.com/greatest-ape/OctaSine/blob/e713cc36d1b12a659a11f678a057ef979e536101/octasine/src/gui/mod.rs#L873 and https://github.com/greatest-ape/OctaSine/blob/e713cc36d1b12a659a11f678a057ef979e536101/octasine/src/gui/mod.rs#L474
If this doesn’t work, could you please find out the minimum supported OpenGL version for your graphics driver? And is it maybe OpenGL ES, not OpenGL core, since it’s a dev board?
@dguillemyn ok. What if you turn off antialiasing by changing the struct values for these two lines to None?
If this doesn’t work, could you please find out the minimum supported OpenGL version for your graphics driver? And is it maybe OpenGL ES, not OpenGL core, since it’s a dev board?
@greatest-ape : My first rust programming ever ;) But alas, the same issue... I checked the khadas VIM3 specs: it indeed supports OpenGL ES, not OpenGL core. According to the datasheet: VIM3 GPU supports OpenGL ES 3.2, Vulkan 1.0 and OpenCL 2.0 (see https://dl.khadas.com/products/vim3/datasheet/) For sure I have quite an exotic setup. I use this board as a handy, cost effective SBC platform for experimenting with open source Linux audio plugins etc. No issue if you can't get Octasine to work on this particular setup.
@dguillemyn Haha! Ok! I can't support both normal GL and GL ES, unfortunately.
If you want to do some more Rust programming, it might work to add the lines
profile: iced_baseview::baseview::gl::Profile::Compatibility,
version: (2, 0),
to just above this line: https://github.com/greatest-ape/OctaSine/blob/e713cc36d1b12a659a11f678a057ef979e536101/octasine/src/gui/mod.rs#L872
Hi @greatest-ape You made my day! Works like a charm now... All canvas elements are there and functional. Thanks for diving further into this. My time now for playing a song...
(And after 30+ years of C++ programming, seems like I should start picking up rust ;) )
@dguillemyn Great! Yes, you most definitely should ;)
I'm closing this issue now since it's resolved.
Describe the bug The DAW crashes (unconditionally terminates with backtrace) when the OctaSine GUI launches.
What did you try to do Steps to reproduce the behavior:
(If there are notes in the pattern and the pattern is playing, one can hear OctaSine begin to play sound while Renoise is shutting down.)
Expected behavior The OctaSine GUI appears for user interaction
Screenshots If applicable, add screenshots to help explain your problem.
Software (please complete the following information):
Additional context
Here are relevant lines from the console output.
Log file contents