Browse Source

Update documentation

master
Nils 4 years ago
parent
commit
4a82314c16
  1. 8
      README.md
  2. 499
      documentation/english.adoc
  3. 499
      documentation/english.part.adoc
  4. 607
      documentation/german.adoc
  5. 505
      documentation/german.part.adoc
  6. 802
      documentation/out/english.html
  7. 972
      documentation/out/german.html
  8. BIN
      documentation/out/overview-english.png
  9. BIN
      documentation/out/overview-german.png
  10. BIN
      documentation/overview-english.png
  11. BIN
      documentation/overview-german.png
  12. BIN
      documentation/overview.xcf
  13. 8
      index.html

8
README.md

@ -3,14 +3,14 @@ For program version 1.0
"Vico (which is Esperanto for "Sequence") is a minimalistic midi sequencer with piano roll as
graphical representation. The core principle is: One instance for one sound.
graphical representation. The core principle is: One program instance for one sound.
Vico is made for a modular environment for the one-off recorded midi track.
Specifically it is made to accompany Patroneo based sessions where you need a free flowing melody,
e.g. a solo, that does not fit in the strict grid.
e.g. a solo, that does not fit in a strict grid.
It features live midi recording, jack midi out and a metronome. You can record and edit up to four
layers independently.
It features live midi recording, jack midi out and a metronome. You can record and edit up to ten
layers independently, which must be enough for notes and CCs.

499
documentation/english.adoc

