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

You wouldn't if you never use mics or other live inputs.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

Dandruff wrote:
martin_l wrote:I can see that reaper for some reason does not send Note-Off (even though sending Note-Off's is enabled in the reaper preferences).
You mean disabled in Preferences? Because it says "Don't send note offs ..."


Maybe also wait for REAPER 5.21 (should have some more fixes for several note-off stuff).
Quick update:

It seems that Reaper 5.201 solves the problem on Windows, but on Mac it is still there. When checking the MIDI messaged _before_ the PG-8X with ReaControlMIDI, I see that on Windows I get the correct Note-Off message when stopping the transport, while on Mac I don't receive anything.

After seeing that it now worked correctly on Win, I commented out the 'hack' code, but I guess I should enable it again for the Mac, until the reaper issue is fixed.

Cheers,
Martin

P.S. For posting issues NOT related to this reaper-note-off problem, please use the new thread:
viewtopic.php?f=1&t=463227

Post

martin_l wrote:Quick update:

It seems that Reaper 5.201 solves the problem on Windows, but on Mac it is still there. When checking the MIDI messaged _before_ the PG-8X with ReaControlMIDI, I see that on Windows I get the correct Note-Off message when stopping the transport, while on Mac I don't receive anything.
Can't confirm this.

Code: Select all

0: 90 3C 60 [Note On] chan 1 note 60 vel 96
1: 90 3C 60 [Note On] chan 1 note 60 vel 96
2: 90 3C 60 [Note On] chan 1 note 60 vel 96
3: 90 3C 60 [Note On] chan 1 note 60 vel 96
4: 90 3C 60 [Note On] chan 1 note 60 vel 96
5: 90 3C 60 [Note On] chan 1 note 60 vel 96
6: B0 7B 00 [CC123 All Notes Off] chan 1 val 0
7: B1 7B 00 [CC123 All Notes Off] chan 2 val 0
8: B2 7B 00 [CC123 All Notes Off] chan 3 val 0
9: B3 7B 00 [CC123 All Notes Off] chan 4 val 0
10: B4 7B 00 [CC123 All Notes Off] chan 5 val 0
11: B5 7B 00 [CC123 All Notes Off] chan 6 val 0
12: B6 7B 00 [CC123 All Notes Off] chan 7 val 0
13: B7 7B 00 [CC123 All Notes Off] chan 8 val 0
14: B8 7B 00 [CC123 All Notes Off] chan 9 val 0
15: B9 7B 00 [CC123 All Notes Off] chan 10 val 0
16: BA 7B 00 [CC123 All Notes Off] chan 11 val 0
17: BB 7B 00 [CC123 All Notes Off] chan 12 val 0
18: BC 7B 00 [CC123 All Notes Off] chan 13 val 0
19: BD 7B 00 [CC123 All Notes Off] chan 14 val 0
20: BE 7B 00 [CC123 All Notes Off] chan 15 val 0
21: BF 7B 00 [CC123 All Notes Off] chan 16 val 0
PG-8X also doesn't seem to react to All Notes Off message sent by REAPER. Can't make hanging note(s) to stop here.

Post

Dandruff wrote:
martin_l wrote:Quick update:

It seems that Reaper 5.201 solves the problem on Windows, but on Mac it is still there. When checking the MIDI messaged _before_ the PG-8X with ReaControlMIDI, I see that on Windows I get the correct Note-Off message when stopping the transport, while on Mac I don't receive anything.
Can't confirm this.

Code: Select all

0: 90 3C 60 [Note On] chan 1 note 60 vel 96
1: 90 3C 60 [Note On] chan 1 note 60 vel 96
2: 90 3C 60 [Note On] chan 1 note 60 vel 96
3: 90 3C 60 [Note On] chan 1 note 60 vel 96
4: 90 3C 60 [Note On] chan 1 note 60 vel 96
5: 90 3C 60 [Note On] chan 1 note 60 vel 96
6: B0 7B 00 [CC123 All Notes Off] chan 1 val 0
7: B1 7B 00 [CC123 All Notes Off] chan 2 val 0
8: B2 7B 00 [CC123 All Notes Off] chan 3 val 0
9: B3 7B 00 [CC123 All Notes Off] chan 4 val 0
10: B4 7B 00 [CC123 All Notes Off] chan 5 val 0
11: B5 7B 00 [CC123 All Notes Off] chan 6 val 0
12: B6 7B 00 [CC123 All Notes Off] chan 7 val 0
13: B7 7B 00 [CC123 All Notes Off] chan 8 val 0
14: B8 7B 00 [CC123 All Notes Off] chan 9 val 0
15: B9 7B 00 [CC123 All Notes Off] chan 10 val 0
16: BA 7B 00 [CC123 All Notes Off] chan 11 val 0
17: BB 7B 00 [CC123 All Notes Off] chan 12 val 0
18: BC 7B 00 [CC123 All Notes Off] chan 13 val 0
19: BD 7B 00 [CC123 All Notes Off] chan 14 val 0
20: BE 7B 00 [CC123 All Notes Off] chan 15 val 0
21: BF 7B 00 [CC123 All Notes Off] chan 16 val 0
PG-8X also doesn't seem to react to All Notes Off message sent by REAPER. Can't make hanging note(s) to stop here.
OK. I should mention that I was referring to a new build which I have not yet published. I did not include my 'hack' code, but did some fixes to the voice allocator. Anyway, on my Mac I still find the same probelm, while I don't on my PC.

What are you using to monitor the MIDI stream? And, can you confirm which reaper version you are using?

Post

5.201 x64 + ReaControlMIDI

Post

OK. The reaper issue seems to be an issue in the 32bit code. Reaper64 does behave correctly and sends Note-Off's.


I also found another bug in my code. In fact, I was reacting to CC120 (All Sounds Off) instead of CC123 (All Notes Off).
Will be fixed in the next version. I will now test it on the Mac.

Post

I just put a new build with the CC123 fix into the dropbox. Maybe you could check whether that works for you before?

I am still having issues on my Mac, though, but it seems a reaper problem, as I am still not getting Note-Offs in the 32bit reaper.

Here is the dropbox link for the latest build:

https://www.dropbox.com/sh/e5oop1vf8vpl ... eezxa?dl=0

I hope that solves the problem.


Cheers,
Martin

Post

martin_l wrote:I just put a new build with the CC123 fix into the dropbox. Maybe you could check whether that works for you before?
"All notes off" working with this version! Thanks!

Post

What about the other problem of notes hanging when you stop the playback during a long note? Is that now working for you?

Post

No, record-armed track still gives hanging note with "Flush FX on stop" + "Don't send note-offs ..." both enabled (REAPER 5.201 x64).

Post

Dandruff wrote:No, record-armed track still gives hanging note with "Flush FX on stop" + "Don't send note-offs ..." both enabled (REAPER 5.201 x64).
Well, but is not the idea of selecting "DONT send Note-Offs" that the notes are not cut off?

What behaviour exactly do you expect with this combination of options?
And how would a plugin be notified to flush the buffers? Do you know the OpCode for that? I can't find anything in the WDL framework.

Cheers,
Martin

PS. Is it working correcly if you do NOT enable "Don't send Note-Offs" and "Flush FX" ?

Post

martin_l wrote:Well, but is not the idea of selecting "DONT send Note-Offs" that the notes are not cut off?
Yeah, but with "Flush FX on stop" I expect the plugin to stop outputting anything (flushing buffers). Working fine with other VSTi. Not sure how developers need to implement this.

martin_l wrote:PS. Is it working correcly if you do NOT enable "Don't send Note-Offs" and "Flush FX" ?
Yes.

Post

As far as I'm aware "Flush FX on stop" works by setting the plug-in state via op-code 12.

You should trigger an all-notes-off effect here as well. Although all-sound-off would be better it might not be desired.

Dandruff: You need to disable the "do not sent all-notes-off on stop" option. This is illegal according to the MIDI specification and so you can't expect any MIDI device to work correctly. Whether JX8P triggers a reset according to "set plug-in state" is up to the plug-in author and while "all-notes-off" works correctly it does not make sense to put REAPER into a mode in which it does not follow the MIDI specification.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Post

aciddose wrote:Dandruff: You need to disable the "do not sent all-notes-off on stop" option.
Yep. I set it to disabled now. Would still be cool if PG-8X would support the flushing thing.

Post

The consequence of that is that in many hosts it'll cut the notes and introduce clicks almost at random.

It's bad design in VST, there should be an independent "reset" op-code but it was never added.

Note that "reset" means immediately cut all notes and audio output, reset absolutely everything (delay buffers, filters, envelopes, ...) to the same state the plug-in started in.

It would make sense to apply that before render, but it doesn't make sense to kill everything "CLICK!" when you press stop. It gets annoying very quickly.
Free plug-ins for Windows, MacOS and Linux. Xhip Synthesizer v8.0 and Xhip Effects Bundle v6.7.
The coder's credo: We believe our work is neither clever nor difficult; it is done because we thought it would be easy.
Work less; get more done.

Locked

Return to “Instruments”