TheTechnobear's SSP/XMX development

Thank you again for the prompt responses. I just want to verify https://www.dropbox.com/scl/fi/y6ity0lo4jcc5u3hhthyz/tb_plugins_ssp.zip?rlkey=shwop8wy2c1z0d5tnvctdacnb&st=pxaob7eb&dl=0 is where I downloaded them from again. They still exhibit the same issue for me unfortunately. Unless I didn’t get the download link correct.

Thank you for the tip on the encoders. Im no pro either I do have a dedicated rework station and desolder station as im a ham radio guy and like to tinker with SMD repairs but I may take your lead and do the same if i run into the same issue.

sorry, my mistake… uploaded the wrong file .
try again now

https://www.dropbox.com/scl/fi/xwf9rp9rq5xzz93yy2f63/tb_plugins_ssp.zip?rlkey=z6o4l1c40v6aplq3plq6fs31c&st=jysw0vs0&dl=0

No problem at all!

So I can load them all, I am able to get into the settings of TRAX for example the bug i got but i cannot replicate on command is when exiting the plugin I get a crash. I loaded up several of the named ones above i was having the open crash issue with and they all allow me to enter the plugin setting but i cannot replicate the crash i had on exit. It did happen 4 times but at random moments always upon exiting a plugin and now i cant get it to crash so im not sure the cause at all. I don’t want you to waste dev effort on this if this is something that needs a update to synthor itself im sure your efforts are more needed elsewhere! I just wanted to let you know my findings. If there is anything else i can do to help debug please feel free to let me know I feel you’ll be able to replicate the issue though on this version of synthor with enough mucking about inside the plugins.

EDIT: I did manage to reduplicate another crash by adding TRAX to a empty page then entering TRAX to adjust settings , Exiting TRAX and then trying to Delete TRAX off the page. Same with CLDS, PLTS, SFFT so far so i assume it maybe affecting the named ones still showing an issue.

Hope this helps

ok, lets take TRAX out of the picture… as I seemed to have a more general problem with plugins within synthor… (and frankly TRAX is complex ! )

let use CLDS … as its been around for a long time :slight_smile:

so, I just tried this, and indeed seems whilst now the CLDS is loading ok, and you can bring up the UI ok (fixed) it appears deleting the plugin now crashes!
this appears to be a juce 7 specific issue…
(as juce 8 build does not crash either on release or my build of synthor when deleting plugin)

1 Like

indeed i thought the same so i tried CLDS, PLTS, HARM, they had the same issue for me as well upon trying to delete or even replace it once its been opened once to adjust any setting.

I have a VM and build environment setup that ive built the QVCA test with thanks to your write up but that’s about my limitations :smile: I had Loveable.dev and GPT help with a mock of a plugin that i did get to work in SSP but I cant take the credit for that all i did was prompt it with what i was trying to accomplish in SSP as a test. the rest is over my head :exploding_head:

OK, Ive found a fix, and released a new version of the beta (3) for SSP.

as above, appears to be an side effect of using juce 7, and things not cleaning up properly when run under synthor - something not present in juce8. so Ive put something in place which appears to resolve the issue.

known issue

however, it doesn’t appear to work for plugins loaded within TRAX.
ie if you load multiple plugins with synthor, which can include TRAX, all is good.

but if you load plugins within TRAX, then when you remove TRAX, it’ll crash.
(I’d expect the same will likely be true of DUAL)

as the issue I believe is loading plugins within a plugin (as trax/dual do).
the reference counting does not appear to work in this case.

honestly, Im not sure Im going to be able to resolve this…

this is not really within my code, its all being caused by how juce, binaries being compiled with different compilers. the misalignment is causing issues.
(which is why I didn’t have any issues with current compilers and juce 8, which all ‘line up’)

1 Like

understandable thank you for all the work again! Could by chance share a link here and ill try it out. i couldn’t find it in the repo the link there is broken.

EDIT: I found it i just had to clear cache and cookies. sorry for the confusion. I appreciate it again for the speediness

1 Like

did you get a chance to try this out @Atoms ?
I’d like to finalise the release, possibly this weekend - but obviously, I can only do this if I know this is working on the released form of Synthor.

yes sir i did! and it does work exactly as it should outside the confirmed known issues. ill be available to test the next iteration once you finalize it just let me know i would be more than happy to.

1 Like

ok, so Ive release a new beta for SSP , which can also be considered a ‘release candidate’.
if no issues are found over the weekend, then I will release this after.

note: the following only relates to the SSP , XMX is unaffected.
Ive not had any reports of issues with XMX plugins / trax, so the xmx version will move from beta to release at same time as SSP version.

this beta/rc resolves the known issue with Trax, and takes a new approach to the underlying ‘issue’ :slight_smile:


so, I had a discussion with Bert, as I wasn’t very happy with the ‘hacked’ build we used for Beta 3.

it didn’t feel like a sustainable approach, and also its not how Ive been using the plugins/trax during development - so Im trying something different…

