PG8X (inspired by the JX8P): new beta version uploaded

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Locked New Topic
RELATED
PRODUCTS
pg-8x

Post

martin_l wrote:
AdmiralQuality wrote: That's very common and is to support MIDI's "running status" feature, where additional data bytes sent after a status byte are interpreted to be new events of the same, previous status type. For dense streams of notes it reduces the bandwidth by up to half, by not needing to constantly switch between note-on and note-off statuses.
I guess the host will take care of the "running status" bit, and as a plugin, I always see correctly formed events (albeit with NoteOn, velocity 0), as I get them through the VSTMidiEvent structure.
The host will fill the MIDI event structure with the repeated status, yes, but it won't translate a note-on velocity 0 into a note-off event. That's up to you.
AdmiralQuality wrote: You should of course only be interpreting the MIDI in one single piece of code. The voice assigner should be called downstream from the MIDI interpreter and entirely unaware of the raw MIDI data.
Yes, in the ProcessMidiMsg (a wdl routine), translate all messages into an internal format which then is sent to and processed by the voiceallocator. It was in this routine, where I passed on the wrong message to some voices.

Cheers,
Martin
Is the voice allocator/assigner part of the WDL framework or your own?

Voice allocation is one of the trickiest parts of coding a synth -- hardware or software. (Though even in a hardware synth it's software. Polyphonic synths didn't exist until computer scanned keyboards started to appear in the mid to late 70s.) Everyone just assumes voice assignment is "free" but it's not. (Or they don't think about it at all.) And it gets even more complicated when we have synths with variable numbers of voices, unison modes, different assignment modes, note priorities, and the fact that the user might be changing all and any of those parameters while existing voices are still held down! There's still a few things in mine that aren't quite right, and probably won't be until I start over from scratch. (Further complicated by the fact that I have a GUI keyboard which generates notes but also reflects incoming notes, AND a new feature that lets you lock down held notes as part of the patch. I nearly went insane sorting all that out! :) )

So yes, bear with Martin on this stuff. It makes the voice generation seem easy!

Post

martin_l wrote:The bit of good news is, that I found the reason for the problem reported by EvilDragon. It had to do with the fact that some keyboards send NoteOn with velocity 0 when they would like to say NoteOff. I translated that internally, but (quite annoyingly) I did this only for the primary voice in Unison modes, and not in the slave voices, which meant, that they actually never received a NoteOff event.
Excellent! :) Glad I could be of help.

Post

Shucks, why do I have to be the difficult one, huh? :)
Here's more information regarding the hung notes in my scenario:
~ It happens for me regardless of what keyboard controller I'm using (I've tried 5)
~ Using Ableton Live 9.x (most recent), Mac VST 32-bit
~ Using MIDi (not USB): Controller MIDI Out--> M-Audio 8x8 Midi Patch Bay --> USB In on Macbook
~ Happened on both a 2009 and 2014 MacBook Pro, so it's not the computer
~ OSX 10.9.5
~ I have multiple controllers connected, but I've tried with just the sole controller connected, same results
~ I don't see any errant midi data when I use midi monitor

So the problem completely lies in an Ableton behavior, or the Plugin itself by my guess

Post

lionscub68 wrote:
So the problem completely lies in an Ableton behavior, or the Plugin itself by my guess
Ableton does not pass SYSEX data through. But regular MIDI note data should be OK. Perhaps try a different host just to rule that out?

Post

rkell wrote:
lionscub68 wrote:
So the problem completely lies in an Ableton behavior, or the Plugin itself by my guess
Ableton does not pass SYSEX data through. But regular MIDI note data should be OK. Perhaps try a different host just to rule that out?
Need to know a different OSX host that uses Mac VST's.
I have Logic 9 but that's AU-only.
I prefer VST for just that: MIDI output.

The issue I'm having is stuck notes, not sysex.

Post

lionscub68 wrote:
rkell wrote:
lionscub68 wrote:
So the problem completely lies in an Ableton behavior, or the Plugin itself by my guess
Ableton does not pass SYSEX data through. But regular MIDI note data should be OK. Perhaps try a different host just to rule that out?
Need to know a different OSX host that uses Mac VST's.
I have Logic 9 but that's AU-only.
I prefer VST for just that: MIDI output.

