move files around
This commit is contained in:
73
src/documentation/basics/mouse.ts
Normal file
73
src/documentation/basics/mouse.ts
Normal file
@ -0,0 +1,73 @@
|
||||
import { type Editor } from "../../main";
|
||||
import { makeExampleFactory } from "../../Documentation";
|
||||
|
||||
export const mouse = (app: Editor): string => {
|
||||
let makeExample = makeExampleFactory(app);
|
||||
return `
|
||||
# Mouse
|
||||
|
||||
Using the mouse is a fun way to control your code. It's basically an X/Y controller that you don't have to pay for! There are clever actions you can do with the mouse from generating notes to activating scripts conditionally!
|
||||
|
||||
## Mouse position
|
||||
|
||||
You can get the current position of the mouse on the screen by using the following functions:
|
||||
|
||||
- <ic>mouseX()</ic>: the horizontal position of the mouse on the screen (as a floating point number).
|
||||
- <ic>mouseY()</ic>: the vertical position of the mouse on the screen (as a floating point number).
|
||||
|
||||
${makeExample(
|
||||
"Vibrato controlled by mouse",
|
||||
`
|
||||
beat(.25) :: sound('sine')
|
||||
.note([0,4,5,10,11,15,16]
|
||||
.palindrome()
|
||||
.scale('pentatonic', 50).beat(.25)
|
||||
+ [-12, 0, 12].beat(0.25))
|
||||
.vib(mouseX()/700).vibmod(mouseY()/200)
|
||||
.pan(r(0, 1))
|
||||
.room(0.35).size(4).out()
|
||||
`,
|
||||
true
|
||||
)}
|
||||
|
||||
<br>
|
||||
|
||||
Current mouse position can also be used to generate notes:
|
||||
|
||||
- <ic>noteX()</ic>: returns a MIDI note number (0-127) based on the horizontal position of the mouse on the screen.
|
||||
- <ic>noteY()</ic>: returns a MIDI note number (0-127) based on the vertical position of the mouse on the screen.
|
||||
|
||||
|
||||
${makeExample(
|
||||
"Using the mouse to output a note!",
|
||||
`
|
||||
beat(.25) :: sound('sine')
|
||||
.lpf(7000)
|
||||
.delay(0.5).delayt(1/6).delayfb(0.2)
|
||||
.note(noteX())
|
||||
.room(0.35).size(4).out()`,
|
||||
true
|
||||
)}
|
||||
|
||||
## Mouse and Arrays
|
||||
|
||||
You can use the mouse to explore the valuesq contained in an Array:
|
||||
|
||||
- <ic>mouseX()</ic>: returns a value from a list by splitting the horizontal space of the screen in _n_ sections.
|
||||
- <ic>mouseY()</ic>: returns a value from a list by splitting the vertical space of the screen in _n_ sections.
|
||||
|
||||
|
||||
${makeExample(
|
||||
"Taking values out of an Array with the mouse",
|
||||
`
|
||||
log([1,2,3,4].mouseX())
|
||||
log([4,5,6,7].mouseY())
|
||||
|
||||
`,
|
||||
true
|
||||
)}
|
||||
|
||||
|
||||
|
||||
`;
|
||||
};
|
||||
Reference in New Issue
Block a user