Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

225 lines
8.1KB

  1. ! title Non Mixer User Manual
  2. ! author Jonathan Moore Liles #(email,male@tuxfamily.org)
  3. ! date January 21, 2010
  4. -- Table Of Contents
  5. : User Manual
  6. :: The Mixer
  7. / Mixer
  8. < non-mixer-complex.png
  9. The Non-Mixer is a stand-alone audio mixer, utilizing JACK as an
  10. audio subsystem. At the time of writing, the architecture of
  11. Non-Mixer is unique. By making the mixer stand-alone, concepts such
  12. as busses, sends, and inserts are eliminated, as the same goals can
  13. be achieved by simply adding more strips to the mixer.
  14. Start by creating a new project (menu item `Project\/New`).
  15. / New Project
  16. < new-project.png
  17. After the project has been created. Hit `a` or choose `Mixer\/Add
  18. Strip` from the menu to add a new strip to the mixer.
  19. ::: Display Options
  20. The display options, found in the `Options\/Display` submenu may be adjusted
  21. to suit your needs. Set the color scheme, widget style, and other graphic
  22. options to your liking. These options are global and affect all projects.
  23. ::: Mixer Strips
  24. / Mixer Strip
  25. < single-strip.png
  26. Each mixer strip has a name and color, each of which may be defined
  27. by the user. Names, but not colors, must be unique. In addition,
  28. each strip has controls to move it left or right (the arrows) in the
  29. display and to remove it entirely (the 'X').
  30. Strips start out in /narrow/ mode, with the /fader/ view
  31. enabled. Click the desired button to toggle the mode or view.
  32. Each strip has a context menu which lists the available options
  33. and their associated key-bindings. To bring up the context menu, `Right
  34. The fader view comprises a large gain control and digital peak meter
  35. indicator. These are automatically connected to the default gain and
  36. meter modules of the strip's signal chain.
  37. To see how an audio signal traveling through this strip will be
  38. processed, switch to its /signal/ view.
  39. :::: Navigation
  40. A strip is focused when you click on it. Focus can be moved among
  41. strips with the `Tab` and `Shift-Tab` keys.
  42. :::: Control
  43. The focused strip can be moved in the display order via the `[` and
  44. `]` keys. `Delete` removes a strip (with confirmation dialog). `n`
  45. and `w` set the focused strip's width to /narrow/ or /wide/,
  46. respectively, and `f` and `s` switch between /fader/ and /signal/
  47. views. The strip's context menu can be invoked without the mouse by
  48. hitting the `Menu` key (assuming your keyboard has one).
  49. :::: Signal Chain
  50. The signal chain view of a mixer strip provides a way to view and
  51. manipulate the signal processing of a mixer strip.
  52. ::::: Modules
  53. / Modules
  54. < modules.png
  55. All signal processing in Non Mixer occurs in /Modules/. Modules are
  56. signal processing abstractions providing ports for audio and control
  57. I\/O and, in addition, some simple user interface. Sink and source
  58. modules carry audio out of and into JACK.
  59. Modules are displayed as named blocks. Some modules (e.g. the Meter
  60. module) may have additional GUI components.
  61. Each module has zero or more audio I\/O ports and zero or more
  62. control ports. Audio routing between modules is handled
  63. automatically. Modules with mono audio configurations (one channel
  64. in, one channel out) can be automatically adjusted to support any
  65. number of discrete channels. Modules with more (related) channels,
  66. however, introduce restrictions on the order in which modules can be
  67. chained.
  68. An indicator in the upper left-hand corner of each module block
  69. indicates whether the module has any parameters bound to controls.
  70. Non Mixer has several built-in modules. They are:
  71. = JACK
  72. = Performs JACK I\/O
  73. = Gain
  74. = Applies gain in dB
  75. = Meter
  76. = Digital Peak Meter
  77. = Mono Pan
  78. = Performs intensity panning of a mono signal into a stereo signal.
  79. = Plugin
  80. = Hosts a LADSPA plugin
  81. :::::: Manipulation
  82. Left-clicking on a module brings up a Module Parameter Editor window
  83. for the selected module.
  84. Right-clicking on a module brings up a context menu allowing you
  85. manipulate the module, as well as to pick a new module to insert
  86. before the selected one in the chain.
  87. Middle-clicking on a module toggles its activation state (the audio
  88. signal will bypass inactive modules).
  89. Control+Right-clicking on a module causes it to be removed from the
  90. chain (modules added by default cannot be removed).
  91. The focused module may also be controlled via the keyboard. `Menu`
  92. brings up the context menu for the focused module. `Space` opens the
  93. module parameter editor, `b` toggles the bypassed state, and
  94. `Delete` removes the module from the chain (without confirmation!).
  95. `Control-X`, `Control-C` and `Control-V`, cut, copy, and paste
  96. modules, respectively. Modules may be copied within or across chain
  97. boundaries. The normal module I\/O constraints also apply to pasted
  98. modules.
  99. :::::: Module Parameter Editor
  100. / Module Parameter Editor
  101. < gverb-parameters-knobs.png
  102. The Module Parameter Editor is used to alter the values of a
  103. module's parameters, and in addition, to bind its parameters to
  104. controls. A menu button in the upper left-hand corner allows you to
  105. select between knob, vertical slider and horizontal slider controls.
  106. / Horizontal Sliders
  107. < gverb-parameters-hsliders.png
  108. / Vertical Sliders
  109. < gverb-parameters-vsliders.png
  110. Underneath each control is a bind button. Clicking adds a new
  111. control to the chain's /Controls/ view and binds it to the parameter
  112. in question. For simplicity, only one control at a time may be bound
  113. to a given parameter.
  114. :::::: Controls
  115. / Control View
  116. < controls.png
  117. The control view of a chain groups together all of the controls
  118. bound to parameters of modules in that chain. The default mode of
  119. controls is /Manual/. Right click on a control to bring up a menu
  120. which will allow you to select one of the available control I\/O
  121. methods to use. When /Control Voltage/ (CV) is selected, a CV input
  122. port will be created on the containing mixer strip's JACK
  123. client. The control will now accept values from that input. A
  124. control bound and configured in this way can then be connected to
  125. the output of a Non-DAW control sequence using your favorite
  126. connection manager.
  127. { NOTE:
  128. { All knob and slider controls respond to mousewheel
  129. { events. Hold down the `Ctrl` key while scrolling the mousewheel to
  130. { achieve finer resolution.
  131. ::::::: Control Voltages
  132. The control voltage concept should be familiar to anyone who has
  133. experience with analog modular synthesizers. MIDI, while having
  134. definite advantages in many respects, multiplexes control data in
  135. such a way as to make connecting one MIDI control to a parameter
  136. involve a significant inconvenience, usually requiring the
  137. adjustment of settings on both ends of the connection in order to
  138. separate the control data streams.
  139. Control Voltages, on the other hand, provide a simple 1:1 source to
  140. sink relationship and offer much higher resolution, both in time and
  141. value, than can be natively expressed through MIDI. The chief
  142. advantage of CV in the context of Non-DAW is the ease with which an
  143. control sequence can be connected to a mixer module parameter. If
  144. you have a MIDI controller that you'd like to use to control
  145. parameters of Non-Mixer, consider /jm2cv/, a JACK MIDI to Control
  146. Voltage daemon which was written by Peter Nelson specifically for
  147. use with Non-Mixer. jm2cv can be acquired by:
  148. > git clone git://fuzzle.org/jm2cv.git
  149. ::: Projects
  150. A Non-Mixer project is a directory where Non-Mixer keeps the strip
  151. settings, project specific settings, and some meta-data. A project
  152. is completely self-contained. You can rename a project as simply as:
  153. > $ mv Project-A Project-B
  154. :::: JACK I/O
  155. Each mixer strip is presented as a separate JACK "client". This
  156. helps to avoid the necessity of internally duplicating JACK's
  157. routing logic and, with JACK2, permits the possibility of parallel
  158. execution of mixer strip signal chains.
  159. The JACK client name of each strip will correspond to the name of the strip.
  160. { NOTE:
  161. { The JACK API makes implementing this far more difficult and kludgey than it should have to be.
  162. { Please petition your local JACK developer to accept jack_client_set_name() into the API.
  163. / Patchage
  164. < non-mixer-and-non-daw-in-patchage.png