@ -28,10 +28,501 @@ https://asciidoctor.org/docs/user-manual/
For program version 1.0
== Usage
* Nothing
* To
* See
* Here
We are happy you chose Vico. It's a minimalistic Midi sequencer that is intended to be used in
parallel with other software.
"Vico" (with c like ts in "bats") just means "sequence" or "order" in Esperanto for obvious reasons.
=== Application purpose and target group
In a loop- or pattern based environment you often want to have a 'free flowing' track in order to
create an instrumental solo, for example. Sometimes you just want to record a sketch or an idea
quickly and not open or create an entire DAW project.
Vico fulfills these conditions by connecting exactly one source to one output, and records and
playbacks in between. Or to put it another way: you only get one track, intended
for one instrument (but with convenient layers).
Vico has been written primarily for users of Patroneo, but has no closer technical bond. Patroneo
is a program characterized by strict repetitions and constant reuse of very short patterns. With
this you can quickly create whole arrangements for drums, bass and accompaniment chords, but a
beautiful, long melody is extremely cumbersome. Therefore Vico wants to solve this problem.
However, all programs that run as JACK transport masters or JACK timebase masters are suitable as
"remote control".
=== Basic Principles
Vico itself doesn't create sounds and offers only a single output for JACK midi and organizes all
events on up to ten layers, similar to graphics programs.
There is an input for JACK-Midi to which you can connect MIDI instruments or other programs.
At the start you see an empty track. The playhead is always at the point where JACK Transport is
located.
The bar lines are also shown in the meter of the JACK master. If none present, there are no bars.
A red playhead indicates that you are in recording mode.
If transport is in progress, a midi keyboard or similar can be used to record events.
With mouse and keyboard all events can be set by hand and changed afterwards. (see below). With the
exception of Velocity, all events are displayed in the main track.
To simplify things, you can switch a rhythm grid on and off as well as use a 'snap to grid'
functionality.
All editing requires the creation of a selection by using the Shift and the left mouse button to
draws a rectangle. A click with the right mouse button ends the selection.
Starting, saving, loading and closing your project is best done through the Non Session Manager.
=== MIDI support
Vico supports all MIDI channel messages:
* Notes (ON 0x80 and OFF 0x90 are combined to a rectangular note)
* Control Changes (0xB0)
* Program Change (0xC0)
* Channel Pressure / "Monophonic Aftertouch" (0xD0)
* Pitch Bend (0xE0 - only 7bit MSB)
* Polyphonic Aftertouch (0xA0)
All messages can either be recorded live or entered manually. Post-production is possible for all
channel messages.
The midi channel is discarded during recording. Instead, each level has the option of setting a
channel on which transmission takes place.
All non-musical events (0xF...) are ignored, including all MIDI transport messages (not JACK
transport), tune requests, etc. The same applies to SystemExclusive events.
=== Mouse and keyboard shortcuts
All keyboard shortcuts can be found in the menus, there are no "secret" keys.
In contrast, mouse commands are not available in the graphical user interface and have to be
learned here:
(LM = Left mouse button, RM = Right mouse button, Wheel = Move mouse wheel, MM = Middle mouse button, usually by pressing the wheel itself)
* Shift + hold LM, move mouse: Draws a rectangle to select events.
* RM on the background: Resets the selection.
* LM on a selected event, then move mouse: Moves selected events up/down or left/right
* Keep control (Ctrl) pressed: Moves left / right only
* Hold down the Alt key: Moves only up / down
* MM: Plays the note under the mouse pointer. There does not have to be an actual note, the position alone is enough. This is also possible on the piano.
* RM on an event: Opens a menu with further commands.
* Wheel: Scrolls the note area up and down.
* Wheel, keep Alt pressed: Scrolls the note area left and right
* Wheel on Velocities in the lower area: Changes the volume of the individual note, independent of the current selection.
* Ctrl + Space: Starts playback at cursor position
== Description of the graphical user interface and its functions
image::overview-english.png[Screenshot with Captions, link="overview-english.png"]
All points, and more, are discussed in detail below.
*[A]* Menu bar
*[B]* Main view (music and events)
*[C]* Piano
*[D]* Velocity View
*[E]* Some notes
*[F]* Another event, as an example
*[G]* Status bar with current layer and layers MIDI channel
Normally, when Vico is running in the non-session manager, there is no internal way to *exit* the
program. If you use options of your window manager like [X], Alt+F4 etc., the graphical user
interface will only be hidden.
To really close Vico you can click on the *STOP* icon in the Non Session Manager. Here you can also
restore visibility by clicking on the *GUI* button.
The current visibility setting will be saved.
== Piano at the left side
At the left side of the program window is a rotated keyboard. It serves only as an orientation aid.
The numbers between 0 and 127 written in the keys are MIDI pitches. 60 is the middle C in this system.
If the middle mouse button is held down and the mouse is moved over the keyboard, the pitch sounds
via the connected instrument.
== Main View
The main view uses rhythm as a linear dimension (technically: midi ticks). This means
that a note with the same duration always looks the same.
If the tempo (BPM) changes, the playhead moves faster or slower.
Conversely, this means that there can be no timeline where you can see at which second an event
takes place.
=== Moving and Navigation
The mouse wheel scrolls the main view up and down. Pressing the Alt key scrolls forwards or
backwards (left / right) instead.
The "Navigation" menu offers additional options.
=== Zoom and Scaling
If you hold down Ctrl and turn the mouse wheel, the main view becomes larger or smaller.
If you hold down Shift while turning , only the time axis will be scaled. Notes are compressed or
stretched so that you can either see more at once or set more precise start and end positions.
Zooming and scaling is purely visual and has no effect on the music itself.
=== Layers
Notes are not organized in tracks, but in layers. There are ten of them.
In the "Layers" menu, or with the function keys F1 to F10, the current layer can be selected.
==== Shadows
Layers lie on top of each other and obstruct each other. However, you can activate so-called
shadows, which project another layer onto the current one. Shadows cannot be edited. All shadows
disappear as soon as you change the active layer.
Shift+function key, e.g. F3, shows the third layer as shadow. F12 shows all as shadows.
==== Colors
Each layer can have a color, which can be selected in the layer menu. Mainly notes and events use
this color. The mouse pointer is always in the inverted color.
==== Midi Channels
Channels are not properties of events. Each layer has its own midi channel, between 1 and 16, on
which sending takes place. For a new project this is always channel 1.
When recording, all incoming midi channels are listened to, but the channel gets discarded
immediately and changed to the respective layer channel.
== Live Recording
Vico has a MIDI-in jackport to which you can connect any software or hardware instruments.
The input port will route everything immediately to the output port, regardless of Vicos internal
state (recording or not), but with the channel of the current layer. Routing is done in real time.
To record something, the recording mode must be activated (Edit->"Toggle recording mode"). This is
already the case when the program starts. A red playhead shows recording mode, a black one is just
playback. JACK Transport must also be running. If neither is the case, Vico reacts, e.g. to notes,
by just marking the pitch in color.
To record something, the recording mode must be activated (Edit->"Toggle recording mode"). This is
already the case when the program starts. A red playhead shows recording mode, a black one is just
playback. JACK Transport must also be running. If neither is the case, Vico reacts, e.g. to notes,
by just marking the pitch in color.
Since Vico always follows the JACK time-base (see below), the recording also takes place at this
position. You can jump to the position in another program where you want to record a solo and press
Play in this program. In principle Vico can be used like a program running in the background (which
in fact works with NSM's GUI hiding).
=== Layer Filter
It quickly happens that you record a plethora of events that make further editing extremely
tedious. Imagine, additionaly to a melody there is also MIDI aftertouch on every note, and the
Modwheel (CC) is also used. The whole screen will be full of symbols.
In the "Filter" menu are several ways to sort and move events.
The simplest usage is to use a filter for all layers and only set the event type, e.g. aftertouch.
Now all aftertouch events will be moved to the current layer.
In addition, you can of course set the target layer yourself. It is also possible to define the
respective MIDI bytes as upper and lower limits.
Example: Event type "Note" with Byte1 Minimum 0 and Maximum 59 moves all low notes, e.g. the
accompaniment of a piano piece, but all high notes remain on the target level.
The other menu commands in "Filter" offer variations, but work in the same way.
=== JACK Transport and Timebase: Bar lines
Vico was constructed with the declared goal of running as slave in a session. If you start it alone
you can of course record and use all functions, but you cannot see barlines and it's a little
harder to find the right positions.
If there is a program that acts as JACK timebase "master" Vico will follow its time signature and
transport position.
With "Edit"->"Show rhythm lines in grid" (key L) you can switch off bar lines completely.
Vico has no predetermined duration. The main view has practically infinite dimensions, and you
always work where all other programs are.
As soon as Transport is running, the main view jumps to Playhead unless Edit->"Follow Playhead" is
disabled.
Starting and stopping the transport is possible from any running JACK program, including Vico
itself. (space bar)
== Notes and events
If you want to insert notes and events with mouse and keyboard and not record them via MIDI
instrument, the menus "Input" and "Grid" offer numerous ways.
Events are always sent on the midi channel of their respective layer.
=== Notes
When the program starts, the mouse pointer is a small rectangle with a text indicating the pitch.
This is the mode for entering notes of arbitrary length. By holding down and dragging the left
mouse button you can draw notes. You must first move the mouse pointer to the correct pitch, and
then start drawing.
=== Notes
When the program starts, the mouse pointer is a small rectangle with a text indicating the pitch.
This is the mode for entering notes of arbitrary length. By holding down and dragging the left
mouse button you can draw notes. You must first move the mouse pointer to the correct pitch. and
then start drawing.
Fixed durations are available in the "Input" menu. These can be selected with the number keys.
After key "1" a click with the left mouse button inserts a whole note, with key "2" a Half note
etc. "0" selects the free mode again.
Dotted note lengths can be switched on and off for all fixed durations.
Inserted notes have an average velocity (median) of all previous notes.
=== Other Events
All other events can also be inserted with the mouse. This may not be very convenient or fast due
to large amounts of data, but it is at least possible. A live recording is probably preferable.
==== Control Changes (0xB0)
First you have to select the CC type in a submenu, e.g. "Volume (CC7)".
The height in the main view determines intensity from 0 to 127.
If you want to set control changes of another type you have to select the menu entry again (or
press the shortcut).
Control Changes cannot later change their type, e.g. from Modwheel to Volume. They would have to be
deleted and recreated.
==== Program Change (0xC0)
To change the program to select another instrument, simply set the event to a position. The label
indicates the program number and the General MIDI instrument. If the connected JACK-instrument does
not follow MIDI-naming, you can ignore the names.
==== Channel Pressure / "Monophonic Aftertouch" (0xD0)
Channel Pressure presents itself as a simple X without further labeling or selection.
The "higher" its position, the more intense.
==== Pitch Bend (0xE0 - only 7bit MSB)
Channel Pressure presents itself as a small circle without further labeling or choices. The
"higher", the more intensive.
==== Polyphonic Aftertouch (0xA0)
First you have to select, in a submenu, the note for which you want Aftertouch to apply. Then you
can insert the event. Intensity is, again, the "pitch". If you want to set Polyphonic Aftertouch
for another note you have to select the menu entry again (or press the shortcut).
Polyphonic Aftertouch cannot later change their relation to a pitch.
They would have to be deleted and recreated.
== Editing and Moving Events
All events can be edited after inserting. If tidiness has been established by using layers, maybe
through filters, editing becomes much easier.
Writing text annotations is the only function in the main view that does not require creating a
selection.
Everything else requires selected events, even if it is only one.
=== Text Annotation
If no selection exists at the moment, the right mouse button can be used to write a text annotation
on an event. It has no effect on the music.
=== Selections
First of all, right-clicking is the best way to deselect your selection.
If you hold down the Shift key, the input-event symbols disappear from the mouse pointer. Instead,
you get the normal pointer and can press, hold and drag a rectangle to select events.
Additionally marked events will be added to the existing selection.
The selection can extend over several layers.
The main view scrolls automatically when you move the mouse pointer to the left or right edge. But
often zooming out is the better way to mark many events at once.
The "Edit" menu offers the possibility to select the whole level (Ctrl+A) or even all Layers
(Ctrl+Shift+A)
==== Invert selection
If you use the Ctrl key instead of Shift, the selection is inverted: Selected notes are deselected,
all others become marked.
This is especially useful if you want to remove single notes from a selection, for example after
Ctrl+A.
=== Change event position
By pressing / holding / dragging with the left mouse button, all events can be moved both in their
timeline position (left/right) as well as their pitch or event intensity (up/down).
If you hold down the Alt key, events only move to the left/right, no matter if the mouse also moves
up and down. This increases control and prevents slips in pitch.
If you hold down the Ctrl key, events only move up/down, no matter if the mouse also moves to the
left or right. This increases control and prevents slippage in the Position in time.
You can also use the arrow keys to move events step by step in all directions. This method is
sometimes the fastest and most accurate.
=== Changing Note Durations
The duration of notes in the selection can be changed both to forward and backward. To do this, you
can move the mouse to the left or right edge of a note with the left mouse button (push/hold/pull).
All selected notes are changed by the same amount.
There is a minimum duration that cannot be shortened. Only one of the selected notes has to meet
this minimum duration in order to stop the entire process.
If non-notes are selected at the same time, they are ignored during the process.
=== Snap to Grid and Positions
The "Snap to Grid" menu allows you to place events on a fixed position. When the program is
started, the grid is initially switched off: free positioning at any time position is possible.
Like the number keys set note duration, Shift+numbers set the grid-rhythm for snapping. A quarter
note grid allows only events and notes on quarter note positions.
Setting the grid to eighth or sixteenth notes is usually a good compromise between robust input and
rhythmic flexibility.
With free note duration (Shift+0), the beginning is bound to the grid, but the end is free.
When modifying note durations, the grid is active.
=== Change Note Volume / Velocity
In the main view, you can only change the volume of notes using menu commands. Another option is
the Velocity View (see below).
The "Edit" menu offers several options: You can increase or decrease velocities step by step. The
keyboard shortcuts are + and -.
There is also a command that allows you either to change all notes relatively or to set all notes
to a fixed value. If you write a "+" or "-" in front of the value in the input line the change is
considered relative.
Example: "+23" increases all velocities by 23, "23" sets all to 23, "-42" decreases all by 42.
Caution! It is technically allowed to have velocities smaller than 0 and larger than 127. This is
not musically possible and must be observed and corrected by hand.
A further command is to "compress" velocities. All velocities are compressed proportionally into a
new boundary. For example: Velocities 0 (lowest), 64 (middle) and 127 (highest) are compressed to
value between 70 and 90. We get: 70 (lowest), 80 (middle), and 90 (highest).
All these commands ignore non-notes.
=== Copy, Cut, Paste
As in almost all programs there are copy, cut and paste.
The usual shortcuts are used: Ctrl+C, Ctrl+X, Ctrl+V.
Selected notes are copied to a background buffer with Ctrl+C; Ctrl+X deletes the original
selection. Since the selection can span several layers, one can also copy from multiple layers.
Ctrl+V inserts a copy *at the same place*.
It is possible to change the layer to insert a copy.
If you insert notes on the same layer, the notes overlap initially, so they are "invisible"! But
only one set of notes is selected! This means that you can move notes immediately.
=== Undo changes / Undo & Redo
Ctrl+Z ("Undo") reverts the last change.
Ctrl+Shift+Z ("Redo") cancels the last undo, i.e. goes back one step (...forward?). If you have
changed something in the meantime, Redo is no longer possible.
Undo is only possible to the state of the program start.
== Velocity View
The velocity view is located at the bottom of the program window. It serves as an overview of
volume and also allows you to change individual notes.
The special characteristic of this view is that it only displays notes and no other events, and
secondly only selected notes are displayed. Even individual chord members can be reviewed without
obstruction from other notes.
The velocity view shows all notes below their starting position in the main view, i.e. scrolls at
the same rate. Each column is a note. The rhythm is not displayed; all columns have the same width.
If the mouse cursor hovers over a column, the mouse wheel will change velocity in steps of two for
exactly that one note. To change the velocities of all selected notes at once, you must use the
menu commands in the Use "Edit" menu (see above)
== Miscellaneous for Advanced Users
=== Parameters and Settings at the Beginning of the Track
There is no hidden data or settings. Everything Vico sends is also visible to the user. This means
above all that there are no default values for a songs beginning.
For example: In a piece for Violin you change the instrument to a Viola (Program Change) at the end
of the piece. If played back from the start it will still be the Viola, because the connected
JACK-instrument did not receive a message to switch to a Violin.
Therefore you have to set the violin explicitly at the start.
The same applies to pitch bend or control changes such as piano pedal, modwheel, expression etc..
=== High Resolution MIDI Parameters (MSB and LSB)
Some MIDI parameters are 14bit instead of the usual 7bit. They are built from two values. This is
standard midi practice and must be learned from another source.
For Vico, these values must also be set as two separate 7bit entries.
=== Overlapping Notes
The MIDI format does not forbid a Note-On to be followed by another Note-On of the same pitch
without a Note-Off having occurred beforehand. If it does not make much musical sense in most
cases, but it is permitted and therefore supported by Vico. In general you should try to avoid
overlapping notes of the same pitch (even on multiple layers if they share the same midi channel).
=== Control changes are upside down in Vico.
Wise MIDI-owls know: MIDI messages have two parameters (Byte1 and Byte2). For notes, byte1 is pitch
and byte2 velocity. For control changes byte1 is the type (e.g. volume) and byte2 the intensity.
But in Vico, CCs show Byte2 as pitch, so you can actually shift them up and down.
=== Rounding Error: My Notes are at the Wrong Position
Mathematics and computing cannot be cheated anymore at some point. With extreme scaling
(Ctrl+Shift+Mouse wheel), when notes are very strongly compressed and 64th notes get placed on a
64th grid, rounding errors may occur and thus mispositioning will happen by a few pixels or midi
ticks.
Solution: Change the scaling, display notes more stretched.
== Installation and Start

499
documentation/english.part.adoc

@ -1,5 +1,496 @@
== Usage
* Nothing
* To
* See
* Here
We are happy you chose Vico. It's a minimalistic Midi sequencer that is intended to be used in
parallel with other software.
"Vico" (with c like ts in "bats") just means "sequence" or "order" in Esperanto for obvious reasons.
=== Application purpose and target group
In a loop- or pattern based environment you often want to have a 'free flowing' track in order to
create an instrumental solo, for example. Sometimes you just want to record a sketch or an idea
quickly and not open or create an entire DAW project.
Vico fulfills these conditions by connecting exactly one source to one output, and records and
playbacks in between. Or to put it another way: you only get one track, intended
for one instrument (but with convenient layers).
Vico has been written primarily for users of Patroneo, but has no closer technical bond. Patroneo
is a program characterized by strict repetitions and constant reuse of very short patterns. With
this you can quickly create whole arrangements for drums, bass and accompaniment chords, but a
beautiful, long melody is extremely cumbersome. Therefore Vico wants to solve this problem.
However, all programs that run as JACK transport masters or JACK timebase masters are suitable as
"remote control".
=== Basic Principles
Vico itself doesn't create sounds and offers only a single output for JACK midi and organizes all
events on up to ten layers, similar to graphics programs.
There is an input for JACK-Midi to which you can connect MIDI instruments or other programs.
At the start you see an empty track. The playhead is always at the point where JACK Transport is
located.
The bar lines are also shown in the meter of the JACK master. If none present, there are no bars.
A red playhead indicates that you are in recording mode.
If transport is in progress, a midi keyboard or similar can be used to record events.
With mouse and keyboard all events can be set by hand and changed afterwards. (see below). With the
exception of Velocity, all events are displayed in the main track.
To simplify things, you can switch a rhythm grid on and off as well as use a 'snap to grid'
functionality.
All editing requires the creation of a selection by using the Shift and the left mouse button to
draws a rectangle. A click with the right mouse button ends the selection.
Starting, saving, loading and closing your project is best done through the Non Session Manager.
=== MIDI support
Vico supports all MIDI channel messages:
* Notes (ON 0x80 and OFF 0x90 are combined to a rectangular note)
* Control Changes (0xB0)
* Program Change (0xC0)
* Channel Pressure / "Monophonic Aftertouch" (0xD0)
* Pitch Bend (0xE0 - only 7bit MSB)
* Polyphonic Aftertouch (0xA0)
All messages can either be recorded live or entered manually. Post-production is possible for all
channel messages.
The midi channel is discarded during recording. Instead, each level has the option of setting a
channel on which transmission takes place.
All non-musical events (0xF...) are ignored, including all MIDI transport messages (not JACK
transport), tune requests, etc. The same applies to SystemExclusive events.
=== Mouse and keyboard shortcuts
All keyboard shortcuts can be found in the menus, there are no "secret" keys.
In contrast, mouse commands are not available in the graphical user interface and have to be
learned here:
(LM = Left mouse button, RM = Right mouse button, Wheel = Move mouse wheel, MM = Middle mouse button, usually by pressing the wheel itself)
* Shift + hold LM, move mouse: Draws a rectangle to select events.
* RM on the background: Resets the selection.
* LM on a selected event, then move mouse: Moves selected events up/down or left/right
* Keep control (Ctrl) pressed: Moves left / right only
* Hold down the Alt key: Moves only up / down
* MM: Plays the note under the mouse pointer. There does not have to be an actual note, the position alone is enough. This is also possible on the piano.
* RM on an event: Opens a menu with further commands.
* Wheel: Scrolls the note area up and down.
* Wheel, keep Alt pressed: Scrolls the note area left and right
* Wheel on Velocities in the lower area: Changes the volume of the individual note, independent of the current selection.
* Ctrl + Space: Starts playback at cursor position
== Description of the graphical user interface and its functions
image::overview-english.png[Screenshot with Captions, link="overview-english.png"]
All points, and more, are discussed in detail below.
*[A]* Menu bar
*[B]* Main view (music and events)
*[C]* Piano
*[D]* Velocity View
*[E]* Some notes
*[F]* Another event, as an example
*[G]* Status bar with current layer and layers MIDI channel
Normally, when Vico is running in the non-session manager, there is no internal way to *exit* the
program. If you use options of your window manager like [X], Alt+F4 etc., the graphical user
interface will only be hidden.
To really close Vico you can click on the *STOP* icon in the Non Session Manager. Here you can also
restore visibility by clicking on the *GUI* button.
The current visibility setting will be saved.
== Piano at the left side
At the left side of the program window is a rotated keyboard. It serves only as an orientation aid.
The numbers between 0 and 127 written in the keys are MIDI pitches. 60 is the middle C in this system.
If the middle mouse button is held down and the mouse is moved over the keyboard, the pitch sounds
via the connected instrument.
== Main View
The main view uses rhythm as a linear dimension (technically: midi ticks). This means
that a note with the same duration always looks the same.
If the tempo (BPM) changes, the playhead moves faster or slower.
Conversely, this means that there can be no timeline where you can see at which second an event
takes place.
=== Moving and Navigation
The mouse wheel scrolls the main view up and down. Pressing the Alt key scrolls forwards or
backwards (left / right) instead.
The "Navigation" menu offers additional options.
=== Zoom and Scaling
If you hold down Ctrl and turn the mouse wheel, the main view becomes larger or smaller.
If you hold down Shift while turning , only the time axis will be scaled. Notes are compressed or
stretched so that you can either see more at once or set more precise start and end positions.
Zooming and scaling is purely visual and has no effect on the music itself.
=== Layers
Notes are not organized in tracks, but in layers. There are ten of them.
In the "Layers" menu, or with the function keys F1 to F10, the current layer can be selected.
==== Shadows
Layers lie on top of each other and obstruct each other. However, you can activate so-called
shadows, which project another layer onto the current one. Shadows cannot be edited. All shadows
disappear as soon as you change the active layer.
Shift+function key, e.g. F3, shows the third layer as shadow. F12 shows all as shadows.
==== Colors
Each layer can have a color, which can be selected in the layer menu. Mainly notes and events use
this color. The mouse pointer is always in the inverted color.
==== Midi Channels
Channels are not properties of events. Each layer has its own midi channel, between 1 and 16, on
which sending takes place. For a new project this is always channel 1.
When recording, all incoming midi channels are listened to, but the channel gets discarded
immediately and changed to the respective layer channel.
== Live Recording
Vico has a MIDI-in jackport to which you can connect any software or hardware instruments.
The input port will route everything immediately to the output port, regardless of Vicos internal
state (recording or not), but with the channel of the current layer. Routing is done in real time.
To record something, the recording mode must be activated (Edit->"Toggle recording mode"). This is
already the case when the program starts. A red playhead shows recording mode, a black one is just
playback. JACK Transport must also be running. If neither is the case, Vico reacts, e.g. to notes,
by just marking the pitch in color.
To record something, the recording mode must be activated (Edit->"Toggle recording mode"). This is
already the case when the program starts. A red playhead shows recording mode, a black one is just
playback. JACK Transport must also be running. If neither is the case, Vico reacts, e.g. to notes,
by just marking the pitch in color.
Since Vico always follows the JACK time-base (see below), the recording also takes place at this
position. You can jump to the position in another program where you want to record a solo and press
Play in this program. In principle Vico can be used like a program running in the background (which
in fact works with NSM's GUI hiding).
=== Layer Filter
It quickly happens that you record a plethora of events that make further editing extremely
tedious. Imagine, additionaly to a melody there is also MIDI aftertouch on every note, and the
Modwheel (CC) is also used. The whole screen will be full of symbols.
In the "Filter" menu are several ways to sort and move events.
The simplest usage is to use a filter for all layers and only set the event type, e.g. aftertouch.
Now all aftertouch events will be moved to the current layer.
In addition, you can of course set the target layer yourself. It is also possible to define the
respective MIDI bytes as upper and lower limits.
Example: Event type "Note" with Byte1 Minimum 0 and Maximum 59 moves all low notes, e.g. the
accompaniment of a piano piece, but all high notes remain on the target level.
The other menu commands in "Filter" offer variations, but work in the same way.
=== JACK Transport and Timebase: Bar lines
Vico was constructed with the declared goal of running as slave in a session. If you start it alone
you can of course record and use all functions, but you cannot see barlines and it's a little
harder to find the right positions.
If there is a program that acts as JACK timebase "master" Vico will follow its time signature and
transport position.
With "Edit"->"Show rhythm lines in grid" (key L) you can switch off bar lines completely.
Vico has no predetermined duration. The main view has practically infinite dimensions, and you
always work where all other programs are.
As soon as Transport is running, the main view jumps to Playhead unless Edit->"Follow Playhead" is
disabled.
Starting and stopping the transport is possible from any running JACK program, including Vico
itself. (space bar)
== Notes and events
If you want to insert notes and events with mouse and keyboard and not record them via MIDI
instrument, the menus "Input" and "Grid" offer numerous ways.
Events are always sent on the midi channel of their respective layer.
=== Notes
When the program starts, the mouse pointer is a small rectangle with a text indicating the pitch.
This is the mode for entering notes of arbitrary length. By holding down and dragging the left
mouse button you can draw notes. You must first move the mouse pointer to the correct pitch, and
then start drawing.
=== Notes
When the program starts, the mouse pointer is a small rectangle with a text indicating the pitch.
This is the mode for entering notes of arbitrary length. By holding down and dragging the left
mouse button you can draw notes. You must first move the mouse pointer to the correct pitch. and
then start drawing.
Fixed durations are available in the "Input" menu. These can be selected with the number keys.
After key "1" a click with the left mouse button inserts a whole note, with key "2" a Half note
etc. "0" selects the free mode again.
Dotted note lengths can be switched on and off for all fixed durations.
Inserted notes have an average velocity (median) of all previous notes.
=== Other Events
All other events can also be inserted with the mouse. This may not be very convenient or fast due
to large amounts of data, but it is at least possible. A live recording is probably preferable.
==== Control Changes (0xB0)
First you have to select the CC type in a submenu, e.g. "Volume (CC7)".
The height in the main view determines intensity from 0 to 127.
If you want to set control changes of another type you have to select the menu entry again (or
press the shortcut).
Control Changes cannot later change their type, e.g. from Modwheel to Volume. They would have to be
deleted and recreated.
==== Program Change (0xC0)
To change the program to select another instrument, simply set the event to a position. The label
indicates the program number and the General MIDI instrument. If the connected JACK-instrument does
not follow MIDI-naming, you can ignore the names.
==== Channel Pressure / "Monophonic Aftertouch" (0xD0)
Channel Pressure presents itself as a simple X without further labeling or selection.
The "higher" its position, the more intense.
==== Pitch Bend (0xE0 - only 7bit MSB)
Channel Pressure presents itself as a small circle without further labeling or choices. The
"higher", the more intensive.
==== Polyphonic Aftertouch (0xA0)
First you have to select, in a submenu, the note for which you want Aftertouch to apply. Then you
can insert the event. Intensity is, again, the "pitch". If you want to set Polyphonic Aftertouch
for another note you have to select the menu entry again (or press the shortcut).
Polyphonic Aftertouch cannot later change their relation to a pitch.
They would have to be deleted and recreated.
== Editing and Moving Events
All events can be edited after inserting. If tidiness has been established by using layers, maybe
through filters, editing becomes much easier.
Writing text annotations is the only function in the main view that does not require creating a
selection.
Everything else requires selected events, even if it is only one.
=== Text Annotation
If no selection exists at the moment, the right mouse button can be used to write a text annotation
on an event. It has no effect on the music.
=== Selections
First of all, right-clicking is the best way to deselect your selection.
If you hold down the Shift key, the input-event symbols disappear from the mouse pointer. Instead,
you get the normal pointer and can press, hold and drag a rectangle to select events.
Additionally marked events will be added to the existing selection.
The selection can extend over several layers.
The main view scrolls automatically when you move the mouse pointer to the left or right edge. But
often zooming out is the better way to mark many events at once.
The "Edit" menu offers the possibility to select the whole level (Ctrl+A) or even all Layers
(Ctrl+Shift+A)
==== Invert selection
If you use the Ctrl key instead of Shift, the selection is inverted: Selected notes are deselected,
all others become marked.
This is especially useful if you want to remove single notes from a selection, for example after
Ctrl+A.
=== Change event position
By pressing / holding / dragging with the left mouse button, all events can be moved both in their
timeline position (left/right) as well as their pitch or event intensity (up/down).
If you hold down the Alt key, events only move to the left/right, no matter if the mouse also moves
up and down. This increases control and prevents slips in pitch.
If you hold down the Ctrl key, events only move up/down, no matter if the mouse also moves to the
left or right. This increases control and prevents slippage in the Position in time.
You can also use the arrow keys to move events step by step in all directions. This method is
sometimes the fastest and most accurate.
=== Changing Note Durations
The duration of notes in the selection can be changed both to forward and backward. To do this, you
can move the mouse to the left or right edge of a note with the left mouse button (push/hold/pull).
All selected notes are changed by the same amount.
There is a minimum duration that cannot be shortened. Only one of the selected notes has to meet
this minimum duration in order to stop the entire process.
If non-notes are selected at the same time, they are ignored during the process.
=== Snap to Grid and Positions
The "Snap to Grid" menu allows you to place events on a fixed position. When the program is
started, the grid is initially switched off: free positioning at any time position is possible.
Like the number keys set note duration, Shift+numbers set the grid-rhythm for snapping. A quarter
note grid allows only events and notes on quarter note positions.
Setting the grid to eighth or sixteenth notes is usually a good compromise between robust input and
rhythmic flexibility.
With free note duration (Shift+0), the beginning is bound to the grid, but the end is free.
When modifying note durations, the grid is active.
=== Change Note Volume / Velocity
In the main view, you can only change the volume of notes using menu commands. Another option is
the Velocity View (see below).
The "Edit" menu offers several options: You can increase or decrease velocities step by step. The
keyboard shortcuts are + and -.
There is also a command that allows you either to change all notes relatively or to set all notes
to a fixed value. If you write a "+" or "-" in front of the value in the input line the change is
considered relative.
Example: "+23" increases all velocities by 23, "23" sets all to 23, "-42" decreases all by 42.
Caution! It is technically allowed to have velocities smaller than 0 and larger than 127. This is
not musically possible and must be observed and corrected by hand.
A further command is to "compress" velocities. All velocities are compressed proportionally into a
new boundary. For example: Velocities 0 (lowest), 64 (middle) and 127 (highest) are compressed to
value between 70 and 90. We get: 70 (lowest), 80 (middle), and 90 (highest).
All these commands ignore non-notes.
=== Copy, Cut, Paste
As in almost all programs there are copy, cut and paste.
The usual shortcuts are used: Ctrl+C, Ctrl+X, Ctrl+V.
Selected notes are copied to a background buffer with Ctrl+C; Ctrl+X deletes the original
selection. Since the selection can span several layers, one can also copy from multiple layers.
Ctrl+V inserts a copy *at the same place*.
It is possible to change the layer to insert a copy.
If you insert notes on the same layer, the notes overlap initially, so they are "invisible"! But
only one set of notes is selected! This means that you can move notes immediately.
=== Undo changes / Undo & Redo
Ctrl+Z ("Undo") reverts the last change.
Ctrl+Shift+Z ("Redo") cancels the last undo, i.e. goes back one step (...forward?). If you have
changed something in the meantime, Redo is no longer possible.
Undo is only possible to the state of the program start.
== Velocity View
The velocity view is located at the bottom of the program window. It serves as an overview of
volume and also allows you to change individual notes.
The special characteristic of this view is that it only displays notes and no other events, and
secondly only selected notes are displayed. Even individual chord members can be reviewed without
obstruction from other notes.
The velocity view shows all notes below their starting position in the main view, i.e. scrolls at
the same rate. Each column is a note. The rhythm is not displayed; all columns have the same width.
If the mouse cursor hovers over a column, the mouse wheel will change velocity in steps of two for
exactly that one note. To change the velocities of all selected notes at once, you must use the
menu commands in the Use "Edit" menu (see above)
== Miscellaneous for Advanced Users
=== Parameters and Settings at the Beginning of the Track
There is no hidden data or settings. Everything Vico sends is also visible to the user. This means
above all that there are no default values for a songs beginning.
For example: In a piece for Violin you change the instrument to a Viola (Program Change) at the end
of the piece. If played back from the start it will still be the Viola, because the connected
JACK-instrument did not receive a message to switch to a Violin.
Therefore you have to set the violin explicitly at the start.
The same applies to pitch bend or control changes such as piano pedal, modwheel, expression etc..
=== High Resolution MIDI Parameters (MSB and LSB)
Some MIDI parameters are 14bit instead of the usual 7bit. They are built from two values. This is
standard midi practice and must be learned from another source.
For Vico, these values must also be set as two separate 7bit entries.
=== Overlapping Notes
The MIDI format does not forbid a Note-On to be followed by another Note-On of the same pitch
without a Note-Off having occurred beforehand. If it does not make much musical sense in most
cases, but it is permitted and therefore supported by Vico. In general you should try to avoid
overlapping notes of the same pitch (even on multiple layers if they share the same midi channel).
=== Control changes are upside down in Vico.
Wise MIDI-owls know: MIDI messages have two parameters (Byte1 and Byte2). For notes, byte1 is pitch
and byte2 velocity. For control changes byte1 is the type (e.g. volume) and byte2 the intensity.
But in Vico, CCs show Byte2 as pitch, so you can actually shift them up and down.
=== Rounding Error: My Notes are at the Wrong Position
Mathematics and computing cannot be cheated anymore at some point. With extreme scaling
(Ctrl+Shift+Mouse wheel), when notes are very strongly compressed and 64th notes get placed on a
64th grid, rounding errors may occur and thus mispositioning will happen by a few pixels or midi
ticks.
Solution: Change the scaling, display notes more stretched.

607
documentation/german.adoc

@ -28,17 +28,517 @@ https://asciidoctor.org/docs/user-manual/
Für Programmversion 1.0
== Bedienung
Hier gibt es nichts zu sehen.
* Weiter
* Gehen
Schön, dass Sie sich für Vico entschieden hast. Es handelt sich um einen minimalistischen
Midi-Sequencer, der parallel mit anderer Software eingesetzt werden soll.
"Vico" (mit c als 'z'/'ts' wie in Zirkel) heißt Reihenfolge auf Esperanto, da es sich um einen
"Sequencer" handelt.
=== Anwendungszweck und Zielgruppe
In einer loop- oder patternbasierten Umgebung möchte man oft einen 'freien' Track habe, um etwa ein
Instrumentalsolo umzusetzen.
Manchmal möchte man auch nur schnell eine Skizze oder Idee aufnehmen und dazu nicht gleich ein
ganzes DAW-Projekt öffnen oder erstellen.
Vico erfüllt diese Bedingungen indem es genau eine Aufnahmequelle mit einer Ausgabe verbindet und
dazwischen aufnehmen und bearbeiten kann. Oder anders gesagt: man bekommt nur einen Track, gedacht
für ein Instrument (dafür aber mit nützlichen Ebenen)
Vico ist in erster Linie für Benutzer von Patroneo geschrieben worden, hat dazu aber keine engere
technische Bindung. Patroneo ist ein Programm geprägt von strengen Wiederholungen und ständiger
Wiederverwendung von sehr kurzen Mustern. Damit kann man schnell ganze Arrangements für Schlagzeug,
Bass und Begleitakkorde aufbauen, aber eine schöne, lange Melodie ist extrem umständlich. Daher
hier das Programm für genau diesen Zweck.
Alle Programme, die als JACK-Transport-Master oder JACK-Timebase-Master laufen können Vico
fernsteuern.
=== Grundlagen
Vico erzeugt selbst keine Klänge und bietet nur einen einzigen Ausgang für JACK-Midi und ordnet alle
Events auf bis zu zehn Ebenen, ähnlich wie in Grafikprogrammen.
Es gibt einen Eingang für JACK-Midi, an dem man MIDI-Instrumente oder andere Programme anschließen
kann.
Beim Start sieht man einen leeren Track. Der Playhead befindet sich immer an der Stelle, an der
JACK Transport sich befindet.
Die Taktstriche werden ebenfalls im Metrum des JACK Masters gezeigt. Falls nicht vorhanden gibt es
keine.
Ein roter Playhead zeigt an, dass man sich im Aufnahmemodus befindet; Läuft Transport wird
aufgenommen, etwa von einen Midikeyboard.
Mit Maus und Tastatur können außerdem alle Events von Hand gesetzt und nachträglich verändert
werden (s.u.). Bis auf Velocity werden alle Events im Haupttrack dargestellt.
Zur Vereinfachung kann man ein Rhythmusraster ein- und ausschalten sowie einstellen in welchem
Raster Events erzeugt oder verschoben werden sollen.
Alles Bearbeiten erfordert das Erstellen einer Auswahl ("Selection") indem man mit Umschalten und
der linken Maustaste einen Rahmen zieht. Ein Klick mit der rechten Maustaste beendet die Auswahl.
Starten, speichern, laden und schließen deines Projektes wird am besten durch den Non Session Manager
erledigt.
=== MIDI-Unterstützung
Vico unterstützt alle MIDI Channel-Nachrichten:
* Noten (ON 0x80 und OFF 0x90 sind als Rechtecknote zusammengefasst)
* Control Changes (0xB0)
* Program Change (0xC0)
* Channel Pressure / "Monophonic Aftertouch" (0xD0)
* Pitch Bend (0xE0 - nur 7bit MSB)
* Polyphonic Aftertouch (0xA0)
Alle Nachrichten können entweder live aufgenommen werden oder mit der Hand eingetragen werden.
Nachbearbeitung ist für alle Channel-Nachrichten möglich.
Der Midikanal wird bei der Aufnahme verworfen. Statt dessen hat jede Ebene die Möglichkeit einen
Kanal einzustellen, auf dem gesendet wird.
Alle nichtmusikalischen Events (0xF...) werden ignoriert, inkl. aller Nachrichten zu MIDI-Transport
(nicht JACK-Transport), Tune-Request usw. Gleiches gilt für SystemExclusive Events.
=== Maus und Tastaturkürzel
Alle Tastaturkürzel ("Shortcuts") sind in den Menüs zu finden, es gibt keine "geheimen" Tasten.
Im Gegensatz dazu sind Mausbefehle überhaupt nicht in der grafischen Oberfläche einzusehen und
müssen hier gelernt werden:
(LM = Linke Maustaste, RM = Rechte Maustaste, Rad = Mausrad bewegen, MM = Mittlere Maustaste, meistens das Rad selbst drücken)
* Umschalten + LM gedrückt halten, Maus bewegen: Zieht einen Rahmen um Events auszuwählen.
* RM auf den Hintergrund: Löst die Auswahl wieder auf.
* LM auf ein ausgewähltes Event, dann Maus bewegen: Verschiebt die ausgewählten Events nach oben/unten oder links/rechts
* Steuerung (Strg) dabei gedrückt halten: Bewegt nur nach links / rechts
* Alt dabei gedrückt halten: Bewegt nur nach oben / unten
* MM: Spielt die Note unter dem Mauszeiger ab. Es muss keine tatsächliche Note dort sein, die Position alleine reicht. Dies geht auch auf dem Klavier am linken Rand.
* RM auf ein Event: Öffnet ein Menü mit weiteren Funktionen.
* Rad: Scrollt den Notenbereich hoch und runter
* Rad, dabei Alt gedrückt halten: Scrollt den Notenbereich links und rechts
* Rad auf Velocities im unteren Bereich: Ändert die Lautstärke der einzelnen Note, unabhängig der momentanen Auswahl
* Strg + Leertaste: Startet Playback an der Mauszeigerposition
== Beschreibung der grafischen Oberfläche und ihrer Funktionen
image::overview-german.png[Screenshot mit Beschriftung, link="overview-german.png"]
Alle Punkte, und mehr, werden weiter unten ausführlich besprochen.
* *[A]* Menüleiste
* *[B]* Hauptansicht (Noten und Events)
* *[C]* Klavier am linken Rand
* *[D]* Velocityansicht
* *[E]* Einige Noten
* *[F]* Ein weiteres Event, als Beispiel
* *[G]* Statusleiste mit aktueller Ebene und Ebenen-MIDI-Kanal
Im Normalfall, wenn Vico im Non-Session-Manager läuft, gibt keine interne Möglichkeit das Programm
zu *beenden*. Benutzt man die Funktion seinen Fenstermanagers wie [X], Alt+F4 etc. wird die
grafische Oberfläche lediglich versteckt.
Um Vico wirklich zu schließen kann man im Non Session Manager auf das *STOP* Icon klicken. Hier
kann man auch die Sichtbarkeit wieder herstellen, indem man auf den *GUI* Knopf klickt.
Die momentane Sichtbarkeitseinstellung wird gespeichert.
== Klavier am linken Rand
Am linken Rand des Programmfensters befindet sich eine gedrehte Klaviatur. Sie dient ausschließlich
als Orientierungshilfe.
Die Zahlen zwischen 0 und 127 in den Tasten sind MIDI-Tonhöhen. 60 ist in diesem System das mittlere
C.
Hält man die mittlere Maustaste gedrückt und fährt über die Tastatur erklingt der Ton über das
verbundene Instrument.
== Hauptansicht
Die Hauptansicht nutzt Rhythmus als lineare Ausdehnung (technisch: Midi-Ticks).
Das bedeutet, dass eine Note mit gleicher Dauer immer gleich lang aussieht.
Verändert sich das Tempo (BPM) dann bewegt sich der Playhead schneller oder langsamer.
Im Umkehrschluss bedeutet das, dass es keine Zeitleiste geben kann, an der man sieht bei welcher
Sekunde ein Event stattfindet.
=== Bewegen und Navigation
Mit dem Mausrad scrollt man die Hauptansicht nach oben und unten. Mit gedrückter Alt-Taste scrollt
man stattdessen nach vorne oder hinten (links / rechts)
Das "Navigation"-Menü bietet weitere Möglichkeiten.
=== Zoom und Skalierung
Hält man Strg gedrückt und dreht das Mausrad wird die Ansicht größer oder kleiner.
Hält man zusätzlich noch Umschalten gedrück wird nur die Zeitachse skaliert. Noten werden
zusammengedrückt oder auseinandergezogen, so dass man entweder mehr auf einmal sehen kann oder
genauere Anfangs- und Endpositionen setzen kann.
Zoom und Skalierung ist rein grafisch und hat keinerlei Auswirkung auf die Musik selbst.
=== Ebenen
Noten werden nicht in Tracks, sondern in Ebenen organisiert. Es gibt derer zehn.
Im "Ebenen"-Menü, oder mit den Funktionstasten F1 bis F10, kann die momentane Ebene ausgewählt werden.
==== Schatten
Ebenen liegen hintereinander und verdecken sich gegenseitig. Man kann allerdings sogenannte Schatten
aktivieren,
die eine andere Ebene auf die momentane projizieren. Schatten können nicht bearbeitet werden.
Alle Schatten verschwinden,sobald man die aktive Ebene verändert.
Umschalten+Funktionstaste, z.B. F3, zeigt die dritte Ebene als Schatten. F12 zeigt alle als Schatten.
==== Farben
Jede Ebene kann eine Farbe haben, diese ist im Ebenenmenü auswählbar. Hauptsächlich sind Noten und
Events in dieser Farbe. Der Mauszeiger ist immer in der gegenteiligen Farbe.
==== Midi-Kanal
Kanäle sind keine Eigenschaften der Events. Jede Ebene hat einen eigenen Midikanal,
zwischen 1 und 16, auf dem gesendet wird. Bei einem neuen Projekt ist das immer Kanal 1.
Bei der Aufnahme wird zwar auf allen eigehenden Midikanälen zugehört, allerdings wird der Kanal
sofort verworfen und auf den jeweiligen Ebenenkanal geändert.
== Live Aufnahmen
Vico hat einen MIDI-in Jackport, an dem man beliebige Programme oder Hardwareinstrumente anschließen
kann.
Der Eingangsport leitet, unabhängig von der Verarbeitung in Vico selbst (Aufnahme oder nicht), alles
sofort an den Ausgangsport durch, allerdings mit dem Kanal der jeweils aktuellen Ebene. Die
Weiterleitung geschieht in Echtzeit (Realtime).
Um etwas aufzunehmen muss der Aufnahmemodus aktiviert sein (Bearbeiten->"Aufnahmemodus umschalten").
Dies ist bei Programmstart bereits der Fall. Ein roter Playhead zeigt Aufnahmebereitschaft,
ein schwarzer ist reines Abspielen.
Zusätzlich muss Transport laufen.
Ist beides nicht der Fall reagiert Vico, z.B. auf Noten, indem es die Tonhöhe farbig markiert.
Da Vico immer der JACK Timebase folgt (s.u.) geschieht die Aufnahme auch an dieser Position.
Man kann also in einem anderen Programm genau an die Stelle springen zu der man etwa ein Solo
aufnehmen möchte und in diesem Programm auch auf Play drücken. Im Prinzip kann Vico wie ein im
Hintergrund laufendes Programm benutzt werden (was mit NSMs GUI-verstecken auch tatsächlich geht).
=== Ebenen-Filter
Es passiert schnell, dass man eine Fülle von Events aufzeichnet, die das weitere Bearbeiten extrem
erschweren können. Man stelle sich vor, dass zu einer Melodie auch noch MIDI Aftertouch auf jeder
Note aufgezeichnet wird und darüber hinaus das Modwheel (CC) benutzt wird. Schon ist der ganze
Bildschirm voller Symbole.
Im Menü "Filter" befinden sich mehrere Möglichkeiten um Events auf Ebenen umzusortieren.
Die einfachste Anwendung ist einen Filter für alle Ebenen zu benutzen und dort lediglich den
Event-Typ einzustellen, z.B. Aftertouch. Nun werden alle Aftertouch-Events auf die aktuelle Ebene
verschoben.
Darüber hinaus kann man die Zielebene natürlich selbst einstellen. Auch ist es möglich die jeweiligen
MIDI Bytes als Ober- und Untergrenze zu definieren.
Beispiel: Event-Typ "Note" mit Byte1 Minimum 0 und Maximum 59 verschiebt alle tiefen Noten, z.B.
die Begleitung eines Klavierstückes, auf die Zielebene aber lässt alle hohen Noten stehen.
Die weiteren Menübefehle in "Filter" bieten Variation, funktionieren aber nach dem gleichen Muster.
=== JACK Transport und Timebase: Taktstriche
Vico wurde mit dem erklärten Ziel konstruiert, untergeordnet in einer Session zu laufen.
Startet man es alleine kann man natürlich aufnehmen und alle Funktionen benutzen, aber man sieht
keine Taktstriche und es ist ein bischen schwieriger die richtige Stelle zu finden.
Gibt es hingegen ein Programm, dass als JACK Timebase "Master" fungiert folgt Vico dessen Taktart
und Position.
Mit "Bearbeiten"->"Zeige Rhythmus Raster" (Taste L) kann man Taktstriche auch komplett ausschalten.
Vico hat keine festgesetzte Länge. Die Hauptansicht hat praktisch unendliche Länge, und man arbeitet
stets an der Stelle, an der sich alle anderen Programme auch befinden.
Sobald Transport läuft springt die Hauptansicht zum Playhead, es sei denn
Bearbeiten->"Playhead stets zentrieren" ist ausgeschaltet.
Starten und Stoppen des Transports ist von jedem laufenden JACK-Programm möglich, inkl. Vico selbst.
(Leertaste)
== Noten und Events
Möchte man Noten und Events mit Maus und Tastatur einfügen, und nicht per MIDI Instrument aufnehmen,
stehen in den Menüs "Eingabe" und "Raster" zahlreiche Möglichkeiten zur Verfügung.
Alle Events werden immer auf dem Midi-Kanal ihrer Ebene gesendet.
=== Events löschen
Momentan ausgewählte Events (s.u.), inkl. Noten, können mit der Entfernen Taste gelöscht werden.
Alternativ kann man im "Bearbeiten"-Menü löschen.
=== Noten
Bei Programmstart ist der Mauszeiger ein kleines Rechteck mit einem Text zur Tonhöhe. Dies ist der
Modus zum eingeben von Noten mit beliebiger Länge. Durch gedrückt halten und ziehen der linken
Maustaste können Noten gezeichnet werden. Man muss zuerst den Mauszeiger auf die richtige Tonhöhe
bringen, dann anfangen zu zeichnen.
Im Eingabemenü stehen feste Tondauern zur Verfügung. Diese können durch die Zahlentasten ausgewählt
werden. Nach Taste "1" fügt ein Klick mit der linken Maustaste eine Ganze Note ein, mit "2" eine
Halbe Note usw. "0" wählt wieder den freien Modus aus.
Punktierte Notenlängen können hier für alle festen Dauern an und ausgeschaltet werden.
Eingefügte Noten haben eine Durchschnitts-Velocity (Median) aus allen bisherigen Noten.
=== Weitere Events
Alle anderen Events können ebenfalls mit der Maus eingefügt werden. Das ist aufgrund großer
Datenmengen evtl. nicht sehr bequem oder schnell, aber immerhin möglich. Eine Liveaufnahme ist
wahrscheinlich vorzuziehen.
==== Control Changes (0xB0)
Zunächst muss man in einem Submenü den CC Typ auswählen, etwa "Volume (CC7)".
Die Höhe in der Hauptansicht bestimmt nun die Intensität von 0 bis 127.
Möchte man Control Changes eines anderen Typs setzen muss man den Menüeintrag erneut auswählen
(oder das Tastenkürzel drücken).
Control Changes können nicht nachträglich ihren Typ ändern, z.B. von Modwheel zu Volume. Man müsste
sie löschen und neu erstellen.
==== Program Change (0xC0)
Um das Programm zu wechseln, um ein anderes Instrument auszuwählen, muss man lediglich das
Event auf eine Position setzen. Die Beschriftung zeigt an um welche Programmnummer und
General-Midi-Instrument es sich handelt. Folgt das verbundene JACK-Intrument nicht der MIDI-Benennung
kann man die Namen natürlich ignorieren.
==== Channel Pressure / "Monophonic Aftertouch" (0xD0)
Channel Pressure präsentiert sich als ein simples X ohne weitere Beschriftung oder Auswahlmöglichkeit.
Je "höher" die Position, desto intensiver.
==== Pitch Bend (0xE0 - nur 7bit MSB)
Channel Pressure präsentiert sich als kleiner Kreis ohne weitere Beschriftung
oder Auswahlmöglichkeit. Je "höher", desto intensiver.
==== Polyphonic Aftertouch (0xA0)
Zunächst muss man in einem Submenü die Note auswählen, für die Aftertouch gelten
soll. Anschließend kann man das Event einfügen. Intensität ist auch hier wieder die "Tonhöhe".
Möchte man Polyphonic Aftertouch für eine andere Note setzen muss man den Menüeintrag erneut
auswählen (oder das Tastenkürzel drücken).
Polyphonic Aftertouch können nicht nachträglich ihren Bezug zur Tonhöhe ändern.
Man müsste sie löschen und neu erstellen.
== Events bearbeiten und verschieben
Alle Events lassen sich nachträglich bearbeiten. Hat man Ordnung durch Ebenen hergestellt, etwa
durch Filter, gestaltet sich dies umso einfacher.
Schreiben von Textanmerkungung ist die einzige Funktion in der Hauptansicht,
die keine Auswahl benötigt.
Alles weitere benötigt zwingend ausgewählte Events, selbst wenn es nur ein einziges ist.
=== Textanmerkung
Existiert gerade keine Auswahl ermöglicht es die rechte Maustaste auf ein Event eine Textanmerkung
zu schreiben. Sie hat keine Auswirkung auf die Musik.
=== Auswahl
Das wichtigste zuerst: Ein Klick mit der rechten Maustaste ist die beste Möglichkeit die Auswahl
aufzuheben.
Hält man die Umschalten-Taste gedrückt verschwinden die Event-Symbole am Mauszeiger. Statt dessen
erhält man den normalen Zeiger und kann durch drücken, halten und ziehen ein Rechteck ziehen um
Events auszuwählen.
Zusätzliche markierte Events werden zur bestehenden Auswahl hinzugefügt.
Die Auswahl kann sich über mehrere Ebenen ausdehnen.
Die Hauptansicht scrollt automatisch wenn man mit dem Mauszeiger an den linken bzw. rechten Rand
kommt. Oft ist aber rauszoomen die bessere Methode um viele Events auf einmal zu markieren.
Das "Bearbeiten"-Menü bietet die Möglichkeit die ganze Ebene zu wählen (Strg+A) oder sogar alle
Ebenen (Strg+Umschalten+A)
==== Auswahl umkehren
Benutzt man die Strg-Taste, anstatt Umschalten, kehrt sich die Auswahl um: Ausgewählte Noten werden
aufgehoben, alle anderen werden markiert.
Das ist besonders nützlich wenn man einzelne Noten aus einer Auswahl herausnehmen möchte, etwa
nach Strg+A.
=== Event-Position verändern
Durch Drück/Halten/Ziehen mit der linken Maustaste können alle Events sowohl in ihrer zeitlichen
Position (links/rechts) als auch in ihrer Tonhöhe bzw. Event-Intensität (hoch/runter) verändert
werden.
Hält man dabei die Alt-Taste gedrückt bewegen sich Events nur noch nach links/rechts, egal ob die
Maus auch hoch und runter fährt. Das erhöht die Kontrolle und vermeidet Ausrutscher in der Tonhöhe.
Hält man dabei die Strg-Taste gedrückt bewegen sich Events nur noch nach oben/unten, egal ob die
Maus auch nach links oder rechts fährt. Das erhöht die Kontrolle und vermeidet Ausrutscher in der
Position in der Zeit.
Man kann auch die Pfeiltasten benutzen um Events Schrittweise in alle Richtungen zu verschieben.
Diese Methode ist mitunter am schnellsten und genauesten.
=== Notenlängen verändern
Noten in der Auswahl können sowohl in ihrer Dauer nach vorne, wie auch nach hinten verändert werden.
Dazu kann man mit der Maus am linken oder rechten Rand einer Note mit der linken Maustaste
drücken/halten/ziehen. Alle markierten Noten werden um das gleiche Maß verändert.
Es gibt eine Mindestdauer, die nicht unterschritten werden kann. Dabei muss nur eine der
ausgewählten Noten an diese Mindestdauer stoßen, damit der gesamte Prozess gestoppt wird.
Sind gleichzeitig Nicht-Noten markiert werden diese bei der Aktion ignoriert.
=== Raster und Positionen einrasten
Das "Raster"-Menü ermöglicht es Events auf feste Position zu setzen. Bei Programmstart ist das
Raster zunächst ausgeschaltet: freie Positionierung auf jeder Zeitposition ist möglich.
Wie die Zifferntasten Tondauern, so stellen Umschalten+Ziffern das Rhythmusraster ein.
Ein Viertelnotenraster lässt nur noch Events und Tonanfänge auf Viertelnotenpositionen zu.
Das Raster auf Achtel- oder Sechzehntelnoten zu stellen ist meistens ein guter Kompromiss zwischen
robuster Eingabe und rhythmischer Flexibilität.
Bei freier Notenlänge (Umschalten+0) ist der Anfang ans Raster gebunden, das Ende ist jedoch frei.
Beim Verändern von Notenlängen ist das Raster aktiv.
=== Notenlautstärke / Velocity verändern
In der Hauptansicht kann man die Lautstärken von Noten nur durch Menübefehle verändern. Eine weitere
Möglichkeit bietet die Velocityansicht (s.u.).
Das "Bearbeiten"-Menü bietet mehrere Optionen:
Man kann Velocities schrittweise erhöhen oder ernierigen. Die Tastenkürzel sind + und -.
Dazu gibt es einen Befehl, der es ermöglicht entweder relativ alle Noten zu verändern oder absolute
alle auf einen festen Wert zu setzen. Schreibt man ein "+" oder "-" vor den Wert in der Eingabezeile
wird die Änderung als relativ angesehen.
Beispiel: "+23" erhöht alle Velocities um 23. "23" setzt alle auf 23, "-42" verringert alles um
42.
Achtung! Es wird technisch zugelassen Velocities kleiner als 0 und größer als 127 zu haben. Das ist
musikalisch nicht möglich und muss von Hand beachtet und korrigiert werden.
Ein weiterer Befehl ist es Velocities zu "komprimieren". Hierbei werden alle proportional in einen
neuen Rahmen gepresst. Zum Beispiel: Velocities 0 (niedrigster), 64 (mitte) und 127 (höchster)
werden komprimiert in den Rahmen zwischen 70 und 90. Dann bekommen wir: 70 (niedrigster), 80 (mitte),
und 90 (höchster).
Bei all diesen Befehlen werden Nicht-Noten ignoriert.
=== Kopieren, Ausschneiden, Einfügen
Wie in fast allen Programmen gibt es Kopieren, Ausschneiden und Einfügen bzw. Copy, Cut, Paste.
Die üblichen Tastenkürzel werden benutzt: Strg+C, Strg+X, Strg+V.
Ausgewählten Noten werden mit Strg+C in einen Hintergrundspeicher kopiert; mit Strg+X wird die
Originalauswahl zusätzlich gelöscht. Da die Auswahl mehrere Ebenen überspannen kann, kann man auch
von mehreren Ebenen kopieren.
Mit Strg+V wird nun *an der selben Stelle* eine Kopie eingefügt.
Es ist möglich die Ebene zu wechseln um dort eine Kopie einzufügen.
Fügt man auf der selben Ebene ein überlagern sich die Noten zunächst, sind also "unsichtbar"!
Es ist aber nur ein Satz an Noten ausgewählt! Das heißt man kann sofort verschieben.
=== Änderungen rückgängig machen / Undo & Redo
Strg+Z ("Undo") macht die jeweils letzte Änderung rückgängig.
Strg+Umschalten+Z ("Redo") widerruft das letzte Undo, geht also wieder einen Schritt zurück
(...nach vorne?). Hat man inzwischen selber wieder etwas geändert ist Redo nicht mehr möglich.
Undo ist nur bis zum Zustand des Programmstarts möglich.
== Velocityansicht
Am unteren Rand des Programmfensters befindet sich die Velocityansicht. Sie dient als Übersicht über
Lautstärken und ermöglicht außerdem das Verändern von Einzelnoten.
Das besondere an dieser Ansicht ist, dass sie erstens nur Noten anzeigt, und keine anderen Events,
und zweitens nur die ausgewählten Noten anzeigt. So können selbst Einzelnoten aus Akkorden genau
angesehen werden.
Die Velocityansicht zeigt alle Noten unterhalb ihrer Anfangsposition in der Hauptansicht, scrollt also mit.
Jeder Balken ist eine Note. Der Rhythmus wird nicht dargestellt; alle Balken sind gleich breit.
Zeigt der Mauszeiger auf einen Balken ändert das Mausrad die Velocity in Zweierschritten von genau
dieser einen Note.
Um Velocities aller ausgewählten Noten auf einmal zu veränden muss man jedoch die Menübefehle im
"Bearbeiten"-Menü benutzen (s.o.)
== Verschiedenes für fortgeschrittene Benutzer
=== Parameter und Einstellungen am Anfang des Stückes
Es gibt keine verstecken Daten oder Einstellungen. Alles, was Vico sendet ist auch für den
Benutzer zu sehen. Das bedeutet vor allem, dass es keine Starteinstellungen gibt.
Zum Beispiel: Ändert man am Ende eines Stücks für z.B Geige das Instrument auf eine Bratsche
(Program Change) und spielt dann von vorne ab wird es immer noch die Bratsche sein, da das
verbundene JACK-Instrument keine Nachricht bekommen hat auf die Geige zu wechseln. Man muss also
ganz am Anfang die Geige explizit setzen. Ähnliches gilt für Pitchbend oder Control Changes wie
Klavierpedal, Modwheel, Expression etc.
=== MIDI Parameter mit hoher Auflösung (MSB und LSB)
Manche MIDI Parameter sind 14bit, statt der üblichen 7bit. Sie werden aus zwei Werten
zusammengesetzt. Das ist standard Midipraxis und muss an anderer Stelle gelernt werden.
Für Vico gilt, dass diese Werte auch als zwei getrennte 7bit-Einträge gesetzt werden müssen.
=== Überlappende Noten
Das MIDI Format verbietet nicht, dass auf ein Note-On ein weiteres Note-On der gleichen Tonhöhe
folgt, ohne dass vorher ein Note-Off kam. Ach wenn es das in den meisten Fällen wenig musikalischen
Sinn macht ist es erlaubt und von daher von Vico unterstützt. Im Allgemeinen sollte man versuchen
sich überlappende Noten der gleichen Tonhöe zu vermeiden (auch auf mehreren Ebenen, wenn diese den
selben Midikanal teilen).
=== "Control Changes sind falsch herum in Vico!"
Schlaue MIDI-Füchse wissen: MIDI Nachrichten haben zwei Parameter (Byte1 und Byte2). Bei Noten ist
Byte1 die Tonhöhe und Byte2 die Velocity. Bei Control Changes ist Byte1 der Typ (z.B. Volume) und
Byte2 die Intensität. Aber in Vico wird bei CCs Byte2 als Tonhöhe dargestellt, damit man diese
hoch und runter schieben kann.
=== Rundungsfehler: Meine Noten sind an der Falschen Stelle
Mathematik und Computer lassen sich irgendwann nicht mehr austricksen.
Wenn bei extremer Skalierung (Strg+Umschalten+Mausrad), wenn Noten sehr stark zusammen gepresst
werden, 64tel Noten auf ein 64tel Raster gesetzt werden wollen kommt es evtl. zu Rundungsfehlern
und damit zu Fehlpositionierung um einige Pixel bzw. Midi-Ticks. Lösung: Skalierung verändern,
Noten "länger" darstellen lassen.
== Installation und Start
Vico ist exklusiv für Linux. Am besten installierst du Vico über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitte deine Linuxdistribution Vico bereitzustellen.
Vico ist exklusiv für Linux. Am besten installieren Sie Vico über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitten sie ihre
Linuxdistribution Vico bereitzustellen.
Falls in den Paketquellen vorhanden bitte direkt bei "vico im Non Session Manager starten" weiterlesen.
Falls nicht kann man Vico auch selbst "bauen".
@ -48,100 +548,81 @@ Falls nicht kann man Vico auch selbst "bauen".
* Kompilieren und Installieren geht entweder mit einem Releasedownload oder mit der Git-Version:
** Lade von https://www.laborejo.org/downloads die aktuelle Version herunter und entpacke sie.
** `git clone https://laborejo.org/vico.git`
* Wechsele in das neue Verzeichnis und benutze diese Befehle:
* Wechseln Sie in das neue Verzeichnis und benutzen diese Befehle:
*`./configure --prefix=/usr`
** Das Standardprefix is /usr/local
* `make`
* `sudo make install`
.vico im Non Session Manager (NSM) starten
* Starte `non-session-manager`
* Knopf `New`, gib einen Namen für dein Musikstück ein.
* Knopf `Add Client to Session`, gib hier `vico` ein, kleingeschrieben.
* Starten Sie `non-session-manager`
* Knopf `New`, geben Sie einen Namen für das Musikstück ein.
* Knopf `Add Client to Session`, geben Sie hier `vico` ein, kleingeschrieben.
* Nochmal Add Client, diesmal `jackpatch`.
* Füge beliebige kompatible Programme hinzu, z.B. Synthesizer.
* Fügen Sie beliebige kompatible Programme hinzu, z.B. Synthesizer.
** Siehe auch das NSM Handbuch: http://non.tuxfamily.org/nsm/
** Und die Liste der NSM kompatiblen Programme: http://non.tuxfamily.org/wiki/ApplicationsSupportingNsm
In der Datei README.md befinden sich weitere Möglichkeiten vico zu starten. Diese sind zum Musikmachen nicht praktikabel,
aber nützlich für Tests und Entwicklung.
In der Datei README.md befinden sich weitere Möglichkeiten vico zu starten. Diese sind zum
Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.
== Helfen und Entwicklung
Du kannst Vico in vielen Art helfen: Testen und Fehler melden, übersetzen, marketing, anderen Nutzern helfen und schließlich programmieren.
Sie können Vico auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
anderen Nutzern helfen und schließlich programmieren.
=== Testen und Programmfehler
Falls du einen Fehler im Programm entdeckst (oder es zu langsam läuft) melde dich bitte bei auf eine Art und Weise, die dir am besten passt.
Falls Sie einen Fehler im Programm entdecken (oder es zu langsam läuft) melden Sie diese bitte auf
eine Art und Weise, die ihnen am besten passt.
.Kontaktmöglichkeiten
* Webseite: https://www.laborejo.org
* E-Mail: info@laborejo.org
* IRC: #laborejo auf dem Server irc.freenode.org
* Wenn du die Gelegenheit siehst und weist, dass ein Entwickler es lesen wird meinetwegen auch Foren, Socialmedia etc.
* Wenn Sie die Gelegenheiten sehen und wissen, dass ein Entwickler es lesen wird sind auch Foren, Socialmedia etc. möglich.
== Entwicklung
Falls du an der Entwicklung interessiert bist melde dich am besten direkt bei uns (s.o.)
Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns deine git URL zukommen lassen.
Falls Sie an der Entwicklung interessiert sind, melden Sie sich am besten direkt bei uns (s.o.)
Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns eine git URL zukommen lassen.
=== Übersetzungen
Vico ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrichten.
Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in das Programm einzubinden.
* Öffne ein Terminal und navigiere ins Patroneo Verzeichnis
* Im Patroneo Verzeichnis: `cd gui/translations`
* Bearbeite die Datei `config.pro` mit einem Texteditor
** Hänge in der 2. Zeile den Namen deiner Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.
** Achte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen
* Führe `pylupdate5 config.pro` aus.
** Das Programm hat nun eine neue `.ts` Datei im `translations` Verzeichnis generiert
* Starte Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffne von dort deine neu generierte Datei
* Wähle deine "Target Language", also Zielsprache, aus und benutze das Programm um eine Übersetzung anzufertigen
* Sende uns die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)
Die Übersetzung kannst du auch selbst, zum Testen, in Patroneo einbinden. Dafür sind rudimentäre Python Kentnisse nötig.
* Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie deine `.ts` Datei.
* Öffne die `patroneo` Starterdatei im Texteditor
** Scrolle nach ganz unten, dort wird die Sprache eingestellt.
** Um deinen Sprachstring herauszufinden (German, Esperanto etc.) entferne die # Raute aus der bereits vorhandenen Zeile `#print (language)`. Starte NSM aus einem Terminal, starte Patroneo und der Sprachstring wird dort ausgegeben (man muss ein bischen suchen)
** Am Ende der Datei ist ein Dictionary `supportedLanguages`. Füge deine Sprache hinzu. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}`
=== Übersetzungen
Vico ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrich
Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in das Programm einzubinden.
Das Programm ist in zwei Teile aufgeteilt: Ein gemeinsames "Template" (für alle Laborejo Software Suit Programme) sowie das eigentliche Programm.
Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in
das Programm einzubinden. Das Programm ist in zwei Teile aufgeteilt: Ein gemeinsames "Template"
(für alle Laborejo Software Suit Programme) sowie das eigentliche Programm.
Der Übersetzungsprozess ist der gleiche für beide Teile, man muss ihn jedoch in unterschiedlichen Verzeichnissen durchführen:
`template/qtgui` und nur `/qtgui`, relativ zum Stammverzeichnis, wo sich die ausführbare Datei vico befindet.
Der Übersetzungsprozess ist der gleiche für beide Teile, man muss ihn jedoch in unterschiedlichen
Verzeichnissen durchführen:
`template/qtgui` und nur `/qtgui`, relativ zum Stammverzeichnis, wo sich die ausführbare Datei
vico befindet.
Jedes "template/qtgui" hier kann durch nur "qtgui" ersetzt werden um den zweiten Teil zu übersetzen.
So fügt man eine neue Sprache hinzu:
* Öffne ein Terminal und navigiere zu template/qtgui/resources/translations
* Bearbeite die Datei `config.pro` in einem Texteditor.
** Hänge in der letzten Zeile den Namen deiner Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.
** Achte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen
* Führe `sh update.sh` im selben Verzeichnis aus.
* Öffnen Sie ein Terminal und navigieren zu template/qtgui/resources/translations
* Bearbeiten Sie die Datei `config.pro` in einem Texteditor.
** Hängem Sie in der letzten Zeile den Namen der neuen Sprache an, in der Form `XY.ts`, wobei XY der Sprachcode ist.
** Achten Sie bitte darauf ein Leerzeichen zwischen den einzelnen Sprachen zu lassen
* Führen Sie `sh update.sh` im selben Verzeichnis aus.
** Das Programm hat nun eine neue `.ts`-Datei im Verzeichnis erstellt.
* Starte Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffne von dort deine neu generierte Datei
* Wähle deine "Target Language", also Zielsprache, aus und benutze das Programm um eine Übersetzung anzufertigen
* Sende uns die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)
* Starten Sie Qt Linguist mit `linguist-qt5` (kann evtl. anders heißen) und öffnen von dort die neu generierte Datei.
* Wählen Sie die "Target Language", also Zielsprache, aus und benutzen das Programm um eine Übersetzung anzufertigen.
* Senden Sie uns bitte die .ts Datei, z.B. per E-Mail an info@laborejo.org (s.u bei Bugs und Programmfehler für mehr Kontaktmöglichkeiten)
Die Übersetzung kannst du auch selbst, zum Testen, in Patroneo einbinden. Dafür sind rudimentäre Python Kentnisse nötig.
Die Übersetzung können Sie auch selbst, zum Testen, in Patroneo einbinden. Dafür sind rudimentäre
Python Kentnisse nötig.
* Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie deine `.ts` Datei.
* Bearbeite `template/qtgui/resources/resources.qrc` kopiere die Zeile `<file>translations/de.qm</file>` , aber änder das Länderkürzel zu deinem neuen.
* Führe `sh buildresources.sh` aus
* Bearbeite `engine/config.py`: Füge deine Sprache hinzu. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}`
** Um deinen Sprachstring herauszufinden öffne den `python3`-Interpreter im Terminal und führe aus:
* Im Qt Linguist "Datei" Menü ist eine "Release" Option. Das erstellt eine `.qm` Datei im gleichen Verzeichnis wie die `.ts` Datei.* Bearbeiten Sie `template/qtgui/resources/resources.qrc` und kopieren die Zeile `<file>translations/de.qm</file>` . Dabei das Länderkürzel zum Neuen ändern.
* Führen Sie `sh buildresources.sh` aus
* Bearbeiten Sie `engine/config.py`: Die neue Sprache hinzufügen. z.B. `{"German":"de.qm", "Esperanto:"eo.qm"}`
** Um den Sprachstring herauszufinden öffnen Sie den `python3`-Interpreter im Terminal und führen aus:
** `from PyQt5 import QtCore;QtCore.QLocale().languageToString(QtCore.QLocale().language())`
Um deine neue Übersetzung zu testen starte dein Programm, falls dein System bereits auf diese Sprache eingstellt ist. Ansonsten starte vico mit diesem Befehl vom Terminal aus:
Um die neue Übersetzung zu testen starten Sie das Programm, falls ihr System bereits auf diese
Sprache eingstellt ist.
Ansonsten starten Sie vico mit diesem Befehl, Sprachcode ändern, vom Terminal aus:
* `LANGUAGE=de_DE.UTF-8 ./vico -V --save /dev/null`
* `LANGUAGE=de_DE.UTF-8 ./vico -V`

