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

Documenting Sardine: videos #60

Open
Bubobubobubobubo opened this issue Oct 6, 2022 · 0 comments
Open

Documenting Sardine: videos #60

Bubobubobubobubo opened this issue Oct 6, 2022 · 0 comments

Comments

@Bubobubobubobubo
Copy link
Owner

Bubobubobubobubo commented Oct 6, 2022

It would be great to introduce Sardine through a series of videos that demonstrate all the existing features. They would need to be general enough so that they don't specifically target unstable syntax. It could either be one monolithic video or one per written documentation section. Here is a list of topics that need to be covered:

  • Installation: prerequisites, download, installation, pitfalls.
    • Python and pip: crossplatform setup.
    • Compilers and building: CMake, GCC, etc..
    • Cloning/forking/updating using Git or simple download.
    • Getting a proper text editor.
  • Configuration(1/2): CLI, options, configuration files.
    • Tour of sardine-config
    • Tour of the other commands
    • The configuration folder, the configuration files
  • Configuration(2/2): text editors, shortcuts.
    • Setting up a working REPL + text buffer workflow (non VIM)
  • General advice: how to feel comfortable using Sardine
    • Learning a tiny bit of Python
    • Learning about the terminal and text-editing
  • Clock: operation, modes (MIDI/Link), options, nudging.
    • Active and passive clock
    • Link synchronisation
    • Clock attributes
    • Nudging the clock: multi-layered nudging system
    • Acceleration
  • SuperCollider: the internal SC instance, debug and configuration.
    • What is SuperCollider? What is SuperDirt? Why?
    • How is SuperCollider booted? How to troubleshot?
    • Opening the VUmeter, the scope, sending code to SC.
    • The boot config option, the verbose_superdirt flag.
  • Senders: MIDI Sender, OSC Sender, SuperCollider Sender
    • dealing with the .out() method.
    • SuperCollider (S): composition of a message, possible arguments, etc..
    • MIDI (M): sending MIDI notes, parameter for MIDI notes, etc..
    • MIDI: functions for sending control messages, pitchwheel, etc..
    • MIDI: dealing with MIDI-In and controls
    • OSC: Sardine is transmitting clock information already
    • OSC: declaring an OSC out
  • Swimming functions: syntax, usage, details, pitfalls.
    • What is a swimming function? The @swim and @die decorators.
    • hush() and similar functions.
    • Swimming functions are immune to crashes.
    • Swimming functions can overlap themselves.
    • Duration and calling other functions from a swimming function.
  • Iterators and data flow: passing arguments, using iterators.
    • Argument passing
    • Iterating, why?
  • Pattern syntax 101: basic tokens, basic operations.
    • the debug() mode
    • data types: numbers & goodies, notes, names
    • basic arithmetic
    • list arithmetic
    • custom operators
    • weird tokens: time, phase, measure, second, etc..
    • math functions: cos, sin, tan
    • notes, qualifiers, modifiers
    • addresses and names
  • Advanced pattern syntax: composition and improvisation with the syntax.
  • Improvisation workflow: a final video showing up the workflow for improvising.

Some examples of Sardine in the wild would also be needed. I have yet to record footage of upcoming gigs.

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

No branches or pull requests

1 participant