2023-10-01

= “Class library” group meeting

In the meeting: James S, Marcin P, Simon D, Michael W, PyoungRyang K

  • discussion on rebranding the developer tracks as proposed by Mike McCrea

    • too soon to change the name

    • table the discussion until another meeting

  • From the previous meeting:

    • idea of trimming down class library

    • would need package management system

      • various proposals floated before

        • sharing the whole class library

        • search paths

      • new package management system

    • musical notation

  • Discussion on package management

    • two separate features:

      • package managemen

      • session management

    • the packer manager needs to provide:

      • conflict resolution

      • binary files

      • searchability

        • classes

        • help files

      • versioning!

        • SC compatibility

        • OS compatibility

      • additive configuration - installing requested extensions on top of “home” extensions (e.g. for local hardware etc)

      • need to solve the patch management between sclang and scsynth

    • the session manager needs to provide:

      • transferring project to another machine

      • switching extension sets (overlap with package manager?)

      • need a format to combine sc code and requirements

      • “lock” file that lists extensions

      • discussion on how to store that data

        • change .scd format to include metadata

        • or use multiple files in a particular directory structure

      • save/recall the current state of the project

    • discussion on existing solutions: deken

    • security concerns of a possible solution

    • what are the bedrock improvements

    • note Josh’s the idea of using quarks as a surrogate for the project

    • Class library not booting when conflicts are countered - could this be addressed regardless of the package manager solution? e.g. “safe mode” boot with basic class library if that happens

    • Order of actions: discuss search paths > package manager > session manager

      • ref. Nathan’s wiki page https://github.com/supercollider/supercollider/wiki/Path-searching

  • Discussion on Piping functions

  • Note names

    • discussion on Lilypond syntax not applicable

    • PyoungRyang describes their system that also generates MusicXML: https://github.com/prko/Notator

    • note name shouldn’t just be a map to the midi note name