with agreement from Bert, I’m including an unofficial version of Synthor, that is my build.
this uses newer build tools, and so is compatible with my plugins ‘unaltered’, so Im not longer hacking anything.
the advantage of this approach is two fold.
a) this build of synthor is the one I used during development, so Im releasing on something Ive been using for quite a while.
b) moving forward, I can continue to use latest versions of build tools and things like juce.

what does ‘unofficial’ synthor mean?

  • unsupported by Percussa
    any bugs / issues you find must be tested against the official release 13072022 to be reported.
    frankly, whilst Ive not had any issues with this build , I cannot 100% guarantee the build doesn’t have any side effects.
    so rename/keep backup of the official version, just in case you need to test.

  • functional identical
    it’s “just” a rebuild of the same source code as released, don’t expect any changes in functionality.
    its sole purpose is to use these new plugins.


anyway, from my testing, this solution fixes the issues we were facing, which were becoming time consuming activity to track down and try to ‘workaround’.

so Im pretty happy :slight_smile:


as above, if there are no further issues spotted over the weekend, then this will become my release.
if you install/test now, its unlikely this will change again, as the release will be this zip file as is.

nothing more to say other, than give it a go, and enjoy

Mark

2 Likes

Thanks Mark for the update and deving on this project. Ill give it a go. Just to make sure the ‘unofficial’ SYNTHOR you’ve provided just requires replacing the existing one inside the SSP built SD card as far as that process goes?

Cheers again

Yeah, just replace it.
you can back it up somewhere or rename it , in case you need to test something in the future with it.

2 Likes

copy that thank you,

I haven’t much time but in the little time i did test some of the features most everything was solid. I did have issues with Trax still crashing the system if i removed Trax plugin and i had a couple instances of crashing within Dual when swapping out modules but i could not pinpoint what caused the crash in Dual however in Trax the removal of the plugin would cause repeatable crashes for me on my ssp.

I just downloaded/reinstall from the wiki the last beta, and I cannot reproduce any issue.
can you reinstall, ‘just in case’ - specifically remove the plugin directory, and delete SYNTHOR beforehand

other than that, Id need a minimum step reproducible case.
a patch with just IN, OUT and TRAX
then in Trax, put CLDS on track 1, and connect it.
save it.
then delete trax.

Ive done this now countless times, and never crashes.

its important I know if its just related to this simple case…
if this works, then we can add more complications e.g. more tracks.

but if this basic test doesn’t work, Im not sure where to go next

Im a little concerned by this…

when you say ‘assume’ , what do you mean?
if you don’t know for sure, then this may have to be the first step.
(or at least until, someone else reports they have the same with this as a known image)
the thing here that image is not just synthor but the entire linux image, so if you have something else, there could be a library difference !?

that said, I think we should establish if a basic test is working the same first.
before undertaking anything more time consuming.

Sorry for any inconvenience or confusion Mark,

So starting at the top

i have a blank SD card i just installed a fresh image on with the iso image that percussa has posted in the forums which is the most recent image i can find dated from 2022 found here Percussa SD card Image

I then deleted and replaced both the SYNTHOR file and Plugins folder with the ones from the wiki recent BETA I found here

The crash i am able to reproduce with this still I did on accident i added Trax to a spot on the plugins sheet and just immediately went to delete it (so i never opened trax to add or change any settings) and that causes the crash for me.

Once i open trax though all works as intended and i can add/delete with out any crashes its just the first time of adding trax (not opening it) and then removing it. This is a small and most likely very rare case that most anyone might run into this issue.

I also wanted to ask if maybe there’s something im not doing right within trax or of this is a bug on my install perhaps but to get the vue meters within trax to show signal output. Ive watched your tutorial on trax with xmx and ssp and have no issues with all the functionality Ive tested so far outside the 4 VU meters never show signal even though there is output coming out of trax ( as a note the volume and mute all function as intended.) i maybe missing something simple though.

The test for this i did is just a simple out and trax on the ssp and within trax i just have PLTS running to the output of ssp. I also tried adding IN and OUT as well as Trax with plts running inside trax with an external envelope generator modulating into the V/Oct of plts within trax as well and that all works (i can also can delete trax without issues) its just no VU display.

Thank you again

1 Like

apologies, not implying its your fault or its an inconvenience.
I’m also really grateful for your help in testing this out, whilst its frustrating for me (as I appear to be going around in circles fixing this), having it crash for someone else is very useful feedback.

as for now…
well, I couldn’t reproduce your issue, but then I cleared my 000 patch, and now I can.
no idea why…

though, shows the power of having multiple users testing, we all having things setup slightly different!

this is leading to me believe its some kind of “random” memory corruption, which explains why the issue seems to move around, and also why you and I see different behaviour.

this is a tough one, as Im not seeing it on my Mac, when testing the trax plugin on its own.
but then again, Synthor is doing its own plugin loading, has its own version of Juce, and its own custom memory allocator - any it could be (likely?) that is one of these things thats somehow not playing nicely.
the issue is, theres no current leads as to where the underlying cause is…


