Maxwell Laser Synth
Beta 3 (April version) is here!
Beta 3 Release Notes / Bug Fixes:
- Intensity slider now actually controls intensity of both OpenGL output and laser output
- Mixer cross-fader bug fixed - now accurately crossfades between WaveGen 1 & WaveGen 2
- OpenGL output has been improved
- Sensitivity of knobs has been adjusted
- Output to ILDA file & Ether Dream has been extended for another month
- Mac OS version should now default to 64 bit version
For Mac users, I have yet to purchase an Apple OS X developer license yet, so for this beta you still have to right-click on the app and hold down option while selecting open to override gatekeeper - or you could just disable Gatekeeper in your System Preferences - which is what I do.
And a special note: Windows x64 beta testing has begun. Please PM me for details.
Here is a summary of the features so far:
- 6 independent oscillators broken up into 2 discrete 3D waveform generators
- Full hardware accelerated OpenGL preview window (with viewport control)
- Native support for Ether Dream DAC (currently limited to single DAC)
- 3 LFOs which can be routed to modulate amplitude of each oscillator
- Solid color output or modulatable color with HSL modulation (Hue, Saturation, Lightness)
- FX section, including a translator, rotator, and duplicator
- Points FX - Overlays shape with colored points. Point color is independent of line color
- User adjustable blanking optimization
- Record to ILDA file
- MIDI Controller support - MIDI learn mode can be used to assign MIDI controllers to control all knobs and switches
Release / Installtion Notes
- How to install (Mac)... unzip and drag to your Applications folder.
- This is not a signed app. So if you try to run it and you are greeted with a dialog that says something like "the app is damaged and can't be opened", don't believe the dialog. The app is not damaged. It is simply an unsigned app. You can get around this either by running the app from the terminal or by right clicking on the app and selecting open from the contextual menu. You may get another dialog asking if you really want to open the app. Select Open. An alternative if you don't want to be bothered by command line or right clicking is to temporarily turn off Gatekeeper in the System Preferences before opening the App. To do this go to System Preferences->Security & Privacy->General and select "Allow applications downloaded from" and select "Anywhere". You should now be able to open the app without OS X complaining. It is probably a good idea to turn Gatekeeper back on - but I leave it off.
- There seems to be a random OpenGL initialization problem if you try to run the app in 32 bit mode. Make sure you have unchecked "Run in 32 bit mode" in the App 'Get Info" window. If you turn the power button on and the OpenGL preview window turns grey instead of black - then OpenGL did not initialize correctly. You will have to quit and restart the app.
Operation Details
Attachment 46401
Section 1 & Section 5
Attachment 46402
This is where the oscillators live. Choose from 4 different oscillator types - sine wave, triangle wave, square wave, and line. You control the frequency of each oscillator with the freq multiplier control. Currently, the frequency is limited to integer number of cycles. The amplitude of the waveform is controlled by the amp mod control. The amplitude can either be constant or modulated by one of the three LFOs. The phase of the oscillator can also be modulated with the phase mode control. Phase mod is not applicable to the line mode oscillator. The inv button is used adjust the phase by π/2 - effectively choosing between sin/cos waveforms.
Each section of X,Y,Z oscillators is then combined by the mixer to generate an array of vertices - or your shape. The way the two waveforms are combined is controlled by the mixer type (addition, subtraction, multiplication), as well as a slider which controls the amount each waveform generator is applied. If the slider is all the way to the left, only the left waveform generator (X,Y,Z oscillators) are used, and vice-versa.
Section 2
Use this to control the number of points used in the vertex array. It is important to realize that this is the number of points used **before** any effects are applied. So if you add effects, like points mode, or duplication, your points will be increased. Be carefull! For a 30kpps scanner, 500 points is a friendly number of points to use if you are simply drawing a single shape (i.e., no duplication or points mode). Reduce points as necessary as you add fx.
To the right of the points control is the preset area. Shift-click on a preset to store your current settings. Clicking on a preset recalls the preset. You can save and load different banks of preset files using the Load and Save buttons.
Section 3
Clicking on this button will bring up a dialog allowing you to choose the location and name of a ILDA file to record. While the dialog is open, it goes into "record arming mode". As soon as you click "Save" it starts recording to the file. You can click on the record button again to stop the recording. The recording will also be stopped automatically if the maximum number of ILDA frames are reached (65,537). Maxwell generates ILDA v4 files (3D with fullcolor points).
Section 4
OpenGL preview window. This is an OpenGL representation of the laser output. If you feel the need, you can rotate the 3D view around by clicking an dragging in the preview window. This does not effect the final projection of the laser, but allows you to see Z effects if needed. Click on the button next to the FPS display to reset the 3D view back to its default state.
Section 6
This is where you control the color of line mode. When in "solid" mode - the entire waveform is drawn using whatever color is selected in the color picker and the laser is not turned off between vertices - effectively drawing lines between each point. Hue is adjusted along the x axis of the picker, lightness is adjusted along the Y axis, and saturation is adjusted using the saturation control. You can modulate the hue with the Hue Rotation knob.
In LFO mode, an LFO is used for each value of hue, saturation, and lightness. The width (or amount of modulation) is controlled with each width control, while the frequency is controlled by the modulation knob.
Section 7
This toggles a points effects mode. Points are drawn around the shape using the color selected in the color picker. The density of points is chosen by the Num Points control. Warning - this increases the number of points required to render the shape in the laser.
Section 8
This effects section allows you to duplicte the waveshorm shape - translation of the TRANSLATOR is applied before duplication. The duplicates are rendered radially around the origin. Warning! Duplicator significantly increases the number of points required to successfully render the image. Not only is the original waveform duplicated, but the various optimizations required to draw discrete shapes significantly increases the point count as well. With a standard 30kpps scanner, I was able to get decent 30fps framerate with a shape point count <= 200.
Section 9
Vertex Render Mode. This controls how the vertex array is rendered. In loop mode, line drawing continues when looping around from the last point to the first point. It is a continuous shape. In line mode, lines are drawn between verteces, but there is a blanking cycle between the last and first point. In points mode, the vertices are rendered as points.
MIDI Learn Mode
Attachment 46505
Make sure MIDI is enabled in the top control panel section, then enable MIDI learn mode. You can now mouse-click on any control to arm the control for MIDI learn. A pink highlight means the control is ready for controller input and currently has no assignments. I green highlight means the control is ready for learning but currently does have a saved assignment. Assigning a new MIDI CC to this control does not overwrite the current assignment, but adds it to the CCs that can adjust the control. Multiple MIDI inputs are supported and can be assigned to a single GUI control. Likewise, a single MIDI CC can be used to control multiple GUI controls. It is very flexible.
To remove all assignments from a green highlighted control, simple SHIFT-CLICK on the green highlight.
On the Horizon
* Improved point optimization
* More effects
* Morphable presets. Changing from one preset to another will morph between the two with a tunable duration
* Step sequencer
* MIDI sync for LFOs and oscillators
I have not yet decided on a final distribution or pricing strategy for Maxwell. Because of this, and because of the beta nature of this release, ILDA output and Ether Dream output are time limited to 30 days.
Download Maxwell Beta 3 for Mac HERE