PG Music Home
Posted By: Mike Head Local on off in Cakewalk? - 01/21/20 01:12 PM
Hi all

I’m sure that those that use Cakewalk by bandlab will know that when you start Cakewalk it will turn Local off on your keyboard, this is great as it stops the old doubling of note problem.
Trouble is it does not turn local back on when you exit (BIAB does this seamlessly)
Has anyone found a fix for this, apart that is from creating a simple midi file with the correct cc to implement before closing. This is not a lot better than having to go to the keyboards settings and do it manually after exit.
I notice Jim Fogel has responded to this in the cakewalk forum but don’t see a solution.
Any more thoughts Jim, anyone?
Mike
Posted By: sslechta Re: Local on off in Cakewalk? - 01/21/20 03:19 PM
Start/Stop BIAB? -->Runs/hides
Posted By: Larry Kehl Re: Local on off in Cakewalk? - 01/21/20 04:25 PM
In CW that done in the "TTSseq.ini" file that is only scanned (applied) at CW start-up

https://www.cakewalk.com/Documentation?product=SONAR&language=3&help=Playback.36.html


so you can remove that line and manually set local control (on/off) on HW synth or construct either a .syx file or better yet a .CAL script to send the specific Local Control On (or off) to your synths and send it before shutting down CW or when ever


The controller number for local on/off is 122

I have an old CAL script here that sends controller data if you want I can email it to you PM me - or if you have the old cal scripts from the old CAL contest winner set - it was called "c-ntrolr.cal" it's only 6KB

Larry




EDIT UPDATE

Here is the SCRIPT (start from first semi-colon'ed line down to where it says "NIL"
save the text in a file call it "whatever you want.CAL"

then run it as a Process in CW before shutting down
====================================================


;;; Robert C. Prince, III Cakewalk Pro SN: 406176-CP-4.0A
;;; P. O. Box 8043
;;; Athens, GA 30603-8043
;;; (404) 725-1014
;;;
;;; CONTROLR.CAL
;;;
;;; This is a CAL program that allows the user to change data for any
;;; controller using addition or subtaction of a fixed amount, a high
;;; and low boundary, or a percentage.
;;;
;;; NOTE: This program automatically deletes any consecutive duplicate
;;; controller values that are on the same MIDI channel.
;;;
;;; *********************************************************************
;;; Prolog
(do
; set variables
(int wtd 1) ; what user wants to do, fixed change default
(int ctrlr 7) ; which controller to affect, volume (7) is default
(int Fixed 1) ; if wtd=1 user wants fixed add/subtract
(int HiLo 2) ; if wtd=2 user wants hi low boundaries
(int Pct 3) ; if wtd=3 user wants percentage
(int c 0) ; counter to let user know something's happening
(int TEP 0) ; total events processed
(int TCVS 0) ; Temporary Controller Value Saver
(int TCCS 18) ; Temporary Controller Channel Saver
(int d 0) ; # dupes eliminated

; get which controller user wants to affect
(getInt ctrlr "Controller Number: " 1 127)

; get what user wants to do with the controller data
(getInt wtd "Fixed=1 Hi/Low=2 Percentage=3:" 1 3)

; now set the variables according to the task to complete
(switch wtd

;if user chose Fixed, do the following
Fixed (do
(int amt 10)
(getInt amt "Amount to add?" -127 127)
)

; if user chose Hi/Low, do the following
HiLo (do
(int H 127) ; the highest data allowed
(int L 0) ; the lowest data allowed
(getInt H "Highest amount:" 0 127 ) ; get Hi
(getInt L "Lowest amount:" 0 127 ) ; get the Low
)

; if user chose Percentage, do the following
Pct (do
(int percent 100)
(getInt percent "Percentage?" 1 1000)
)

;close off the switch parens
)

;close off the do parens
)

;;; *********************************************************************
;;; Body
;;;

(do

; let user know something's being done
(message "Controller " ctrlr
"Events: " c
" Total Events: " TEP
" Duplicates Deleted: " d
)

; bump up total events processed
(++ TEP)

; if the kind of event is a controller do something
(if (== Event.Kind CONTROL)

; yes it is a controller event, so see if it matches user's choice
(if (== Control.Num ctrlr)

; yes it matches user's choice
(do

(switch wtd

; if user chose Fixed, do the following
Fixed (+= Control.Val amt)

; if user chose Hi/Low, do the following
HiLo (do
; is the data less than L?
(if (< Control.Val L)

; YES, so make it equal L
(= Control.Val L)

; NO -- move on to next question
NIL

; close off the if paren
)

; is the data greater than H?
(if (> Control.Val H)

; YES, so make it equal H
(= Control.Val H)

; NO -- move on to next event
NIL

; close off the if paren
)

;close off the do paren
)

; if user chose Percentage, do the following
Pct
(do
; multiply data by percent
(*= Control.Val percent)

; divide result by 100
(/= Control.Val 100)

;close off do paren
)

;close off switch paren
)

; bump counter up
(++ c)

; delete any duplicates
(if (&& (== Control.Val TCVS) (== Event.Chan TCCS))
; yes it is a duplicate on the same MIDI channel
(do
(delete)
(++ d) ;; bump the # deletes counter up
)
; no it is not a dupe, so store it's value and Chan #
(do
(= TCVS Control.Val)
(= TCCS Event.Chan)
)
)

; close the yes event matches user's choice do paren
)

; no, it does not match user's choice, so do nothing
NIL

; close of if controller number matches user's choice paren
)

; no it is not a controller event, so do nothing
NIL

; close off if event is controller paren
)

; close off body/do paren
)

;;; *********************************************************************
;;; Epilog
;;;

NIL





Posted By: Mike Head Re: Local on off in Cakewalk? - 01/21/20 06:17 PM
HI

Thanks all,
yes I don’t have a problem with it switching local off when I start Cakewalk, I am pleased it does.

Just wish it tuned it back on when you exited automatically, without having to run cals or do it manually.
Thanks for your input on this.
Mike
© PG Music Forums