the one piece of ‘good news’ is - you have it crash before loading anything…
this means its not the loading of modules within Trax.

can you do a few tests for me…

preparation - lets get to a ‘known state’
clear the default 000 patch. and save it, the reboot
now when the SSP powers on it , it loads a blank patch.
(you can restore factory patches later if you want them, or use wriN to save the 000 patch)

follow exactly, don’t bring UI of trax up, unless stated :wink:

a) create TRAX , and delete it
Im assuming it will crash

b) create two TRAX ,
delete one - doesn’t crash
delete 2nd - it does

c) create one trax, bring up UI
now delete - does not crash

d) create two trax, bring up UI on
delete both, does not crash?
create trax, no ui
delete does not crash

hopefully, you’ll get the same, which at least shows we are consistent

from the above, its feels like its a variation of the original issue, where deleting plugins without bringing the UI up, causes a crash… but Ive no idea why its now a specific issue just for Trax.
but at least its something to go on…


the UP/DOWN red buttons on the SSP are equivalent to the red buttons next to the screen on the XMX.
so holding up will always bring you to the main mixer screen. (with vu meters)
similarly holding down, always take you to the performance screen.

the main reason for this is when you are in the module view (e.g. CLDS), I need up/down up/down are used to go between parameter pages.
basically, I ran out of buttons/gestures to use on the xmx, as every button is (potentially) used within a module.

I tried various gestures, including two button combos, but I found most either fiddly or difficult to remember.

so I went for one extra gesture HOLD = 2nd function.
also I liked the idea that hold up/down would take you to two important screens mixer/performance - as the idea is once the patch is build, these are the screen you want to ‘perform’ with.

I will say it takes a while to get used to… and ofc, its possible to refine.
in the end I chose one way that was consistent / worked - with the idea, that once I have more users we can discuss the pros/cons of variations to improve.

though, ofc, I want to get it stable first :laughing:


what next?

anyway, Im going to try a few different things to see if I can squash the above issue…

though, Im a little worried, I’ll again fix in one place and it’ll pop up elsewhere.

if it does, Im going to have do try to find a better way to test / debug the issue - but that could take a while, so this ‘quick fix’ is worth a try.

Ive also ordered some more sdcards, so I can create a 100% fresh image for ‘final testing’, as its inevitable a box you use for dev is going to end up with some ‘other stuff on it’
e.g. I have dev versions of perfcmd / trax standalone on mine, plus all sorts of other ‘stuff’ I experiment with. none should impact, but you never know !
but that’ll take a day or two to turn up (here in the mountains :laughing: )

SSP beta 5 / RC 2 is released

looks like issue was a very minor timing issue on deleting Trax to do with module unloading and thread destruction. main case was handled, but seems like there was an odd corner case when there was little to no load.
the light load is probably why it didn’t come up during dev, as I usually had Trax loaded with modules, which would avoid the corner case.

I did quite a lot of testing, with every scenario I could think of (in terms of initialising and de-initialising Trax) and could not get it to crash.
Im kind of confident, except for the fact, I thought last time Id tried everything too :laughing:

the good side, was whilst testing I did re-affirm the previous fixes were required, and indeed it looks like each fix was a step in the right direction, just missing this minor timing problem.

Well you’ve done it again!

( With the previous install)

a) create TRAX , and delete it
Im assuming it will crash ( confirmed)

b) create two TRAX ,
delete one - doesn’t crash (confirmed)
delete 2nd - it does (confirmed)

c) create one trax, bring up UI
now delete - does not crash (confirmed)

d) create two trax, bring up UI on
delete both, does not crash? (confirmed)
create trax, no ui
delete does not crash (confirmed)

(I also ran this same test with the new SSP beta 5 / RC 2 and it functions as intended no crashes so far.)

The issue I was having with the VU meters

Im able to get to them fine by holding the (UP) red button but they just did not show any movement when a signal output was present from trax they were just all ‘grey’ as if there was no audio being outputted on that track even though there was for example plts on track 1 and 3 and i could hear it and manipulate the volume and mute etc.

However with SSP beta 5 / RC 2 this was resolved as well as i can now see movement within the VU meters per track per channel so its all good!

Ill keep testing things out and if i run into anything weird ill be sure to post a comment here just to keep you updated. Ill also give any feedback on the UI since its so new to me its just a learning curve but i may find some areas where it could be tweaked or improved on from a workflow standpoint and if its something you think makes sense to even tackle as im sure your a busy man.

Thank you again for the hard work and have a couple coffees on me mate

Andrei

2 Likes

cool, great to hear everything s working for you too … got there in the end :slight_smile:

look forward to your thoughts, thanks for the coffees, have fun

M

1 Like

ok, as Ive heard of no further issues, Ive moved everything to ‘release’.

if you downloaded the last betas you do not need to reinstall, they are the same.
I’ve also updated percussa.rnbo to reflect latest changes and release as well.

enjoy