505
documentation/german.part.adoc

@ -1,5 +1,504 @@
== Bedienung
Hier gibt es nichts zu sehen.
* Weiter
* Gehen
Schön, dass Sie sich für Vico entschieden hast. Es handelt sich um einen minimalistischen
Midi-Sequencer, der parallel mit anderer Software eingesetzt werden soll.
"Vico" (mit c als 'z'/'ts' wie in Zirkel) heißt Reihenfolge auf Esperanto, da es sich um einen
"Sequencer" handelt.
=== Anwendungszweck und Zielgruppe
In einer loop- oder patternbasierten Umgebung möchte man oft einen 'freien' Track habe, um etwa ein
Instrumentalsolo umzusetzen.
Manchmal möchte man auch nur schnell eine Skizze oder Idee aufnehmen und dazu nicht gleich ein
ganzes DAW-Projekt öffnen oder erstellen.
Vico erfüllt diese Bedingungen indem es genau eine Aufnahmequelle mit einer Ausgabe verbindet und
dazwischen aufnehmen und bearbeiten kann. Oder anders gesagt: man bekommt nur einen Track, gedacht
für ein Instrument (dafür aber mit nützlichen Ebenen)
Vico ist in erster Linie für Benutzer von Patroneo geschrieben worden, hat dazu aber keine engere
technische Bindung. Patroneo ist ein Programm geprägt von strengen Wiederholungen und ständiger
Wiederverwendung von sehr kurzen Mustern. Damit kann man schnell ganze Arrangements für Schlagzeug,
Bass und Begleitakkorde aufbauen, aber eine schöne, lange Melodie ist extrem umständlich. Daher
hier das Programm für genau diesen Zweck.
Alle Programme, die als JACK-Transport-Master oder JACK-Timebase-Master laufen können Vico
fernsteuern.
=== Grundlagen
Vico erzeugt selbst keine Klänge und bietet nur einen einzigen Ausgang für JACK-Midi und ordnet alle
Events auf bis zu zehn Ebenen, ähnlich wie in Grafikprogrammen.
Es gibt einen Eingang für JACK-Midi, an dem man MIDI-Instrumente oder andere Programme anschließen
kann.
Beim Start sieht man einen leeren Track. Der Playhead befindet sich immer an der Stelle, an der
JACK Transport sich befindet.
Die Taktstriche werden ebenfalls im Metrum des JACK Masters gezeigt. Falls nicht vorhanden gibt es
keine.
Ein roter Playhead zeigt an, dass man sich im Aufnahmemodus befindet; Läuft Transport wird
aufgenommen, etwa von einen Midikeyboard.
Mit Maus und Tastatur können außerdem alle Events von Hand gesetzt und nachträglich verändert
werden (s.u.). Bis auf Velocity werden alle Events im Haupttrack dargestellt.
Zur Vereinfachung kann man ein Rhythmusraster ein- und ausschalten sowie einstellen in welchem
Raster Events erzeugt oder verschoben werden sollen.
Alles Bearbeiten erfordert das Erstellen einer Auswahl ("Selection") indem man mit Umschalten und
der linken Maustaste einen Rahmen zieht. Ein Klick mit der rechten Maustaste beendet die Auswahl.
Starten, speichern, laden und schließen deines Projektes wird am besten durch den Non Session Manager
erledigt.
=== MIDI-Unterstützung
Vico unterstützt alle MIDI Channel-Nachrichten:
* Noten (ON 0x80 und OFF 0x90 sind als Rechtecknote zusammengefasst)
* Control Changes (0xB0)
* Program Change (0xC0)
* Channel Pressure / "Monophonic Aftertouch" (0xD0)
* Pitch Bend (0xE0 - nur 7bit MSB)
* Polyphonic Aftertouch (0xA0)
Alle Nachrichten können entweder live aufgenommen werden oder mit der Hand eingetragen werden.
Nachbearbeitung ist für alle Channel-Nachrichten möglich.
Der Midikanal wird bei der Aufnahme verworfen. Statt dessen hat jede Ebene die Möglichkeit einen
Kanal einzustellen, auf dem gesendet wird.
Alle nichtmusikalischen Events (0xF...) werden ignoriert, inkl. aller Nachrichten zu MIDI-Transport
(nicht JACK-Transport), Tune-Request usw. Gleiches gilt für SystemExclusive Events.
=== Maus und Tastaturkürzel
Alle Tastaturkürzel ("Shortcuts") sind in den Menüs zu finden, es gibt keine "geheimen" Tasten.
Im Gegensatz dazu sind Mausbefehle überhaupt nicht in der grafischen Oberfläche einzusehen und
müssen hier gelernt werden:
(LM = Linke Maustaste, RM = Rechte Maustaste, Rad = Mausrad bewegen, MM = Mittlere Maustaste, meistens das Rad selbst drücken)
* Umschalten + LM gedrückt halten, Maus bewegen: Zieht einen Rahmen um Events auszuwählen.
* RM auf den Hintergrund: Löst die Auswahl wieder auf.
* LM auf ein ausgewähltes Event, dann Maus bewegen: Verschiebt die ausgewählten Events nach oben/unten oder links/rechts
* Steuerung (Strg) dabei gedrückt halten: Bewegt nur nach links / rechts
* Alt dabei gedrückt halten: Bewegt nur nach oben / unten
* MM: Spielt die Note unter dem Mauszeiger ab. Es muss keine tatsächliche Note dort sein, die Position alleine reicht. Dies geht auch auf dem Klavier am linken Rand.
* RM auf ein Event: Öffnet ein Menü mit weiteren Funktionen.
* Rad: Scrollt den Notenbereich hoch und runter
* Rad, dabei Alt gedrückt halten: Scrollt den Notenbereich links und rechts
* Rad auf Velocities im unteren Bereich: Ändert die Lautstärke der einzelnen Note, unabhängig der momentanen Auswahl
* Strg + Leertaste: Startet Playback an der Mauszeigerposition
== Beschreibung der grafischen Oberfläche und ihrer Funktionen
image::overview-german.png[Screenshot mit Beschriftung, link="overview-german.png"]
Alle Punkte, und mehr, werden weiter unten ausführlich besprochen.
* *[A]* Menüleiste
* *[B]* Hauptansicht (Noten und Events)
* *[C]* Klavier am linken Rand
* *[D]* Velocityansicht
* *[E]* Einige Noten
* *[F]* Ein weiteres Event, als Beispiel
* *[G]* Statusleiste mit aktueller Ebene und Ebenen-MIDI-Kanal
Im Normalfall, wenn Vico im Non-Session-Manager läuft, gibt keine interne Möglichkeit das Programm
zu *beenden*. Benutzt man die Funktion seinen Fenstermanagers wie [X], Alt+F4 etc. wird die
grafische Oberfläche lediglich versteckt.
Um Vico wirklich zu schließen kann man im Non Session Manager auf das *STOP* Icon klicken. Hier
kann man auch die Sichtbarkeit wieder herstellen, indem man auf den *GUI* Knopf klickt.
Die momentane Sichtbarkeitseinstellung wird gespeichert.
== Klavier am linken Rand
Am linken Rand des Programmfensters befindet sich eine gedrehte Klaviatur. Sie dient ausschließlich
als Orientierungshilfe.
Die Zahlen zwischen 0 und 127 in den Tasten sind MIDI-Tonhöhen. 60 ist in diesem System das mittlere
C.
Hält man die mittlere Maustaste gedrückt und fährt über die Tastatur erklingt der Ton über das
verbundene Instrument.
== Hauptansicht
Die Hauptansicht nutzt Rhythmus als lineare Ausdehnung (technisch: Midi-Ticks).
Das bedeutet, dass eine Note mit gleicher Dauer immer gleich lang aussieht.
Verändert sich das Tempo (BPM) dann bewegt sich der Playhead schneller oder langsamer.
Im Umkehrschluss bedeutet das, dass es keine Zeitleiste geben kann, an der man sieht bei welcher
Sekunde ein Event stattfindet.
=== Bewegen und Navigation
Mit dem Mausrad scrollt man die Hauptansicht nach oben und unten. Mit gedrückter Alt-Taste scrollt
man stattdessen nach vorne oder hinten (links / rechts)
Das "Navigation"-Menü bietet weitere Möglichkeiten.
=== Zoom und Skalierung
Hält man Strg gedrückt und dreht das Mausrad wird die Ansicht größer oder kleiner.
Hält man zusätzlich noch Umschalten gedrück wird nur die Zeitachse skaliert. Noten werden
zusammengedrückt oder auseinandergezogen, so dass man entweder mehr auf einmal sehen kann oder
genauere Anfangs- und Endpositionen setzen kann.
Zoom und Skalierung ist rein grafisch und hat keinerlei Auswirkung auf die Musik selbst.
=== Ebenen
Noten werden nicht in Tracks, sondern in Ebenen organisiert. Es gibt derer zehn.
Im "Ebenen"-Menü, oder mit den Funktionstasten F1 bis F10, kann die momentane Ebene ausgewählt werden.
==== Schatten
Ebenen liegen hintereinander und verdecken sich gegenseitig. Man kann allerdings sogenannte Schatten
aktivieren,
die eine andere Ebene auf die momentane projizieren. Schatten können nicht bearbeitet werden.
Alle Schatten verschwinden,sobald man die aktive Ebene verändert.
Umschalten+Funktionstaste, z.B. F3, zeigt die dritte Ebene als Schatten. F12 zeigt alle als Schatten.
==== Farben
Jede Ebene kann eine Farbe haben, diese ist im Ebenenmenü auswählbar. Hauptsächlich sind Noten und
Events in dieser Farbe. Der Mauszeiger ist immer in der gegenteiligen Farbe.
==== Midi-Kanal
Kanäle sind keine Eigenschaften der Events. Jede Ebene hat einen eigenen Midikanal,
zwischen 1 und 16, auf dem gesendet wird. Bei einem neuen Projekt ist das immer Kanal 1.
Bei der Aufnahme wird zwar auf allen eigehenden Midikanälen zugehört, allerdings wird der Kanal
sofort verworfen und auf den jeweiligen Ebenenkanal geändert.
== Live Aufnahmen
Vico hat einen MIDI-in Jackport, an dem man beliebige Programme oder Hardwareinstrumente anschließen
kann.
Der Eingangsport leitet, unabhängig von der Verarbeitung in Vico selbst (Aufnahme oder nicht), alles
sofort an den Ausgangsport durch, allerdings mit dem Kanal der jeweils aktuellen Ebene. Die
Weiterleitung geschieht in Echtzeit (Realtime).
Um etwas aufzunehmen muss der Aufnahmemodus aktiviert sein (Bearbeiten->"Aufnahmemodus umschalten").
Dies ist bei Programmstart bereits der Fall. Ein roter Playhead zeigt Aufnahmebereitschaft,
ein schwarzer ist reines Abspielen.
Zusätzlich muss Transport laufen.
Ist beides nicht der Fall reagiert Vico, z.B. auf Noten, indem es die Tonhöhe farbig markiert.
Da Vico immer der JACK Timebase folgt (s.u.) geschieht die Aufnahme auch an dieser Position.
Man kann also in einem anderen Programm genau an die Stelle springen zu der man etwa ein Solo
aufnehmen möchte und in diesem Programm auch auf Play drücken. Im Prinzip kann Vico wie ein im
Hintergrund laufendes Programm benutzt werden (was mit NSMs GUI-verstecken auch tatsächlich geht).
=== Ebenen-Filter
Es passiert schnell, dass man eine Fülle von Events aufzeichnet, die das weitere Bearbeiten extrem
erschweren können. Man stelle sich vor, dass zu einer Melodie auch noch MIDI Aftertouch auf jeder
Note aufgezeichnet wird und darüber hinaus das Modwheel (CC) benutzt wird. Schon ist der ganze
Bildschirm voller Symbole.
</