KnowledgeBase | K2000 | Disk Mode, Drives & SCSI

Using Macros


How do I create a Macro file ? How do I get the K2 to autoload a file?


How To Create a Macro:

A macro is basically a shopping list instructing the Kurzweil to load a predetermined set of files. In order to create a Macro there first must exist, on the disk in question, the files that you want the macro to load. Starting from the assumption that these files already exist, do the following:

  1. From DISK mode, press [Macro]
  2. Press [On]
  3. Set the Current Disk to the SCSI ID or floppy as applies.
  4. Press [Load]
  5. Select the first file you want the Macro to load; press [OK]
  6. Select the Bank where you want this file to load into.
  7. Press [Macro]
  8. Choose the Load method that you want the system to proceed with. (i.e. Overwrt, Append, etc.)
  9. Go to step 4 and repeat until all the files you want the macro to load have been entered.
  10. Once all the files are entered into the macro recorder, press [Save]
  11. Press [Macro], press [All]
  12. Name your Macro, choose a directory, and put it to disk.
  13. That's it! Now press [Macro] again, and press [Off]
  14. Answer [Yes] to "Reset Macro?". Done.

Now anytime you load that .MAC file, it will load all of the items that have been specified within it.

How To Create a "BOOT.MAC" File:

A BOOT.MAC file is simply a macro that will "auto-load" when the instrument is turned on. Do the following:

  1. Create your macro (follow the steps above on how to build a Macro) - In step 12 name it "BOOT" (without the quotes)
  2. Save "BOOT" to the root level directory (i.e. PATH=\)
  3. On the DISK mode page, set "Startup:" to the SCSI ID (or floppy) of the device where this BOOT.MAC was saved
  4. That's it! Every time you turn on the unit, it will load BOOT.MAC

Using SysEx To Automate Macro Loading:

First you will need to create a Macro (see above) that will do what you want. You can then save that Macro to disk.

The machine will load the Macro that's in memory (not from disk) when it receives a certain sysex command. Here's how. If the Macro you want is currently what is in memory, go to step 3. Otherwise, start with step 1:

  1. Clear any existing Macro in memory, and make sure Macro is On.
    If Macro is Off, press DISK, [Macro], [On].
    If Macro is On and contains info, turn Macro Off, then On again. (Press DISK, [Macro], [Off], [Yes], [Macro], [On].)
  2. Get the Macro to be loaded into memory.
    Press [Load], then select the Macro file you want, hit [OK], [Macro]. (Pressing [Macro] tells it to load the macro information into the Macro Recorder without actually loading the files.)
  3. Record the Macro Object into your external sequencer via sysex.
    Press MASTER, [Object], [Dump], scroll to "Table 35 Macro" in the list and press [OK] to dump. (Make sure your sequencer is recording.)
  4. Record a "Load Current Macro" command into your sequencer via sysex.
    While still on the Dump page and while the Macro object is still selected from step 3, pressing the right cursor button brings up the dialog "Send Sys/Ex Load Macro command?" If you then press [Yes], it sends the message. (Make sure your sequencer is recording.)
  5. Leave enough time in the sequence for loading to complete before sending any note or controller data.

Having done this, on sequence playback, first the Macro object gets loaded into RAM as a sysex message, replacing whatever Macro object was already in the Macro Recorder. Then another sysex message (the "Load Macro Command") causes it to load the current Macro and thus the files specified within it.

Need more info? Check out the following links: