Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var SCRIPT_TITLE = "Finetune Pitches";
- var deviations = [
- 0,
- 117.10785766895648 - 100,
- 193.1568569324174 - 200,
- 310.2647146013739 - 300,
- 386.3137138648348 - 400,
- 503.4215715337913 - 500,
- 620.5294292027478 - 600,
- 696.5784284662087 - 700,
- 813.6862861351652 - 800,
- 889.7352853986262 - 900,
- 1006.8431430675826 - 1000,
- 1082.8921423310435 - 1100,
- ]
- var fadein_blicks = 10000000;
- var fadeout_blicks = 70000000;
- function getClientInfo() {
- return {
- "name": SV.T(SCRIPT_TITLE),
- "author": "Yuriha",
- "versionNumber": 1,
- "minEditorVersion": 65537
- }
- }
- function getTranslations(langCode) {
- return [];
- }
- function run() {
- var notegroup = SV.getMainEditor().getCurrentGroup().getTarget();
- var curve = notegroup.getParameter("pitchDelta")
- var i;
- var output = [];
- for (i = 0; i < notegroup.getNumNotes(); i++) {
- var note = notegroup.getNote(i);
- var index = note.getPitch() % 12;
- var dev = deviations[index];
- var start = note.getOnset() + fadein_blicks;
- var end = note.getEnd() - fadeout_blicks;
- output.push([start, curve.get(start) + dev]);
- output.push([end, curve.get(end) + dev]);
- var points = curve.getPoints(start, end);
- var j;
- for (j = 0; j < points.length; j++) {
- var p = points[j];
- output.push([p[0], p[1] + dev]);
- }
- }
- for (i = 0; i < output.length; i++) {
- var p = output[i];
- curve.add(p[0], p[1]);
- }
- }
- function main() {
- run();
- SV.finish();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement