Dev meeting minutes

Hey all, in the interest of more transparency and dialogue between devs and users I’m starting this thread to post minutes from sc-dev meetings. They currently happen every two weeks. Feel free to reply here or start a new thread if there is a topic that interests you.

Note that minutes for all our meetings are kept on github at https://github.com/supercollider/supercollider/wiki/Dev-Team-Meeting-Minutes

1 Like

2020-04-12

People present: Nathan H, Brian H, Patrick D, Geoffrey M, James S, Gianluca E, Josh P

Welcoming Gianluca!

What people are up to

  • Geoffrey: looking at autoindent in IDE, waiting for review on #4797
  • James: reviews, working on implementing spelling correction suggestions in sclang parser
  • Nathan: working on other projects
  • Patrick: refactoring TestBuffer to break out server-requiring tests
  • Josh: managing releases
  • Brian: reviewing, beginning to implement RFC #1

3.11.1

  • discussed Brian’s cherry-pick PR
  • need to merge in scel update for support on ubuntu
  • decided to postpone outstanding issues (#4544, #4826)
  • decided to release ASAP

sc3-plugins

  • discussed merging Scott C’s PR and doing a release
  • Josh P said he thinks we should merge it and include in 3.11, general agreement

Other PRs and issues

  • Patrick asked about best practice quitting servers in unit testing
1 Like

2020-05-10

People present: Brian H, Marcin P, Luke N, James S, Nathan H, Patrick D, Gianluca E, Tejaswi P

Luke N talked a bit about Scintillator (https://github.com/ScintillatorSynth/Scintillator)

Brian gave a short overview of what things have been merged in recently

Gianluca discussed his help browser PR (#4883) and associated RFC (#9)

Discussed issues around SuperCollider versioning and standalones

Some points of discussion:

  • ease of learning - interactive learning environment
  • interoperability with other technologies (web, etc, LSP?)
  • standalones - for performers
  • multiple versions of supercollider
    • dev work
    • possible, but very difficult currently
    • backward compatibility
    • run ‘from a USB stick’
  • app bundle design
  • server/IDE/language search paths
1 Like

2020-05-24

Members present: Brian H, Marcin P, Luke N, James S, Patrick D, Gianluca E, Tejaswi P, Josh P, Geoffrey M, Julian R

Release status

  • Josh P has had some reports of unsigned sc3-plugins not working with 3.11 on macOS 10.15
    • hasn’t been able to reproduce. thinks that everything is in order, but not sure.
    • Marcin offered to test

Release process scripting

  • Brian brought up the idea of automating / scripting the release process
    • James S, Josh P, Brian H, Marcin P decided to form a working group for this

vcpkg - https://github.com/supercollider/supercollider/issues/4928

  • James S has used it before and offered some advice
    • one issue is that packages need to be built from source, not a good way to provide Qt
    • generally positive impression
  • Marcin P tried it, ran into an issue with powershell
    • for portaudio, issue with asio sdk
  • James S mentioned asio sdk is in vcpkg, and seems like it provides CMake integration
  • Brian noted ExternalProject in CMake is also an option for managing external dependencies
  • Luke N and Marcin P said vcpkg support for CI first might be a good way to test it out, and then recommend it if it works
    • James S said he would look into that

portaudio vendoring - https://github.com/supercollider/supercollider/issues/4928

  • Marcin P did work to shift over to fresh, non-sc-org portaudio
  • Brian suggested using ExternalProject in CMake to get around
  • Discussed tradeoffs of vcpkg vs ExternalProject
  • Decided to do more research and revisit

issue management - https://github.com/supercollider/supercollider/issues/4940

  • Josh P wants to reset everything and start from scratch
  • Luke N also likes this idea, but said we need to have a policy to avoid it happening again
  • Josh P said most projects don’t actually run as long as SC. issue trackers work good for shorter term projects, but maybe not for this duration
    • fresh start could give some focus
  • James S explained his ideas regarding stale issues and automation
  • Julian R said a bot would add a kind of neutrality/fairness to it, but is concerned that closing issues will hide valuable information
  • James S suggested updating issue template or other obvious place to note that you may want to search closed issues
  • Everyone agreed messaging around closing issues is important
  • Discussed a gradual approach to transitioning between current process and more controlled approach
  • There was a proposition to have a two-step approach where a bot would comment every issue that’s been stalled for more than X months, which would explain the triage process. Then, after some other time to be determined, the issue would be closed
  • Someone proposed to start with proposition some texts for these messages.

Other topics and PRs:

1 Like

Thanks for posting!!

Hey all,

Thanks to everyone who attended the sc-dev meeting! Minutes of the meeting are below. You can find archived minutes from all our meetings on our GitHub wiki page: https://github.com/supercollider/supercollider/wiki/Dev-Team-Meeting-Minutes

The next meeting is planned for the weekend of July 25-26. Note: we are going to try meeting on meet.jit.si next time. Details are yet to be decided, but we will use Skype as a fallback in case it doesn’t work for some reason. A meeting time poll will be sent out early in the week. If you’d like to attend but our usual meeting times aren’t good for you, respond to this thread or email me privately and we’ll try to work something out! We are always interested in getting new people involved in the development community.


2020-07-12

Members present: Patrick D, Brian H, james S, Marcin P, Gianluca E, Luis Lloret, Clifford (Cliff) Dunn, Tejaswi P

Intros for new joiners (Cliff, Luis)

Luis discussed his Pulsaudio RFC:

  • adding PulseAudio as a build time option
  • Jack will stay as the default
  • new option for systems where getting Jack may be difficult
  • PR is open against SC
  • goal to help less technically savvy users, incl. with platforms like SonicPi that use SC internally

Discussed use of RtAudio library in PR
Discussed possibility of using RtAudio for other backends
Discussed possibility of using another library besides RtAudio
Discussed device selection

Brian gave an update on the 3.11.1 release:

  • Ready to go, currently waiting on Josh

Brian suggested using Jitsi (meet.jit.si) for future calls

  • Most people agreed it would be desirable
  • James said we should check to make sure it’s not blocked anywhere contributors may live
  • Agreed to try the next meeting on meet.jit.si, further details TBD

Discussed what (if anything) currently keeps people from contributing:

  • several people said they have a hard time keeping track of what’s going on in active development
  • several people indicated they would like more shared priorities as a project, or to be assigned issues/PRs
  • navigating the Wiki to access new contributor info is hard
  • PRs are hard to review because they don’t stay contained/branch into other topics

Patrick brought up some PRs:

James brought up PR 5015, asked if it might solve the same issue as his PR 4646 and therefore could try reverting 4646.

  • Brian said it might, give it a try

Gianluca brought up a thread on scsynth.org about audio clipping on macOS, agreed we should try to tackle this for 3.12.

Marcin asked for attention on https://github.com/supercollider/supercollider/pull/4852.

1 Like

2020-08-02

Members present:
Brian H, Cliff D, Patrick D, James S, Josh P, Clare M, Marcin P, Luke N

Discussed 3.11.1 release

  • Discussed PR #5113, agreed that we can move forward with release now
  • Brian said they would move forward with the release process after the meeting
  • Luke wrote a script to notarize and codesign macOS binary on Travis
  • Discussed design of script and how we could adapt it (especially regard build time limit on Travis)
  • Discussed whether SuperCollider as an org could purchase an org certificate from Apple, probably has legal issues

Discussed issue of many GitHub accounts having admin access to the organization (some without 2FA)

Discussed whether to change master->main before or after the release

  • Agreed to do it after release since release is high priority and we don’t want any issues potentially arising from changing default branches during the release process
  • Discussed GitHub and git changing their behavior around this as well

sc3-plugins and codesigning:

  • Josh said we weren’t able to get a release out for 3.11 because of sign/unsigned binaries
  • Possibility of creating a single binary plugin that someone could use to load all of the plugins once
  • Josh hasn’t had a successful way to download & load plugins in the signed binary
  • Brian and Josh said they would work together to try to debug this this week

Clare and Brian discussed release automation & pair programming within the next few weeks

Patrick brought up a Ctk quark pull request

Discussed Quarks best practices and creating a “best practices” document, and/or an example repo

Discussed GUI/headless builds and conditional compilation

Discussed JetBrains product licenses expiring

Discussed macOS 11 (Big Sur) and SC compatibility

Discussed post-release ideas:

  • Making shared project priorities more visible for new & current contributors
  • Patrick wants to discuss after the 3.11.1 release when/how we should do the next release
  • When to do 3.12? - supernova on Windows is probably ‘the big feature’
  • Doing more regular/cadenced releases?
1 Like

2020-09-20

Members present: James S, Joshua Parmenter, patrick, brian, Marcin, elgiano

macOS11 problems (Joshua Parmenter):

  1. example:
SynthDef(\test, { Out.ar(0, SinOsc.ar(440, 0, 0.2)); }).add // works 
s.sendBundle(nil, [\s_new, \test, 1000, 0, 1] ) // doesn't ever schedule 
s.sendBundle(0, [\s_new, \test, 1001, 0, 1] )

most probably a problem with endiannes with ntohl.JP is working on it

  1. Qt problems. Waiting for next Qt release for macOS (Qt currently needs to be built from source to target macOS 11).

  2. Binary download don’t work on macOS 11. Compiling from source works. Need to announce this. JP is announcing on sc-users.

  3. We need both x86 + arm releases (two separate builds) when we start to support macOS 11.

macOS CI error (Marcin)

  • errors during testing. Seems related to no graphics env available → web engine failing.
  • CI is blocked for macOS until this is fixed. Marcin is on it.
  • Possible temporary workaround: disable tests.

3.11.2 / 3.12.0

  • discussed in Issue #5146:
  • Planning 3.11.2 for October.
    3.12 right after:
  • macOS 11 support if possible by then, but not if it would delay the release.
  • macOS server-side volume clipping ?

Would there be a possibility than upgrading Qt could drop an older system we currently support?

  • If it happens we could include a pre-processor switch in a patch release. (add a new build job to do that)

Talking and reading about the future of Qt.

James S: Qt 6 is not advertising breaking changes, but won’t work without C++17.

  • Setup a Qt 6 working group, or issue, to keep track of it.
  • Require C++17 (open ticket for C++17 in sc as well)
  • Setup a C++17 working group, or issue.

Does C++17 allow new features for sclang?

  • Not out of the box
  • drop a lot of boost support?
  • lock/mutexes in supernova

Maybe a C++17 ticket on github is enough? Let’s start with that.

Websockets (patrick)

(see RFC #9 for previous discussion points)

with or without Qt?

  • without Qt would be better for headless builds
  • better to avoid another dependency

Qt’s websockets are split from webengine and GUIs. So Qt could be viable for headless.

Commit notation (James S)

Conventional commits: standardized way of writing commit messages

  • machine and human readable

  • based on semantic versioning

  • tooling to automatic generate a changelog

  • might be asking too much to a community project

  • but it could be done by maintainers when PRs are merged

  • even if not 100% strict, would alleviate changelog-writing pain

IT IS PATRICK’S BIRTHDAY TODAY

1 Like

Here are meeting minutes for October 4 and October 18 (I neglected to post the ones from last time but they are here and on GitHub now.)

2020-10-18

Present: Patrick D, Brian H, Marcin P, Gianluca E

  • What are people up to lately?
    • Brian: helping Marcin with jack2/jackOSX
    • Gianluca: Bela bug fix
    • Marcin: investigating Jack backend on macOS
    • Patrick: not much SC work lately
  • Discussed new jack2 release for macOS (replacing JackOSX)
  • 3.11.2 release
    • overall on track
    • need to fix portaudio/cmake issue (#5176)
    • need to make cherry pick PRs
    • discussed #5188 - does not need to be fixed for 3.11.2
    • discussed #4883 - Brian will review soon
    • still planning for release date in October or November
    • discussed #5110 - agreed better for 3.12
  • 3.12.0 release
    • planning to release before the end of the year
    • already have enough to do a release
    • #5081 is a nice-to-have
    • maybe Bela support if it starts moving forward soon
  • pair/group code review sessions
    • informal group call to review PRs together
    • did first one last week with Brian, Gianluca, James S
    • should have someone else besides Brian “driving” next time (next weekend probably)
    • send out an announce/invite to more channels if the next one goes well
  • big list/board/prioritization
    • want to have some way to organize top-level issues/projects/concerns
    • where to put it?
      • Discourse vs Github projects vs Github wikis vs other places?
    • milestones? make it easier to see what goes into what release
    • hard to use tools GitHub gives us to manage project easily
    • look into bots for automation? / external integration
    • maybe even a new GitHub repo for “meta-issues” / organization?
    • agreed to dump into a wiki page for now and see how that works out
  • Bela
    • discussed merge of Bela into SC and the difficulties involved – everyone wants it, just takes some time
    • Gianluca and Patrick offered to help with the merge & testing
    • CI job is probably possible since it can be cross-compiled
  • help browser
    • Marcin suggested it might be possible to avoid using QtWebEngine for the help browser by using a text view instead
    • discussed some possible implementation issues

2020-10-04

Present: Marcin, Brian, James S, Gianluca

  • General greenfield question: what might a version 4 look like?
    • We release breaking changes every minor release - it doesn’t follow semantic verisoning, should we already be on version 4 etc.?
    • When we’re next able to discuss big things, this would be on the list.
  • Backwards compat and deprecations
    • A very positive feature
    • However, potentially leads to stagnation and unclear/confusing features
    • Concerns about removing deprecations: in particular asInt.
  • Xcode 11 build issues
    • Marcin + Brian tried to diagnose a segfault with a non-legacy xcode11 build, still investigating
  • 3.11.2
    • Lots of CI work to figure out first, including the Xcode 11 things
  • Discussion on reviewing existing PRs

    However people are able to contribute to the project, in whatever capacity they are able to, is massively appreciated.
    We’re all very grateful for any work people are doing towards the project, particularly during these times.
  • Can we do pair-programming and/or group programming sessions? Paired reviews? With the goal of tackling larger/more complex things and sharing workload as well as knowledge and experiences about various sections/aspects of the project.
  • Discussion around signing and notarisation
    • Questions about how CMake handles signing

Actions

  • Marcin and Brian will continue to work together on the Xcode 11 issues
  • Try to plan paired/group reviews for next week

2020-11-01

Present: Gianluca E, Brian H, Marcin P, Hanns H

3.11.2 release

  • on schedule for release
  • one small build system issue and one crash reported on macOS 10.12 (#5229), found fixes for both
  • will do a release if that one issue is fixed

3.12 release

  • decided we want to include #5110 (clip hardware output on macOS)
  • may move to C++17 for this release to prepare for porting to Qt 6

Webassembly

  • Hanns discussed recent talk about porting SC, at least scsynth, to the webassembly toolchain
  • Discussed possible porting issues – threading, exceptions, etc.
  • At this point, doesn’t look like anyone else can help out, but we also aren’t in a rush to implement this

Discussed using labels and milestones to help organize issues

  • Brian proposed using a couple labels for priority level to organize open issues
  • Discussed how to agree on priority levels and how to go about adopting labeling as a team
    • Would want multiple people to label, and discuss to agree on how to assign priority beforehand

Discussed informal group code review sessions

  • Brian H, James S, Gianluca E, Marcin P have met twice to review PRs as a group, to get experience reviewing and learn from each other
  • Want to ask more people to join - will announce more widely for the next time

(Sorry for the delay in posting these, like many people in the US I was glued to the election news this week!)

2020-11-15

Present: Gianluca E, Marcin P, Brian H

3.11.2 release

  • in progress, will finish up today or tomorrow
  • need to finish making sc3-plugins release too

Gianluca reported that the Bela fork maintainers are getting close to making a PR to SC. Discussed how to handle new flags in scsynth.

3.12 release

  • discussed #5110 macOS clipping feature; possible API/ABI change; desired for 3.12
  • after 3.11.2, Brian wants to do more to improve the release process
  • discussed ideas for prioritizing issues and PRs that don’t have an associated issue