I agree Volume is typically used for fade outs. However, in Jason's case, the spc2midi conversion process he is using generates many Volume events throughout its tracks. So in that case, it is easier to just use Expression for fade outs. However, Jason is now noticing sometimes there are also some existing Expression controllers. So if both Volume and Expression are already being used, how do you apply a fade out?
Cakewalk has a scripting language called CAL or Cakewalk Application Language. (If you want to learn about the CAL language, you can read the PDF file linked in this post:
Re: CAL manual or guide in PDF.)
I wrote the attached CAL script that lets you apply an Expression fade out when there are already Expression controllers in use.
Download: expression-fadeout.zip
Steps:
1. In the track list window, drag in the measure numbers at the top of the right pane to select the the desired range for the fade out in all tracks.
2. Go to the Process menu, select the "Run CAL" command, then open the "expression-fadeout.cal" file.
3. After the script has run, save the MIDI file (as the same file name or as another file name if desired). In the saved file, Cakewalk will change the channel number of every event to match the channel number of the track.
Notes:
• This script first inserts a series of dummy controllers (CC12) as an "envelope" to specify the desired fade out. Then it combines the envelope controllers and the existing Expression controllers into an set of output Expression controllers that fade out.
• CAL scripts are slower than normal Cakewalk commands. This script takes about 5 to 10 seconds to run. If you want to cancel the script while it's running, hold down the Esc key on the keyboard.