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

Let's merge Bela support into SC! #73

Closed
mossheim opened this issue May 24, 2020 · 9 comments · Fixed by supercollider/supercollider#5295
Closed

Let's merge Bela support into SC! #73

mossheim opened this issue May 24, 2020 · 9 comments · Fixed by supercollider/supercollider#5295

Comments

@mossheim
Copy link

hi bela SC maintainers!

i have been hoping to suggest this merge for a while, and i think we are in a good place to do it for the 3.12 release! i am happy to help with figuring out the merge details and migrating any documentation necessary to combine our projects. just want to be clear we're on the same page from the start -- if mainline SC were able to build on bela, and all the bela-specific documentation from your fork and wiki were migrated to supercollider/supercollider, would there be any need to maintain this repo separately? my understanding is, no.

i just saw this comment from @giuliomoro:

I did inquiry about that at some point and they suggested that it would need some way of automatic building and testing which I never did as I don't have any knowledge of continuous integration. Is that something you could perhaps help with?

i think at this point, it would be nice-to-have, but it isn't a requirement so long as people are regularly testing bela and reporting issues. this is how we currently support raspberry pi. for example, i believe there was one major build problem for RPi in the 3.11 release and we've already solved it for 3.11.1. i would think that kind of support would still be preferable to the way you currently come up to date with SC releases.

i also saw this comment from @argl:


Ah and two things I noticed when playing around with it (dont know where else to put it):

  • scsynth now binds to 127.0.0.1 by default, so the workflow described in the bela wiki with sclang running on a different machine will not work. You have to tell scsynth to bind to 0.0.0.0 with something like this: scsynth -u 57110 -a 1024 -i 2 -o 2 -b 1026 -z 16 -R 0 -C 0 -l 16 -J 8 -K 0 -G 16 -B 0.0.0.0
  • The current implementation of ableton link is set up in a way that needs sclang and scsynth running on the same machine. Link is doing its thing in sclang, and sending timestamped OSC messages to the server. There seems to be some disagreement when the system clock of sclang and scsynth differ (when they run on different machines). I did not look into that, but when running all of it on the bela, the timing was as tight as expected, with sclang and scsynth on separate hosts not so much. There exists an scsynth-based link ugen that does link syncing on the server side that could be useful in some cases: https://github.com/byulparan/LinkUGen.

Originally posted by @argl in #72 (comment)


which is super helpful, thank you for that!


My roadmap to getting bela support into mainline SC would be:

  1. Create a new branch somewhere for merging Bela SC forward into SC mainline
  2. Rebase-reformat that branch to reduce merge conflicts
  3. Make a PR to SC mainline for further review (quite possibly this may need to be done in a few stages)
  4. After everything is merged in, resolve issues identified by @argl
  5. Find a home for Bela-specific documentation (this could be as simple as adding README_BELA.md)

if it's not too much to ask, i would like to request that the bela work be integrated after supercollider#4966 is merged, because then we can more easily integrate the bela-specific options. i believe we discussed this in the past. to my knowledge it's the only real wrench in the machine. i'm happy to help sort that out.

@argl
Copy link

argl commented May 25, 2020

This is great news, thank you for picking this up!

@giuliomoro
Copy link

YES! (sorry for the late response, we were busy finishing the support for the Trill capacitive sensors)

Find a home for Bela-specific documentation (this could be as simple as adding README_BELA.md)

we have this already

after supercollider#4966 is merged,

Has this happened?

i think at this point, it would be nice-to-have, but it isn't a requirement so long as people are regularly testing bela and reporting issues. this is how we currently support raspberry pi.

I am happy to build and do basic testing every new release.

if mainline SC were able to build on bela, and all the bela-specific documentation from your fork and wiki were migrated to supercollider/supercollider, would there be any need to maintain this repo separately? my understanding is, no.

it's my understanding, too

My roadmap to getting bela support into mainline SC would be:

Looks good, is that something that I'd be doing or you'd be doing?
Happy to help with whatever needed to get this done.

@mossheim
Copy link
Author

mossheim commented Jun 9, 2020

Has this happened?

no, and actually i don't think it needs to happen anymore before Bela support. forget i mentioned it :)

I am happy to build and do basic testing every new release.

great!

Looks good, is that something that I'd be doing or you'd be doing?
Happy to help with whatever needed to get this done.

if you can get everything up to making the PR done, i will make it a priority to review it. i can also help find the right home/format for the documentation. sound good?

@giuliomoro
Copy link

giuliomoro commented Oct 19, 2020

Hi @brianlheim I finally got around to doing this. I have a rebased and reformatted branch bela-merge-formatted-rebase , after a few more testing and adding the Scope feature in #75 I will put forward a PR in the next few days.

@mossheim
Copy link
Author

@giuliomoro great to hear this! looking forward to the PR.

@sensestage
Copy link

Quick question: has the issue with the belaOptions been addressed? Do we have a separate option string for all the bela specific settings, rather than using the already sparse one-letter options to scsynth?

@sensestage
Copy link

@giuliomoro I'll try and spend some time in the coming week to look into the current state of the Bela-branch!

@mossheim
Copy link
Author

has the issue with the belaOptions been addressed? Do we have a separate option string for all the bela specific settings, rather than using the already sparse one-letter options to scsynth?

hasn't changed yet. at this point i'd say let's just merge it as is and i'll make sure to tidy it up before the next minor release.

i just looked over the branch and it seems to be in good shape, i'd say it's ready for a PR once you rebase it to the latest develop fix the merge conflicts. looks like there have already been conflicting changes introduced since a few days ago.

@giuliomoro
Copy link

@sensestage thanks, the branch I have been working on is bela-merge-formatted-rebase

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

Successfully merging a pull request may close this issue.

4 participants