-
Beta Was this translation helpful? Give feedback.
Replies: 9 comments 100 replies
-
I don't have those problems on my panels. Can you export the exact same plugin but without the part where it handles the last midi message that could crash cubase? Let's start from there to see if your cubase project is closing properly. Damien |
Beta Was this translation helpful? Give feedback.
-
Also, if you use your midi in/outs of the Volca you should disable them in your cubase midi settings if your card is single instance on Windows. It seems that you have a problem about that from the 1st popup: Or you should use the MidiThru capabilities of Ctrlr to pass the signal to the DAW, it's in the ctrlr midi settings. |
Beta Was this translation helpful? Give feedback.
-
FYI, I have a user with the same issue in Win11 + Cubase 13 (with a panel made with Ctrlr 5.3.201). For Win10, if one disables the main ports and open them in the panel, how do you do to record a track from the device? |
Beta Was this translation helpful? Give feedback.
-
Ok, the crash dump is generated regardless of the MIDI device selection (I set them to none, saved, closed, crash dump was there, even in a new project)... But it is not generated if the panel is open within the Ctrlr VST instance... so there is something wrong with the restricted instance I think, at least in Windows... A user experienced the crash in Ableton and Reaper. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
RE MOD Copy:
|
Beta Was this translation helpful? Give feedback.
-
RE: MIDI
|
Beta Was this translation helpful? Give feedback.
-
Hi All. Thanks to @dobo365 for reaching out.
The Windows MIDI Services project is open source and on Github, with discussions on Discord. I've also presented about it at NAMM, on podcasts, and more. I thought we were being quite transparent, especially for a new Windows API, but maybe I missed the mark. https://aka.ms/midi Given that I do the outreach for this, please LMK how I can/should do better. Note that the releases available today are developer releases, but once we are ready for customers to test, we'll announce it. We're also working to get this into an upcoming Insider build so advanced customers can try it out. But developers have everything they need today to get started implementing the API / SDK in their apps.
IMO, this should be celebrated, not derided. Once the old WinMM API was created and shipped, no one wanted to touch it again. Multi-client wasn't a requirement in the original spec for USB MIDI and I guess no one thought that would be needed back in 1999-ish. Besides multi-client, I was always disappointed in the need to write drivers to do anything custom with MIDI, and so I wanted to fix all that. Support for MIDI 2.0 gave us permission to rewrite from the ground up, which has taken a while because it's everything from the driver to the new API, plus all the MIDI 2.0-specifics like protocol negotiation, discovery, etc. and infrastructure for plugins for transports (available in the builds now) and message processing (coming after the initial in-box "1.0" release). Internally, everything in the service works on MIDI 2.0 messages, and translates only when needed. Communication with the new driver (which handles both USB MIDI 1.0 and USB MIDI 2.0 devices, when selected) is much faster and more efficient than the approach the original driver uses. The latest work we're finishing up is for winmm backwards compatibility. It's partially there in internal builds as you can see by my video here: https://www.youtube.com/watch?v=Oa6_pVveqPI That's one piece we have to get 100% correct before we consider v1 complete and shippable. This is non-trivial work because the older winmm API just isn't very friendly for the types of things we're doing here, and we need to try to replicate the same return codes in the same scenarios etc. The old API was written in such a way that the apps communicate almost directly with the kernel driver, which is why multi-client that works across all devices and all third-party drivers was nearly impossible to do without the rewrite we're wrapping up. Because of the way the winmm works, we created a MIDI driver which forwards the requests to the new service, using the generated backwards-compatible MIDI 1 ports it enumerates, and our translation pipeline. We then had to modify
MIDI-OX uses an old 32-bit library for MIDI, which is why it doesn't work with the 64-bit development builds today. We believe we have an approach which will enable it to work once the bits are in Windows, but it needs more testing once we are in Windows Insider builds. Also, the new stack and tools like the MIDI Console and MIDI Settings app natively do a lot of what folks use tools like MIDI-OX for today, so it may be less necessary in the future. I'm curious to know from folks here if there are things they use MIDI-OX for on a regular basis so we can make sure we're covering all the common scenarios. The best experience/performance will come with adopting the new API/SDK natively (we have developer previews available on the repo), especially as we work to include the upcoming Network MIDI 2.0 standard, and re-implement BLE MIDI 1.0. We have several partners working with us and using the developer builds to do just that. When app developers adopt the new API & SDK, they get things like plug/unplug notifications, endpoint property change notifications, better endpoint naming, the ability to programmatically create loopback endpoints and also virtual devices, efficient communication with the service, and more. Pete |
Beta Was this translation helpful? Give feedback.
-
Hi @dervur, I'm trying to understand exactly what's happening under the hood with this PanelIsDirty property. This property has no effect when opening a panel either as panel file or as a vst/app instance. I'm still trying to understand exactly when it crashes.
I'm trying to figure out at which point PanelIsDirty is required to be True vs false to avoid crashing the daw. I never experienced that on Mac. If you can give me the exact steps to replicate the crash I'd appreciate it. The issue page is here : damiensellier#37 Thanks |
Beta Was this translation helpful? Give feedback.
FOUND THE ISSUE, THIS TIME FOR REAL!
I'm sure the repeated numbers of VST index
Forget about the export in "binary + resources". The problematic property is "panelIsDirty", it needs to be 1 when you are exporting to VST, if it is 0, it will make the DAW crash. I do not understand the logic or where the error might be in the code, also because looking at the code it seems that this variable is 1 when you made a change and need to save a panel. But this must be it, because I fixed all my other panels by opening them in the notepad and modifying this value to 1...
The reason why most of my .bpanelz export were working is because I would export these BEFORE saving a panel, thence the property…