Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Repair team #269

Closed
AndrewBelt opened this issue Feb 14, 2018 · 175 comments
Closed

Repair team #269

AndrewBelt opened this issue Feb 14, 2018 · 175 comments

Comments

@AndrewBelt
Copy link
Member

AndrewBelt commented Feb 14, 2018

The Repair team is the first VCV Community team to launch. The goal is simple: For each open-source plugin in the Plugin Manager, help the developer by sending a pull request that makes it build against the latest master branch of Rack. If you are not quite familiar with GitHub and git, the procedure is the following.

  • Make sure to git checkout master and git pull the latest Rack source code, and build it.
  • Pick your favorite plugin and click Fork on its GitHub page.
  • git clone the forked repo in your plugins/ folder.
  • Inspect the code, and apply the changes mentioned in the Plugin API Updates Thread
  • Update the form of the Makefile to follow the Template Makefile, including the RACK_DIR which will be useful later.
  • Try building it with make -j$(nproc). If you changed everything correctly and it finally builds, make a commit with a message like "Updated to Rack 0.6 API", and git push.
  • On your GitHub fork, click "Create Pull Request", and submit it back to the plugin developer.
  • After the plugin developer accepts your pull request, you may delete your personal repository.
@cschol
Copy link
Collaborator

cschol commented Feb 15, 2018

This post contains the list of all open source plugins in the community repository that need to be validated against the v0.6 API.

If you are interested in helping per @AndrewBelt's instructions above, please

  1. Post below with module name that you are working on, so other developers know that it is being taken care of. I will take care of keeping the list up to date with checking off plugins from the list.

  2. reference this issue (link to: https://github.com/VCVRack/community/issues/269) in your Pull Request to the plugin repository so we can track the Pull Requests and their completion.

If you are a PLUGIN DEVELOPER and you know you would like to handle the conversion to the v0.6 API yourself without the help of the Repair Team, please comment below.

A checkmark means the plugin is actively being worked by the Repair Team OR the developer has decided to do the update themselves.

Once the plugin is confirmed to be migrated to v0.6, i.e. source code is available in the developer's repository, the plugin name will be marked bold and a clone url will be added.
Once the plugin is building on all supported platforms (Linux, Windows, Mac), the plugin will be crossed off the list.

PLEASE NOTE: Once a plugin has been MIGRATED TO THE NEW REPOSITORY structure, the plugin will be REMOVED from this list! It will be re-added if further issues are found that need attention.

Last update of plugins: 9/1/2018

Remaining plugins:

  • CastleRocktronics (3/25/18 PR pending)
  • dekstop (3/21/18 Should follow the Fundamental example to include libsamplerate as a dependency for the plugin)
  • JE (3/25/18 PR pending)
  • PulsumQuadratum-rtlsdr
  • StellareModular-Link (3/18/18 Depends on 3rd part library, reported to developer)
  • IO-Simple (7/30/2018 has graphics issues and requires slug update)

Additional plugins (not in community repository yet):

  • JLmod | clone url (3/25/18 Needs VERSION update, reported to developer)
  • Via For VCVRack | clone url (4/8/18 Pending intergration into community repository)
  • TechTechTechnologies | clone url
  • JEM-Modules | clone url

@dhemery
Copy link

dhemery commented Feb 15, 2018

I develop DHE-Modules, and have completed the conversion myself.

@cschol
Copy link
Collaborator

cschol commented Feb 15, 2018

@phdsg Oops. That was an artifact of how I generated the list. Removed. Thanks.

@AndrewBelt
Copy link
Member Author

Looks great, I'm working on mine.
People can't check your own checkmarks, they'll just have to post here.

@cschol
Copy link
Collaborator

cschol commented Feb 15, 2018

@AndrewBelt Crap, I was hoping they could. I'll keep the list up to date from people posting here below. Updated the instructions above to have people post the name of the module they are working on.

@wizardishungry
Copy link
Contributor

PulsumQuadratum-rtlsdr: I'm doing it myself. (It also needs to have its dependencies built as git submodules before it will build without special instructions)

@Strum
Copy link
Contributor

Strum commented Feb 15, 2018

@cschol

I'll do mine myself, and can help with others if you need it.

@cschol
Copy link
Collaborator

cschol commented Feb 15, 2018

@Strum Thank you. Which ones are your's again?

@AndrewBelt
Copy link
Member Author

Added one additional instruction to make sure that your Makefiles are up-to-date and follow the Template Makefile or the Fundamental Makefile.

wizardishungry added a commit to bongozone/vcvrack-rtlsdr that referenced this issue Feb 15, 2018
@Strum
Copy link
Contributor

Strum commented Feb 16, 2018

@phdsg thanks.

@luckyxxl
Copy link
Contributor

@cschol fixed mine just now

@mdemanett
Copy link
Contributor

Bogaudio is up to date. Cheers.

@djpeterso23662
Copy link
Contributor

I will take care of MrLumps. Thanks!

@alikins
Copy link
Contributor

alikins commented Feb 19, 2018

I have converted my plugin ('Alikins') to the 0.6 API in it's master branch.

@alikins
Copy link
Contributor

alikins commented Feb 19, 2018

Pr for mtsch at mtsch/mtsch-vcvrack-plugins#5

@dllmusic
Copy link
Contributor

I will update moDllz... just waiting to see how the MIDI is implemented

@cfoulc
Copy link
Contributor

cfoulc commented Feb 19, 2018

cf - working on mine, may need some help at some point, will ask here and/or there
EDIT : done, everything working fine and uploaded to my repo :)

