I'm pretty confident that this build won't blow up in any terminal fashion under 32-bit versions of Windows (see below for 64-bit comments), but please remember that this is a test version, so please make suitable system and data backups before trying it out - I almost certainly can't help you if you scrap your latest masterpiece. actually using the MDR with any given DAW software is going to be a learning curve for all of us, given the new information that we will have access to. For this reason, the style of the reporting is still somewhat up for grabs and, if you find a situation where using the MDR appears to be clumsy, let me know about it and I'll try and streamline the way things work. Similarly, if you find it blocking data when it shouldn't (or allowing it through when it shouldn't), I want to know about it.
Please email all bugs/suggestions to: firstname.lastname@example.org
If you're a Sonar user, you should have a Mackie.chm file located in:
c:\program files\cakewalk\shared surfaces\
This file is essential reading and contains a lot of key commands that allow you to navigate the DAW. Users of other DAW software should check their documentation for something similar, so that they can interpret what is being displayed. Please be aware that this free version is heavily optimised for use with Sonar, so the button names might not be what you'd expect when using another DAW. I've provided a layout description at the end of this document that describes the front panel of a Mackie Control Universal.
I don't use the SayTools library for speech output in this latest version, as I found I could provide more control by writing my own code, so there's no need to have SayTools installed and you're free to remove it unless you've got other applications that require it (this should only affect a couple of people who did the initial testing).
Setup program - This will be available in the near future, but won't install a set of virtual MIDI cabling for you, as their are licensing issues and costs that I need to investigate before committing to this.
Speech output via SAPI (i.e. without a resident Jaws, System Access, NVDA, or Window-Eyes) is not currently implemented, though this feature could be added reasonably easily if anybody actually wants it.
Support for Dolphin's HAL screen reader is in the works.
64-bit Vista and Windows 7 compliance has yet to be tested, so any volunteers to do this? For the initial testing it would be safest to have a backup image of your system available, just in case.
The transport buttons don't talk, except for Play and Record when in ID Mode. I'm not sure that it's necessary to make this happen - it's easy enough except for the entering/exiting ID Mode situation, when it gets messy. I'm open to suggestions here as to what users think.
Loading the MDR after your DAW has loaded will result in blank/inaccurate display results, as the MDR wasn't around to catch all of the initialisation messages sent out by your software as it started up. There's no fix for this, as there's no available method to request a refresh from the software being monitored, but you can work around it by unloading then reloading the project you're working on then pressing one of the mode buttons a couple of times. Of course, the easiest thing to do is remember to load the MDR before launching your DAW.
There is currently no provision to change the program's verbosity away from what's currently coded. I'll add this at a minimal level as soon as I can, but would like some feedback from users about what they'd like. I'm not going to provide DAW-specific verbosity in this version - that will come in a paid-for version that will have a lot of flexibility for setting up with DAWs other than Sonar.
In the MIDI setup dialog boxes, at least with Jaws, the initial state of the list boxes isn't reported accurately. The list boxes in each dialog accurately display which ports are currently configured for the MDR, but Jaws doesn't identify the focus correctly. I'm pretty sure that this is down to the position and sizing of the list boxes within the dialog boxes and I'll have this fixed as soon as I can get some eyeballs pointed at Visual Studio's inaccessible Dialog Editor. In the meantime, I'd like to hear what happens when using screen readers other than Jaws in this regard.
Using the MDR
Setting Up the MDR
Because we don't have a setup tool available at the moment, the manual setup is as follows:
Extract the .zip file into c:\program files\ (this is for Win32 - change the path to c:\program files (x86)\ for Win64. Make sure that your archive extraction tool (e.g. WinZip or WinRAR) has the option to preserve folders enabled. If you do this step correctly, you'll have a folder called Raised Bar appear in your Program Files (or Program Files (X86) folder). The actual program file is called MDRLite32.exe
The MDR sits between your Mackie control surface and your PC in a MIDI loop, so that it can catch the button information being transmitted from the surface itself, and to catch the display information being sent by your software back to the surface. To perform this task without creating potential arguments between the MDR and your software, it is necessary to install a pair of virtual MIDI cables. There are a few software applications that provide this ability (I've been using MIDI-Yoke from http://www.midiox.com for my Windows XP testing, though LoopB is also available and has 64-bit support). The actual steps involved vary depending on which package you go for, but here's the outline of what you need to do:
Install your virtual MIDI cable software and configure it to provide two cables.
Within your audio/MIDI software's control surface configuration dialog, add a Mackie Control. You'll be asked to specify the ports to be used, so point the input port to your first virtual MIDI cable (e.g. In from MIDI Yoke-1) and the output port to the second virtual MIDI cable (e.g. Out to MIDI-Yoke 2).
Run the MDR, go into the Options menu and choose the DAW MIDI Setup item.
Set the input port to the second virtual MIDI cable (e.g. In from MIDI-Yoke 2) and the output port to the physical MIDI out port that your surface is actually wired into. When you're happy, press Enter to activate the OK button.
Go into the Options menu and choose the Buttons MIDI Setup item.
Set the input port to the physical MIDI In port that your surface is wired into and the output port to the first virtual MIDI out port (e.g. Out to MIDI-Yoke 1). Press Enter when you're happy.
If the MDR can't open any of the ports, you'll receive error messages and you'll need to reconfigure your ports. Otherwise, the MDR will go into Live Mode and start processing the MIDI activity. The ports that you've defined will be saved in the registry and automatically opened the next time you run the MDR, so you shouldn't need to do this set-up again, barring computer failure or a change in the MIDI hardware available on your machine.
This is the default MDR behaviour and everything that you do on the surface sends instructions to your software. In addition, the following controls cause announcements to be made:
The Mode buttons (Assignable buttons 1 and 2, Pan, Plug-Ins, EQ and Dynamics) announce changes in the Assignment Display when you press them. You may hear characters being repeated and this is something I'm trying to improve, but you can always flip into ID Mode to check the assignment, if necessary.
The Beats/SMPTE button allows you to change the displayed time format and hear which format is active.
The touch sensors built into your faders allow you to query the LCD display. This display normally describes what the rotary at the top of each strip is currently set to do.
This mode prevents most buttons from doing anything and reassigns others to provide additional reporting functions. You toggle between ID Mode and Live Mode by holding down the M1 button and pressing the Stop button. When you're in this mode none of your actions on the surface will be passed along to your software, with the following exceptions:
The Mode buttons (Assignable buttons 1 and 2, Pan, Plug-Ins, EQ and Dynamics) remain active so that you can investigate what's going on freely.
The Beats/SMPTE button remains active so that you can change the displayed time format
The touch sensors built into your faders remain live, allowing you to query the LCD display. This display normally describes what the rotary at the top of each strip is currently set to do. However, the fader movements are ignored when in ID Mode
The Play button will announce the contents of the Time display, but will not activate your software's playback.
The Record button will announce the contents of the Assignment display (this is the display that changes when you press the Mode buttons).
The actions for turning or clicking a V-Pot will remain active.
Labels in parentheses indicate a Sonar reassignment. Function keys 1-8 also act as number entry 1-8)
In the descriptions below, auto = automation, CG = control group)
Assignable 1 (Track /Bus)
Assignable 2 (Send)
F8 (Back Tab)
MIDI tracks (New Audio Track/9)
Inputs (New MIDI Track/0)
Audio tracks (Fit Tracks/Decimal Point)
Audio instruments (Fit Project/Hyphen)
Outputs (Next Window/Tab)
User (Close Window/Back Tab)
Global View (Edit)
Auto Write (Snapshot)
Trim (CG track)
Save (CG Auxilliary)
Undo (CG Main)
Touch (Auto Disarm)
Latch ( Auto Offset)
Group (CG Save)
Cancel (CG Undo)
Enter (CG Redo)
Replace (Jog Param)
Click (Loop On/Off)
Beneath the Rewind and Fast Forward buttons there is a cross of cursor keys with a Zoom button in the centre of the cross. To the right of this is a jog wheel, with a scrub button at it's upper right.
Each strip is laid out vertically as follows (working from top to bottom):
V-Pot (a rotary control that also has a click function when pressed)
Rec Ready (Arm)
Using other protocols
The Reader currently only supports the Mackie Control protocol, but the Mackie Control Universal also supports the HUI protocol used by Avid's Pro-Tools software and the Logic Control protocol used, strangely enough, by Apple's Logic DAW. You can change the protocol in use by the hardware by holding down one of the V-Pots as you power on the unit. The following table describes the assignments.
Using Other Control Surfaces
Some testing has been done using control surfaces other than the Mackie Control Universal that support the Mackie Control Protocol used by the Reader. What follows are some notes that might help if you're attempting to use such a surface.
This surface works well with the MDR and has only a few limitations:
There is no jog wheel, so it is not possible to use the Jog Parameter functionality.
There is no scrub button.
There is no SMPTE/Beats button, so you can't flip between the two time displays (you have to use Measures, Beats and Ticks).
There is no Master fader
There may be other limitations not shown up by our testing.