Want to work on TheXOR V1.0 PORT? I got partway there!

If you check out this fork of the original TheXor plugins:

The 1.0 changes branch is named chaircrusher-v1.0-port

I got it to the point where I’d need to know more about Rack internal and 1.0 API changes than I do to figure out how to finish up. I’ve done all the simple mechanical things as detailed in the porting guide.


Unfortunately, I cannot help. Not a programmer…
But I just want to say I’m very happy that you have taken the initiative to pick this up!


I took a look in case it was easy; which it isn’t. But I got pretty far.

Apply this patch and you will see what most of the fixes are. They amount to

1: Using modern classes
2: Unmangling some of the name mangling which the perl did
3: Commenting out the reset() idiom until you move it to the widget


Anyway I’m about to do some travel but applying this patch will at least get you a lot closer (save this file then do git apply better.patch.txt from your root folder). Hope that helps some.

better.patch.txt (17.6 KB)

And sorry I don’t have time to finish it right now; it looks like a solid few hours of work to me to get it ported and I don’t have that in the next few weeks. But I think that’s a good start.


So this is a patch on top of my branch?


i have little knowledge on C++ programming

can help with building on windows if needed (I ve just tried but too many errors to go to finally compile the plugin.dll)

and of course thanks :slight_smile:

Spent a bit more time this morning and got it to build

Here’s a patch against your commit bfe462167de929ec7fcc0ef3c1035a66246fe605

builds.patch.txt (26.0 KB)

This builds and rack runs but, of course, the browser immediately crashes. Those module==null guards need to be applied. But you can at least debug which one gets you first now in a debugger.

Also there’s one pattern (reset and randomize on the Module vs the ParamWidget) which I fixed by just commenting out the unsupported functions and adding a FIXME

I’m offline for a couple of weeks but hope this helps get you there. Like I said: on my mac this now builds but does not run.