Textbook
From English DMXCWiki
Concept paper of the DMXControl textbook (Version 0.8) 25.11.2005
Implementation for version 2.9 is running already, but comments are still welcome. Some of the requirements will not yet be available in version 2.9. So, working on this concept is still actual.
Team Members
- Frank Burghardt (FB): DMXControl Team
- Michael Kraus (MK): voluntary light/sound technician in a small open air theatre
- Martin Risch (MR): likes to work with VisualBasic and in theatre groups (technician)
- Stefan Krupop: Integration / DMXControl Chief Administrator
- Aigner Michael (AiM): supports implementation
Designated target and motivation
Because of other priorities the textbook could not be implementated yet. Another reason is the fact, that nobody out of the team exactly knew, how a good textbook could be realized. Meanwhile there exists a workgroup which develops a textbook separately. The result will be integrated into the main DMXControl software.
This document contains articles of all involved people. To accentuate the teamwork, all names were removed.
The general requirements will be specificed in the second chapter (independet of coming implementation). The third chapter discusses the design. In the fourth chapter the implementation will be specified, and the prototype will be presented.
Overview
The textbook within a DMX-Software shall simplify the process of light- and soundeffects on the basis of a screen-play
In theaters the Effects need to run exactly on cue - both lights (e.g. flashes aso.) and sounds (e.g. trains, barking dogs aso.). In contrast to big lightshows, Effects in theaters are more rarely used. One does not need a scan of 50 ms like in the WinAmp STL or the like.
A result of the discussion was the fact, that the usage of a textbook does not need to be reduced to theaters only. Text-based lighting can also support festivals like carnival aso.
Requirements
Requirement 1 – Textwindow
A window must show the screen-play. It must be possible to scroll the text manually. Light moods, Effect aso. need to be marked clearly.
A text-Scene can contain both more than one Effect, and often multiple text-scenes do not contain an Effect at all.
Nearly all scenes need to be started on cue.
Requirement 2 – Textformat
A simple texteditor within the textbook-module provides just (background)colours, sizes and fonts (also bold, italic and underlined), because usually the text in the window will not be changed again. In principle, we just need the ability to determine headwords and to insert light/sound scenes.
Usage of the richtext format is ideally suited. The original text can be written in Word and be saved in rtf. There exists a complete control for using this format. Just load the file, and all colours, icons aso. will be displayed. The control can also save rtf-files.
Requirement 3 – Structure
A specific textstructure is not yet suppported. Later on, an act-wise execution will be integrated, so the text in the window will not be too extensive. Textparts will be loaded seperately. BIG screen-plays with several hundreds of pages are not the aim of this project, but about 150 pages are quite imaginable, e.g. one act consists of about 30-45 pages (including director´s instructions).
Requirement 4 – Consistence of changes
If the text is changed in Word later (e.g. adding/deleting a sentence), the following call in DMXControl shall not lead to the need of reentering all CALLS again. Usually no changes will be made when the play is performed. Text and the appropriate CALL-order will be saved in seperate files.
Requirement 5 – Director´s instructions (concerning lights) in the textwindow
For preparation the screen-play is read, and lighting-instructions will be noted (italic, coloured aso.). Then the CALLs are inserted at the point of a headword. To differentiate the CALLs from the normal text, they should be well marked. Later formatting of the instructions by the user shall also be possible.
Additionally, seperators („###“), which do not exist in normal text stream, are used for marking. Example:
.... The sun falls. ### Scene 21 ### Light front 75%.
(Hint: Scenes should have more expressive names)
These formats are directly supported by buttons in the texteditor. Instructions are shown in a separate line.
Requirement 6 – Tags
The Scene-marks are represented by Tags which can be inserted, edited and deleted. Principally, light scenes, commands (Effects), moving scenes and audio Effects need to be differenced.
Furthermore, "comments" for the lighting technician, which are not associated with DMX-commands, can be used.
Hint: In the following, the terms "Tag" and "Instruction" are used synonymic.
The Tags have the following format:
### Scene ### director´s comment <end of line>
Such threefold keycombinations must not appear in the normal text. A Tag links to an entry in the Scene-list of the textbook. The actual Scene-representation is indifferent then. Differentiation (if needed) should be done by the user, not by the program.
The Scene-type will be saved internal and is noticeable by the (background)colour:
Standard:
Tags can be freely formatted in a later version (e.g. changing standard colours).
Requirement 7 – References to DMXControl-Commands
Tags call scenes/Effects which are saved in the Scene library, e.g. ###scene21### calls "Scene21" in the Scene-editor. The real reference is saved internal, not within the rtf-file. Functions like "Light fron 75%, side 75%, blue 100%" with their fading times will then be called out of the real Scene.
A Scene-list like in the Audioplayer contains additional parameters which will be shown in a table. It is not shure yet whether the tags can be renamed or not (maybe dyadic tags?).
„### 7;Scene 21###“ The number (7) represents the list-index, the text (Scene 21) is a user-hint.
Requirement 8 – Audio scenes
Audio scenes do not exist in DMXControl yet, but Stefan could provide them. Considering if a delay worked also in combination with audio scenes. (After starting/stopping a Scene, a following Scene could start automatically then.) ("Fade in time" in audio scenes as "delay time"? Will the playback be canceled after the adjusted amount of time? Duration "0" continues up to the end.)
Requirement 9 – Scene administration interface
All lighting setting like fade-times, brightness, colour, position, gobos aso. are done with the references "Tags to DMX-Scenes".
Every tag will hav its own list-entry which shows important parameters, similar to the Scene list in the Audioplayer. Headwords (which can also be colorized in the director´s instructions) will be noted in the list. The comments can also be changed.
Requirement 10 - Scene administration
Administration of scenes, Effects, devices aso. is done in DMXControl. A new lighting Scene will be added by pressing the button "+" (like in the Audioplayer). One can either select existing scenes/Effects or add new scenes in the repository. These kann be called out of the textbook then. (DMXControl only uses Scene-IDs, as texts can always change). Depending on the type, one can assign audio/light/moving scenes or Effects to a tag (function of the green "+"). With the Effects, one can again call time-controlled audio/light/moving scenes.
Usually all commands of DMXControl can be used. Every tag corresponds to one Scene (like a button in the commando box). Scene/Effect lists are available in edit mode only.
Requirement 11 – Edit mode
The edit mode allows collage and assignment of all needed scenes/Effects. Major purpose of this mode is the offline usage (before the live-show) to construct the assignments. One can see and edit Scene timings using the change button (compare Audioplayer screenshot).
Requirement 12 - Timing
Some Effects (light and sound) have to run simultaneous, e.g. one tag calls "lightning (DMX), thunder (MP3) and fog (DMX)". To use simultaneous Effects, just arrange the tags directly in sequence. There must be the possibility to start these "parallel" Effects in a group, so the lighting technician only needs to start one single operation. A potentially existing delay needs to be considered.
Effects need to be timed, e.g. "flash 2 seconds after starting a sound" Later (in V3), this item shall be replaced by the Scene type "chaser/sequence".
Light scenes shall not be textbased - they shall run as long until a new light Scene starts. A light Scene is replaced by a new one by fading (including the possibility to control timings). A running crossfader with manual control (e.g. using a Fader) is preferable.
Hint: This requirement is not integrated yet, only basic Features of DMXControl work so far.
Requirement 13 – External tag editing
Prefered tag editing is done in the textbook editor. Nevertheless, they can be changed by other editors also, as the tags consist of character strings only. For this, a consistence check has to be done before (to check if new tags or references have been added). The textbook saves tag actions in a small file with its own format. The file will have the same name like the text.
If a tag was added/deleted, we get problem with synchronisation of the two files. Corresponding tabs will be marked red and have to be deleted/added as new DMX scenes manually. Consistent director´s comments are marked by a green rhombus in the director´s list.
Requirement 14 – Lifemode
Some controls out of the edit mode are not shown in life mode, because changes are usually done before starting the show. So the interface is reduced to necessary elements and will be much clearer.
Hint: Not implemented yet.
Requirement 15 – Lifemode – Text synchronisation
DMXControl is not able to listen to/read the play automatically, so graphical synchronisation is done manually at the interface (the technician reads the text parallel to the play). By scrolling the mouse/using the arrow keys a "reading line" can be moved through the text. A potential CALL will be prepared (lower scroll window scrolls automatically). When a headword is spoken, the Scene can be started by pressing space/enter or choosing "CALL start".
One should be able to reactivate a done call or browse them, especially while rehearsing a play ("last CALL", "next CALL"). CALLs are prepared then, they are started on cue as mentioned above (using headwords).
A global processing bar will be shown for orientation purposes, so one can see the play´s processing status.
Requirement 16 – Lifemode – Actual status view in director´s control
In the lower half of the screen, a scroll window is shown which contains a separate control. The window shows complete scenes and audio Effects including audio comments. (About 5-6 are shown at the same time in director´s control.) By this, orientation while doing wild text browsing is made easier.
director´s commands (especially for technicians, like "microphone 6 fade-in") are also shown. The actual and following CALL should be marked separately, and the scroll window should continue scrolling automatically after activating a CALL. To differentiate between director´s comments, done CALLs, actual CALLs or following CALLs, a special marking sign on the left side of the text in the scrollbox could be used:
Director´s comments do not have Effect on light/sound and the do not have to be activated. They just scroll through the list.
Requirement 17 – Automatic srolling in text
Scroll speed can dynamically be adjusted to the givens. Maybe, scrolling time between two tags should be definable. Manual scrolling (default) is also possible. By using the buttons "back"/"next" one can jump to a former/following tag. E.g., skipping is helpful for synchronisation purposes.
Requirement 18 – MP3 player
Audio scenes are played by an internal MP3 player. All sounds are placed in a predefined folder and will be called in compliance with their file-named audio tag. This will be controlled internal by the new type "audioscene".
Usually, sounds have the correct lengh to avoid problems. An automatic abort after e.g. 3 seconds does not sound very well, but it could be realized by using "length" in "Audio scene".
A special case is the usage of a tag to start a song and to stop it on cue by calling another tag. Stopping can cause problems. The active sounds need to be managed in a way which allows correct reference by the "stop Scene". Another possibility: According to the DMX-parts, one could use only one active output (sound file), which is overwritten by the next Scene. Saving an empty Scene would cause in stopping the sound then.
Requirement 19 - Playlist
We did not integrate a WinAmp-like playlist into the Audioplayer, because it is possible to use external tools for this. Audio scenes can easily be integrated into the list of lighting scenes. That results in an easier overview than working with 2 lists, because there is only one Scene list which contains audio, lights and Effects. The textbook just has to recognize the light scenes, show the fadings and give correlatively intervention possibilities.
Requirement 20 – Interaction with DMXControl
While working with DMXControl, also other external tools can be used, e.g. cues, Scene lists or Effects can be called out of the commando box while one is working with the textbook control. Example: Lights full on in an emergency.
First of all, the text book should be hard fixed in the menu structure. Later it should become a plugin, because not everyone needs the text book function in DMXControl.
Still to discuss:
In view of controlling screen-plays, the possibility to correct/deactivate single channels in running scenes can be a very important one. To realize this, the Channel overview could be used. Right-clicking on a Fader should result in changing the value to the actual one. Then it could be set to the actual output by pressing a key (HTP deactivated). (For a long time a Priority list for mixing channels has been planned, which would cause in overwriting the textbook by the Graphical View.)
Usually the option LTP should be activated. Corrections can still be made by using subgroups (e.g. "front brighter")
Design concept
Thinking over the list of requirements shows, that:
- A textbook can already be realized jolly well by using the commando box and Word (as separate tool)
- A lot of needed Features already exist in the Audioplayer (even if they refer to an audiostream, while we need a "textstream")
- DMXControl and the textbook are decoupled (DMXControl is not interested in the name of the audiotrack, and it is not interested in the real text, too.)
- There is only one Scene list, which can "just" be manually synchronized (Even the best Word by Bill Gates could not start light scenes automatically, because voice recognition is too unsafe.)
- The lighting technician just wants to organize and start light and audio Effects in the required order to get maximum assistance during live-shows.
- For this an optimated interface is needed, because the actual commandobox, Scene list and Audioplayer do not support stage plays optimal.
Conclusions:
The textbook will be internally set up like the Audioplayer. In comparison to this, Scene marks (tags) will not be set on the basis of the audio stream but in the text. Because of that, the marks will be displayed in another graphical way (no spectral dashes but symbols and tags in the text).
While the Scene spectrum is shown in the Audioplayer, a combination of text window and director´s window is needed in the textbook:
- All Tags are shown on bottom of the director´s list. The selected tag will have a yellow background (configurable in later versions)
- The actual/following light Scene will be marked in red and blue
- Tag properties will be shown in the top right window (fading time is deactivated, because an Effect is selected)
-> will be implementated later
- The selected tag will be marked in the text editor (inverted colours)
The design is characterized by two main controls: text control and director´s control.
Scenes can be skipped forward/backward by using the arrow keys. Tags can be selected by the arrow keys (forward/backward), activating them is done by the button "GO" (shortcut can be assigned) or the space key.
The actual light Scene will be marked in the director´s list, the following one blue (not implementated yet). The actual running director´s Command is shown in a yellow line (can also concur with the actual light Scene).
In later versions there will be a Fader which fades betwenn the "red" and "blue" light Scene (see the right upper corner). Either the tag can be activated and fading by abandoned time is done automatically (like defined in the DMX Scene), or one can manually fade (by usind a MIDI/dmxin Fader if possible). The "blue" tag fades to the "red" one (e.g. white daylight to blue night Scene). Settings like the appropriate channel, DMX value and fade time are determined in the Scene editor.
The textbook would rather look like the following screenshot:
Picture 1: Textbook in life mode (without edit mode)
Furthermode, in the edit mode, a complete list of scenes will be shown under the director´s list (see Audioplayer).
In the director´s list control, the Scene type (Scene, Command, comment aso.) will be shown in a column. Properties of the selected tag (e.g. fade time), commands aso. will be also shown in life mode in the upper right (later). Steps can be paused/aborted by the stop key (alternative function of "GO").
Concept of implementation
Following worksheets are identified:
- Text editor
- basing on rtf control
- support for adding tags
- importing/exporting text
- writing the tag list into a file
- text scrolling, handing over the actual tag´s position to the director´s list
- Director´s list
- displaying 5-6 relevant director´s commands, scenes aso. in a special listcontrol
- status update (according execution DMXControl and scrolling text window) (arrow keys "up" and "down")
- Scenelist (analog Audioplayer)
- taking over most of Stefan´s code
- adding DMXControl scenes and references to existing scenes
- Displaying actual Scene´s properties in the text book´s main window (still to do)
- shows attributes basically
- Fading-Control between "red" and "blue" (still to do)
- graphical realization of this special Fader
- interface for DMXControl
- Total integration offline (Frank)
- textbook construction as a tool outside of DMXControl (withoug light control)
- Total integration online (Stefan)
- integration into DMXControl
Demoversion
An actual offline-demoversion can be downloaded here. Please post feedbacks in the discussion section or in the forum.
Here you see an actual picture of the prototype:
Actual deficits:
- crossfader is not implemented (and it will not be implemented in the first version)
- separate Command properties window not implemented
[category:DMXControl-Tools]]



