ShowMan
Copyright 1996-2006 by Loren Wilton
Obtain ShowMan for Windows NT by clicking on this URL:
ShowManSetup.exe.
ShowMan v2.0.88 Release Notes
This is the 84th or so commercial release.
Several fixes to the Alcorn Binloop device editor, and a fix to an
annoying bug in the device configurator that would build incorrect MTS-232
device entries.
See below for complete release note comments on each of the changes.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.87 TO VERSION 2.0.88
=============================================
1) Fixed many problems in the Alcorn Binloop device editor.
2) The scrollbar in the sequence list display in the MIDI editor would
not always scroll far enough to disply the entire message text.
3) The device editor was broken for MTS-232, Kodak, and Simda projector
devices. It was putting the device id in the wrong location. The
device editors did not recognize these messages, and the MTS-232
E-Show device didn't recognize them correctly either.
The device configurator has been fixed. It is necessary to bring
up the device configurator, select each MTS-232, Kodak, or Simda
device in a show with broken devices, and select "Change", This
should fix all of the cues to have the data in the right locations.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.86 TO VERSION 2.0.87
=============================================
1) Fixed window updates so the little pacman that shows cue position
should now update in all cases.
2) When testing a cue in the editor the highlight wasn't stepping off
of the last message after it had been played. This is now fixed.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.85a TO VERSION 2.0.86
=============================================
05/31/05
1) Problems introduced in version 85 in fix #7 resulted in failing to
load the default show. This has been cleaned up without breaking
the fix for old Amiga shows.
2) The formatting for some messages complaining about incorrect port
numbers for MIDI deivices has been improved slightly.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.84 TO VERSION 2.0.85
=============================================
04/19/05
1) When loading an old show the ShowMan device was coming up as a
"missing device" in cues for ShowMan. This could have also happened
with some other devices. This is now fixed.
2) Some valid device types could erroneously produce an "unlicenced
device" warning message in the device editor. This has been fixed.
3) If a show was opened that had MIDIShowCD commands in it, but there
was no MIDIShowCD device defined, the commands were erroneously
attached to the main ShowMan device. This made it impossible to
correctly edit the CD player commands. The CD player device is now
correctly created.
4) If a device was created for a missing MSC type device, it would be
erronously labeled a MIDI device rather than MSC device.
5) Eliminiated some ugly redundancy in formatting channel note message
descriptions.
6) Stepping forward or backward in the cue editor in an imported show
could end up crashing if the cue stepped to was not a MIDI cue.
7) When importing an old Amiga show it is possible to end up with a cue
with no description. These will now be named "Unnamed Cue".
8) Corrected the manufacturer id display for invalid 1-byte manufacturer
id values in system exclusive messages.
9) Fixed several problems where the wrong device could get associated
with a message when importing an older show.
10) Fixed a problem where a device could fail to be created when it was
required for a message in the show without an associated device.
11) Fixed a problem where adding device could screw up the relationship
between existing messages and existing devices.
12) Generated MSC device names now include the command format.
13) If new devices are added to a show because there are messages in the
show without devices, there will now be a popup message explaining
to check the new devices and correct the name and MIDI ports as needed.
14) The MSC command format is no longer included in the message
description, since the device the message is associated with is now
included in the description. The device will hopefully be named in
a way that makes it obvious what the command format should be.
15) The editors for system common and system realtime messages now have
a device selection field. Previously these messages used whatever
device was specified in the previous message. Now a device can be
specified, allowing the common or realtime message to be sent to
a specific MIDI port.
16) Changing the device for a message but not otherwise changing the
message will now be recognized as a change to the message, and it
will be updated correctly when the "Replace Msg" button is clicked
in the editor.
17) If a message has an incorrect device linkage, an attempt will be
made to find a more correct device when editing the message. A popup
warning will ask you to verify that the device selected is the one
you really want to use.
18) The device configurator could get confused and refuse to let you
change the command format on a generic MSC device.
19) You can no longer delete a device if it is in use by cues in the
show. A message will pop up showing the cues that are using the
device you tried to delete. You will have to delete the messages
that reference the device before it can be deleted.
20) Fixed a serious problem in interpeting the SmPaths.n file when
importing old Concurrent shows. It turns out that the smpaths.n
files made by Stage Manager and the SmPaths.n files made by
Concurrent had two different formats, and both could be mixed in the
same show! The two different file format should now be handled
correctly in all cases, even if the case of the name was lost when
importing the files to the PC.
21) I think I finally fixed a long-standing problem where the current
path would get duplicated, possibly multiple times, for one or more
cue lists. It turned out this could happen if there were several
similarly-named directories in the show path.
22) When loading some old Amiga shows in-place (rather than importing
them) the show directory structure could get changed strangely,
resulting in multiple paths for the cuelists. As well as being ugly
and redundant, this could cause confusion in deciding which path to
load the cues from.
23) If there were multiple similarly named cue directories in a show,
ShowMan could have picked the wrong path to load cues from.
24) The Song Select system common message was being generated with the
wrong size, resulting in an extra null byte after the message.
25) Fixed a memory leak in the midi editor when stepping off of the end
of the cuelist backwards.
26) When changing to another cuelist in the editor the first cue in the
new list will be loaded automatically. The current cue will be
checked for unsaved edits first.
27) When importing an SMF file that has messages for devices that do not
currently exist in the show, the devices will be added when you
create the cue. A list of the added device names will be displayed.
28) When capturing MIDI messages and adding them to a cue, if a device
does not exist for each message added, new devices will be created.
A list will be displayed of the devices added to the show.
Devices will only be created for the messages actually added to the
cue, not necessarily all devices that may have been required by all
of the messages captured.
29) The generated descriptions of MIDI program change and control change
messages will now take into account the base program number and the
base control number of the device the message is for.
30) When generating new devices from messages for a show that either
doesn't have devices defined, or has missing devices, the various
Richmond devices will be recognized in most cases and set up
correctly. No more "Richmond Sysex Id:0" instead of an MTS-232.
31) All of the various device editors should now put the actual device
name at the front of the description of each message they create.
Of course this will only show up when a message is edited. Existing
messages will not be changed when the show is loaded.
32) When entering hex characters in the MTS-232 editor, the hex pairs
will now always be displayed in upper case, regardless of how they
were typed.
33) When entering alpha characters in the sysex editor they will no
longer erroneously be forced to uppercase. Hex character pairs will
be forced to uppercase, as they were previously.
34) A message concordance function has been added to the device editor
and the MIDI message editor. This will let you find all messages
for a device, or all messages that match the current message. You
can then edit the located messages.
From the device editor double click on a device in the righthand
list. This will bring up the concordance showing all messages for
the selected device. You can click on a single message and then
uncheck the 'All Messages" checkbox to display only the instances
of a single message. You can check the "All Devices" checkbox to
see how this message is used by all devices in the show.
From the MIDI editor, doubleclick on a message in the list on the
left. This will bring up the concordance showing only the instances
of this message for this device. You can again play with the "All
Messages" and "All Devices" checkboxes to widen out the message
display.
In the concordance, you can double-click on any message to bring up
the MIDI message editor for that message, regardless of the cuelist,
cue path, or cue that it is in.
In the concordance, you can hide or show any level of the tree above
the message level by double-clicking on one of the boldface names of
a device, cuelist, cuepath, or cue.
When you select all messages for all devices, the device trees will
be collapsed, so all you will see is a listing of all devices in the
show which have at least one message somewhere. Double-clicking on
the individual devices will show where the messages are for that
device.
35) The Device Configurator dialog is now modeless, so you can leave it
open while continuing to work on the show. This was required to
make the concordance window work correctly, but it is generally
useful in its own right.
36) The scrolling highlight on the current message when testing a cue in
the MIDI editor was accidentally lost a few releases back. It has
now been restored, and will keep the current message in the center
of the sequence list window.
37) When opening a new show when a show is already open, the file
requestor will now show the directory containing the current show
rather than the default shows directory.
38) Adjusted the column widths on the Show control window to not truncate
cuelist names that are all uppercase letters.
39) The device configurator no longer shows a device id selection field
for an MTS-232 device, since an MTS-232 doesn't have a selectable
device id field.
40) If you brought up the midi editor and clicked on "MSC" in the list
on the right, the MSC editor would appear, usually with All Sound
Devices displayed as the selected device. However, the command
format was not correctly set to the format of the selected device.
41) Changing the 'clock running at open' state in the list configurator
was inadvertantly affecting the current clock state in the list if
the list was open. The list is now correctly unaffected by changes
in the list configurator if it is open, with the exception that
changing the list name or the path names or ordering will close and
reopen the cuelist to get the new list and path state from disk.
42) In previous versions there was a large queue for messages between
each cuelist and the MIDI output ports. If the queue filled up due
to a MIDI loop (or other reason) the sender would be blocked until
there was space to send the next message in the queue. This could
result in locking up the system if you coded a queue loop that
flooded the output ports.
In this release, the large queue is still there. But now, if you
manage to overflow the queue, the extra messages will be discarded.
This will prevent the user interface from locking up, and should
allow you to stop clocks or otherwise deal with the problem without
the pain of a reboot.
When a MIDI transmit error occurs, the cuelist getting the error
will turn bright red, and a status line message will show the name
of the cuelist and cue that got the error. The red background will
be cleared the next time a message is sent successfully from that
cuelist, or when the clocks are stopped, or a Reset or All-Off is
done for the cuelist (or show).
43) There is now a small slider control at the top of the screen that
can be used to control the overall brightness of the backgrounds of
the windows. If you are using ShowMan in a darkened theater it can
help overall visibility (and audience annoyance) if you can easily
dim the display to match the lighting at the control position.
44) Fixed the menus that erroneously indicated that an Alt+L shortcut
would bring up List Configuration. Alt+L and Ctrl+L control Global
MTC lock and unlock.
45) Fixed the About box to update the copyright date to 2004. :-(
You'ld think that I would have noticed this a few months sooner...
46) Added a debugging command to force use of a specific configuration
file. Much easier debugging customer shows!
47) Added an item in the Help menu that will show up only before a show
is opened. This will display the current configuration settings in
the licence file. This may be helpful in cases where it seems that
something isn't enabled that it is believed should be enabled.
48) Fixed a problem introduced in the last version where the device
configuration editor was not letting you set the device id for an
MTS-232 device, or any device based on the MTS-232.
49) Improved the messages when you click on a device that does not have
the correct matching MIDI ports on the current machine. Previously
the message complained about both the input and output ports, even
if one of them was correct. The message is now more exact in what
it complains about.
50) When converting a GM device to an MSC generic device, the id2 offset
and value would be set wrong. These indicate the format of the MSC
commands for the device. The result was that invalid MSC messages
could have been generated.
51) Updated the copyright in the version and About displays to 2005.
52) There is a "Display Configuration" menu item under Help that will
display the currently licenced ShowMan options.
53) A debug-only option has been added to the main window (before a show
is opened) to force the use of a specific licence file.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.83 TO VERSION 2.0.84
=============================================
06/17/04
1) If you deleted a device and then tried to edit a message for it
ShowMan would crash. Now the message will indicate "MissingDevice!"
and you will not be able to edit the message until you add back a
matching device.
2) The "read" commands have been removed from the PLC editor window as
they were not useful for anything, and caused confusion. Reading
from the PLC is done using the PLC Configuration dialog.
3) Fixed the long-standing problem with having two identical devices
with the same device id on two different ports. Previously the
correct device index would get lost on all of the messages, and they
would all end up pointing to the first device.
Since the problem here is that there isn't enough data stored in
current shows to find the right device, it will be necessary to load
any current shows with this problem, manually correct the messages
that should be for devices other than the first, and re-save the show.
The drawback of this change is that shows saved with this version
are NOT COMPLETELY COMPATABLE with earlier versions of ShowMan!
Loading a newly saved show into an earlier version will result in
it not being able to resolve the devices correctly for the messages.
This may cause the show to malfunction on an earlier version!
4) The PLC monitor configuration was not being saved when the show was
exported or saved under another name. It now is.
5) Added a button to the PLC Configuration dialog to update the PLC
configuration without having to exit the dialog and come back in.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.82 TO VERSION 2.0.83
=============================================
05/03/2004
1) If a message had a system-generated description and the message was
changed, the description would not always be changed to the new
description. This is now fixed.
2) Message descriptions now contain the actual device name, rather than
a generic description of the device id.
3) User message descriptions will no longer erroneously get a period on
the front of the message when the show is reloaded. User message
descriptions are supposed to be indented by one space, not a period.
4) Adding a message with a user description as a new message at the
end of a sequence could in some cases lose the user description.
This has been fixed.
5) Fixed a crash if you clicked the new "use hex bytes" checkbox in the
MTS-232 editor before you clicked the "Data" checkbox to enable a
data-type message format.
6) Unable to delete a "General MIDI" device. This is fixed.
7) Changed All-Off/Restore handling back to the way it was prior to
version 2.0.80. This makes an F4 send ANOs and the like, but a
Reset received from MIDI will not generate ANOs. Also, ANOs will
only be sent to the main output port, not to all ports.
8) Changing the list count on a show from 1 to more than 1 will now
cause the show window to be displayed along with the list windows.
Changing a show from more than one list to one list will now hide
the show window. Previously the window change only happened after
the show was reloaded.
9) When changing the number of lists in the show, the windows will be
re-tiled automatically. This keeps the show window and possibly
other windows from not becoming visible because they are hidden
behind other windows.
10) Updated the copyright dates in the splash screens from 2002 to 2004.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.81 TO VERSION 2.0.82
=============================================
1) Fixed problem with change 17 in 2.0.80 that could result in a loop
and crash.
2) You can now use the sysex editor on devices other than manufacturer
sysex devices.
3) If you change the device in the manufacturer sysex editor, all of
the message information now is set for the new device. Previously
the device class wasn't set, resulting in the wrong editor coming up
when you tried to edit the message again. This would also result in
the message getting parsed wrong when the show was reloaded,
resulting in complaints about invalid message formats.
4) Editing a hex-only sysex is now easier. You can type hex number
pairs without intervening spaces and the editor will add the spaces
for you.
5) Entering a non-hex character in the sysex editor in hex-only mode
no longer complains multiple times before you correct the error.
6) The MTS-232 editor now allows hex-only data entry, and is set to
hex-only by default. Also like the change to the syex editor,
entering a long string of hex characters will be interpreted as hex
character pairs automatically, without needing the intervening spaces.
7) Fixed decoding problems for MMC Move and Locate commands in the MMC
editor.
8) Changing the id of an MMC device could screw up badly and clobber
the F0 on all sysex messages for the device with the new device
number. This has been fixed, and code added to the rechannelize
process to detect broken messages and try to recover them.
9) If bad messages have been stored in a show because the F0 for a
sysex was lost, the message loading code will attempt to recover
this case. The recovery attempt may or may not be successful,
depending on how badly the data in the cue was mangled.
10) The DEL key can now be used to delete selected messages from a cue.
11) When selecting multiple messages and then right-clikcing on one of
the selected messages, the other messages are no longer unselected.
This makes it much easier to delete a group of messages using the
right mouse button popup. (And is how it was supposed to work in
the first place.)
12) It is now easier to see the current selection in the ShowMan
message editor.
13) ShowMan will now remember the position and size of the main window
on the screen when a show is saved, and will reset to thast size
when the show is reloaded, unless the show is loaded onto a system
with a smaller screen size. If the attempt to restore the original
position and size results in much or all of the window being off the
screen, ShowMan will come up in full screen mode as usual.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.80 TO VERSION 2.0.81
=============================================
1) The fix to the crash on entering Show Configuration made in version
80 was incomplete and the crash could still occur. This time is is
really fixed.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.79 TO VERSION 2.0.80
=============================================
1) Implemented Alt+L for Global MTC Lock and Ctrl+L for Global MTC
Unlock. This matches ABEdit usage.
2) Fixed a bug in the PLC monitor dialog that caused GX and GY items
to monitor the wrong address in the PLC.
3) Fixed a bug in show loading that would correct the MIDI port numbers
when a show was loaded on a different system, but then not update
the new MIDI port names, so the next time the show was loaded the
port numbers would be reset to the wrong ports again.
4) Fixed a bug in show config introduced in version 78 that would
result in a crash under some circumstances.
5) Eliminated a breakpoint that could occur if the show window had a
really unreasonable height, far exceeding the screen size.
6) Updated PLC-205 editor to handle the new AD 260 CPU, which has twice
as many inputs, outputs, control relays, and counters as the 250 CPU
had.
7) Increased the number of tests possible in the PLC monitor dialog to
100 per PLC from the previous limit of 10. Also redesigned the code
that attempts to optimize the number of requests that have to be
sent to the PLC for each polling interval. In general it is a good
idea to keep the variables that you are monitoring relatively closely
related to each other by address, so that more than one monitored
variable can be read from the PLC in a single request.
8) You can name or rename PLC monitor conditions by retyping the name
in the droplist display window showing the current condition name.
9) You can now use bit variables accessed as words (16 bit groups) in
the PLC monitor panel. For instance, VX0 is a word group of X0 to
X17 (octal addressing). The next word group would start at VX20.
This makes it easier to test inputs when used in groups for specific
combinations or values.
10) The "Set To" value to set a PLC variable to a value can now be the
name of another PLC variable. If you set a word variable to a bit
value, the word will only set to 0 or 1. If you set a bit variable
to a word value, the bit will set to the low-order (even/odd) bit
value of the word.
11) You can also use PLC variables in the Cue, List, and Path fields of
an MSC command. While you can use bit values here, it generally
would make more sense to use word values. Remember that by default
word values in the PLC are in BCD, so the possible values are 0 to
9999. This feature has been there since the start, but is not
common knowledge.
12) There is now a small indicator next to the condition description in
the PLC monitor panel. This indicator will flash on for a half
second any time the current condition happens. This can make it
somewhat easier to debug communications between the PLC and ShowMan.
13) Fixed a serious data corruption problem in the PLC monitor code.
Previously monitoring a PLC input would have been unreliable.
14) Freezing and unfreezing the clocks could leave a "clocks frozen"
message in the status bar erroneously. Fixed.
15) Freezing the clocks to make show editing easier did not prevent
external MSC commands from running and firing cues. Freezing clocks
will now ignore LOAD, GO, TIMED_GO, GO_OFF, and GO_JAM_CLOCK
commands from external MIDI inputs.
16) Some menu items didn't have status line descriptions or baloon
descriptions. These have been added.
17) When ShowMan receives an external MSC RESET, ALL-OFF, or RESTORE,
it will now propigate the message to all output MIDI ports, not just
the main show output port. ALL-OFF and RESET will also send an ANO
per MIDI channel and Note Off messages as necessary. This will make
operation with an external MIDI controller more compatable with the
operations from the keyboard function keys.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.78 TO VERSION 2.0.79
=============================================
1) Fixed a bug that caused the show window to be of infinite height,
making it very hard to manage.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.77 TO VERSION 2.0.78
=============================================
1) Added settings to the Show Config dialog to change the font size in
the show and list windows. All windows are currently set to the
same size font. Font sizes can be between 6 and 30 points. The
default font size is 9 points. Larger font sizes can be usefule on
high resolution screens where the text can become hard to read from
a distance. Font sizes over 15 points or so probably aren't useful
in shows with more than one or two lists, as the test will be too
big.
2) Added settings to the Show Config dialog to lock out keyboard and
mouse input to the show or list windows. You can select all
windows to be enabled for user input, which is the default. Or you
can select just the show window, or just one specific list window.
This is useful when you have a show that is being controlled from a
"master cuelist" that fires the cues in the other lists, and you
don't want the operator to inadvertantly enter GO commands for the
wrong list.
It is still possible to have some control over individual lists
using the List Control dialog. However, to edit cues in a list
that is locked out, you will have to unlock list access in the
Show Config dialog first.
3) There is now a small icon to the left of the cue number in the cue
lists. This is currently a yellow circle for the standby cue, and
a green "pacman" circle for running cues. The circle will disappear
a segment at a time as the cue is running. For fast cues you
probably won't even see the circle.
The shape of these icons are likely to change in a future release.
4) The standby cue will now work its way down to the center of the list
window, and then stay at that point, until there are no more cues to
scroll into the window. Then it will continue to the bottom of the
window. Previously only one line was kept above the standby cue.
Now that running cues are flagged while running, it is more useful
to have a larger number of cues showing above the standby cue.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.76 TO VERSION 2.0.77
=============================================
1) ShowMan now has a proper installer. This probably won't make
installation any easier, but it provides room for some checking when
installing the program.
2) The new Installer will check if ShowMan will run successfully on the
target system. ShowMan will not run on very old versions of Windows
NT 4.0 if none of the service packs have been installed, or Internet
Explorer has not been updated. ShowMan may also fail to run on very
early versions of Windows 95, for similar reasons.
3) When installing on Windows 95, 98, or Windows ME, the Installer will
put up a message telling you that, while you can test ShowMan on
this system, you cannot (or at least should not) attempt to actually
run shows on the system. ShowMan is only supported on NT 4.0, W2K,
and XP.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.75 TO VERSION 2.0.76
=============================================
Version 2.0.76 was an interim test version, only released to two test
sites.
1) If you select "Freeze All Clocks" from the Clock menu, the cuelists
will now retain their positions as they gain and lose focus.
Previously the standby (or edit) cue would always be scrolled into
the window when the window lost focus. This behaviour is by design
during normal operations, and will still occur when clocks are not
frozen.
2) The hotkeys for Global MTC Lock and Global MTC Unlock (Shift+L and
Ctrl+L) conflicted with entering an upper case L into cue description
fields. These hotkeys have been eliminated, as they seem to cause
more problems than they were supposed to solve.
3) The MSC editor was forgetting what command formats existed and
greying out the cue/list/path windows on a GO. This is fixed.
4) Fixed a problem in Show Configuration that failed when trying to add
cue lists to the show.
5) Changing a list to or from a calander list would lose the window
position and mark the window hidden, even though the flags in list
config said it should be displayed. This is fixed.
6) If you just typed a file name into the SMF import dialog rather than
browsing for the file name, it refused to believe that you had
entered a file name. This is corrected. The list of filenames to
choose from is now sorted too.
7) All-Off and Reset commands erroneously would not stop playing
sequences in a calander list. This is now fixed.
8) Changed "Richmond Modbus" to "Richmond PLC-205" as the editor name
to be less confusing.
9) Fixed several problems with correctly adding PLC-205 messages to a
cue, and then being able to edit them afterward. This actually
affects any of the message editors that created specific descriptions
of the messages they create, rather than using the default description
of the MIDI message string.
10) It is no longer possible to delete from the cuelist the cue currently
being edited in the cuelist. You must either close the editro or
edit another cue first.
11) Switching the editor from one list to another and hitting Next Cue
would put a phantom empty cue into the cuelist. This is fixed.
12) ShowMan now has an official installer. It will warn if you are
installing on Win95/98/ME, and it will abort the install if ShowMan
can't run on the system because the OS hasn't been updated in the
last few years. (Mostly a problem with ancient NT 4 systems.)
13) Changed ShowMan back to using system DLLs rather than statically
linking the libraries. This fixes some problems with various E-Show
device on various versions of the OS. It also means that there are
probably some systems where ShowMan will no longer run unless the
recent OS service packs are installed.
14) You can no longer fiddle with the TC Gen list number if the TC Gen
isn't licenced. Likewise for the output Smpte Port.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.74 TO VERSION 2.0.75
=============================================
1) The description of the message time entry fields now correctly
changes to "Time From Start of Cue" when in this mode.
2) When editing a MIDI message, if you hit the DEL key while in a text
field, ShowMan erroneously asked you if you wanted to delete the
current message rather than deleting a character. This is fixed.
3) The wrong function key mappings were being loaded in ShowMan II when
the MIDI Editor or an AudioBox live control window was open, so the
normal things that should happen on function keys wouldn't happen
in those windows. This is fixed.
4) When moving from one message to another in the MIDI editor the
message highlighted in the list was not properly changing.
5) When pasting messages into the MIDI editor window, they will now be
pasted in BEFORE the selected target line, rather than AFTER it.
This makes it possible to insert the copied messages at any place
in the message list, including as the first message. Previously
the pasted messages could only be inserted as the second or
subsequent message.
6) If you click on a message with a user description and modify the
message, the modified message will correctly keep the old user
description. The assumption is that you are changing the physical
message needed to perform the previously described function. This
has not changed from the last version.
However, previously if you clicked on a mesage with a user
description, modified the message, and then inserted that as a new
message, the inserted message would erroneously keep the user
description for the message at the point of insertion. Now when
you do this, the message difference will be detected, and the user
description will be replaced with the correct machine-generated
description.
7) If you deleted a cuelist that had multiple paths containing the
identical cues, ShowMan would crash. This is fixed.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.73 TO VERSION 2.0.74
=============================================
1) Fixed a nasty memory corruption problem in the device configurator
when changing parameters on a device.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.72 TO VERSION 2.0.73
=============================================
1) Updated the Pulsar Masterpiece device editor to handle the "Shows"
key selections available on the Masterpiece 216.
2) Fixed a minor bug in masked time handling.
3) Updated the contact info in the About Box.
4) Resized many of the setup dialogs a little wider to make them look
better.
5) Improved the text alignment and general layout in all dialogs.
6) Band-aided a bug in Windows that returns the wrong number of
channels on a sound card.
7) Verified that all dialogs will fit on an 800x600 screen, except for
the AB live monitor window.
8) The show now gets saved after the List Configurator modifies a
cuelist. It is no longer necessary to do a Save Show to save the
changed settings.
9) ShowMan can now respond to MIDI "note on" and "program change"
messages to trigger cues.
In Cuelist Configuration, each cue list has a setting for a MIDI
channel number and an action to take. The action can be to ignore
all MIDI messages (which is the default action), or to check for
Program Change messages or Note On messages. Only one MIDI channel
and action can be specified for each cue list, but each cue list can
have a different MIDI channel and action. All MIDI input must
appear on the show default MIDI input port to be detected.
When a cuelist is set to monitor Note On messages, each Note On
seen will be checked for the correct channel number and the Velocity
greater than zero. If these tests pass, a GO will be sent to the
cuelist, using the note number as the cue number.
A note number of 0 is a simple "GO next cue". Any other note number
is a GO for a specific cue in that cuelist only. Note that it is
only possible to fire cue numbers 1 to 127. If no cue exists with
the correct cue number, the Note On will be ignored.
When a cuelist is set to monitor Program Change messages, things
work almost the same. There is no Velocity field to check, and the
Program number is used as the cue number. Again, Program 0 is "GO
next cue", and programs 1 to 127 are specific cue numbers.
If you want multiple cue lists to respond to the same note on or
program change commands, you must set up each list specifically
with the same parameters.
Note: program changes and note on messages generated by cues will
NOT result in cues being fired. Only messages arriving from the
external MIDI port will fire cues. To fire one cue from another
cue, use an MSC GO command as usual.
10) Updated the About box to the latest RSD contact info.
11) The device configurator now displays manufacturer's names and ids
in both numeric and alphabetic order. This should make it much
easier to create a manufacturer sysex message when you know the name
of the manufacturer but don't know the manufacturer's id number.
12) If you make a manufacturer sysex device with a 3 character id value,
you no longer get a whine about the id offset being less than 4.
13) The first device editor, which is always available, is now "ShowMan
Control". This contains the MSC messages that are specific to
ShowMan, such as Standby, Go, Open Cue List, Start Clock, and others.
This should make it considerrably quicker for new users to figure
out how to control ShowMan.
It is still possible to use the standard MSC editor to create and
modify ShowMan control commands. However, the layout changes and
slight wording changes should make the use of the ShowMan-specific
editor easier.
14) If a cue only had the description filled in, after telling you to
fix the errors, the editor would simply vanish rather than letting
you fix the errors. You now get to fix the problems if you want.
15) A loop that could occur when hitting Next or Prev in the editor with
a partially-completed cue has been fixed.
16) You can now select multiple messages in the History window and copy
them to the clipboard, then paste them into the sequence list
window on the left of the editor. In this way you can add multiple
existing messages to a cue quickly.
17) When the editor is showing messages in "time from start of cue" mode,
the time shown for each message now represents the time from the
front of the cue, not the offset from the previous message.
If you change the time on the message such that it really belongs in
a different place in the message sequence and then click "Replace Msg"
the message will be moved to the correct place in the message sequence
for the new message time. If the message doesn't need to me moved,
the time will be corrected without moving it.
Since messages are still stored with offset times from the previous
message, changing the time on one message may result in changing the
time offset on the following message also, to keep it at the same
offset from the start of the cue. Also, when inserting a message
into the message sequence, the time of the following message may
need to be adjusted.
If a message is inserted with the same time as an existing message,
the new message will be inserted after the existing message.
Note that if you copy and paste a sequence of messages into an
existing cue in this mode, it is still possible to shift the times
of the messages following the paste point if the times of the
inserted messages won't all fit in the space betweeen the insert
point and the next message. This will be fixed in a future version.
18) Fixed some minor potential memory leaks that probably could never
have happened in actual use.
19) MIDI Capture can now select any device to capture data from the
assigned input port, not just from the show default input port.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.70 TO VERSION 2.0.72
=============================================
1) Changed the time display to display hundredths of a frame rather
than 0/1/2/3 for quarter frame values. This should make time a
little less confusing.
2) Cue descriptions can now be up to 80 bytes rather than 30 bytes.
3) Fixed a bug that prevented the AudioBox editors (and several others)
from showing up in the edit window.
4) Renamed the menu selections for some of the editors to make them
more obvious in the new device editor list format.
5) Made it so that user-entered message descriptions will not get lost
when the message is edited. Previously user-entered descriptions
would get clobbered by the automatically generated descriptions in
many cases.
6) Fixed a problem with MIDI capture creating invalid message and cue
times.
7) You can use Ctrl+A (Select All) in the MIDI Capture window to
select all of the captured messages for inclusion in the generated
cue.
8) You can use Ctrl+C (Copy) in MIDI Capture to copy the seleced
messages to the clipboard. They can then be pasted into a cue in
the cue editor.
9) You can use Ctrl+X (Cut) to copy the selected messages to the
clipboard and delete all messages in the capture window.
The messages can then be pasted into an editor window.
10) You can now use cut/copy/paste/select all in the sequence list in
the MIDI editor. This allows multiple messages to be quickly
deleted or moved around. It also allows quick copying from a MIDI
capture and pasting all or part of the captured messages into an
existing cue. Or copying messages from one cue to another.
11) The sequence list in the editor now allows extended selections of
multiple messages using click/drag plus the shift/control keys,
rather than the single message selection previously possible.
A side effect of this is that the drag resequencing to move messages
around is no longer possible. Copy/paste can be used instead.
12) When pasting messages into the sequence list in the MIDI editor,
the new messages will be added at the end of the existing messages
if no message is currently selected. If a single message is
selected, the new messages will be inserted in the sequence just
after the selected message.
If multiple messages are selected (possibly an extended selection)
when a paste is done, all of the selected messages will first be
deleted. Then the new messages will be inserted in the remaining
sequence just after where the first selected (and now deleted)
message had been.
13) Previously if you edited a message and then clicked on another
message in the sequence list, the edits to the first message would
be lost. ShowMan now correctly asks if you want to save the edits
to the first message.
14) The list of device editors available was not being rebuilt in a cue
editor after a device was added or removed, until the cuelist was
closed and reopened. Now the list of available editors is rebuilt
any time the list of device changes.
15) The DEL key can be used in the sequence list in the editor to delete
the currently selected messages.
16) Deleting the only message in a cue could result in the editor saying
the message had changed, and putting the deleted message right back.
This has been fixed.
17) Rearranged the Show menu a little, and eliminated the Ctrl+N and
Ctrl+O shortcuts to create or open a show, since these aren't likely
to be useful and the shortcut keys can be used for other more useful
things.
18) Added a "New Cuelist" item to the Show menu to easily add a cuelist
to the current show. This should eliminate a little confusion on
how to go about adding a cuelist to an existing show, although the
current methods still work.
19) If you don't select any messages in a MIDI capture before clicking
on the "Create Cue" button, all messages captured will now be
selected and added to the cue. Previously a complaint message
would have occurred, forcing you to select some messages before
creating a cue.
20) The New Show wizard cuelist setup now includes settings for Clock
Speed (frames per second) and for Initial Window State. This
matches the settings available in the list configurator.
21) Fixed a couple of problems that resulted in list windows not being
displayed in the correct positions or sizes after a new show is
created and saved.
22) Renaming a cuelist now properly renames the cuelist directories so
that the cues continue to exist in the list. Previously the cuelist
was saved under the new name, leaving the old directories around
cluttering up the show. Also, sometimes the save didn't happen,
resulting in empty cuelists without any cues after a rename.
23) Fixed a problem where entering and exiting the list configurator
without selecting a cuelist to configure could result in deleting
the paths from the last cuelist in the show, if there were no cues
in the paths.
24) The device description field is now limited to 80 characters so that
it will fit in reasonable display fields. Previously the description
length was unlimited.
25) The device configurator has been changed slightly. The tree list of
existing devices on the right side has been changed to a simple list
of devices. This should make it much easier to find devices, since
it won't be necessary to expand the tree nodes to see what is there.
Since all devices are now listed in a single list rather than by
type, it is no longer possible to have two devices in a show that
have the same name.
26) Fixed a bug with masked calander time fields that could produce an
invalid time if the days field was completely masked and we had to
increment the time to the next higher month or year. This seems to
have only showed up on Windows XP.
27) Editing lists with multiple paths. If you are editing a cuelist with
more than one path, rightclick in the cue window and select "Cuelist
Settings" from the popup menu, then doubleclick on the path you want
to edit. Alternately, you can use Alt+L to bring up the List Settings.
If you have multiple paths in a calendar list and have masked
calendar cues that switch paths on you, editing can be awkward.
To get around this, select "Freeze All Clocks" in the Clock Control
menu. This will freeze the show and let you edit the calander list
without it switching the path out from under you. Of course this
stops the show, so you probably don't want to do it while the show
is currently running.
28) The system setup panel in the New Show wizard now has setup stuff
for the joystick port and the Smpte audio output port. This now
matches the System Configuration dialog.
29) The Show Setup panel in the New Show wizard now allows a selection
of the timecode generator list number, rather than arbitrarily
picking a list number. This now matches the Show Configuration
dialog.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.70 TO VERSION 2.0.71
=============================================
1) The timestamp on a sysex message, when importing from an SMF file
was incorrect.
2) MSC SET command was not checking the number ranges and allowing
values above 16383.
3) Fixed several places where a crash could occur when ShowMan reached
the demo timeout limit while performing some long action.
4) Fixed an uninitialized variable that caused the cuelist windows to
not show the current cue.
5) Fixed a problem with the midi note editor dialog complaining about
an invalid program number when switching from a device that has
program numbers 0-127 to one that is 1-128.
6) Fixed a similar problem with the control change editor.
7) Fixed some annoyances in the midi note and control change editors
to make it easier to rechannelize messages.
8) When entering the value for a double-byte high controller, the
value is now entered as 0 to 127 (or 1 to 128) instead of the value
multipled by 128. This seems to be more in keeping with how people
use controller values.
9) A problem where the function keys weren't working correctly if you
had clicked on one of the editor pages has been fixed. The
function keys worked correctly if you were in other places in the
editor window.
10) Fixed a problem in SMF import where control change messages weren't
being tagged as control changes, so the wrong midi editor page would
come up if you tried to edit them.
11) Added code to correct the device id or channel number in all
messages in the show when changing a device id. This only works if
you are changing a device, not if you delete a device and add a
similar device.
12) Added code to correct all necessary messages and devices if you
change the primary ShowMan id in the System Configuration.
13) Allow the type of a device to be changed as long as it won't change
the basic message size. This means you can change manufacturer's
sysex messages as long as the ids remain 1 byte or 3 byte, or can
change other sysex forms with single byte ids. But you can't change
from a sysex type to a MIDI channel type, which has a completely
different message format.
14) Added code to SMF import and MIDI Capture to do a much better job of
determining the message type and attempting to associate it with the
correct device.
15) Device editor pages will no longer appear until a device has been
configured that the editor would support. This might eliminate a
bit of confusion using ShowMan.
16) Added a Simda Slide Projector editor.
This editor makes messages in MTS-232 format, since the projector
is controlled serially. The MTS-232 should be set for 8N2 at 9600.
17) Added a Kodak Ektapro slide projector editor.
This editor makes messages in MTS-232 format, since the projector
is controlled serially. The MTS-232 should be set for 8N2 at 9600.
18) Changed the list of available editors to be sorted alphabetically to
make them easier to find.
19) Changed the name of the PLC editor tab from "AutomationDirect Modbus"
to "Richmond Modbus", and changed the menu that brings up this
editor from "Richmond PLC-205" to "Richmond Modbus". Having the
name in the menu item the same as in the editor should make life a
little less confusing.
20) When accidentally trying to create a duplicate device entry in the
device configurator, the complaint message will now tell the name
of the duplicate device, and the configurator will not be changed
to this entry. This makes it easier to correct the original entry
without retyping a bunch of stuff.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.69 TO VERSION 2.0.70
=============================================
1) Updated Midi Manufacturer's Id table to show correct manufacturer
names as per the January 2003 list on the MMA site.
2) Fixed so that the show window will display correctly if the top or
left starts outside the main window by a few pixels. Previously
it would disappear completely.
3) Fixed a crash when tiling or cascading windows.
4) When creating a new show the cuelist windows will be tiled.
Previosuly they were too small to be useful.
5) Fixed a crash that could happen when creating a new show after
previously opening another show.
6) You can now actually open all of the windows in a show with 128
lists. Previously the system ran out of resources around 70 lists.
7) Fixed a crash trying to read a standard midi file with a bad format.
8) Changed shape of SMF Import Dialog box so that it doesn't look like
something is missing.
9) Calander cues will now only fire once within each time period that
the masked time allows them to fire. For instance, if the only
non-masked digit in the time was the seconds units digit set to 0,
previously the cue would have fired every tenth of a second while
the seconds digit was 0, so it would have fired 10 times. Now it
will only fire once, and wait until the next time it can fire,
which in the example would be 10 seconds later.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.68 TO VERSION 2.0.69
=============================================
1) Redesigned internal system time of day handling to use NT native
functions rather than the portable Unix functions. This increases
timer resolution and eliminates some long-standing potential bugs
with using the Unix functions. It also reduces overhead in a
critical path by a considerable amount.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.67 TO VERSION 2.0.68
=============================================
1) Added an enhancement to the LOAD and GO commands to help support
laserdisk players. If the cue number ends in a "+" sign, the
cue selected will be the specified number, or, if the specified
number doesn't exist, the next higher number. Normally only the
specified cue would be loaded or fired, and if an exact match
didn't exist, nothing would happen.
2) Added a new E-Show device to handle Pioneer laserdisk and DVD
players. This is based on an MTS-232 and uses the MTS-232 cue
editor. However, this E-Show device can return feedback to the
show to determine the success and completion times of the commands
sent to the LD player.
Using the Pioneer E-Show device:
Load the E-Show driver. Select the serial ports that the players
are connected to. Be sure to pick the correct baud rate, which will
be 4800 or 9600, with 4800 the default. Make appropriate device
entries. Since each device requires a unique MSC id, it can be
simplest to use an MSC id corresponding to the COM port number.
In ShowMan make corresponding MTS-232 device entries for the players.
Be sure the MSC ids match to those declared in the Pioneer E-Show
driver.
Feedback from the player is in the form of GO commands directed to a
particular list. Thus it will usually be easiest to use a separate
list to control each player, so that feedback responses from one
player don't confuse the sequence of events on another player.
Feedback is optional. You can ask for feedback on errors and/or
when commands complete normally. You can also set up a timout time,
which results in an error number of 90 being reported if a command
doesn't complete in the specified number of seconds.
To request feedback from the player, you send a command string to
PORT 2 on the player MTS-232 device. Note that all normal commands
to the player go to PORT 1. The setup commands are remembered, so
only need to be changed if conditions change.
As mentioned previously, feedback is in the form of GO commands sent
from the player device to ShowMan. These commands are sent to a
specific list and cue number. The setup command you send to the
device tells it the appropriate list and cue numbers to send back.
Each field can be set individually, so it is only necessary to
change the values that change. Typically this would be the cue
number fields.
The setup command is a string containing some combination of the
following values:
EL <error list number>
EO <error cue number base>
GL <good complete list number>
GO <good complete cue number>
TO <timeout value in seconds, 0 = no timeout detection>
LIST <list number> (combination of EL and GL)
QBASE <cue base number> (combination of EO and GO)
All fields default to zero, which results in no feedback being sent.
The player can send errors in the range of 00 to 99. When the
driver receives an error response, it adds the error value to the
<error cue base number>. Then, if the <error list number> is non-
zero, it sends a "GO qnum+ listnum" command to ShowMan. If there
are cues in the range of <error cue base> to <error cue base>+99,
one of these cues will be fired. The cue selected will depend on
the error that occurred.
Since the driver sends a "+" at the end of the cue number, it isn't
necessary to have 100 cues, one for each possible error. All that
is really needed is a single cue at <cue base>+99, which will catch
any error. More cues can be used if you want to take specific
actions on various errors.
If the <good complete list number> is non-zero and the command sent
to the player is successful, a "GO goodnum+ goodlist" will be sent
to ShowMan. As some commands can take many minutes to complete,
this can be used to synchronize the show to the disk playback.
Since the error list number and good list number are separate, it
is possible to ignore either errors or good completes by leaving
the appropriate list number field zero. Also, it is possible to
handle good completes in-line in the list sending commands to the
player, and handle error responses with a common routine in another
list entirely.
Often the action to be taken on an error will depend on the
particular that was just sent to the player. For this, it is most
convenient to put the error handling cues in-line immediately
following the cue that sends a command to the player. The next
"good cue" would follow the error handling cues. To make this a
little simpler, you can use the LIST and QBASE setup commands. This
will set both lists to the same list number, which only needs to be
done once in an initialization cue. After that, in each cue that
sends a command to the player, there should also be a setup message
that sets QBASE to a number above the current cue.
As an example, consider the following:
100 Initialize player
send "LIST 1 QBASE 200 TO 30" to port 2
send "SA 0d" to port 1 -- spin up disk
299 Catch startup errors
this cue will fire if any error 00 to 99 is detected in q 100.
300 Start playing chapters 1 to 5
send "QBASE 400" to port 2
send "CH 5 SM 1 SL 0d" to port 1 -- stop ch 5, start ch 1
499 Catch any play errors
this cue will fire for any errors in cue 300
500 Next "good" cue
this cue will be fired if the player returned good complete.
In the above example, cue 100 sets the qbase to 200 and the list
to 1. (We presume these cues are in list 1.) It also sets the
response timeout to 30 seconds. At this point, any command sent
to the player will result in a cue between 200 and 300 being fired
within 30 seconds maximum. If an error occurs, the cue number sent
will be between 200 and 299 (since the maximum error number from
the player is 99) If no error occurs, the next cue will be qbase
plus 100; or in this case 200+100 = cue 300 will be the next good
cue to fire.
At cue 300 we are going to send another command to the player.
If we don't change qbase, we will end up at cue 300 again, which
isn't a real good idea. So first we change qbase to 400, so that
the next cue will be in the range of 400 to 500.
When creating a show this way, the "target cues" (eg: 200 to 300)
should be manual-go cues, since the driver will be sending a GO
command to fire one of them. The other cues in the list might well
be timed cues, or cues fired form another list, or manually by the
operator.
3) When loading a show on a system with different midi port order, if
all of the devices can successfully be updated to new midi port
numbers, the device configuraiton will be saved.
4) Fixed several problems in validating masked time fields in calendar
cues. Cases such as masking the tens of seconds while leaving the
units of seconds unmasked were being erroneously considered to be
errors. You can now mask single digits of any field validly, as
should have been the case all along.
5) When editing a calendar time field in a cue, if the time had no
masking at all, the time fields would be set correctly, but the
dsecoded time value was not set correctly. This resulted in cues
failing to fire at the correct time. This is now fixed.
6) After changing a cue in a calendar list the standby cue is
recomputed in case the time field was changed on the edited cue.
7) ShowMan now checks for any difference between the internal high-
resolution time of day counter and the lower resolution system time
value. If a major change is noticed (typically due to a daylight
saving time change or manual time change) ShowMan's internal time
will be changed to match. If a slow drift is noticed due to a
difference in the counter frequency, then a slow correction will
be made to adjust the time without disturbing the show.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.66 TO VERSION 2.0.67
=============================================
1) Some buffers were too small, possibly resulting in crashes or cues
coming up missing with very long path strings to get to the show.
2) The joystick buttons are now debounced better. Previously they were
sampled every 30ms, and the values simply used. Now they are
sampled every 20ms, and the button state must be constant for two
sample periods before the new button state will be used.
3) Eliminated key repeat for the function keys. This should end
problems with firing a cue multiple times.
4) Added separate settings to the List Configurator for initial list
open/closed state and initial window displayed state. This will
eliminate problems with windows that are initially closed opening
minimized.
Note: You will have to run list configuration on all of the closed
windows and set them to 'Displayed' instead of 'Minimized'.
5) On new show setups, eliminated the default Group 112 response for
ShowMan as this is almost never used and confuses the device
manager listing with unneeded data.
6) Cuelist windows are no longer made active when the cuelists go open.
This solves a problem where the operator entered an F12 to the show
window (or a master list window) and the cue fired opened another
cue list and changed the focus for the next F12. Now the focus will
remain where it was, so there shouldn't be any misdirected cues.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.65 TO VERSION 2.0.66
=============================================
1) Fixed a possible crash if the device table file somehow becomes
corrupted.
2) Fixed a value conversion error that caused cues with 32KB of MIDI
data to fail to load.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.64 TO VERSION 2.0.65
=============================================
1) It was possible to enter 'impossible' time values into the calander
list cue start times. This is now caught and an error message
given, rather than having a cue that will never fire.
2) The Cuelist Settings dialog could erroneously stop the clock on a
calander cue list. This error has been removed.
3) The cuelist window now shows the name of the current active path
in the title bar.
4) The cue editor shows both the list and path name in the title bar.
5) After editing a cuelist that had been opened with the Open Cue List
menu item, the list would be minimized. Now it will remain shown.
6) Cuelist windows and the AB live control windows were often opening
behind other windows instead of in front. This has been fixed.
7) "Open Cue List" and "Close Cue List" message descriptions no longer
have a redundant "List List".
8) Similar fix for open cue path and close cue path.
9) The Play buttons 1-8 in the AB live fader control now track the
actual track play state of the box. Previously only channels 9-16
tracked the box state.
10) Modified the AB live status window to be kinder to midi mergers by
reducing the amount of data returned from the AB. The somewhat
slows the update response, but results in far fewer trashed input
messages.
11) The AB live monitor window no longer locks up the user interface
for short periods of time. This caused problems with displaying
calendar lists.
12) Playing channel 1 with the AB live faders would play all tracks,
and stopping channel 1 would stop all tracks. This is now fixed.
13) The track select dialog used to select a live track to play now
defaults the track number to 1 (as previously) and the stop track
number to 2 rather than 0.
14) Adding a list to the show by changing the number of lists in
Show Config now correctly adds the next available list number,
rather than skipping one list number as it has been doing.
15) Attempting to add a device when another device was using the same
MIDI ports and device id would sometimes fail silently rather than
complaining about a duplicate device. The device configurator now
properly complains in this case so you know there is a problem.
16) A cuelist created with the default list name showed the path name
in the cuelist window instead of the list name. This worked for
shows imported from Stage Manager, but was confusing for new shows.
ShowMan will now show the list name in the title bar, unless the
list name is the default and the path name is not the default, which
will typically only occur in an imported show. If the list name is
shown and the current path is not path 0, the path name will also
be shown in the title bar.
17) You can open a show by dropping the show directory or a file in the
show directory on the main window.
18) The main toolbar is now floatable and resizable.
19) If the current cue in the cue editor is completely blank (because
you started to create a new cue and didn't, or stepped off the end
of the cue list with the "Next Cue" button), hitting the Done button
will no longer complain that the cue number is invalid, it will just
quietly exit the editor.
20) A calander cue with no masking in the time field didn't fire at the
right time. This is now fixed.
21) Fixed a problem in the AB live monitor panel code that could cause a
crash on exit from ShowMan on a fast machine.
22) A trailing null line in the registration file could make it invalid.
The trailing line will now be ignored.
23) There is now a "freeze all clocks" check option in the Clock Control
menu. Checking this option will freeze all clocks in the show.
This is not a good thing to do while the show is running. But it
can be useful when editing calander lists, or show lists that will
close themselves or do other bad things while the clock is running.
When the clocks are frozen there will be a blinking red message in
the bottom status bar.
24) Fixed a minor bug that caused the current time display in a calander
list to update more often than it needed to.
25) Under some circumstances a cuelist could be closed and still have
some queued commands to fire, and not get those commands purged as
they should have been. This could cause strange results when the
cuelist was reopened. The remaining messages will now be purged as
they should be.
26) It should now be impossible to drag the title bar on a list window
up to the point where it is not accessible.
27) When the clocks are frozen, a cuelist window will not "snap back" to
the current standby cue when closing the cue editor. Instead, it
will remain scrolled where it was. It will snap back to the current
standby cue when the cue editor is closed and the clocks are unfrozen.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.63 TO VERSION 2.0.64
=============================================
1) Calendar lists are now referred to consistantly by this name.
Previously the New Show wizard referred to them as "Date/Time"
lists.
2) If an attempt is made to display a Calendar time of 0 (which is
invalid) the display will now be "Dawn of time!" rather than
garbage. This would still represent a bug, but at least it won't
be garbage.
3) Under some circumstances a Calendar list could be instantiated for
the first time (when creating a new show) with the clock stopped,
which should be impossible. This led to the garbage time display
described above. This is now fixed.
4) Added SMF import to ShowMan I.
5) The function keys such as F4 now work when in the MIDI Editor.
6) In ShowMan I, the AudioBox monitor window now handles function keys
correctly. The AudioBox Levels window in ShowMan I, and both
AudioBox windows in ShowMan II already handled function keys.
7) Deleted the original (and no longer accessible) AudioBox editor
from the source base.
8) Removed the remains of "Preset" setup stuff from the current AB
editor windows.
9) Removed the commented-out remains of Preset logic from the internal
AB command processing classes. Also deleted several other ancient
commands no longer supported by modern AudioBoxen.
10) Updated the AB command table in the internal control classes to the
latest spec.
11) Updated the Delay editor to latest spec, including delay in samples.
12) Updated the EQ editor to latest spec, including params on end of
the Set EQ Coefficients message. Fixed bug in Set Bandcount.
13) Updated the IO gain editor to latest spec. Added Set Xpoint Phase.
14) Minor updates to the Set Matrix Row editor.
15) Minor updates to the Set Submaster/Controller editor.
16) Joystick All-Off (and Restore and Reset) were not properly sending
messages with the device-id and command-format fields of 7F, but
instead just sending to the ShowMan id and command format 10.
This resulted in the joystick all-off not stopping an AudioBox.
17) Major redesign of the AB Setup editor.
18) Eliminated BeOS compatability code since BeOS is dead now.
19) Changed Reset (shift-F4) from the keyboard to send a Reset out the
show default MIDI port. This should make it easier to control
external devices in sync with Showman.
20) Changed the standard MIDI note/controller editors to not arbitrarily
replace a message description entered by the user with the default
description of the message.
21) The AB Monitor "play" command now does a Play Track Group to start
all of the channels at once.
22) The AB Monitor "stop" command now sends the STOP command with the
right parameters (ie: none) to stop all tracks at once.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.62 TO VERSION 2.0.63
=============================================
1) Fixed a problem in the 'new show' setup pages where if you went back
from the midi port selection screen and then forward again, the list
of input and output midi ports in the droplists would be duplicated.
2) Fixed an annoyance in the MSC editor where the first time you set
the command the correct cue/list/path windows would not be enabled.
3) Added the missing "separated by spaces" verbage back into the MTS232
editor panel.
4) Fixed a similar problem in the generic sysex editor.
5) Added the ability to import Standard MIDI Files. This works very
much like capturing MIDI data. Under the Edit menu, select
"Capture SMF File". This will bring up a dialog where you can enter
the name of the file to import, and select the list to create the
resulting cue. Just like capturing MIDI data.
6) Fixed a large number of places in the new show wizard and the show
configuration page where the sequence clock source options of
"cuelist clock" and "MTC" were reversed.
7) When creating a new show, the cue windows would initially come up
annoyingly small. This has been imprroved.
8) Fixed a crash when importing a show from a different system with
different MIDI ports declared.
9) Now handle cuelist windows correctly that are positioned somewhat
to the left or above the main window area when reloading the show.
Previously these had a nasty habit of disappearing.
10) Now validate that windows are contained at least partially within
the main window area when loading a show. If not, they are moved
into the main window area.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.61 TO VERSION 2.0.62
=============================================
1) Fixed an oversight in device configurator that would crash when
setting up a device that used the default show input or output
MIDI port.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.60 TO VERSION 2.0.61
=============================================
1) The joystick settings were not getting loaded correctly when a show
was loaded. So the joystick had the default configuration until you
went into joystick config and clicked the OK button.
2) Fixed a potential crash when shutting down or reconfiguring devices
when using the joystick.
3) The names of the MIDI ports on the system are now saved when you
add or modify a device in the device configurator.
4) When you load a show, the names of the midi ports in use by each
device are checked against the current midi port names on the
system. If the port numbering has changed so that the original
midi port with a given name now has a new port number, the port
numbers for the devices are updated automatically. This should
now make adding and removing midi ports (not used by a show)
transparent; you won't have to update the port numbers for the
devices.
If you load a show and a device which was inuse cannot be found by
name, you will get a popup message when loading the show, telling
you to check in device configurator. When you select the device in
the device configurator you will see an error message showing the
original midi port names. You can now select new port names that
will perform the same function. This would normally happen when
moving a show to a new system or after changing to a new sound card.
5) Updated the copyright dates in the splash screens and about box.
6) When starting ShowMan with an expired licence, a really obnoxious
multicolor splash screen comes up for 30 seconds, reminding you to
renew the show licence. This screen cannot be dismissed until the
end of the 30 seconds.
7) Updated all copyrights to 2002.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.59 TO VERSION 2.0.60
=============================================
1) Fixed a problem where the SMPTE audio input and output ports were
not getting initialized when a show was created, which could lead
to complaints about not being able to open the output port.
2) Added a Global MTC Chase flag to the Clock Control menu.
When checked, this sets Chase Mode rather than Follow Mode for all
lists that are locked to MTC. In Chase Mode, if the timecode jumps
by more than 20 frames in either direction, ShowMan will search for
a new standby cue that better matches the new timecode value.
The search is done starting with the current standby cue and
searching forward or backward, depending on the direction of the
timecode skip. This should normally find the correct new standby
cue even if the cuelist is not in strict time sequence.
The MTC Chase flag is NOT saved with the show, since the intent is
that it will normally be used during rehearsals, and disabled for a
normal performance.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.58 TO VERSION 2.0.59
=============================================
1) Somehow a line of code got lost in version 57, resulting in the
device list file not containing any devices. This has been fixed
so device declarations will be properly saved. However, device
declarations will have to be regenerated by hand (replacing the
automatically generated 'default device declarations') in any case
where they have been lost.
2) In the MTS-232 device editor, set the default port number to 1
rather than 'no port selected'. Since the Eshow MTS-232 device
only has a single port, this speeds setup a little.
3) When you create a cue in the cue editor and click Done without a
Save first, the cuelist window could get screwed up. This is fixed.
4) Clicking Done on a partially constructed cue with no messages would
insert the bad cue into the show, although it would be discarded
when the show was reloaded. Now you will be given a chance to fix
the cue or discard it from the editor.
5) The standard MSC device editor no longer lets you select the command
format, as this is set by the device you select to create a command
for. The command format will be set automatically when the device
and command are selected.
6) Problems with the 'existing messages' editor getting out of
sequence between the descriptions and the actual messages it
creates have been eliminated. Also, the message list is now sorted
alphabetically, Also, previously messages with no description text
were not included in the list. Now they will be included with a
generated description of the command. A side effect of this change
is that shows with a very large number of unique messages will load
slightly faster.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.57 TO VERSION 2.0.58
=============================================
1) Modified the formatting code for the calander lists so that when a
cue fires it should now always show the next time to fire, not the
last time it fired.
2) Removed some erroneous rounding that could have caused calander cues
to not always fire when they should have. This should improve the
reliability of capander cues firing.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.56 TO VERSION 2.0.57
=============================================
1) No longer initialize Winsock at startup. This was causing the
AutomationDirect drivers to fail initialization.
2) Fixed a bug in the device configurator where it would stop showing
devices if it encountered an invalid device.
3) Fixed the devicelist storing code to discard any invalid devices so
that they will not continue to confuse things.
4) Cuelist windows that get resized now stay the right size when
editing cues in the list.
5) The show window now displays correctly when creating a new show
with multiple lists. Previously it would sometimes hide.
6) Problems with the PLC monitor setup panel failing to save condition
changes occasionally have been fixed.
7) The PLC monitor panel has been renamed to make it a bit more
obvious what it is supposed to do.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.55 TO VERSION 2.0.56
=============================================
1) Fixed a memory corruption problem that could happen when editing a
cue, or possibly when capturing a cue. This should eliminate
problems with occasional crashes on W2K when saving edited cues.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.54 TO VERSION 2.0.55
=============================================
1) The MSC editor now displays the macro number correctly when editing
a FIRE command.
2) In SM II, if you had a licence for less than 128 lists, the timecode
generator would not get opened properly.
3) Added a selection to the Show Config to set the timecode generator
list number in all versions. In SM I the timecode generator
defaults to list 0 for compatability with old shows. In SM II it
defaults to list 128. Once the show is saved in either version,
the saved list number will be the same in both versions. The code
to select a default list number is only used when no list number
has been set.
4) ShowMan II now displays the same show configuration window for any
number of lists, rather than a separate window for single list
licences. This is because it displays the list config window in
all cases. ShowMan I did not display List Config for a single list
licence file.
5) Fixed a long-standing memory leak in MIDI shutdown.
6) MidiShowCD emulation works in ShowMan II.
7) The AudioBox live fader control and monitor panel are now present
in ShowMan II.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.53 TO VERSION 2.0.54
=============================================
1) Changed the code that purges the remaining sequences when a list is
closed to wait until all sequences that will fire "now" have been
executed, then purge any delayed sequences. This allows a cue to
close its own cue list, and then open another cue list, all in the
same cue. The only requirement is that there must be a zero frame
delay between all of the messages after the Close Cue List that
closes the current list. The previous code purged the remaining
messages when the list close message was processed, so any following
messages in the same cue would have been lost.
2) The MIDI editor now checks after testing a cue to see if the cuelist
is still open. If not, a popup message tells you that the list went
closed.
3) The MIDI editor checks when you press Test Cue to make sure the
cuelist is still open. If it itsn't, it tells you you can't fire
the cue rather than attempting to fire it with no results.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.52 TO VERSION 2.0.53
=============================================
1) Fixed a case where opening a cuelist tried to remove messages from
the list of things to be fired. Also properly locked around this
remove (which is only supposed to happen on a list close) and a
couple of other places locks were missing. This should resolve one
crash/hang situation at Sam's Town.
2) Fixed a problem that could occur when a list closed itself by
sending itself a Close_Cue_List MSC command. This could potentially
result in memory corruption that would usually be detected at a
much later time (as a crash).
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.51 TO VERSION 2.0.52
=============================================
1) Changed the calander time entry fields to drop down and show all
possible time selections when you are editing the time field in a
calander cue. They hide again and only show the selected time
after editing is complete.
2) Added a button to the calander time entry to mask all of the time
fields. At least one digit will have to be unmasked after this to
create a valid time entry.
3) The MSC Stop command will stop all currently playing cues, either in
the specified cue or in all cues in a list or in all lists,
depending on the parameters. Note that the STOP command does NOT
stop the clock for the cuelist or close the cuelist, so more cues
can still fire in the future. It merely stops those cues that are
currently playing.
(This was actually implemented a few versions back, but I neglected
to update the documentation.)
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.50 TO VERSION 2.0.51
=============================================
1) Rewrote the MIDI message handling class to check for possible
buffer overruns since this could be related to the crashes in the
Sam's Town show. So far haven't been able to duplicate the crash
or track it to the original cause.
2) Fixed a problem in Cuelist Config where it treated open/visible
lists as open/minimized when loading the control settings.
You need to adjust the cuelist settings for any lists coming up
minimized that should be opening to normal size.
3) Fixed a problem where 'standby top of show' wasn't restoring list
windows to the correct visibility state for the top of the show.
4) Put locking into the midiport write path to make sure that multiple
writers can't stomp on each other. This may fix the Sam's Town
problems.
5) Fixed an occasional hang that could occur during a reset or when
exiting ShowMan. This was most common in the debug version of
ShowMan II, but could occasionally happen in the release version too.
6) Fixed a problem with Show Config not showing the number of lists
when the MTC Generator (list 128) is enabled.
7) Creating a new show now displays the show windows correctly without
having to reload the show before they will display.
8) Calander cues now update to the next fire time and move to the right
place in the list in time order after firing. (Note this will only
happen if the cue fires normally. If you fire the cue early with
F8 or F12, the cue will retain the original fire time, and will in
fact fire again at the time it should have fired.)
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.49 TO VERSION 2.0.50
=============================================
1) Patched around a W2K bug with not preparing MIDI headers correctly
that would result in processing an input message multiple times.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.3 TO VERSION 2.0.49
============================================
1) Bumped build number to match that of ShowMan 1 to make life easier.
2) Moved the timecode generator to list number 128. It remains at
list 0 in ShowMan I.
3) Fixed a lockup that could happen when you created too many lists
on a slow processor.
4) Made sure you can't try to edit cues in the timecode generator list.
5) Fixed several problems with generating a display of a masked time
field. This makes calander lists display correctly now.
6) Speeded up the calculation of the display value for masked times,
and speeded up the compare for equal time. This increases the
number of calander lists that can be running at once on a puny
computer.
7) Eliminated a check for MTC lock in calander list display, and
also fixed a bad flickering problem displaying calander lists.
8) Fixed a problem where cues containing standard MIDI messages always
showed as modified in the editor if the cue had been created by
importing a show.
9) Fixed the problem with the MIDI octave numbering starting at A
instead of at C.
10) A path name in an smpath.n file that is the same as the name of the
show directory will no longer complain that it can't find the path.
11) If a show path cannot be found for a cuelist, the cuelist number
and name are now displayed along with the path name.
12) Fixed another case where messing with the show layout before
importing the show could end up duplicating the show paths.
13) Importing a show now opens the show windows correctly. You no
longer have to reload the show after importing it.
14) The show windows are now displayed correctly when loading the
default show.
15) The timecode generator now displays in the status line like it does
in ShowMan I.
16) Calander cue time entry would erroneously complain about a bad time
value if you had a day of month like "=1". This is fixed.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 2.0.2 TO VERSION 2.0.3
===========================================
1) Fixed it so windows open correctly when importing or loading a show
from other than the "recent shows" list. (It worked form the list.)
2) The show window position and size is now saved and restored.
3) Reopening a show now reopens all of the windows that should be open
even if they were closed at the time the command is given.
4) The timecode generator will no longer erroneously display a cuelist
window instead of a timecode generator window.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 1.2.40 TO VERSION 2.0.2
============================================
1) The source files have been normalized between ShowMan I and
ShowMan II.
2) Fixed a problem with the joystick handler not terminating correctly.
3) Fixed a problem with the midi port not terminating threads correctly
if they do not end themselves cleanly.
4) The version checking was changed to allow major version numbers of
the program that are higher than the config file version. This
lets current shows and licences run. We may want to change this
back later.
5) Added the showman icon to the project.
6) Added OnUpdate handlers to grey out menu items in mainframe that
aren't valid without a show present.
7) Changed all the concurrent->show->HaveShow refereces to use the
concurrent->HaveShow function added long ago.
8) Temporarily eliminated the toolbar buttons to get to the AB live
panels since they don't work yet.
9) The window tiling and cascading code now arranges the windows in
list number order.
10) Fixed a formatting error in the MSC editor on formatting macro
numbers.
11) Changed cuelistview to format the current path rather than "LIST n"
for the cuelist name in the title bar. This is more like what
Stage Manager did.
****************************************************************************
****************************************************************************
CHANGES FROM VERSION 1.2.46 TO VERSION 1.2.47
=============================================
1) Fixed erroneous "Press F10" that should have been "Press F12" in
the new show setup wizard.
2) Restructured the internal development environment to make the
directory structure common between ShowMan I and ShowMan II. This
makes it possible to maintain common source files for virtually all
of both projects.
3) Normalized the files between SM I and SM II. This propagates all
of the changes in the last couple of years into the SM II source,
and back-fixes some SM II changes into SM I. There is a small
chance that this may have resulted in loosing a fix or two somewhere
or other in SM I, but this is unlikely.
4) Fixed a problem with the joystick handler not terminating correctly.
5) Fixed a problem with the midi port not terminating threads correctly
if they do not end themselves cleanly.
6) The maximum number of cuelists that can be selected is properly
limited to 32, even if the key file allows a larger number. This
showed up in new show creation and in list configuration.
7) Broken debug code in the midi port handler has been fixed.
8) Repaired broken termination code in the midi port routines.
9) Fixed a problem with long message capture that caused capture to
fail on messages over about 256 bytes.
=============================================================================
CHANGES FROM VERSION 1.2.45 TO VERSION 1.2.46
=============================================
1) Fixed a number of possible crashes in the PLC Configuration panel
if you didn't have a PLC configured in the show.
2) Added hourglass cursors to a number of places where internal
operations could take quite a while. The most notable places are
when exiting the system config dialog, when modifying a device in
the device configurator, and when exiting the program or loading
another show. In most cases these delays are occasioned by closing
all of the midi ports, which can take a while.
3) The PLC editor sometimes would fail to construct a valid message
unless you fiddled around a bit. This is now fixed.
4) Updated all copyright notices to include 2001, what with it being
a new year.
=============================================================================
CHANGES FROM VERSION 1.2.44 TO VERSION 1.2.45
=============================================
1) FINALLY (I think!) have all of the assorted possible crashes
cleaned up that could happen when closing a MIDI port or when
shutting down. This also fixes a possible tiny memory leak that
could occur if you didn't get a crash instead.
=============================================================================
CHANGES FROM VERSION 1.2.43 TO VERSION 1.2.44
=============================================
1) Finished the PLC Monitor Configuration dialog. This dialog now
allows you to set up monitor conditions on a PLC so that you can
detect and act on various input condition changes in the PLC.
2) Added a Save Show As command to the main file menu. This is really
the same as Export Show, but more people will likely be able to
figure out what this command does.
3) Changed some of the messages associated with Export Show to make it
more obvious that you are really just saving the show under another
name.
4) Changed some code to hopefully eliminate crashes when exiting when
many midi devices are in use. This might make closing a show or
exiting ShowMan take considerably longer than previously in some
cases.
5) Changed back to static libraries rather than DLLs. Yay!
=============================================================================
CHANGES FROM VERSION 1.2.42 TO VERSION 1.2.43
=============================================
1) Changed the AB EQ editor to not pop up an annoying message when the
eq parameter ranges are exceeded. Instead the offending field is
corrected to the nearest valid value and colored red to indicate
that it was modified.
=============================================================================
CHANGES FROM VERSION 1.2.41 TO VERSION 1.2.42
=============================================
1) Recompiled using the system MFC DLLs rather than statically linking
to the various support routines. This fixes problems with running
some of the miditoys on Win 2000. It might also cause problems
with running ShowMan on NT 4 or Win95/98 systems with very old
copies of the system DLLs.
2) The list name tab now includes the current path number as well as
the list number and name. Multi-path shows will make more sense.
3) Fixed a problem limiting the count field in the AutomationDirect
editor to 7 rather than 16 as it should have been.
4) Joystick input works again. It was accidentally broken in the last
version.
5) Removed "Presets" from AudioBox editors since they have been removed
from the AudioBox itself.
6) Removed preset handling from internal AudionBox driver class.
7) Fixed problem with MTC Cueing editor not correctly handling the
hours field of existing timecode messages.
8) Fixed problem with creating useless "dummy devices" in many cases
where the actual device has non-default midi ports.
9) Changed midi message formatter to decode sysex messages a little
more obviously in some cases. This only affects newly created
messages, such as from MIDI captures.
10) If the last message in a cue is an MMC command, going to the next
cue no longer complains about an unsaved change on the current
message, and end up duplicating a message if you select OK.
11) General problems with complaining about unsaved messages when the
cursor is on the blank line at the end of a cue seem to be generally
solved, at least in most cases.
12) The AudioBox Set EQ Band Count message was generated incorrectly.
It is now correct.
13) The midi sequences history editor no longer repaints unnecessarily.
=============================================================================
ShowMan v1.2.41 Release Notes
This is the 37th or so commercial release.
This version fixes a number of minor bugs and inconsistancies in several of
the various device editors and some of the AudioBox control panels.
It adds the ability to specify an input MIDI port for any device (as well as
the previously available output port specification). This is a preliminary
to providing input monitoring on PLC-205 hardware in the next version.
Finally, a Smpte LTC generator has been added to the MTC Generator function.
When MTC timecode is being generated by the MTC generator, Smpte LTC
timecode will simultaneously be generated out both channels of a stereo
sound card output. Typically there is only one stereo output on a cheap
sound card, but more advanced cards can have multiple output pairs. There
are show configuration options that allow you to chose whether or not to
have LTC output, and to chose the sound card outputs to use.
=============================================================================
CHANGES FROM VERSION 1.2.40 TO VERSION 1.2.41
=============================================
1) Fixed a problem with AudioBox live panels not working correctly
with non-default midi ports for the boxes.
2) The ab live control panel now shows play state for an AB1616
correctly.
3) The AB delay setting on the live control panel is now correctly
in milliseconds rather than seconds. Much more useful!
4) A problem in the PLC-205 editor with creating the wrong address
in the message occasionally has been fixed.
5) Fixed a problem in the PLC-205 editor with the corrupting data
value sometimes when switching from hex to decimal.
6) Fixed a problem with switching show input or output ports if the
new output port was the same as an output port used by a device.
In this case the input port didn't get opened.
7) The AutomationDirect panel now formats addresses in Octal, counts
in Decimal, and data in Octal, Decimal, or Hex. This makes it MUCH
easier to interface to the PLC, which uses the same conventions.
8) There is now a Smpte timecode generator in the MTC generator. The
Smpte code will be generated to a standard sound card output on
both output channels. You can pick which sound card outputs to use
in the System Configuration panel, and also select whether to
generate Smpte at all.
By default with older shows Smpte timecode will be generated to the
first (and probably only) sound card. If this is undesirable the
System Config will have to be changed to turn the Smpte generator
off.
9) The Device Configurator lets you select input MIDI ports for the
various devices. Currently all MIDI input ports are merged into a
single input stream. The only place currently where it is important
to select a correct MIDI port is with a PLC-205 ECOM or EBC where
you want to monitor input changes.
10) ShowMan finally has a real icon of its own, rather than "MFC".
11) The various config dialogs have been reshaped slightly for better
visual consistency and ease of use.
12) The disk maint functions previously in the System Configuration
dialog have been moved to their own Disk Configuration dialog to
make room for more things in the sys config dialog.
13) Existing MTC Cueing commands are now properly recognized by the
MTC Cueing editor.
14) The MTC Cueing event number field is no longer enabled on commands
that don't have an event number.
15) Fixed a problem with importing single-list Concurrent shows.
16) Fixed a problem with saving imported shows that have old hardware
cues in the show.
=============================================================================
ShowMan v1.2.40 Release Notes
This is the 36th or so commercial release.
This release fixes a major problem inadvertantly introduced in version 39
which resulted in show files that were not backward compatable with earlier
versions of ShowMan. Version 40 will repair any such shows damaged by
version 39 so that they will again be backward compatable.
In addition, a number of minor bugs have been fixed in various device
editors that resulted in the messages created by the editors not necessarily
being flagged correctly with the device info for the message. This, along
with another problem (also fixed) could cause problems when there were two
identical devices declared (identical device type and id fields) on separate
MIDI output ports. The problem was that all of the messages would end up
being sent out the first-declared MIDI port, regardless of which port they
should have gone out. This problem should affect very few shows, as the
ability to have duplicate device declarations has only been available for
a few releases.
Any show which may have this problem will require manual examination, as
ShowMan will not know which device the messages for the duplicate devices
were originally intended for.
Simply edit any cues which may have a problem, and if necessary reselect
the correct device for any messages routing to the wrong device. Remember
to Replace the message being edited in the MIDI Editor, then Save the cue.
After this the information will be remembered correctly in the future.
Any show that did NOT have two or more identical devices on separate MIDI
output ports does not have a problem.
Additionally, some enhancements were added to the AudioBox editor and
control panels to take advantage of the 16 playback channels on an AB1616
device. This means that it is now possible to select Playback on channels
1 to 8, even if the device you are controlling is a 1616HD which does not
support playback on these channels. It is the show programmer's
responsibility to not select functions that are not available on the
target AudioBox.
=============================================================================
CHANGES FROM VERSION 1.2.39 TO VERSION 1.2.40
=============================================
1) Fixed a problem in the cue editor where it didn't think a cue
changed if you just changed the device on a message in the cue.
2) Backed out the cue format changes in the last version, since this
broke backward compatability with earlier versions. Any shows
saved on version 39 should be re-saved on this version to
restore the older cue data format.
3) Changed the way devices are stored to insure that two seemingly
identical devices on separate midi output ports are treated
correctly as separate devices. This again fixes a problem where
all messages for almost-identical devices ended up being routed to
to the first-declared device.
As a result of this change, any show that has two identical devices
(including the device ids) on separate midi ports will need all
messages for the duplicate devices re-saved in the cues with the
device selection set correctly.
4) Reorganized the buttons in the midi editor to make them easier to
use, hopefully.
5) Fixed the following device editors to correctly set the device id
in the message:
Flying Pig Hog2
ETC standard MSC
Alcorn Binloop
Alcorn Show Control
MMC commands
Richmond AudioBox editors
Status Cue Cuelist Mode
Status Cue Song Mode
6) The High End Systems editors now show "HES " in the title tab.
7) The AudioBox Set Stop Notification message now parses the
notification device id correctly again.
8) The "existing messages" editor now shows the actual description for
each message, and shows them in alphabetical order. This makes it
a good deal easier to find an existing message to use in a new cue.
9) An old problem where an existing description would not be changed
to the correct message description when you replaced an AB command
with a channel note message has been fixed.
10) Modified the AB Playback editor to allow all 16 playback channels
to handle the AB1616. It is up to the user to not request playback
channels that don't exist on an AB 1616HD system.
11) Selecting a midi message from the Existing Messages editor should
now be selecting the correct message in all cases.
12) The AB Live volume controls now allow playback of all 16 channels
if you have an AB1616.
13) Changed the AB monitor panel to allow all 16 playback channels.
14) Fixed the AB monitor to correctly monitor track playback status on
and AB1616 as well as a 1616HD.
15) Checked the AB "Set Device Id" command, which was reported to fail.
Doesn't appear to have any problems. Perhaps the user forgot to
send the first Set Id command to address 7F rather than to the
desired new id for the box itself.
16) The Device Configurator for standard midi notes/controllers
devices now allows you to specify a program change range of 0-127
or 1-128, and a controller number base of 0 or 1. This should make
it easier to deal with Japanese equipment.
=============================================================================
This is the 35th or so commercial release.
This version contains new editors for DOS Commands and for controlling the
Artistic Licence "DMX Dongle". In addition the Automation Direct PLC-205
editor has been considerably enhanced for ease of use.
In conjunction with this release are four Midi Toys, two of which were
previously released:
MIDI_PLC_205
MIDI_PLC_205_SAFEIO
MIDI_DOSCUE
MIDI_DMX_SIMPLE
The PLC 205 and PLC 205 SafeIO devices both control the same Automation
Direct PLC 205 and PLC 405 family processors, using either an ECOM module
to talk to an actual PLC processor, or an EBC to drive the IO devices
directly from ShowMan. The same PLC-205 editor is used in either case.
The difference is that the SafeIO driver locks out direct access from ShowMan
to any of the digital and analog output pins on the PLC. Thus, the PLC
program can be used to create a safety network, where the show controller
(ShowMan) can only request functions, for instance by setting control relays
or writing values to PLC memory. It is up to the PLC program to determine
if it is safe to act on these requests and actually change output state.
Since direct access to the PLC outputs is locked out from the show
controller, no accidental or malicious cue can cause an output to fire in
an unsafe manner.
The normal PLC 205 driver does NOT lock out direct access to outputs. This
would be used in almost all cases with an EBC module, since there is no
actual PLC processor to activate the output pins. It could also be used
with an ECOM module if the safety lockout features were not required.
The two drivers have separate licence keys to insure that the wrong driver
cannot be accidentally loaded for a show system.
The DosCue driver is used to fire command lines and command scripts on the
system. This lets external programs be controlled simply from ShowMan cues.
Because a Midi Toy driver is used instead of directly firing cues and
scripts in ShowMan, it is possible to fire DOS commands and scripts on any
machine in the network when using NetMIDI.
The "DMX Simple" driver is a little more complex than its name might imply.
Essentially instead of dealing with "Looks" where you specify the final
levels for all channels, you specify "fades", where you specify levels for
only the channels that you want to move, and optionally give a fade time
(up to 24 hours) if you don't want an instant change. You can have any
number of fades running at the same time, all possibly with different
completion times. Any channels you don't specify in a fade will remain
unchanged, or will continue to move as a result of other running fades.
While you specify the channels and optional time for a fade, you don't
give a fade start time, or have any autofollow capability with a fade.
But this is OK, because that is what ShowMan itself is for! You fire
each fade from a ShowMan cue when you want the fade to start, and you
can likewise fire any follow-on fades when they should fire.
While you don't have to, you can specify a "fade number" of 1 to 127 on
any fade. (By default fades have a fade number of 0, which is "no fade
number".) If you give a fade a fade number, you can pause and resume
the fade before it completes, or alternately cancel the fade completely
before it ends. If there is more than one fade with the same fade number,
all of the fades with the same number will start, stop, or cancel at the
same time when requested. Fade numbers can be reused as often as you
want in a show, you don't have to give every fade a separate number.
Just remember that all fades currently running and having the same fade
number will pause, restart, or cancel at the same time!
Another part of the "simple" is the way you specify a lighting fade.
You simply type in the channels and levels in a compact form, very
similar to how most LDs do it on almost any lighting console around.
A typical fade might be entered as "1-12@53" to set channels 1 to 12
to 53%. A more complex fade could be "47-56/50,81,82@20,40@50 T1.2".
This fade will fade channels 47 to 56 (except channel 50), plus
channels 81 and 82 to 20, and will fade channel 40 to 50, all in 1.2
seconds.
The parts of a fade description are:
Fade number: F number or nothing (number = 1 to 127)
Channel number: number, 1 to 512
Channel range: number-number (second number >= the first)
Channel list: number, number, number...
Except channels: /number or /number-number
Level: @number (number is 1 to 100, in percent)
Binary level: @&number (number is 0 to 255)
Relative level: @+number or @-number (percentage + or -)
Preset spec: P number (number = 1 to 127)
Fade time: T seconds[.tenths]
or: T hh:mm:ss.tenths
Any of the above items can be separated by commas or spaces, which will
otherwise be ignored. So for instance you could enter "F12 25@40" or
"F12,25@40" for the same result. You only need a comma or space where
the numbers would otherwise be ambiguous or incorrect. "F1225@40" is
incorrect, because there is no way to determine which part of "1225"
is supposed to be the fade number, and what part is the channel number!
A fade can be entered very quickly using the numeric keyboard. To make
numeric keyboard use easier, the "*" key can be used for "@" when giving
the level.
By now someone should be asking "what happens when I do two fades at the
same time and give the same channel number?" I'm glad you asked! The
Simple DMX protocol handles this a little differently than most current
light boards. It is neither HTP nor LTP. Instead, the fades ADD. To
see how this works, you need to understand how a fade actually works.
A fade specifies a set of terminal levels which should be reached at the
end of the specifies fade time. Depending on the current levels of the
channels being faded at the start of the fade, each channel may fade up,
down, or possibly remain the same. The distance the channel will fade
depends on how far the current level is from the target level for that
channel. For instance if you are fading all channels to 50%, a channel
at 0% must move 50 points higher, and a channel at 90 must move 40 points
lower. A channel at 50 would not move at all, and one at 51 would only
have to move by a single point.
Once we know how far each channel must move (and what direction) the
next question is, how quickly must we get to the final value? When a
fade is running the MDX outputs are being updated with new levels
continuously, 25 times per second. If a fade takes one second and a
channel has to move 25 points higher, it will move one point higher in
each "frame" of DMX data. If a channel only has to move 1 point higher
in one second, it will move 1/25th of a point in each frame.
So when you start a fade, what happens is the following:
1. Determine how many points each channel has to move from current.
2. Determine how many frames the fade will take.
3. Divide each distance to move by the number of frames to get the
number of points to move each frame.
4. Add these values to the "master increments" that are added to
all channel values on every frame.
5. On each frame of the fade, increment the current values of all
channels by the master increments, and send the result to the
DMX outputs. Also decrement the number of frames remaining in
each running fade.
6. When a fade completes (the number of remaining frames counts
down to zero) subtract the fade increments for that fade from
the Master Increments.
Most of the time the "master increments" for all channels are zero,
since the channels aren't fading. Any channel that is fading will have
a non-zero master increment value. If it is positive the channel will
fade up, and if it is negative the channel will fade down.
If you do two fades on the same channel, each fade when it starts
calculates an increment that will get the channel to the desired level
at the end of the fade, based on the current level. Both of these
increments will be added into the master increment for the channel.
The end result is that channel will fade at a rate that is the sum of
the two simultaneous fade rates. This lets you build some very
complex fade profiles by simply layering multiple fades on top of
each other.
CHANGES FROM VERSION 1.2.38 TO VERSION 1.2.39
=============================================
1) Fixed an assortment of bugs (sigh) in the AudioBox editor panels.
2) Testing a cue in the midi editor wouldn't work if the sequence
timing for the cuelist being edited was set to cuelist clock, and
the cuelist clock was stopped. (Or if the sequence clock was MTC
and no MTC was present.) Now the sequence clock for the cuelist
will be forced to system timing for the length of the cue test.
3) The hotkeys and hotkey descriptions for Global MTC On and Global
MTC Off were screwed up. Global MTC On (Lock) is Ctrl+L and
Global MTC Off (Unlock) is Alt+L.
4) Fixed problem in AB Live crosspoint control panel.
5) Fixed a problem with the New Show wizard setting the sequence clock
source to the wrong value.
6) Fixed a problem with not correctly differentiating between identical
device declarations on different midi output ports. This would
cause all messages for any of the devices to go to the first-
declared device, and the wrong output port.
7) Changed the default sequence timing to internal clock from cuelist
clock. This should solve a whole lot of problems that people have
with "why won't the cue fire?"
8) Fixed a problem with storing cues where the midi port number would
get lost if there were two identical devices on different ports.
9) Enhanced the PLC-205 editor to make it specific to the 205/405 PLCs
rather than generic ModBus commands. This will eliminate a lot of
possible errors in programming the PLC.
10) A problem where if you made an MSC "ETC Express" device, and then
clicked on the device under "MSC Devices" in the device
configurator, the device displayed as MIDI instead of MSC, has
been fixed.
11) The "Old AudioBox editor has been removed as there should no longer
be any old audioboxes around.
12) There is a new editor for DOS commands. It will allow entry of
either a single command or a script. The command or script is
packaged into a sysex and sent to a Dos Command MIDI Toy. This
allows command scripts to be run on any machine in the network.
13) There is a new "Simple DMX" editor that allows the creation of
simple, and even fairly complex, lighting control. Currently the
output device for this message type is the Artistic Licence DMX
Dongle. In the future other DMX output devices will probably also
use this message type.
See the separate writeup on how to use this editor. The basic
concept is to create "fades" that specify how channels will move
over time. The device is in essence a tracking console; only the
channels specified in a fade will move as a result of the fade.
All other channels will hold their current levels (or will continue
to fade from other fades).
NOTE! The DMX Dongle is VERY processor-hungry! If at all possible,
limit the maximum number of channels to 64 or less! If more than
128 channels are used on anything other than a blazingly fast P6
system it is likely that overall show timing will suffer badly!
=============================================================================
CHANGES FROM VERSION 1.2.37 TO VERSION 1.2.38
=============================================
1) Fixed some problems caused by Windows 98 forcing all file names to
uppercase. This caused various compares to fail, resulting in
complaints about missing configuration files and show directories.
2) Worked around a compiler bug that could cause midi cues to be loaded
at about 16MB larger than they should have been. Curiously this
only showed up in Windows 98, although it could have trashed memory
under Windows NT also.
3) Fixed a problem from the last version with mispositioning the
window scrolling on calander list displays. This didn't affect the
order the cues were played, but did make it hard to find the
current cue.
4) Added more information to the popups that complain about
misformatted midi cues. This should make it easier to find the
cue in error.
5) Fixed a problem initializing realtime lists that erroneously zeroed
the clock value. This caused the times to be misdisplayed on a
calander list after opening the show.
=============================================================================
CHANGES FROM VERSION 1.2.36 TO VERSION 1.2.37
=============================================
1) Fixed a problem with the WholeHog editor not recognizing valid hog
messages when attempting to edit them.
2) Tightened up the syntax parsing in the hog editor to prevent bogus
cue and list numbers.
3) The cue number in the midi editor is now not validated until you
finish typing the number and move to some other field. This
eliminates complaints about invalid cue number syntax while you are
editing the cue number.
4) The cuelist windows will now keep one line previous to the standby
line displayed in each window, given that there is a line before
the current standby line, and there is room for at least two lines
in the list window.
5) The Expression 2x editor will now allow MIDI macro numbers from
1 to 999, and MSC macro numbers from 1 to 127. The old Expression
editor still limits macros to a maximum of 125.
6) The timecode generator time is displayed in the status bar.
7) Problems with sometimes having a path in the show duplicated when
it shouldn't be have been fixed.
8) Some problems with not being able to find all the paths in the
show after importing a Stage Manager show have been fixed.
9) There is a PLC-205 editor to generate messages for the new plc205
MidiToy that connects to AutomationDirect PLC-205 and PLC-405
Ethernet Base Controllers (EBCs).
10) The device configurator now takes midi channel into account when
checking for duplicate devices. This lets you have device with
the same id strings, as long as they are on different midi output
channels. Note that all devices still require unique names.
=============================================================================
CHANGES FROM VERSION 1.2.35 TO VERSION 1.2.36
=============================================
1) Changed the last hasty kludge to check for cuelist timing on the
sequence clock before checking to see if the clock is running.
Now the sequence clock will only stop if the list clock is stopped.
However, if the list is locked to MTC and MTC has been seen, the
sequence clock will run when MTC is running.
2) Changed the sequence clock stopped logic a little so that time
doesn't accumulate while the list clock is stopped. This will
prevent the entire rest of a stopped sequence all playing at once
when the clock starts again.
=============================================================================
CHANGES FROM VERSION 1.2.34 TO VERSION 1.2.35
=============================================
1) Converted from C++ 4.2 to C++ 6.0 compiler.
2) Fixed a number of random errors, mostly in the editors, that were
found by the 6.0 compiler error detection.
3) Fixed a problem in show registration file reading that could cause
a valid registration file to be ignored, or an invalid registration
file to be processed in place of the correct file.
4) Changed the sequence timing logic to NOT fire sequences if the
clock is stopped. This could quite possibly break existing shows,
and may cause other problems. It really needs further testing, but
someone wants it in a hurry.
=============================================================================
CHANGES FROM VERSION 1.2.33 TO VERSION 1.2.34
=============================================
1) Fixed problem with calendar lists always having a list time of zero.
This showed up as 1969, and also resulted in the list never firing
a cue.
2) The wording for date/time calendar clock is now the same in the
new show setup list creation and in the list configuration dialog.
3) The List State dialog now shows you the list clock type (but doesn't
let you change it).
4) If you send ShowMan a "Close Cue List 999999" ShowMan will close
the show and exit. This has been around for a long time, but
probably not documented anywhere. This is a hack so that an
external scheduling program can start ShowMan for a single scheduled
show, and the last cue can cause ShowMan to shut down. The system
will then wait until the next show time to start the next copy of
ShowMan and the next show.
5) Assorted internal cleanup to make ShowMan easier to work on.
6) There were many possible crashes if no midi output port was defined.
These have now been covered over, and in many cases warning messages
will be generated if the user attempts to do things that require a
midi output port. (Such as setting the Loopback flag.)
7) If you create a calendar cue with an impossible time (for instance,
January 0 or 29:00:00) you will now get an error message and be
forced to fix the time before the cue can be saved.
8) If you created a new show with a single list and that was a calendar
list, the list type wouldn't be set correctly. Also, the calendar
list wasn't properly added to the current show display, which could
cause assorted crashes.
9) If you used the cuelist configurator on the calendar list in a new
show, it would trash the list so that it would no longer seem to be
part of the show. It could also crash.
10) ShowMan no longer complains about replacing the current show if you
don't have a current show loaded, like when you first start with no
default show and select Load Show.
11) When creating a new show, you can select from any midi output port
for the main show output port, and not just from actual hardware
MIDI ports. This matches the selection available from the System
Configuration dialo