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.
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.
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
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’
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
Introductions We discuss 3.12 release - RC week of June 14
**Remaining PRs: ** Inclusive language #5470 Discussion on #5470 Choosing alternative “new” method name to re-route non-deprecated but classes that we suggest you avoid.
Possibly: supernova bind interface #5474 Discussion on #5474 Looks good, Josh will check
3.13 to deprecate Quartz Composer
Pull in a number of PRs
5650 - ad hoc code signing PR seems to fix a number of M1 problems
5680 - JACK changes? Does this work?
4368 - Windows Defender and Jack don’t play well together?
Windows signing
signing
extended verification signing
5697 - branch name change
Standalones - need to rethink the load path architecture
5491 - add defers to GUI updates
Look at Quartz Composer deprecation, and a few more PRs
Windows - take advantage of new CPU features?
Some supernova changes PRs?
What is a reasonable SC4? Good topic for next meeting
Discussion on replacing boost test
James S plans to introduce Catch for C++ unit testing
James S, Josh P, Nathan H, Luke N, Marcin P, Kirthan, Christof
SC4 thoughts:
Stripped down core library / language
Scsynth evolutions (multi-thread core and a more fully spec’d out API to the engine enabling easier integration with front end / sclang)
Better support for server and language plugins
SC 3.13 - talk more next weekend
What is SuperCollider 4?
Pull everything into its own sub-projects?
Luke -
SC language IS the user community - removing that, it kind of kills the language and maybe its community
Scsynth as an interface with OSC - maybe something else could be used?
We want SC code to look like SC code
GLSL for audio plugins
Templatizable bits of code
Marcin likes this idea as well
Luke - avoids distribution issues as well
Christof - but what about things like the VST or streaming audio?
Luke - more API and domain splitting for RT and NRT
example VGen from scintillator:
Christof - I want to write the C++ and have it do what I want
Luke - agree, I want to codify, test it, etc
Marcin (summing up) -
Clarifying - more separation between synthesis, language and IDE -
Using a domain specific language to build synthesis graphs and JIT for real-time
Multi-threading scsynth
Scsynth and supernova as a single executable?
Parallelization - auto-vectorization
Nathan - action plan: Nu School
Luke Maybe - maybe make this work with Scintalltor as a test?
James - keep the ‘group’ together on things - avoid orphaned amazing code
Marcin - things to keep in mind:
multi-rate processing
Helps FFT and Feedback processes
64-bit data types - or, define the depth at start time?
Luke - 64-bit only? That feels like a strange line to draw now
Keep full compatibility with backwards compatible code?
We’re really scared of breaking things
But we need to feel ok breaking the stuff we NEED to break
Nathan and Christof talk about issues with server asynchronous commands
Quick discussion on Readline on Windows, which prompted discussion on using vcpkg for more of our dependencies