@gbrandt1
Copy link
Contributor

i'll work on mine (Southpole) - the update will depend somewhat on the various MI / Parasites repos i copied from

@jhoar
Copy link
Contributor

jhoar commented Feb 19, 2018

I've done AmalgamatedHarmonics.

@cschol
Copy link
Collaborator

cschol commented Feb 19, 2018

Thank you for the PR @alikins!

@AScustomWorks
Copy link
Contributor

I'll work on mine

@antoniograzioli
Copy link
Contributor

antoniograzioli commented Feb 20, 2018

I am updating my plugins, started a couple of days ago, I will (hopefully) finish them tonight. Bear with me I am quite busy and there are quite a lot of changes to be done ;-) also, my https://github.com/antoniograzioli/Autodafe repository is a complete mess, and needs to be erased completely...

@Strum
Copy link
Contributor

Strum commented Feb 20, 2018

ok mental modules are done, the new code is on the 06dev branch.

@wizardishungry
Copy link
Contributor

Is AudibleInstruments building for people? I.e. should it be unchecked?

@ValleyAudio
Copy link
Contributor

@cschol Was the submodule for Valley updated? Apparently my commits on branch v0.6 are ahead of the submodule

@AndrewBelt
Copy link
Member Author

AndrewBelt commented Mar 28, 2018

Starting now, all plugin developers need to follow the instructions at https://github.com/VCVRack/community#for-plugin-developers-addingupdating-your-plugin to update your plugins from the state in the Plugin Manager. PRs will no longer be accepted from anyone except team members, and this issue is now limited to only Repair Team members.

@cschol
Copy link
Collaborator

cschol commented Mar 28, 2018

@AndrewBelt This might have been accidentally closed without merging: I opened #369 and updated some of the plugins (including @ValleyAudio) to the latest repo revisions.

Never mind. I understand now why this was done. I will create new PR(s).

@cschol
Copy link
Collaborator

cschol commented Apr 3, 2018

Sorry, I have been out of town for a few days. Plugin list has been updated.

@phdsg qwelk and LFSR should be ready for integration into the community repository.

@AndrewBelt
Copy link
Member Author

@cschol Welcome back!

@The-XOR
Copy link
Contributor

The-XOR commented Apr 3, 2018

makefile versioned 0.6.1

@phdsg phdsg mentioned this issue Apr 4, 2018
@phdsg
Copy link
Contributor

phdsg commented Apr 23, 2018

IO-simple has merged changes for 0.6 compatibility.
i haven't had the time to try it yet.
if this builds on all 3 platforms we can cross another one from the list and update the manifest and submodule.
:)
@cschol still here?

@cschol
Copy link
Collaborator

cschol commented Apr 24, 2018

@phdsg Yeah, sorry, work/life gets in the way right now. :) I updated the list and crossed off IO-simple.

@cschol
Copy link
Collaborator

cschol commented Apr 28, 2018

@phdsg Is Nohmad just waiting for a build or is there anything else wrong with the plugin?

@phdsg
Copy link
Contributor

phdsg commented Apr 28, 2018

it's not added as a submodule because it wasn't ready during the transition and the dev hasn't opened an issue here yet. there are a few more of those cases. i'll spend a few moments in the next days to invite them to open their channel here if they want to be added to the plugin manager.

@cschol
Copy link
Collaborator

