musikinformatik/SuperDirt

Tuning name parameters

patrickt opened this issue · 5 comments

Hi there,

I've been using a little bit of ~dirt.orbits.each hackery to make orbits pick up a tuningName parameter, and if present pass that tuning name onto the associated Event. This allows specifying any tunings present in Supercollider's Tuning.directory. I wanted to gauge any level of community interest in making this a feature of SuperDirt proper. Let me know 💙

For those interested in doing it themselves:

(
~dirt.orbits.do{ |x|
	x.set(\freq, #{
		var degree = ~n;
		var oct = ~octave;
		var tname = ~tuningName;
		if(tname.isNil, #{ ~midinote.value.midicps},
			Event.default.use {
				~degree = degree;
				~octave = oct;
				~scale = Scale.chromatic(tname ?? 'et12').semitones;
				~freq.value
		})
	}
	);
};
)