Looking at vcpkg for Windows readline
Or - could vcpkg be used for universal libraries build on Mac in the future?
Does CI have vcpkg? If it does, then we can use it for some dependencies.
James will look more at vcpkg best practices
5713 - Gianluca thinks we should shrink it down a little with mDone flags
Should be ready soon
How far should we go with adding these on a test suite?
2 more commits coming - one updating what is using this macro, the other with tests
5718 - will update to make sure tests outside the IDE are running ok… Gianluca pushed changes then will approve and MERGED
5702 - looks fine (brought up system libraries question that is somewhat outside this PR - but we think should be on the look out for this)- merged!
=> Please take a look at the dev-board @ 3.14.0 · GitHub to see for open tasks for the 3.14 release
We will also deprecate GitHub milestone in favor of projects - please use them exclusively from now on.
All PRs/Issues regarding the new kwargs functionality should become part of 3.14 release so this feature doesn’t get introduced incremently across releases, so there should be an emphasis on those.
Take a look @ 3.14.0 · GitHub for outstanding issues/tasks/PRs for 3.14
Overview of the future package manager (Dennis and Scott)
Council structure
The council structure should be represented as GitHub teams for the SC repository - this allows to rework repo-permissions and also mentions of the team in review
tricky in regards when using bluetooth devices b/c in this case the input sample rate w/ 22 kHz - this can create problems for people who can’t spot a 22 kHz output sample rate
Reaper doesn’t seem to fix the input sample rate which could create problems - dyfer will reach out to the reaper team and ask them if they could put the device into exclusive mode in order to not allow for sample rate changes
Marcin and Dennis will communicate in the forum dev-chat a final deadline (which will be between 2025-06-03 and 2025-06-08) by which all PRs have to be merged for making it into 3.14.
After the deadline we will publish the first release candidate (RC) to the public.
If no bugs can be found within one week, this will become the official release.
If bugs are found, we need to do another RC (recursively) until we hit the base condition of no bugs.
Add WebSocket support for sclang by capital-G · Pull Request #6615 · supercollider/supercollider · GitHub => Primitives will be included after 3.14, but SC class library code will be developed in a Quark in order to have quicker iterations in the sclang side. Maybe it would be possible to instead go for a C-API/FFI implementation so we have “Primitive extensions for sclang”. Either expose interpreter mechanics (like in Python) vs lua-approach which exposes the stack based approach (keeps internal access to objects)
We will merge #7166 to the develop branch such that it can be tested on a wider variety of configurations and after successful feedback we will have a 3.14.1 release.
The tests of the PR will be reviewed by elgiano, afterwards it can be merged.
We have reports that true - 1 (Marcin) can trigger a segfault as well - we are unsure if this is related, but we are looking into it. => Turns out this is not related.
The literals are not really usable.
Instead of deleting this from the documentation the PR could instead add a warning, explaining that this should not be used as it is not working as expected.
If we decide to deprecate this properly Jordan has an idea how this could be implemented properly as a new type which can be used by degreeToFreq etc., but this should be reflected upon the actual usage.
Maybe instead of deleting the documentation it can be wrapped by a warning?
Pinged James Harkins if issues have been resolved.
Symposium Videos
Dennis will create a call to improve the audio situation of videos.
He will also create a post to mention that these will be uploaded to YouTube, so it is also clear who to contact to take those down.
Baryon
Dennis showed some key-concepts of Baryon, a WIP package manager for SuperCollider quarks and server extensions which has the goal to make project packaging easy and reproducible, such that (older) projects are working on new machines and have an easy setup (ideally: one command).
It will consist of a package index, a backend server through which packages can be added and on which binary files will be hosted.
Currently the backend is implemented and dependency resolving works, next step is to make the publishing of packages work.
Once a first working version is available it will be available for testing before making it available to the public.
Ideally this will be finished for 3.15 - since 3.15 breaks the plugin API, all server extensions have to be re-compiled - and ideally uploaded to baryon.
Next meeting
Next meeting will be organized for the beginning of November.
SCLang: Gluons: implement ffi interface by JordanHendersonMusic · Pull Request #7189 · supercollider/supercollider · GitHub → different C runtimes change (de-)allocation procedure, this could be a problem. Jordan will take a look at it. The lua and Java API could be relevant examples. Boost still creates some problems - Marcin exposed the symbols of boost etc globally, therefore this creates problems if boost is not matching - maybe we should revert this. Taking a look at the symbols of the sclang library, which shouldn’t expose anything regarding boost.
Dennis registered a YouTube channel for SuperCollider to upload videos from the Symposium and from the release party.
He will create a post in the forum to officially announce it and create a call for a community playlist of SuperCollider compositions through the forum.
Julian writes a proposal regarding deprecation procedures which will be further discussed in the issue and in and the next dev meeting and then moved to the wiki
https://github.com/supercollider/supercollider/pull/7166 : This is a breaking change in regards to primitives - if the method in sclang doesn’t match its primitive it creates a compilation error. It also adds a compilation error when a primitive doesn’t exist.
Christof voiced concerns about making this a compile time error, prefering a runtime error for dynamic error catching - but b/c primitives should not be called outside the class library the compilation error is actually beneficial b/c it points out errors and provides an upgrade path.
We should be LOUD about this change to the community - maybe we can check if every primitive is exposed via a class library function.
Marcin: Maybe make it a warning in 3.15 and turn it off in 3.16?
Decission: Primitive checking comes in place w/ 3.15 and a warning if primitive gets called from quark, with making this not possible in 3.16.
Needs rebasing. This can be merged by Jordan.
sclang: rework name resolution by JordanHendersonMusic · Pull Request #7203 · supercollider/supercollider · GitHub - 3.15 will introduce a warning about behavior (which is an edgecase) that will change - in 3.16 this change will take place and will change the warned behavior, allowing therefore for declaring var inline version. It would be great if someone would review HelpSource/LanguageSpecification - this introduces a non-formal way of explaining the language
go through ToDiscuss items in dev meeting gh project; move to “resolved” after discussion
voting on coc etc: is there a precedent for voting procedure? aim for unanimous, 2/3, > 50% ? → no general decision.
bigger changes: changelogs and PRs
Dennis suggests changing PR template?
PRs to changelog.md directly not so great
release schedule:
twice per year too much;
yearly, in summer. June not realistic (Christof);
later in Summer yes - aim for “code freeze” end of July
Julian suggests making dev buidls more easily available and advertise larger changes in forum.
Dennis: this may scare off beginners users from the dev version.
Lucile: Suggestion: publish prototypes on Dennis’s website.
gh issues/PRs
sclang related
7449, non-local return: comment in 7448 where stack pter not resetting. Lucile will review; 7339, duplicate keys inlined switch: merged. 7394, new lexer: lucile to review. unicode should be as minimal as possible; unicode issues should go into separate PR. Lucile: issues in corpus/quarks. confusion - and unicode minus. possibly because copied from web (utf16->utf8 undefined). Dennis: ex langs using unicode: julia. Consequences for existing code: No breaking changes with this PR. Mostly re whitespace.
(not re lexer, but unicode: marcin: utf16 conversion (qt?). how should failures be handled? throw or silently fail?) 7166, refactor primitives / kwargs: christof to review, 7413 passing nil. how much code is affected by this? CL assumes that default vals can’t be nil. Julian: we don’t know. Lucile: API changes; distinguish justification & mitigation arguments. Marcin: How to communicate the change to user? Dennis suggests collecting cases (dos/don’ts) and also solicit user feedback. Jordan: align SC behavior with other langs (lua); Christof: how to deal w forwarding? Julian: Performance impact? Inlining !? etc… lots of discussion; needs more documentation at any rate.
wasm related
7428, wasm scsynth Christof to review. Discussion: licensing differences SC_WebAudio.cpp: Affero GPL. So wasm code is AGPL. Lucile: Is code written in that editor now also AGPL? Dennis: Unclear… Dennis will investigate. Julian: Supersonic licensing issues. Christof: more details re licensing and linking, network things… grey area. Agrees with Dennis/Agpl. Lucile: Google is afraid of AGPL. Christof: Class library is GPL, (while compiler etc. is LGPL). Dennis: idea is to keep things usable. 7440: wasm sclang Jordan: Something re shutdown?
Website: what domain? currently Dennis’s personal website, move to official sc domain eventually; Jordan: wait until licensing questions are resolved. also of course review & merge.
other
coc, no ai slop follow up on earlier dev meet discussion. State of discussion back then: bring back to forum, someone w community clout/trust but not a current dev should start discussion. Julian suggestion: Decide this unilaterally now, but open to revision/ “bug fixes”. Lucile: defend maintainer time; thinking about whether x is a bot or not is not a good way to spend yer time. Dennis suggests vote; unaminous approval.
[reblocking - which PR is that ] 7205 abstract object Jordan: “this needs to sit”; Julian: ExperimentalAbstractObject. Marcin: Can this go into a Quark? Jordan: no, it’s an intrinsic class.