File: TransposeOnPlayback.scm

package info (click to toggle)
denemo 2.6.49-0.2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 66,916 kB
  • sloc: ansic: 94,587; lisp: 38,713; xml: 22,675; python: 1,930; sh: 1,239; makefile: 642; yacc: 288; sed: 93
file content (24 lines) | stat: -rw-r--r-- 818 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
;TransposeOnPlayback
(let ((params TransposeOnPlayback::params)(interval #f))
(define (do-staff interval)
	(d-StaffProperties (string-append "transposition="
			(number->string 
				(+  (string->number interval) 
					(string->number  (d-StaffProperties "query=transposition")))))))

(if (not params)
	(let ((current  (string->number  (d-StaffProperties "query=transposition"))))
		(set! current (number->string (- current)))
		(set! interval (d-GetUserInput (_ "Relative Playback Transposition (relative to current value)") (_ "Give semitones (+/-)") 
			 current ))))
		
(if (number? interval)
	(set! interval (number->string interval)))
(if (string? interval)
	(begin
		(d-SetSaved #f)
		(while (d-StaffUp))
		(do-staff interval)
		(while (d-StaffDown)
			(do-staff interval)))
	(d-WarningDialog (_ "Cancelled"))))