num_channels
field in some types of controllers was not being correctly parsed from the show configuration file, resulting in a runtime exception about type mismatches.- Added missing description of serial network driver support for half-duplex network hardware in the LUMOS-CONFIG(5) manpage.
- A few misc. bug fixes in the command-line utilities that slipped through the 0.6 release have been corrected.
- Added
+r
option to lplay which will reset the hardware devices. This came about when dealing with some lights with overly-sensitive power supplies which kept tripping their internal breakers and needed to be remotely reset. This option will turn off all outputs, then tell the controllers to put the power supplies to standby, wait 1 second, then tell the controllers to resume normal operation. Currently this is implemented for Lumos controllers only, but may be generalized in a future release. - Added
compile_stream()
method to theSequence
object class. This takes the event list generated by thecompile()
method and further pre-processes it by taking it all the way to a stream of bytes to send to the controllers at each time marker, rather than having Lumos do all the control logic in real time. lplay now uses this call when playing sequences. This has improved the playback performance of sequences synchronized to sound tracks. - Added
-x
option to lplay to avoid even loading pygame's sound drivers if there is no need for sound support.
- Fixed numerous small bugs and inconsistencies. All unit tests now pass.
- Made it a non-fatal condition if the serial and/or parallel drivers are missing, until the program actually tries to use them (so if you don't have any parallel port-driven devices, you don't need to have pyparallel installed. Likewise if you're just editing but not actually playing a sequence).
- Constructors for Network objects now correctly handles non-string data types read from saved configuration profiles.
- Support for new 24-Channel DC Lumos controller hardware.
- GUI configuration editor in the works (still a work in progress, not ready for use yet, but some code supporting it appears in this release).
- Removed GFCI attribute from PowerSource objects. Lumos really never does anything with this except try to encourage you to use safety features, but that's not really Lumos' job to handle in software. Ensuring safe wiring conditions is the responsibility of the person doing the wiring, and is not directly relevant to the separate task of designing and playing back the sequences themselves.
- Changed "power" field to "power_source" in profile configuration files for channels and controllers.
- Most of the device drivers are still untested.
- Only "serial" networks have been tested yet.
- Subordinate power sources always re-sort to alphabetical order on reloading a new configuration (only affects the aesthetics of the GUI display).
- Compensated for possible timing lag between audio playback and the light sequencing via addition of the --skew (-s) option to lplay.
* Most of the device drivers are still untested.
* Only "serial" networks have been tested yet.
* The unit tests need to be updated and completed, not all are passing.
- Fixed a problem where the "dimmer" flag in the show configuration was not being checked, so channels were able to be dimmed even if tagged as non-dimmable.
- Power sources can now be plugged into each other as "subordinate" power sources. This allows for main breaker panels feeding sub- panels feeding power strips, and even for the case where a single controller may have multiple circuits feeding channels separately (as is the case with the Lumos hardware controller). This way, each device has its own power rating and tools like lcheck and the power meter can flag possible overloads at every stage of the power distribution system.
- Channels may now be assigned their own power sources, rather than all channels in a particular controller being from a single source. This is important for most X-10 devices (which may each be plugged into an arbitrary power circuit) and the Lumos controller (which allows multiple power circuits to be controlled).
- In the core libraries, the methods which change channel states accept an optional boolean parameter "force". This generally defaults to False, which provides the previous behavior of these methods--updates may be optimized away if the channel is already at the requested (raw hardware) level. If force is True, a command is unconditionally sent to the device anyway. This is helpful if for some reason the controller/channel objects are not aware of the true state of the output channel (such as when a Lumos program is started but the controller is already outputting various levels based on previous commands it received from another source).
- Added the "ssrctl" command to manually adjust the output levels of the show's controller units. May be used interactively or as a batch of channel updates on the command line. This may be used experimentally or as a way to script otherwise static lighting cues using a shell script, batch file, or something similar.
- Added the "lpower" command. This is a "power meter" which estimates the power consumed by the show during a given sequence, reporting out the total number of kilowatt hours and event-by-event current loads for the power sources supplying the show. Graphing capability is not yet implemented but expected in the future. The data produced may be graphed by an external tool such as gnuplot or a spreadsheet program.
* Most of the device drivers are still untested.
* Only "serial" networks have been tested yet.
* The unit tests need to be updated and completed, not all are passing.
- Introduced sequence file format V3 which is idential to V2 except it adds support for audio tracks in the sequence.
- Vixen2lumos will recognize an audio file attached to the Vixen sequence and include it in the V3 Lumos sequence file it writes.
- Lumos code will read either V2 or V3 files, but always writes V3.
- Lplay will now play the audio track attacked to the sequence files when running the sequence.
- The "48ssr" controller has been renamed "lumos". The older name is deprecated but still recognized (for now).
- Added a new bin utility, "ssrctl" which allows manual setting of channel outputs, interactively or in batch (from the command line)
- Changed the Windows distribution to have a .py extension on the executable scripts, so Windows will be able to execute them directly. The user would still need to have the Python script directory in their PATH, however.
- Now requires the pygame module.
- Most of the device drivers are still untested.
- Only "serial" networks have been tested yet.
- serialbit, parallel and parbit networks have not yet been finished.
- Change to implementation of Lumos.Show class which makes it easier for new classes to extend Lumos.Show.
- Most of the device drivers are still untested.
- Only "serial" networks have been tested yet.
- serialbit, parallel and parbit networks have not yet been finished.
- lcheck wasn't iterating over channels correctly for some kinds of controllers.
- Created first draft of Lumos User's Guide document.
* Most of the device drivers are still untested.
* Only "serial" networks have been tested yet.
* serialbit, parallel and parbit networks have not yet been finished.
This product is still in ACTIVE DEVELOPMENT and is released for evaluation and testing purposes, not for actual production use.
Newer design features over previous versions.
Final product name "Lumos" chosen and SourceForge project created.
Added separate device drivers and the ability to easily add more kinds
of controllers (Lumos 0.1~0.2 was designed to drive the author's own
"48SSR" controller circuits.)
Added separate network drivers, including bit- and byte-at-once
concepts for serial and parallel interfaces.
Added Lumos sequence import utility.
Much refactoring of old code, bugs fixed, more unit tests and docs.
* Most of the device drivers are still untested.
* Only "serial" networks have been tested yet.
* serialbit, parallel and parbit networks have not yet been finished.
Previously known by internal working title "Aurora 1.1"; never released for public use. Incremental improvements over the 0.1 product before the newer architecture introduced for 0.3.
Previously known by internal working title "Aurora 1.0"; never released for public use. Included some basic sequence playback functionality, using a CSV file format with the intent of using a spreadsheet as a scene editor. (Note that the Lumos 1.0 CSV "V2" sequence file format is completely redesigned and incompatible with this older "V1" format.)
Lumos version numbers follow the conventions for Semantic Versioning (SemVer).
Notwithstanding our best good-faith effort to ensure the quality of this
software, and the use of terms like "EXPERIMENTAL", "RELEASE", etc., this
software and all accompanying materials are provided "AS-IS" with no
warranty of any kind whatsoever to the extent allowed by applicable law
(see LICENSE.md
file for full details).