James McCartney
banner
asynth.bsky.social
James McCartney
@asynth.bsky.social
Author of the SuperCollider audio programming language. Former Apple CoreAudio engineer. Interested in computer music, algorithmic art, audio signal processing, programming language design.
Postfix is so trivial to parse that I wrote my own.
February 13, 2025 at 3:07 AM
Just like in his first administration, the tariffs are announced and retracted, over and over. Because it is an insider trading scheme.
February 4, 2025 at 5:02 PM
I am about 2800 miles from the SC2 source code until summer.
February 4, 2025 at 12:56 AM
no, they are completely different projects. The video synth is written in Swift for one.
February 1, 2025 at 4:29 PM
I have also had a long interest in using technology to create images. Here is a tape I made in 1980 doing video feedback with analog equipment. www.youtube.com/watch?v=SPsz...
Video Feedback 2
YouTube video by JankoPiano
www.youtube.com
February 1, 2025 at 4:28 PM
When/where was did we meet? I have been interested in drawing and making images for a long time. I gave up drawing after meeting my wife who is far more talented than I.
February 1, 2025 at 4:28 PM
functions for sequencing: seq iseq imps steps gates ...
also: ola is SC2's spawn.

look at how the examples use these.
February 1, 2025 at 3:07 PM
I'm impressed how much you were able to figure out. Your intuitions are very good.
February 1, 2025 at 7:18 AM
Or you could concatenate a line with an infinite series of ones.
1 0 1 line inf 1z $
February 1, 2025 at 7:17 AM
nat --> [0 1 2 3 4 5 ...]
natz --> #[0 1 2 3 4 5 ...]
ordz --> #[1 2 3 4 5 6 ...]
the '&' operator is 'min'.
7 5 & --> 5
the '|' operator is 'max'
There is a 'fadein' function.
The 'hangz' function repeats the last value of a signal forever.
So: 1 0 1 line hangz
February 1, 2025 at 7:17 AM
There is a function called `linlin. Your prelude file is not being loaded on startup or this would have been defined. If you set the SAPF_PRELUDE environment variable to the path to sapf-prelude.txt, then it should load.
February 1, 2025 at 4:28 AM
The quotes, comma and dot, are for doing lookups in objects. For example point.x
Comma is used to call a function with the object as an argument similar to Lua's obj:field(x) syntax.
February 1, 2025 at 4:28 AM
Hi. Here's some answers as I am watching this.

I don't know why you are seeing the input code being echoed to the console output in the REPL. It should just print the stack after each input line.
February 1, 2025 at 4:27 AM
I've been working on other synth language iand dsp code generation ideas, and meanwhile getting distracted by playing with this: www.youtube.com/@VideoSynthE...
VideoSynthExperiment
This is where I put results of video synthesis experiments made using software that I wrote. None of these videos are made using AI.
www.youtube.com
January 31, 2025 at 11:49 PM
To be perfectly punctilious, it is not actually new, I wrote it 14 years ago, but only just now made public.
January 31, 2025 at 11:44 PM
No third party can be viable in the until we change the voting method from plurality voting. Unfortunately, changing the voting system is not in the interest of either party.
January 30, 2025 at 2:29 AM