cschol commented Apr 28, 2018

Ah, I see. Sorry, been trying to catch up here. Thanks.

@JeffGreenlee42
Copy link

Hello! Andrew... you suggested I post to this thread (to offer assistance on lowering the 20+ manhours.... ?) 👍 . Looks like this thread is a little errrr. musty with age? Last posting was for yikes! May of last year? I'm not sure what exactly a "bounty" consists of..... but How might I be of assistance?

@cschol
Copy link
Collaborator

cschol commented Jan 12, 2019

@JeffGreenlee42 Well, there hasn't been much to repair so therefore there is no activity here. I am still a little confused as to what you are exactly looking for. Can you elaborate? Thanks.

@AndrewBelt I read the thread on Facebook, but I am confused what the time would be used for. Update manifests to the new plugin.json format?

@AndrewBelt
Copy link
Member Author

@JeffGreenlee42 Oh yes, I forgot to respond to this. Didn't you mention on Facebook that you wanted to offer a financial bounty (or perhaps encourage other people to do so) for the Repair Team's time here?
But yes, it's dead here because all interesting plugins we know of have been ported to 0.6, so we're just waiting on the Rack v1 API to become stable to begin helping AWOL developers to upgrade their code.

@JeffGreenlee42
Copy link

JeffGreenlee42 commented Jan 12, 2019 via email

@AndrewBelt
Copy link
Member Author

Oh yes, you can certainly join. Just subscribe to this thread and wait for new information when the Rack v1 API is stable.

@catronomix
Copy link

I seem to be the first to revive this thread :)
Got a problem trying to transfer my modules to v1... I'm stuck at 1.9 from the migration manual, rack keeps crashing when I open the module browser.
I made an issue: catronomix/catro-modulo#11

@AndrewBelt
Copy link
Member Author

@catronomix That had happened to me before for unknown reasons. The solution was to simply proceed with phase 2, and it will magically fix itself.
I believe the problem had to do with the order of constructors with the deprecated wrappers in rack0.hpp.

@JerrySievert
Copy link
Contributor

@AndrewBelt in this case, it's a little different:

float *value;

if (module) {
  value = &module->value;
} else {
  value = 3.14159;
}

but specifics being a custom component.

@JerrySievert
Copy link
Contributor

but yes, I ran into the deprecated wrappers issue, and pressing on fixed those issues.

@catronomix
Copy link

@JerrySievert I moved the initialization of recball_x and recball_y to the constructor of recball like this:
in the module cpp:

//selector indicator yellow
		CM3_RecBall *recball = new CM3_RecBall();
		recball->box.size = Vec(32.0, 32.0);
		if (module){
		recball->recball_x = &module->recball_x;
		recball->recball_y = &module->recball_y;
		}
		addChild(recball);

and in the plugin hpp:

float *recball_x;
	float *recball_y;

	CM3_RecBall() {
		recball_x = new float(178.1);
		recball_y = new float(89.5);
	};

Which didn't fix the crash. Then I followed @AndrewBelt 's advice and proceeded with the conversion as per the manual. It all builds fine but the crash still happens.

I'm on Windows 10, using VSCode and then mingw/gcc to compile with make dist and then I copy the plugin to the rack plugin directory to test if it works. But Rack always crashes without showing any error. log.txt also never showed me any errors ever :/

I would like to debug my plugins to see where things go wrong, but I dont find a tutorial on how to debug.Only bits of info in issues like these https://github.com/VCVRack/Rack/issues/172 but I can't make heads or tails of it.

@JerrySievert
Copy link
Contributor

@catronomix I'll open a PR on your module in your repo, and continue the conversation there.

@almostEric
Copy link
Contributor

If you look on the developer FB group, I posted asking about debuggers. There was quite a bit of response that should help you (I’m using VSCode too)

@squinkylabs
Copy link

yep lots of info. the super basic is:

make debug (launches rack with the debugger attached)
run (start the debugger exectuing rack)
(do stuff until it crashes. you will be back at the debugger prompt)
bt (dumps the stack leading up to the crash)

look at the screen and figure out what happened. Or google "gdb cheat sheet"

@catronomix
Copy link

but how does it know where to find rack? because thats installed in windows, but the plugin gets compiled in my dev folder where the rack sdk is located. I guess I have to compile some debug version of rack inside the dev folder as well?

@AndrewBelt
Copy link
Member Author

Closing since the VCV Community forum is a better place for discussing adopting plugin maintenance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests