Arrangement
Transport and mixer
EQ and filters
Modulation
Utility
Instruments
Finds notes by what they are: a pitch, ranges of velocity, length and chance, in or out of the scale, active or not, every few, or the rest.
Audio UI
"use client";
import {import { findNotes } from "@audio-ui/core/piano-roll";
import { NoteFind } from "@/components/audio-ui/note-find";
<NoteFind
onFind={(query) => setSelection(findNotes(notes, query))}
scale={scale}
/>;NoteFind is a search button that opens the form in a popover. Pressing Select hands onFind a NoteQuery, and findNotes from @audio-ui/core/piano-roll returns the ids of the notes it matches, ready to be a Piano roll's selection. The query is data, so it can also feed anything else that reads notes: a step sequencer, a list, an agent's tool.
Each field narrows the notes found, and an empty one sets no limit:
scale is given.NoteFindForm is the form alone, to put in a sheet, a sidebar or a panel of your own:
import { NoteFindForm } from "@/components/audio-ui/note-find";
<NoteFindForm onFind={selectFound} scale={scale} />;Props · 2
null, that field is off.Takes onFind and scale, and the props of a div.