The issue I'm having is stuck notes, not sysex.
REAPER!

http://reaper.fm

Post

AdmiralQuality wrote:REAPER!
http://reaper.fm
I tried it three years ago, and it was super-clunky and ugly as sin.
I couldn't figure out how to arm a track or use a VST.
Has it improved since then?
I'll check it out after work.

Post

You could download the demo of Tracktion 5. VST and AU supported…

/Joachim
If it were easy, anybody could do it!

Post

lionscub68 wrote:
AdmiralQuality wrote:REAPER!
http://reaper.fm
I tried it three years ago, and it was super-clunky and ugly as sin.
I couldn't figure out how to arm a track or use a VST.
Has it improved since then?
I'll check it out after work.
:dog:

Yes, it's improved. But it wasn't broken 3 years ago. If you didn't get it then, you won't now.

Post

maybe it was 5 years agao, like version 0.2beta or something :)
I'll try to keep an open mind

Post

lionscub68 wrote:maybe it was 5 years agao, like version 0.2beta or something :)
I'll try to keep an open mind
Okay.

IMHO it's the absolute best host going, for reasons too numerous to mention here. But where other hosts say "You can't do that!", Reaper says, "Sure, why not?"

Post

martin_l wrote: As for the factory plugins: it would be no problem for me to create the Sysex files from my hardware. I am a bit cautious about posting them, due to copyright issues. But I guess I could send them to individuals interested.
I downloaded the syx files but how to load them?

Post

Chris-S wrote:
martin_l wrote: As for the factory plugins: it would be no problem for me to create the Sysex files from my hardware. I am a bit cautious about posting them, due to copyright issues. But I guess I could send them to individuals interested.
I downloaded the syx files but how to load them?
Place them in some directory, and make sure that they have the file extension ".syx" or ".SYX". Then use the red LOAD button on the GUI, and navigate to the directory where you have the files. Click on the name to load.

Depending on the file, they will load into different presets. The JX8PBNK files will load into 1-32, while the presets.syx will load into 65-128.

Let me know if there are any problems (e.g. the host crashing later on, as reported earlier...)

Martin

Post

New versions (*12-11*) uploaded. I fixed a bug which was responsible for the hanging notes reported by EvilDragon. Not sure whether it also fixed lionscup68's stuck notes issue, as I was never able to reproduce it myself.

This version should now also be able to save single presets as Sysex Dump (not including any prog change or write commands).

I also tested in reaper that I can send Sysex to my JX8P (which does react to the slider changes).

I looked at the crash of FL11 when closing the host after loading a Sysex, but could not find anything. The crash happens in FL's wrapper.dll which does not have debugging info. I do assume that it is my plugin, leaving behind a corrupted memory, but have not yet been able to locate it. If anybody can reproduce such crash in a different host, please let me know.

Lastly, I also replaced the wrong preset in the presets.syx bank.


Download link, as usual:
https://www.dropbox.com/sh/m636vgxhta9e ... 3SVaa?dl=0



Cheers,
Martin

Post

martin_l wrote:New versions (*12-11*) uploaded. I fixed a bug which was responsible for the hanging notes reported by EvilDragon. Not sure whether it also fixed lionscup68's stuck notes issue, as I was never able to reproduce it myself.

This version should now also be able to save single presets as Sysex Dump (not including any prog change or write commands).

I also tested in reaper that I can send Sysex to my JX8P (which does react to the slider changes).

I looked at the crash of FL11 when closing the host after loading a Sysex, but could not find anything. The crash happens in FL's wrapper.dll which does not have debugging info. I do assume that it is my plugin, leaving behind a corrupted memory, but have not yet been able to locate it. If anybody can reproduce such crash in a different host, please let me know.

Lastly, I also replaced the wrong preset in the presets.syx bank.

Download link, as usual:
https://www.dropbox.com/sh/m636vgxhta9e ... 3SVaa?dl=0

Cheers,
Martin
Great. I was already saving single patches using your native format. Will you recommend SYX instead of it, or is it indifferent? Or maybe just for loading in the hardware?

Also, since I don't have JX-8P, is there anything else specific that you want/need us to take a look? I have both Mac and PC, so, I'm at your command :wink:
Fernando (FMR)

Locked

Return to “Instruments”