Plays and Records MIDI event and displays MIDI notes in a Piano-Roll style.
You can load/record up to 32 MIDI files in the same module and switch between them in real time.
Most of the parameters like reading position, loop-start, loop-end, can be driven by other modules (like random generators), to create unusual loop sequences.
The Piano Roll can be used to draw CC curves (8 curves per MIDI file are available), choose the mode CC curve 1, 2...8:
Draw the CC curve in the bottom area (in violet on the figure)
Select the CC curve value (none, CC1, CC2,...CC127).
If you record Control change with an external source, use the edit controls mode mode. Each Control change is on its number line (same as note number), here the CC 10 can be edited:
If you have several CC recorded, select a part of the edition with the mouse or several parts (with [Shift+mouse]), keep Shift pressed and move the mouse up/down.
Up to 32 MIDI files can be loaded at the same time and selected by the num file parameter or affected by a MIDI/key learn on the following buttons:
Current pattern number is visible in the bottom left corner.
To Zoom vertically use the mouse wheel in the piano area (1), to Zoom horizontally, use the mouse wheel in the bar numbers area (2).
Enable this option if you want to monitor the MIDI notes you are manipulating.
You can adjust the loop size and position in this area.
You can adjust the note velocity in the bottom area.
You can select several notes with the [shift] key, for example to move or copy this group.
For a more precise adjustment, select the notes you want to change and move the mouse with the [shift] key pressed.
For a best edition precision, choose the edit quantize mode.
To move note vertically (change the pitch) without change
the time position press the [alt] key.
The events inlet gives a direct access to events of the Piano-Roll in order to create unusual patterns. The array is a set of elements with the following structure.
events are sorted by increase beat position order.
For example the following array [1,0.5,144,62,98]
contains only one MIDI event.
see MIDI-implementation.
The following array [1,0.5,144,62,98,2,0,176,48,102]
contains two MIDI events:
event 1
event2
the MIDI Get Events Pianoroll.pat
patch of the */library/help patches/** gives an example of how to get MIDI information from the event outlet.
Scripting language is a good candidate for event manipulation. See scripting.
Displays the Piano-Roll window.
MIDI input flow(s).
Midi output flow(s).
Gain applied to the MIDI Notes.
Transposition applied to the MIDI Notes (in half-tones).
Plays the MIDI file in reverse mode: the cursor position moves from right to left. NOTE-ON events are transformed into NOTE-OFF NOTE-OFF events are transformed into NOTE-ON.
MIDI channel of the MIDI output.
Let passes only messages witch correspond to the channel filter. all channels: no channel filter, chan 1: only from channel 1, chan 2: only from channel 2
Play the MIDI file in loop mode.
Synchronization options.
Auto restart when master-synchro-panel restart.
Plays the current MIDI file.
This inlet works only when the play loop parameter is OFF.
Stops the playing of the MIDI file.
This inlet works only when the play loop parameter is OFF.
Determines the play button behavior. play-replay: first click plays the MIDI file (once) second click restarts the MIDI file play-stop: first click plays the MIDI file (once) second click stops the MIDI file.
Determines what happen when the parent patch is activated. do nothing: when parent patch is activated nothing is done, play once: when patch activated the file is played once.
Determines what happens when the sample or MIDI sequence reach it's end.
Starts or stops the recording of MIDI input.
Clears the MIDI events.
Recording mode, rewrite: clears old events and records MIDI notes as they are played, overdub: overdub record mode: keep the previous recorded notes.
Quantization of the recorded notes.
Quantization of the start/end recording.
Start reading position.
End reading position.
the file is read between the start and end position.
ppQ position.
can receive data in input when the loop mode=ppQ slave to play MIDI files in random access.
Current MIDI file number. You can change it in real time.
Gives only the name of the file, without the path and extension.
Click to add a name to this MIDI file.
Let pass input MIDI event thru the module. Helpful if you want to hear what you are recording.
Sends 1 value when the module is playing.
Sends 1 value when the module is recording.
Remember that, with the st rec quantiz option,
the recording can starts/ends after the rec buttons is pressed.
It can be helpful to know exactly when the module is recording.
Sends 1 value when the reading position restarts from the beginning of the loop.
Undo the last record or clear MIDI file.
Gives a direct access to MIDI events of the Piano-Roll. See above.
This input works only when the loop mode parameter is set to step by step
In forward mod, plays the MIDI file from the current position to the next NOTE ON event. In Reverse mode, it plays backward from the current position to the previous NOTE OFF event. See reverse.
Resets the next step reading position (in step by step mode) to the beginning.
Prompts for a file name and saves the midi file.
Prompts for a file name and loads a midi file.
Saves the file with a the file name without prompt.
Loads the file with the file name without prompt.
Name of the file to save or to load.
Displayed caption of the object. Click to enter a new name.
Determines if parameters of this object are saved in the preset-panel.
Parameters of the this object can cross faded when you recall a preset in the grid.
Optional setting, does not appear on all objects.
Hint text displayed on mouse over.
Background color of the control.
transparent option must be OFF.
Blue background color example.
Determines if the background of the control is transparent or not.
Example, the first module is transparent.
Background color when the control is modified by a remote (MIDI,OSC,etc.).
Optional Filename of the background image.
Only PNG, JPEG and BMP formats are supported.
Use [ctrl+click] to reset.
Example on an panel-xy-pad.
Force the image file to adapt its displayed size to the size of the object.
See manipulate-bitmaps.
Background bitmap input.
Use [CTRL + Click] to reset the input.
Background bitmap output.
Displays or not the border of the control.
8 pixels border on an panel-xy-pad.
Sets the border width of the control in pixel.
8 pixels border on an panel-xy-pad.
Border color of the control.
a yellow border on an panel-xy-pad.
Border color when the control is OFF.
a black OFF border on a switch.
Border color when the control is ON.
a white ON border on a switch.
Thickness of rounded corners.
0 = no rounded corners.
Example on a panel-shape.
Enables or disables the drawing of a border when the control is selected with the mouse.
Displays or not the caption.
Example on a fader.
Caption alignment of the control, left, center or right.
Vertical alignment of the caption, center, top or bottom.
Example on knob: Center, top and bottom.
Example on switch.
Size multiplication factor applied to the caption font.
Example on switch.
Font name of the control caption.
Example with 3 different fonts on switch.
Color of the caption font.
Example on switch.
Italic style for caption font.
Example on switch.
Bold style for caption font.
Example on switch.
Underline style for the caption font.
Example on switch.
See using-drag-drop.
Enables the drag on this control.
Enables or disables the drag&drop possibilities on this control.
Name of the dropped file.
Clears the latest dropped file name.
Determines if the control can be modified by the user. When OFF, the mouse interaction and modifications are disabled so the user can't change the value.
Sets or get the visibility of the control.
Global color of the control. Usine will choose the best contrasted colors according the global color.
When ON the global color of the control is not affected (is isolated) when the parent control global color changes.
Determines the Z-order of the control
Example with the first knob on top.
Opacity value of the control.
0 will give a totally transparent control so invisible.
Blur amount applied to the object.
Example of blur.
Be careful, the blur softness use shaders which are not supported by all graphic cards.
It can crash Usine.
Displays or not the header on the panel.
Example on sequenced-lines.
Height of the header in pixels.
Background color of the header.
Determines if the horizontal scroller is visible or not.
The scroller appears only if the container is smaller than the controls inside.
Example of horizontal scroller
Height of the scroller in pixels.
Scroller color.
Scroller opacity.
visible only in god mode, see setup-panel-tab-expert.
Current private id for this control.
If you experience difficulties in Polyphonic mode, try to recreate new id(s) with this button.
Each Patch shared on the local network uses its own ID (identification number). If you experience issues of Patches that don't send information to the good target, this button will rebuild all these id's.
Opens the web browser to display information's or help about the selected object, if it exists.
For more details about information/help creation, see create-help-file.
Determines where the object is visible.
When the location is set to a container which doesn't exist in the patch, Usine try to find in parent patches, the first container available. If no container is available an error message is displayed.
When ON, will also be visible in the interface-builder-panel.
Gives the mouse state of the control:
In multi-touch environment, can be an array of [0..1] values.
Gives the mouse wheel speed and direction, -1,-2,-3,...=forward, 1,2,3,...=backward.
Enables or disable the mouse wheel action.
Sends a 1 value if the user has [dbl-clicked] on the control.
Determines if the mouse is active on the control.
Gives the mouse X position on the control in relative coordinates from 0=most-left to 1=most-right.
In multi-touch environment, can be an array of [0..1] values.
Gives the mouse Y position on the control in relative coordinates form 0=top to 1=bottom.
In multi-touch environment, can be an array of [0..1] values.
Pressure value on touch-screens.
The pressure value is not available on all touch screens.
Gesture information's.
In touch and multi-touch environment, returns an array of the fingers movements See multi-touch
When ON, the value of the control is reset automatically on mouse up.
When ON, move up-down to rotate a knob, left-right when OFF.
Sends a 1 value when the control is hovered with the mouse.
Sends 1 when the control is mouse overed.
Sends 1 when the control is selected.
Top position of the control in pixels.
Left position of the control in pixels.
Height of the control in pixels.
Width of the control in pixels.
Horizontal position in % [0..1] relative to the parent panel.
Vertical position in % [0..1] relative to the parent panel.
Height in % [0..1] relative to the parent panel.
Width in % [0..1] relative to the parent panel.
Top position in pixels in the interface-builder-panel.
Left position in pixels in the interface-builder-panel.
Width in pixels in the interface-builder-panel.
Height in pixels in the interface-builder-panel.
Rotation angle of the control.
Rotates this control in vertical position.
Zoom scale of the control.
Determines is the control can be zoomed with the wheel mouse.
Determines if the control can be resized with the resize grip.
Determines if the control is minimized or not.
Determines if the control is movable on X axis.
Determines if the control is movable on Y axis.
When ON the control stays inside the parent on X axis.
When ON the control stays inside the parent on Y axis.
TpgControl_Button.floating content parent y
Determines if the control can be resized on its left hand.
Determines if the control can be resized on its right hand.
Determines if the control can be resized on its top hand.
Determines if the control can be resized on its bottom hand.
See physics-engine
Enables physics-engine in this panel.
The physics speed of the control in physics-engine.
When ON, the physics-engine starts with a random speed for each child controls.
When ON, all controls have the same masses in the physics-engine.
The position control is not affected by the physics-engine.
Friction factor in the physics-engine.
Energy conservation coefficient on collision.
Gravity factor on the X axis.
Gravity factor on the Y axis.
Position of the object when the physics engine is reset on X axis.
Position of the object when the physics engine is reset on Y axis.
Angular speed of the control in the physical engine.
Sends a 1 value when the control collides with another control or a border.
Gives information about the collide state in the physics-engine.
Speed vector value on the X axis in the physics-engine.
Speed vector value on the Y axis in the physics-engine.
Automatically reorganize positions of controls in the panel.
Left margin used in reorganization, in pixels.
Interspace between controls used in reorganization, in pixels.
Resizes panels automatically when child controls are moved or resized. Switch it OFF if you use floating panels inside.
Margin in pixel used for the auto resize option.
Adjust the panel width to a multiple of the default rack width.
In unlock mode, snap the control to a grid.
Grid size in pixels when snap to grid is ON.
Displays the toolbar with its icons.
Example ON and OFF
Height of the toolbar % of the global height.
Example toolbar size on a panel.
Displays a small cursor indicator at current position.
Color of the cursor.
Cursor width in pixels.
2 and 8 pixels cursor on a data-generator-sequenced-steps.
Opacity of the cursor.
Displays or not a grid on the panel.
Example with 8 x 4 grid.
Displays a full grid when ON or just small ticks when OFF on the panel.
Example OFF and ON.
Color of the grid.
Example with a Yellow grid on a data-generator-sequenced-steps.
Number of vertical tick of the grid.
0 = no grid division visible
Horizontal division set to 8 on a data-generator-sequenced-steps.
Number of horizontal tick of the grid.
0 = no grid division visible
Example of 4 vertical divisions.
version 5.2.221206
Edit All Pages