Skip to content

Commit

Permalink
remove midisounds for now
Browse files Browse the repository at this point in the history
  • Loading branch information
felixroos committed Feb 6, 2025
1 parent 848edb1 commit efd4071
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 38 deletions.
33 changes: 0 additions & 33 deletions packages/midi/midi.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -165,37 +165,6 @@ export async function midimaps(map) {
// registry for midi sounds, converting sound names to controls
export const midisoundMap = new Map();

/**
* Maps a sound name to a set of controls:
* @example
* midisounds({ bd: { note: 'c2' } })
* $: s("bd").midi()
* @example
* // notes can be set directly to simplify typical midi drum kit mappings
* midisounds({ bd: 'c2', rim: 'c#2' })
* $: s("bd rim").midi()
**/
export async function midisounds(map) {
if (typeof map === 'object') {
Object.entries(map).forEach(([name, mapping]) => midisoundMap.set(name, mapping));
}
}

function applyMidisounds(hapValue) {
const { s } = hapValue;
if (!midisoundMap.has(s)) {
return;
}
let controls = midisoundMap.get(hapValue.s);
if (Array.isArray(controls)) {
controls = controls[hapValue.n || 0];
}
if (typeof controls === 'string') {
controls = { note: controls };
}
Object.assign(hapValue, controls);
}

// normalizes the given value from the given range and exponent
function normalize(value = 0, min = 0, max = 1, exp = 1) {
if (min === max) {
Expand Down Expand Up @@ -260,8 +229,6 @@ Pattern.prototype.midi = function (output) {
const latencyMs = 34;
// passing a string with a +num into the webmidi api adds an offset to the current time https://webmidijs.org/api/classes/Output
const timeOffsetString = `+${getEventOffsetMs(targetTime, currentTime) + latencyMs}`;
// convert s to midisounds preset (if set)
applyMidisounds(hap.value);

// destructure value
let {
Expand Down
1 change: 0 additions & 1 deletion test/examples.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ const skippedExamples = [
'accelerationX',
'defaultmidimap',
'midimaps',
'midisounds',
];

describe('runs examples', () => {
Expand Down
4 changes: 0 additions & 4 deletions website/src/pages/learn/input-output.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,6 @@ Instead of setting `ccn` and `ccv` directly, you can also create mappings with `

<JsDoc client:idle name="defaultmidimap" h={0} />

## midisounds

<JsDoc client:idle name="midisounds" h={0} />

# OSC/SuperDirt/StrudelDirt

In TidalCycles, sound is usually generated using [SuperDirt](https://github.com/musikinformatik/SuperDirt/), which runs inside SuperCollider. Strudel also supports using SuperDirt, although it requires installing some additional software.
Expand Down

0 comments on commit efd4071

Please sign in to comment.