Add documentation for mixer and restructure supporting tree.
15
Makefile
|
@ -35,9 +35,9 @@ config:
|
||||||
|
|
||||||
-include .config
|
-include .config
|
||||||
|
|
||||||
export SYSTEM_PATH:=$(prefix)/share/non-daw/
|
export SYSTEM_PATH:=$(prefix)/share/
|
||||||
export DOCUMENT_PATH:=$(prefix)/share/doc/non-daw/
|
export DOCUMENT_PATH:=$(prefix)/share/doc/
|
||||||
export PIXMAP_PATH:=$(prefix)/share/pixmaps/non-daw/
|
export PIXMAP_PATH:=$(prefix)/share/pixmaps/
|
||||||
|
|
||||||
# a bit of a hack to make sure this runs before any rules
|
# a bit of a hack to make sure this runs before any rules
|
||||||
ifneq ($(CALCULATING),yes)
|
ifneq ($(CALCULATING),yes)
|
||||||
|
@ -119,9 +119,12 @@ install: all
|
||||||
@ echo -n "Installing..."
|
@ echo -n "Installing..."
|
||||||
@ install Timeline/timeline $(prefix)/bin/non-daw
|
@ install Timeline/timeline $(prefix)/bin/non-daw
|
||||||
@ install Mixer/mixer $(prefix)/bin/non-mixer
|
@ install Mixer/mixer $(prefix)/bin/non-mixer
|
||||||
@ mkdir -p $(SYSTEM_PATH)
|
@ mkdir -p $(SYSTEM_PATH)/non-daw
|
||||||
@ mkdir -p $(PIXMAP_PATH)
|
@ mkdir -p $(PIXMAP_PATH)/non-daw
|
||||||
@ cp pixmaps/*.png $(PIXMAP_PATH)
|
@ mkdir -p $(SYSTEM_PATH)/non-mixer
|
||||||
|
@ mkdir -p $(PIXMAP_PATH)/non-mixer
|
||||||
|
@ cp pixmaps/non-mixer/*.png $(PIXMAP_PATH)/non-mixer
|
||||||
|
@ cp pixmaps/non-daw/*.png $(PIXMAP_PATH)non-daw
|
||||||
@ $(MAKE) -s -C doc install
|
@ $(MAKE) -s -C doc install
|
||||||
@ echo "$(DONE)"
|
@ echo "$(DONE)"
|
||||||
ifneq ($(USE_DEBUG),yes)
|
ifneq ($(USE_DEBUG),yes)
|
||||||
|
|
|
@ -890,7 +890,7 @@ Fl::check();} {}
|
||||||
} {
|
} {
|
||||||
code {char pat[256];
|
code {char pat[256];
|
||||||
|
|
||||||
snprintf( pat, 256, "file://%s%s.html", DOCUMENT_PATH, file );
|
snprintf( pat, 256, "file://%s/non-daw/%s.html", DOCUMENT_PATH, file );
|
||||||
|
|
||||||
open_url( pat );} {}
|
open_url( pat );} {}
|
||||||
}
|
}
|
||||||
|
@ -966,7 +966,7 @@ if ( logo_box->image() )
|
||||||
Fl_Box logo_box {
|
Fl_Box logo_box {
|
||||||
label {<LOGO>}
|
label {<LOGO>}
|
||||||
private xywh {51 180 418 235} box ROUNDED_BOX color 53 labelfont 1 labelsize 18 align 16
|
private xywh {51 180 418 235} box ROUNDED_BOX color 53 labelfont 1 labelsize 18 align 16
|
||||||
code0 {o->image( Fl_Shared_Image::get( INSTALL_PREFIX "/share/pixmaps/non-daw/logo2.png" ) );}
|
code0 {o->image( Fl_Shared_Image::get( PIXMAP_PATH "non-daw/logo2.png" ) );}
|
||||||
code1 {o->label( NULL );}
|
code1 {o->label( NULL );}
|
||||||
}
|
}
|
||||||
Fl_Text_Editor notes_field {
|
Fl_Text_Editor notes_field {
|
||||||
|
|
15
doc/Makefile
|
@ -1,6 +1,11 @@
|
||||||
|
|
||||||
|
NM_SRCS=$(wildcard non-mixer/*.mu)
|
||||||
SRCS=$(wildcard *.mu)
|
SRCS=$(wildcard *.mu)
|
||||||
|
ND_SRCS=$(wildcard non-daw/*.mu)
|
||||||
|
|
||||||
OBJS=$(SRCS:.mu=.html)
|
OBJS=$(SRCS:.mu=.html)
|
||||||
|
NM_OBJS=$(NM_SRCS:.mu=.html)
|
||||||
|
ND_OBJS=$(ND_SRCS:.mu=.html)
|
||||||
|
|
||||||
%.html: %.mu
|
%.html: %.mu
|
||||||
@ echo Mupping $<...
|
@ echo Mupping $<...
|
||||||
|
@ -16,9 +21,11 @@ upload: all
|
||||||
@ rm -f index.html
|
@ rm -f index.html
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@ mkdir -p $(DOCUMENT_PATH)
|
@ mkdir -p $(DOCUMENT_PATH)/non-daw
|
||||||
@ cp $(OBJS) *.png mup.css ../COPYING $(DOCUMENT_PATH)
|
@ mkdir -p $(DOCUMENT_PATH)/non-mixer
|
||||||
@ ln -sf $(PIXMAP_PATH)/logo.png $(DOCUMENT_PATH)
|
@ cp $(ND_OBJS) non-daw/*.png non-daw/mup.css ../COPYING $(DOCUMENT_PATH)/non-daw
|
||||||
|
@ cp $(NM_OBJS) non-mixer/*.png non-mixer/mup.css ../COPYING $(DOCUMENT_PATH)/non-mixer
|
||||||
|
# @ ln -sf $(PIXMAP_PATH)/logo.png $(DOCUMENT_PATH)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f $(OBJS)
|
rm -f $(OBJS) $(NM_OBJS) $(ND_OBJS)
|
||||||
|
|
|
@ -47,6 +47,8 @@ March 1, 2008<br>
|
||||||
|
|
||||||
<ul><li><a href="#n:1.6.1.">1.6.1. Timeline</a>
|
<ul><li><a href="#n:1.6.1.">1.6.1. Timeline</a>
|
||||||
|
|
||||||
|
<li><a href="#n:1.6.2.">1.6.2. Mixer</a>
|
||||||
|
|
||||||
</ul></ul><li><a href="#u:1.">What does freedom have to do with this software?</a>
|
</ul></ul><li><a href="#u:1.">What does freedom have to do with this software?</a>
|
||||||
|
|
||||||
<li><a href="#u:2.">Donations</a>
|
<li><a href="#u:2.">Donations</a>
|
||||||
|
@ -64,7 +66,7 @@ March 1, 2008<br>
|
||||||
The Non DAW is a powerful, reliable and fast modular Digital Audio Workstation system, released under the GNU General Public License (GPL). It utilizes the JACK Audio Connection Kit for inter-application audio I/O and the FLTK GUI toolkit for a fast and lightweight user interface.
|
The Non DAW is a powerful, reliable and fast modular Digital Audio Workstation system, released under the GNU General Public License (GPL). It utilizes the JACK Audio Connection Kit for inter-application audio I/O and the FLTK GUI toolkit for a fast and lightweight user interface.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Please see the <a class=ext href="MANUAL.html">manual</a> for more information.
|
Please see the <a class=ext href="non-daw/MANUAL.html">Non DAW Manual</a> and <a class=ext href="non-mixer/MANUAL.html">Non Mixer Manual</a> for more information.
|
||||||
</p>
|
</p>
|
||||||
<h2 id="n:1.2.">1.2. What it is not</h2>
|
<h2 id="n:1.2.">1.2. What it is not</h2>
|
||||||
<p>
|
<p>
|
||||||
|
@ -80,7 +82,7 @@ In this author's opinion, a DAW comprises the following functionality:
|
||||||
<ul><li><span>Non-linear, non-destructive arrangement of portions of audio clips.</span>
|
<ul><li><span>Non-linear, non-destructive arrangement of portions of audio clips.</span>
|
||||||
<li><span>Tempo and time signature mapping, with editing operations being closely aligned to this map.</span>
|
<li><span>Tempo and time signature mapping, with editing operations being closely aligned to this map.</span>
|
||||||
</ul><p>
|
</ul><p>
|
||||||
Since Non uses JACK for IO, some things traditionally considered to be within the scope of a monolithic DAW can be pared out:
|
Since Non uses JACK for IO, some things traditionally considered to be within the scope of a monolithic DAW can be pared out into JACK and Non Mixer:
|
||||||
</p>
|
</p>
|
||||||
<ul><li><span>Signal routing</span>
|
<ul><li><span>Signal routing</span>
|
||||||
<li><span>Audio mixing</span>
|
<li><span>Audio mixing</span>
|
||||||
|
@ -100,7 +102,7 @@ Given these options, we had no choice but to start from scratch, this time on a
|
||||||
</p>
|
</p>
|
||||||
<h2 id="n:1.5.">1.5. Features</h2>
|
<h2 id="n:1.5.">1.5. Features</h2>
|
||||||
<p>
|
<p>
|
||||||
Non-DAW shares many features in common with other, similar projects. However, Non-DAW's unique architecture permits suprising new functionality.
|
Non-DAW shares many features in common with other, similar projects. However, Non-DAW's unique architecture permits surprising new functionality.
|
||||||
</p>
|
</p>
|
||||||
<h3 id="n:1.5.1.">1.5.1. Journaled Projects</h3>
|
<h3 id="n:1.5.1.">1.5.1. Journaled Projects</h3>
|
||||||
<p>
|
<p>
|
||||||
|
@ -159,7 +161,7 @@ The following data belong to the timeline:
|
||||||
</p>
|
</p>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><em>Tracks and Takes</em></dt>
|
<dt><em>Tracks and Takes</em></dt>
|
||||||
<dd>Each Track has a number of input and output ports, a name, and any number of attached sequences. All sequences but the current (topmost) are inactive and do not generate sound or accept captures. These sequences are referred to as <i>Takes</i>. Previous takes may be swapped with the current sequence and all takes may be shown on screen at once for easy splicing. Each track can also have any number of Control Seqeunces attached to it, in which case all control seqeunces generate control output unless disconnected. The height of a track may be adjusted and a track can be muted, soloed, or record-enabled.</dd>
|
<dd>Each Track has a number of input and output ports, a name, and any number of attached sequences. All sequences but the current (topmost) are inactive and do not generate sound or accept captures. These sequences are referred to as <i>Takes</i>. Previous takes may be swapped with the current sequence and all takes may be shown on screen at once for easy splicing. Each track can also have any number of Control Sequences attached to it, in which case all control sequences generate control output unless disconnected. The height of a track may be adjusted and a track can be muted, soloed, or record-enabled.</dd>
|
||||||
<dt><em>Regions</em></dt>
|
<dt><em>Regions</em></dt>
|
||||||
<dd>Regions are the most common object on the timeline. Each region represents a segment of some particular audio file. Waveforms of all regions belonging to the same source are displayed in the same hue. Each region has a normalization value and regions can be selected individually or operated on in groups. Each region has a fade-in and fade-out curve, and when two regions overlap, this constitutes a cross-fade.</dd>
|
<dd>Regions are the most common object on the timeline. Each region represents a segment of some particular audio file. Waveforms of all regions belonging to the same source are displayed in the same hue. Each region has a normalization value and regions can be selected individually or operated on in groups. Each region has a fade-in and fade-out curve, and when two regions overlap, this constitutes a cross-fade.</dd>
|
||||||
<dt><em>Control Points</em></dt>
|
<dt><em>Control Points</em></dt>
|
||||||
|
@ -171,6 +173,33 @@ The following data belong to the timeline:
|
||||||
<dt><em>Annotation Regions</em></dt>
|
<dt><em>Annotation Regions</em></dt>
|
||||||
<dd>Annotation Regions are annotations with a definite duration. These are useful for representing lyrics or other notes of a timely nature. Each track may have any number of annotation sequences associated with it, and these sequences can contain a free mix of annotation points and annotation regions.</dd>
|
<dd>Annotation Regions are annotations with a definite duration. These are useful for representing lyrics or other notes of a timely nature. Each track may have any number of annotation sequences associated with it, and these sequences can contain a free mix of annotation points and annotation regions.</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
<h3 id="n:1.6.2.">1.6.2. Mixer</h3>
|
||||||
|
<p>
|
||||||
|
The Non Mixer is a stand-alone application. It is a complement to Non DAW, but neither program requires the other in order to function.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Implementing the mixer functionality in a separate program, connected to Non-DAW via JACK presents a number of advantages:
|
||||||
|
</p>
|
||||||
|
<ul><li><span>Eliminates the need for an internal connection management interface</span>
|
||||||
|
<li><span>Improves overall system stability</span>
|
||||||
|
<li><span>Increases parallelism (utilizes multiple cores)</span>
|
||||||
|
<li><span>Adds flexibility</span>
|
||||||
|
<li><span>Eliminates the need for cumbersome concepts and interfaces such as 'sends', 'groups', 'inserts' and 'busses'.</span>
|
||||||
|
</ul><p>
|
||||||
|
Multiple instances of the mixer can be run together in order to organize groups of channels and manage them with your preferred window manager.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Each mixer strip runs as a separate JACK client. In JACK2, this can translates into the DSP workload being spread across multiple CPU cores.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Since the Mixer is an entirely separate unit, you may use any JACK capable mixer client you want instead of, or in myriad combination with, the Non-DAW Mixer. The one called LiveMix works well, but lacks many features of Non's mixer. All operations on the mixer affect the current mix set state only and are not journaled.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The mixer's design is modular, with all DSP occurring in discrete modules. One module hosts LADSPA plugins and the mixer is capable of receiving control (automation) data for any module parameter from Non-DAW (or another program) via JACK.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Control data is expressed as Control Voltage (CV).
|
||||||
|
</p>
|
||||||
<h1 id="u:1.">What does freedom have to do with this software?</h1>
|
<h1 id="u:1.">What does freedom have to do with this software?</h1>
|
||||||
<p>
|
<p>
|
||||||
Non is <i>free software</i>. This means, briefly, that you are free use it as <b>you</b> wish, free to examine and adapt the source code, free to share it with your friends, and free to publish your changes to the source code. Furthermore, Non is <i>copyleft</i>, which means that you are free from the threat of some other entity taking over and denying you the above freedoms. The <i>free</i> part of <i>free software</i> doesn't refer to price any more than the <i>free</i> in <i>free speech</i> does.
|
Non is <i>free software</i>. This means, briefly, that you are free use it as <b>you</b> wish, free to examine and adapt the source code, free to share it with your friends, and free to publish your changes to the source code. Furthermore, Non is <i>copyleft</i>, which means that you are free from the threat of some other entity taking over and denying you the above freedoms. The <i>free</i> part of <i>free software</i> doesn't refer to price any more than the <i>free</i> in <i>free speech</i> does.
|
||||||
|
@ -204,11 +233,12 @@ There are no pre-compiled binaries available.
|
||||||
</p>
|
</p>
|
||||||
<h1 id="u:4.">Requirements</h1>
|
<h1 id="u:4.">Requirements</h1>
|
||||||
<p>
|
<p>
|
||||||
The following libraries are required to build Non-DAW
|
The following libraries are required to build Non DAW and Non Mixer
|
||||||
</p>
|
</p>
|
||||||
<ul><li><span>FLTK >= 1.1.7 (with `fluid`)</span>
|
<ul><li><span>FLTK >= 1.1.7 (with `fluid`)</span>
|
||||||
<li><span>JACK >= 0.103.0</span>
|
<li><span>JACK >= 0.103.0</span>
|
||||||
<li><span>libsndfile >= 0.18.0</span>
|
<li><span>libsndfile >= 0.18.0</span>
|
||||||
|
<li><span>liblrdf >= 0.1.0</span>
|
||||||
</ul><p>
|
</ul><p>
|
||||||
The following are optional:
|
The following are optional:
|
||||||
</p>
|
</p>
|
||||||
|
|
154
doc/OVERVIEW.mu
|
@ -16,7 +16,8 @@
|
||||||
inter-application audio I\/O and the FLTK GUI toolkit for a fast and
|
inter-application audio I\/O and the FLTK GUI toolkit for a fast and
|
||||||
lightweight user interface.
|
lightweight user interface.
|
||||||
|
|
||||||
Please see the #(url,MANUAL.html,manual) for more information.
|
Please see the #(url,non-daw%(slash)MANUAL.html,Non DAW Manual) and
|
||||||
|
#(url,non-mixer%(slash)MANUAL.html,Non Mixer Manual) for more information.
|
||||||
|
|
||||||
:: What it is not
|
:: What it is not
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@
|
||||||
* Tempo and time signature mapping, with editing operations being closely aligned to this map.
|
* Tempo and time signature mapping, with editing operations being closely aligned to this map.
|
||||||
|
|
||||||
Since Non uses JACK for IO, some things traditionally considered to be within
|
Since Non uses JACK for IO, some things traditionally considered to be within
|
||||||
the scope of a monolithic DAW can be pared out:
|
the scope of a monolithic DAW can be pared out into JACK and Non Mixer:
|
||||||
|
|
||||||
* Signal routing
|
* Signal routing
|
||||||
* Audio mixing
|
* Audio mixing
|
||||||
|
@ -77,7 +78,7 @@
|
||||||
:: Features
|
:: Features
|
||||||
|
|
||||||
Non-DAW shares many features in common with other, similar projects. However,
|
Non-DAW shares many features in common with other, similar projects. However,
|
||||||
Non-DAW's unique architecture permits suprising new functionality.
|
Non-DAW's unique architecture permits surprising new functionality.
|
||||||
|
|
||||||
::: Journaled Projects
|
::: Journaled Projects
|
||||||
|
|
||||||
|
@ -161,11 +162,6 @@
|
||||||
are drawn. During playback they affect the time\/tempo of the JACK transport
|
are drawn. During playback they affect the time\/tempo of the JACK transport
|
||||||
so that other programs, like the Non-Sequencer, can follow along in sync.
|
so that other programs, like the Non-Sequencer, can follow along in sync.
|
||||||
|
|
||||||
#::: External control
|
|
||||||
#
|
|
||||||
# MIDI and OSC control allows mixer and automation to be controlled by eg. a
|
|
||||||
# BCF2000.
|
|
||||||
|
|
||||||
:: Components
|
:: Components
|
||||||
|
|
||||||
The Mixer and the Timeline are separate programs, connected through JACK.
|
The Mixer and the Timeline are separate programs, connected through JACK.
|
||||||
|
@ -183,8 +179,8 @@
|
||||||
= captures. These sequences are referred to as /Takes/. Previous
|
= captures. These sequences are referred to as /Takes/. Previous
|
||||||
= takes may be swapped with the current sequence and all takes
|
= takes may be swapped with the current sequence and all takes
|
||||||
= may be shown on screen at once for easy splicing. Each track
|
= may be shown on screen at once for easy splicing. Each track
|
||||||
= can also have any number of Control Seqeunces attached to it,
|
= can also have any number of Control Sequences attached to it,
|
||||||
= in which case all control seqeunces generate control output
|
= in which case all control sequences generate control output
|
||||||
= unless disconnected. The height of a track may be adjusted
|
= unless disconnected. The height of a track may be adjusted
|
||||||
= and a track can be muted, soloed, or record-enabled.
|
= and a track can be muted, soloed, or record-enabled.
|
||||||
= Regions
|
= Regions
|
||||||
|
@ -214,108 +210,40 @@
|
||||||
= sequences associated with it, and these sequences can contain
|
= sequences associated with it, and these sequences can contain
|
||||||
= a free mix of annotation points and annotation regions.
|
= a free mix of annotation points and annotation regions.
|
||||||
|
|
||||||
#::: Mixer
|
::: Mixer
|
||||||
#
|
|
||||||
# Mix data is stored separately from timeline data and is not journaled. This
|
|
||||||
# makes it possible to do multiple mixes of a single project and switch
|
|
||||||
# between them at will.
|
|
||||||
#
|
|
||||||
# Since the Mixer is an entirely separate unit, you may use any JACK capable
|
|
||||||
# mixer client you want instead of, or in myriad combination with, the Non-DAW
|
|
||||||
# Mixer. The one called LiveMix works well, but lacks many features of Non's
|
|
||||||
# mixer. All operations on the mixer affect the current mix set state only
|
|
||||||
# and are not journaled.
|
|
||||||
#
|
|
||||||
# The following data belong to the mixer:
|
|
||||||
#
|
|
||||||
#* track configuration (number of input channels, number of mix channels)
|
|
||||||
#* track gain\/panning (controllable via automation)
|
|
||||||
#* plugins (controllable via automation)
|
|
||||||
#
|
|
||||||
#:::: Panning
|
|
||||||
#
|
|
||||||
# The panning system in Non is different from other DAWs. In other DAWs, like
|
|
||||||
# Ardour, each track has a number of inputs and a (larger) number of outputs
|
|
||||||
# and (stereo only) panning is performed by the traditional, but inferior,
|
|
||||||
# intensity method.
|
|
||||||
#
|
|
||||||
# In Non, each track has a panner, yes, but this does not actually affect the
|
|
||||||
# track's output. The actual 'panning' (more properly, spatialization) is
|
|
||||||
# performed for all tracks at the master output stage. Outputs from all tracks
|
|
||||||
# are encoded into something similar to Ambisonic B-Format, using the spacial
|
|
||||||
# locations from each track panner. This signal is then (optionally) decoded
|
|
||||||
# to a specific speaker layout form the master output signals. Rendering can
|
|
||||||
# be done either to the universal .amb format or any fixed configuration of
|
|
||||||
# speakers (Quad, 5.1, 7.1, 10.1). A .amb file contains a complete soundfield
|
|
||||||
# and can later be reduced to any fixed layout format, or even other types of
|
|
||||||
# Ambisonic encodings.
|
|
||||||
#
|
|
||||||
# What this means is that, even for stereo mixes, the soundfield produced by
|
|
||||||
# the output will be more stable, wider, and more realistic than anything
|
|
||||||
# intensity panning can produce. It also means that moving a stereo mix to
|
|
||||||
# surround is quite straight forward, and that surround mixes produced with
|
|
||||||
# Non will be future-proof and far superior to anything achievable with 2D
|
|
||||||
# intensity panning. This single feature clearly sets Non-DAW apart from
|
|
||||||
# other (even proprietary) offerings.
|
|
||||||
#
|
|
||||||
#::: Router
|
|
||||||
#
|
|
||||||
# The router is simply an interface to the JACK port routing. It's a slightly
|
|
||||||
# more practical than what you get from QJackCtl or Patchage.
|
|
||||||
#
|
|
||||||
#* jack port routing.
|
|
||||||
#
|
|
||||||
#::: Plugin Host
|
|
||||||
#
|
|
||||||
# Plugins are handled differently in Non-DAW versus other DAWs. The author has
|
|
||||||
# enough first hand experience with LADSPA to know that plugins cannot be
|
|
||||||
# trusted in a sensitive process. They fail, they crash, they stop responding.
|
|
||||||
# For a DAW like Ardour, which uses plugins as, well, plugins, this means that
|
|
||||||
# a single malfunctioning plugin can bring your entire project to its
|
|
||||||
# knees--this is clearly an unacceptable interruption of the creative process.
|
|
||||||
#
|
|
||||||
# Aside from these stability issues, plugins present a conceptual problem.
|
|
||||||
# They require each 'host' to implement a routing and control system similar,
|
|
||||||
# but inferior to, what JACK already provides to fully fledged clients.
|
|
||||||
# Likewise, fully fledged clients may display any GUI they like--a long
|
|
||||||
# standing gripe in the LAD community being the lack of any provision for
|
|
||||||
# wood-grain pixmaps, fan-sliders, and antialiased knobs in the LADSPA
|
|
||||||
# standard.
|
|
||||||
#
|
|
||||||
# Until such time as LAD sees the light on this and other issues requiring the
|
|
||||||
# application of thought and reason (don't hold your breath), Non will
|
|
||||||
# continue to employ the following compromise:
|
|
||||||
#
|
|
||||||
# Plugins are hosted externally, in a dedicated host process, and routing
|
|
||||||
# between them is accomplished via the JACK connection graph. In this
|
|
||||||
# dedicated plugin host, we enforce some saner forms of interoperability than
|
|
||||||
# the hoards of LAD could ever conceive. We give each plugin the appropriate
|
|
||||||
# input and output ports, and define OSC control points for each plugin
|
|
||||||
# parameter. We save and restore settings (without resorting to the patron
|
|
||||||
# saint of idiots; XML).
|
|
||||||
#
|
|
||||||
# Using plugins in this way has the following advantage/disadvantage:
|
|
||||||
#
|
|
||||||
# Non-DAW may create more JACK ports than something like Ardour. *But*, Non
|
|
||||||
# eliminates the need for stupid, buggy, irrational in-host routing such as
|
|
||||||
# the rats-nest of connections one gets with sends/inserts in something like
|
|
||||||
# Ardour.
|
|
||||||
#
|
|
||||||
# Truthfully, it is absurd for a JACK based DAW to re-implement nearly all of
|
|
||||||
# JACK routing in-process simply for the sake of LADSPA.
|
|
||||||
#-----
|
|
||||||
#
|
|
||||||
#: Notes
|
|
||||||
#
|
|
||||||
#* Why not use SpiralSynthModular (SSM) as our plugin host?
|
|
||||||
# . In order for this to work SSM would need to be modified to
|
|
||||||
# . support the following: LASH, OSC control of plugins, and just
|
|
||||||
# . generally work with Jack. The OSS driver could be removed
|
|
||||||
# . entirely. And the GUI optimized in order to make running
|
|
||||||
# . multiple instances less taxing. Alternatively, the GUI could
|
|
||||||
# . be restructured to allow a single SSM to host the plugins for
|
|
||||||
# . all tracks.
|
|
||||||
|
|
||||||
|
The Non Mixer is a stand-alone application. It is a complement to Non
|
||||||
|
DAW, but neither program requires the other in order to function.
|
||||||
|
|
||||||
|
Implementing the mixer functionality in a separate program, connected
|
||||||
|
to Non-DAW via JACK presents a number of advantages:
|
||||||
|
|
||||||
|
* Eliminates the need for an internal connection management interface
|
||||||
|
* Improves overall system stability
|
||||||
|
* Increases parallelism (utilizes multiple cores)
|
||||||
|
* Adds flexibility
|
||||||
|
* Eliminates the need for cumbersome concepts and interfaces such as 'sends', 'groups', 'inserts' and 'busses'.
|
||||||
|
|
||||||
|
Multiple instances of the mixer can be run together in order to
|
||||||
|
organize groups of channels and manage them with your preferred
|
||||||
|
window manager.
|
||||||
|
|
||||||
|
Each mixer strip runs as a separate JACK client. In JACK2, this can
|
||||||
|
translates into the DSP workload being spread across multiple CPU
|
||||||
|
cores.
|
||||||
|
|
||||||
|
Since the Mixer is an entirely separate unit, you may use any JACK capable
|
||||||
|
mixer client you want instead of, or in myriad combination with, the Non-DAW
|
||||||
|
Mixer. The one called LiveMix works well, but lacks many features of Non's
|
||||||
|
mixer. All operations on the mixer affect the current mix set state only
|
||||||
|
and are not journaled.
|
||||||
|
|
||||||
|
The mixer's design is modular, with all DSP occurring in discrete
|
||||||
|
modules. One module hosts LADSPA plugins and the mixer is capable of
|
||||||
|
receiving control (automation) data for any module parameter from
|
||||||
|
Non-DAW (or another program) via JACK.
|
||||||
|
|
||||||
|
Control data is expressed as Control Voltage (CV).
|
||||||
|
|
||||||
; What does freedom have to do with this software?
|
; What does freedom have to do with this software?
|
||||||
|
|
||||||
|
@ -361,11 +289,12 @@
|
||||||
|
|
||||||
; Requirements
|
; Requirements
|
||||||
|
|
||||||
The following libraries are required to build Non-DAW
|
The following libraries are required to build Non DAW and Non Mixer
|
||||||
|
|
||||||
* FLTK >= 1.1.7 (with `fluid`)
|
* FLTK >= 1.1.7 (with `fluid`)
|
||||||
* JACK >= 0.103.0
|
* JACK >= 0.103.0
|
||||||
* libsndfile >= 0.18.0
|
* libsndfile >= 0.18.0
|
||||||
|
* liblrdf >= 0.1.0
|
||||||
|
|
||||||
The following are optional:
|
The following are optional:
|
||||||
|
|
||||||
|
@ -381,4 +310,3 @@
|
||||||
#(email,non-daw-request@lists.tuxfamily.org).
|
#(email,non-daw-request@lists.tuxfamily.org).
|
||||||
|
|
||||||
You can also browse the #(url,http:\/\/listengine.tuxfamily.org\/lists.tuxfamily.org\/non-daw\/,archive).
|
You can also browse the #(url,http:\/\/listengine.tuxfamily.org\/lists.tuxfamily.org\/non-daw\/,archive).
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 104 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
@ -0,0 +1,449 @@
|
||||||
|
|
||||||
|
/* Example CSS Style for MUP */
|
||||||
|
|
||||||
|
a:link {
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: olive;
|
||||||
|
}
|
||||||
|
a:active {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
a:link:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #(url) */
|
||||||
|
a.ext:link {
|
||||||
|
color: red;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: dashed silver 1;
|
||||||
|
}
|
||||||
|
a.ext:visited {
|
||||||
|
color: darkred;
|
||||||
|
border-bottom: dashed silver 1;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #(ref) */
|
||||||
|
a.int:link {
|
||||||
|
border-bottom: dashed silver 0.15em;
|
||||||
|
}
|
||||||
|
a.int:link:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
a[href^="#"]:link {
|
||||||
|
border-bottom: dashed silver 0.15em;
|
||||||
|
}
|
||||||
|
a[href^="#"]:link:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
p:contains("Warning:") {
|
||||||
|
background: #d00;
|
||||||
|
color: white;
|
||||||
|
border: dotted gray 0.5em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First letter of first paragraph of every chapter */
|
||||||
|
/*
|
||||||
|
h1 + p:first-letter {
|
||||||
|
text-transform: uppercase;
|
||||||
|
float: left;
|
||||||
|
line-height: 0.8em;
|
||||||
|
font-size: 350%;
|
||||||
|
font-family: Serif;
|
||||||
|
letter-spacing: 0;
|
||||||
|
margin-right: 0.1em;
|
||||||
|
margin-top: 0.1em;
|
||||||
|
border: solid gray 1px;
|
||||||
|
padding: 1px;
|
||||||
|
color: #d00;
|
||||||
|
text-shadow: #666 3px 3px 3px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/* First paragraph of every chapter */
|
||||||
|
/*
|
||||||
|
h1 + p {
|
||||||
|
text-indent: 0;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* cover */
|
||||||
|
#cover * {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
#cover {
|
||||||
|
position: relative;
|
||||||
|
background: #da0;
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
#cover h1, #cover h3 {
|
||||||
|
text-shadow: #444 0.2em 0.2em 0.2em;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
letter-spacing: 0.2em;
|
||||||
|
line-height: 0.8em;
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-right: 2em;
|
||||||
|
}
|
||||||
|
#cover h1:before, #cover h1:after {
|
||||||
|
content: "::";
|
||||||
|
font-size: 300%;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
#cover h1:before {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.2em;
|
||||||
|
left: 0.1em;
|
||||||
|
}
|
||||||
|
#cover h1:after {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.2em;
|
||||||
|
right: 0.1em;
|
||||||
|
}
|
||||||
|
#cover hr {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr:first-child {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
height: 0.2em;
|
||||||
|
background: #555;
|
||||||
|
color: #555;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cover a:visited {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* endnote */
|
||||||
|
#endnote {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TOC */
|
||||||
|
#toc {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#toc hr {
|
||||||
|
}
|
||||||
|
#toc h1 {
|
||||||
|
}
|
||||||
|
#toc ul {
|
||||||
|
font-size: 125%;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
#toc ul ul {
|
||||||
|
font-size: 90%;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
#toc li {
|
||||||
|
list-style: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
#toc a:link {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: #222;
|
||||||
|
color: white;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
/* */
|
||||||
|
#body {
|
||||||
|
position: relative;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
/* ;, : */
|
||||||
|
h1 {
|
||||||
|
color: #ff0;
|
||||||
|
border-bottom: solid #444 0.1em;
|
||||||
|
}
|
||||||
|
/* ::, :::, ::::, :::::, :::::: */
|
||||||
|
h2, h3, h4, h5, h6 {
|
||||||
|
color: #dd0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tables, figures */
|
||||||
|
.fig caption {
|
||||||
|
color: gray;
|
||||||
|
text-align: center;
|
||||||
|
/* Required for Mozilla */
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.fig table {
|
||||||
|
border: none;
|
||||||
|
margin: auto;
|
||||||
|
/* border-collapse: collapse; */
|
||||||
|
}
|
||||||
|
/* / */
|
||||||
|
.fig.table th {
|
||||||
|
border: none;
|
||||||
|
background: gray;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
/* [ */
|
||||||
|
.fig.table td {
|
||||||
|
border: none;
|
||||||
|
background: silver;
|
||||||
|
color: black;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
/* < */
|
||||||
|
|
||||||
|
.fig.image table {
|
||||||
|
border: dashed silver 0.2em;
|
||||||
|
background: transparent;
|
||||||
|
/* Every browser should support border radii */
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
|
||||||
|
}
|
||||||
|
.fig.image tr, .fig.image td {
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
p {
|
||||||
|
margin-right: 2%;
|
||||||
|
text-align: justify;
|
||||||
|
text-indent: 1em;
|
||||||
|
}
|
||||||
|
/* > */
|
||||||
|
.example *
|
||||||
|
{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.example table
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
caption-side: top;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.example caption
|
||||||
|
{
|
||||||
|
caption-side: top;
|
||||||
|
|
||||||
|
}
|
||||||
|
.example {
|
||||||
|
}
|
||||||
|
.example p {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.example pre {
|
||||||
|
margin-top: 0;
|
||||||
|
font-family: Monospace;
|
||||||
|
padding: 1em;
|
||||||
|
border: dashed 0.3em gray;
|
||||||
|
background: #111;
|
||||||
|
color: white;
|
||||||
|
display: block;
|
||||||
|
overflow: auto;
|
||||||
|
/* Every browser should support border radii */
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
}
|
||||||
|
/* " */
|
||||||
|
/*
|
||||||
|
.quote:before {
|
||||||
|
float: left;
|
||||||
|
font-size: 500%;
|
||||||
|
content: "\201C";
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
blockquote:after {
|
||||||
|
content: "\201D";
|
||||||
|
}*/
|
||||||
|
.quote blockquote {
|
||||||
|
padding: 0.5em;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
font-family: Serif;
|
||||||
|
border-left: solid 0.4em gray;
|
||||||
|
/* background: #333; */
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
/* ^ */
|
||||||
|
small {
|
||||||
|
/*
|
||||||
|
color: silver;
|
||||||
|
font-size: 50%;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.footnote p {
|
||||||
|
color: silver;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Popup footnotes */
|
||||||
|
.footnote p {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.footnote p:target {
|
||||||
|
display: block;
|
||||||
|
overflow: auto;
|
||||||
|
position: fixed;
|
||||||
|
left: auto;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
max-width: 50%;
|
||||||
|
border: solid 0.3em white;
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
background: black;
|
||||||
|
padding: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* { */
|
||||||
|
.admonition * {
|
||||||
|
background: transparent;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.admonition dl
|
||||||
|
{
|
||||||
|
display: table;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #333;
|
||||||
|
border: dotted black 0.3em;
|
||||||
|
width: 90%
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.admonition dt
|
||||||
|
{
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: center;
|
||||||
|
border-right: solid silver 0.4em;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 115%;
|
||||||
|
font-family: Serif;
|
||||||
|
background: gray;
|
||||||
|
width: 0;
|
||||||
|
text-shadow: black 0.15em 0.15em 0.15em;
|
||||||
|
}
|
||||||
|
.admonition dd
|
||||||
|
{
|
||||||
|
padding-left: 0.4em;
|
||||||
|
display: table-cell;
|
||||||
|
width: 100%;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition table
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #333;
|
||||||
|
border: dotted black 0.3em;
|
||||||
|
width: 90%
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.admonition td {
|
||||||
|
width: 100%;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Warning:") {
|
||||||
|
background: #900;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Caution:") {
|
||||||
|
background: #960;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Note:") {
|
||||||
|
background: #690;
|
||||||
|
}
|
||||||
|
.admonition td:first-child {
|
||||||
|
border-right: solid silver 0.4em;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 115%;
|
||||||
|
font-family: Serif;
|
||||||
|
background: gray;
|
||||||
|
width: 0;
|
||||||
|
text-shadow: black 0.15em 0.15em 0.15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* #(b) */
|
||||||
|
/* b { color: olive; } */
|
||||||
|
/* #(c) */
|
||||||
|
tt {
|
||||||
|
color: #7f0;
|
||||||
|
}
|
||||||
|
/* ! keywords ... */
|
||||||
|
p em {
|
||||||
|
color: gray;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* *, + */
|
||||||
|
/* Bullet, numbe */
|
||||||
|
li {
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
/* Text */
|
||||||
|
li span, li p {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
li p {
|
||||||
|
color: red;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
list-style-type: square;
|
||||||
|
}
|
||||||
|
dl {
|
||||||
|
margin-left: 2%;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
/* = */
|
||||||
|
dt {
|
||||||
|
background: #181818;
|
||||||
|
padding: 0.2em;
|
||||||
|
font-variant: small-caps;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
color: white;
|
||||||
|
text-align: justify;
|
||||||
|
margin-right: 5%;
|
||||||
|
}
|
||||||
|
dt a:link, dt a:visited {
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
dt a:link:hover {
|
||||||
|
color: silver;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
Before Width: | Height: | Size: 9.0 KiB After Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 69 KiB After Width: | Height: | Size: 69 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
|
@ -0,0 +1,198 @@
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html><head>
|
||||||
|
<meta name="generator" content="Generated by MUP v3.5">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<link type="text/css" rel="stylesheet" href="mup.css">
|
||||||
|
<title>Non Mixer User Manual</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id=cover>
|
||||||
|
<h1>Non Mixer User Manual</h1>
|
||||||
|
<h3></h3>
|
||||||
|
<address>
|
||||||
|
Jonathan Moore Liles <a href="mailto:male@tuxfamily.org"><male@tuxfamily.org></a><br>
|
||||||
|
January 21, 2010<br>
|
||||||
|
|
||||||
|
</address><hr></div>
|
||||||
|
<div id=body>
|
||||||
|
<div id=toc>
|
||||||
|
<h1 id=toc>Table Of Contents</h1>
|
||||||
|
<ul>
|
||||||
|
<li><a href="#n:1.">1. User Manual</a>
|
||||||
|
<ul><li><a href="#n:1.1.">1.1. The Mixer</a>
|
||||||
|
|
||||||
|
<ul><li><a href="#n:1.1.1.">1.1.1. Mixer Strip</a>
|
||||||
|
|
||||||
|
<ul><li><a href="#n:1.1.1.1.">1.1.1.1. Signal Processing</a>
|
||||||
|
|
||||||
|
<ul><li><a href="#n:1.1.1.1.1.">1.1.1.1.1. Signal Chain</a>
|
||||||
|
|
||||||
|
<ul><li><a href="#n:1.1.1.1.1.1.">1.1.1.1.1.1. Modules</a>
|
||||||
|
|
||||||
|
<ul><li><a href="#n:1.1.1.1.1.1.1.">1.1.1.1.1.1.1. Module Parameter Editor</a>
|
||||||
|
|
||||||
|
<li><a href="#n:1.1.1.1.1.1.2.">1.1.1.1.1.1.2. Controls</a>
|
||||||
|
|
||||||
|
</ul></ul></ul><li><a href="#n:1.1.1.2.">1.1.1.2. JACK I/O</a>
|
||||||
|
|
||||||
|
</ul></ul></ul></ul></ul><hr></div>
|
||||||
|
<h1 id="n:1.">1. User Manual</h1>
|
||||||
|
<h2 id="n:1.1.">1.1. The Mixer</h2>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.1" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.1.</strong> Mixer
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="non-mixer-complex.png" alt="fig. 1.1"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
The Non-Mixer is a stand-alone audio mixer, utilizing JACK as an audio subsystem. At the time of writing, the architecture of Non-Mixer is unique. By making the mixer stand-alone, concepts such as busses, sends, and inserts are eliminated, as the same goals can be achieved by simply adding more strips to the mixer.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Start by creating a new project.
|
||||||
|
</p>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.2" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.2.</strong> New Project
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="new-project.png" alt="fig. 1.2"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
<h3 id="n:1.1.1.">1.1.1. Mixer Strip</h3>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.3" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.3.</strong> Mixer Strip
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="single-strip.png" alt="fig. 1.3"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
Each mixer strip has a name and color, each of which may be defined by the user. Names, but not colors, must be unique. In addition, each strip has controls to move it left or right (the arrows) in the display and to remove it entirely (the 'X').
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Strips start out in <i>narrow</i> mode, with the <i>fader</i> view enabled. Click the desired button to toggle the mode or view.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The fader view comprises a large gain control and digital peak meter indicator. These are automatically connected to the default gain and meter modules of the strips signal chain.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
To see how an audio signal traveling through this strip will be processed, switch to its <i>signal</i> view.
|
||||||
|
</p>
|
||||||
|
<h4 id="n:1.1.1.1.">1.1.1.1. Signal Processing</h4>
|
||||||
|
<h5 id="n:1.1.1.1.1.">1.1.1.1.1. Signal Chain</h5>
|
||||||
|
<p>
|
||||||
|
The signal chain view of a mixer strip provides a way to view and manipulate the signal processing of a mixer strip.
|
||||||
|
</p>
|
||||||
|
<h6 id="n:1.1.1.1.1.1.">1.1.1.1.1.1. Modules</h6>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.4" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.4.</strong> Modules
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="modules.png" alt="fig. 1.4"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
All signal processing in Non Mixer occurs in <i>Modules</i>. Modules are
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<p>
|
||||||
|
Modules are displayed as named blocks. Some modules may have additional GUI components.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<p>
|
||||||
|
An indicator in the upper left-hand corner of each module block indicates whether the module has any parameters bound to controls.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Non Mixer has several built-in modules. They are:
|
||||||
|
</p>
|
||||||
|
<dl>
|
||||||
|
<dt><em>JACK</em></dt>
|
||||||
|
<dd>Performs JACK I/O</dd>
|
||||||
|
<dt><em>Gain</em></dt>
|
||||||
|
<dd>Applies gain in dB</dd>
|
||||||
|
<dt><em>Meter</em></dt>
|
||||||
|
<dd>Digital Peak meter</dd>
|
||||||
|
<dt><em>Mono Pan</em></dt>
|
||||||
|
<dd>Performs intensity panning of a mono signal into a stereo signal.</dd>
|
||||||
|
<dt><em>Plugin</em></dt>
|
||||||
|
<dd>Hosts a LADSPA plugin</dd>
|
||||||
|
</dl>
|
||||||
|
<p>
|
||||||
|
Left-clicking on a module brings up the Module Parameter Editor.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Shift+Left-clicking on a module brings up a menu which allows you to pick a new module to insert before this one in the chain.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
Control+Right-clicking on a module causes it to be removed from the chain (modules added by default cannot be removed).
|
||||||
|
</p>
|
||||||
|
<h7 id="n:1.1.1.1.1.1.1.">1.1.1.1.1.1.1. Module Parameter Editor</h7>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.5" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.5.</strong> Module Parameter Editor
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="gverb-parameters-knobs.png" alt="fig. 1.5"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
The Module Parameter Editor is used to alter the values of a module's parameters, and, further more, to bind its parameters to controls. A menu button in the upper left-hand corner allows you to select between knob, vertical slider and horizontal slider controls.
|
||||||
|
</p>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.6" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.6.</strong> Horizontal Sliders
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="gverb-parameters-hsliders.png" alt="fig. 1.6"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.7" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.7.</strong> Vertical Sliders
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="gverb-parameters-vsliders.png" alt="fig. 1.7"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
Underneath each control is a bind button. Clicking adds a new control to the chain's <i>Controls</i> view and binds it to the parameter in question. For simplicity, only one control at a time may be bound to a given parameter.
|
||||||
|
</p>
|
||||||
|
<h7 id="n:1.1.1.1.1.1.2.">1.1.1.1.1.1.2. Controls</h7>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.8" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.8.</strong> Control View
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="controls.png" alt="fig. 1.8"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
<p>
|
||||||
|
<div class=admonition>
|
||||||
|
<table width=100%>
|
||||||
|
<tr><td>NOTE:
|
||||||
|
All knob and slider controls respond to mousewheel
|
||||||
|
events. Hold down the `Ctrl` key while scrolling the mousewheel to
|
||||||
|
achieve finer resolution.
|
||||||
|
</td></table>
|
||||||
|
</div>
|
||||||
|
<h4 id="n:1.1.1.2.">1.1.1.2. JACK I/O</h4>
|
||||||
|
<p>
|
||||||
|
Each mixer strip is presented as a separate JACK "client". This helps to avoid the necessity of internally duplicating JACK's routing logic and, with JACK2, permits the possibility of parallel execution of mixer strip signal chains.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The JACK client name of each strip will correspond to the name of the strip.
|
||||||
|
</p>
|
||||||
|
<div class=admonition>
|
||||||
|
<table width=100%>
|
||||||
|
<tr><td>NOTE:
|
||||||
|
The JACK API makes implementing this far more difficult and kludgey than it should have to be.
|
||||||
|
Please petition your local JACK developer to accept jack_client_set_name() into the API.
|
||||||
|
</td></table>
|
||||||
|
</div>
|
||||||
|
<center><div class="fig image"><table id="Fig.1.9" border=1>
|
||||||
|
<caption>
|
||||||
|
<strong>Fig. 1.9.</strong> Patchage
|
||||||
|
</caption>
|
||||||
|
|
||||||
|
<tr><td><img src="non-mixer-and-non-daw-in-patchage.png" alt="fig. 1.9"></td></tr>
|
||||||
|
</table></div></center>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -0,0 +1,159 @@
|
||||||
|
|
||||||
|
! title Non Mixer User Manual
|
||||||
|
! author Jonathan Moore Liles #(email,male@tuxfamily.org)
|
||||||
|
! date January 21, 2010
|
||||||
|
|
||||||
|
-- Table Of Contents
|
||||||
|
|
||||||
|
: User Manual
|
||||||
|
|
||||||
|
:: The Mixer
|
||||||
|
|
||||||
|
/ Mixer
|
||||||
|
< non-mixer-complex.png
|
||||||
|
|
||||||
|
The Non-Mixer is a stand-alone audio mixer, utilizing JACK as an
|
||||||
|
audio subsystem. At the time of writing, the architecture of
|
||||||
|
Non-Mixer is unique. By making the mixer stand-alone, concepts such
|
||||||
|
as busses, sends, and inserts are eliminated, as the same goals can
|
||||||
|
be achieved by simply adding more strips to the mixer.
|
||||||
|
|
||||||
|
Start by creating a new project.
|
||||||
|
|
||||||
|
/ New Project
|
||||||
|
< new-project.png
|
||||||
|
|
||||||
|
After the project has been created. Hit `a` or choose `Mixer/Add
|
||||||
|
Strip` from the menu to add a new strip to the mixer.
|
||||||
|
|
||||||
|
::: Mixer Strip
|
||||||
|
|
||||||
|
/ Mixer Strip
|
||||||
|
< single-strip.png
|
||||||
|
|
||||||
|
Each mixer strip has a name and color, each of which may be defined
|
||||||
|
by the user. Names, but not colors, must be unique. In addition,
|
||||||
|
each strip has controls to move it left or right (the arrows) in the
|
||||||
|
display and to remove it entirely (the 'X').
|
||||||
|
|
||||||
|
Strips start out in /narrow/ mode, with the /fader/ view
|
||||||
|
enabled. Click the desired button to toggle the mode or view.
|
||||||
|
|
||||||
|
The fader view comprises a large gain control and digital peak meter
|
||||||
|
indicator. These are automatically connected to the default gain and
|
||||||
|
meter modules of the strips signal chain.
|
||||||
|
|
||||||
|
To see how an audio signal traveling through this strip will be
|
||||||
|
processed, switch to its /signal/ view.
|
||||||
|
|
||||||
|
:::: Signal Processing
|
||||||
|
|
||||||
|
|
||||||
|
::::: Signal Chain
|
||||||
|
|
||||||
|
The signal chain view of a mixer strip provides a way to view and
|
||||||
|
manipulate the signal processing of a mixer strip.
|
||||||
|
|
||||||
|
:::::: Modules
|
||||||
|
|
||||||
|
/ Modules
|
||||||
|
< modules.png
|
||||||
|
|
||||||
|
All signal processing in Non Mixer occurs in /Modules/. Modules are
|
||||||
|
|
||||||
|
signal processing abstractions providing ports for audio and control
|
||||||
|
I/O and, in addition, some simple user interface. Sink and source
|
||||||
|
modules carry audio out of and into JACK.
|
||||||
|
|
||||||
|
Modules are displayed as named blocks. Some modules may have
|
||||||
|
additional GUI components.
|
||||||
|
|
||||||
|
Each module has zero or more audio I/O ports and zero or more
|
||||||
|
control ports. Audio routing between modules is handled
|
||||||
|
automatically. Modules with mono audio configurations (one channel
|
||||||
|
in, one channel out) can be automatically adjusted to support any
|
||||||
|
number of discrete channels. Modules with more (related) channels,
|
||||||
|
however, introduce restrictions on the order in which modules can be
|
||||||
|
chained.
|
||||||
|
|
||||||
|
An indicator in the upper left-hand corner of each module block
|
||||||
|
indicates whether the module has any parameters bound to controls.
|
||||||
|
|
||||||
|
Non Mixer has several built-in modules. They are:
|
||||||
|
|
||||||
|
= JACK
|
||||||
|
= Performs JACK I\/O
|
||||||
|
= Gain
|
||||||
|
= Applies gain in dB
|
||||||
|
= Meter
|
||||||
|
= Digital Peak meter
|
||||||
|
= Mono Pan
|
||||||
|
= Performs intensity panning of a mono signal into a stereo signal.
|
||||||
|
= Plugin
|
||||||
|
= Hosts a LADSPA plugin
|
||||||
|
|
||||||
|
Left-clicking on a module brings up the Module Parameter Editor.
|
||||||
|
|
||||||
|
Shift+Left-clicking on a module brings up a menu which allows you to
|
||||||
|
pick a new module to insert before this one in the chain.
|
||||||
|
|
||||||
|
Control+Right-clicking on a module causes it to be removed from the
|
||||||
|
chain (modules added by default cannot be removed).
|
||||||
|
|
||||||
|
::::::: Module Parameter Editor
|
||||||
|
|
||||||
|
/ Module Parameter Editor
|
||||||
|
< gverb-parameters-knobs.png
|
||||||
|
|
||||||
|
The Module Parameter Editor is used to alter the values of a
|
||||||
|
module's parameters, and, further more, to bind its parameters to
|
||||||
|
controls. A menu button in the upper left-hand corner allows you to
|
||||||
|
select between knob, vertical slider and horizontal slider controls.
|
||||||
|
|
||||||
|
/ Horizontal Sliders
|
||||||
|
< gverb-parameters-hsliders.png
|
||||||
|
|
||||||
|
/ Vertical Sliders
|
||||||
|
< gverb-parameters-vsliders.png
|
||||||
|
|
||||||
|
Underneath each control is a bind button. Clicking adds a new
|
||||||
|
control to the chain's /Controls/ view and binds it to the parameter
|
||||||
|
in question. For simplicity, only one control at a time may be bound
|
||||||
|
to a given parameter.
|
||||||
|
|
||||||
|
::::::: Controls
|
||||||
|
|
||||||
|
/ Control View
|
||||||
|
< controls.png
|
||||||
|
|
||||||
|
The control view of a chain groups together all of the controls
|
||||||
|
bound to parameters of modules in that chain. The default mode of
|
||||||
|
controls is /Manual/. Right click on a control to bring up a menu
|
||||||
|
which will allow you to select one of the available control I/O
|
||||||
|
methods to use. When /Control Voltage/ (CV) is selected, a CV input
|
||||||
|
port will be created on the containing mixer strip's JACK
|
||||||
|
client. The control will now accept values from that input. A
|
||||||
|
control bound and configured in this way can then be connected to
|
||||||
|
the output of Non-DAW a control sequence using your favorite
|
||||||
|
connection manager.
|
||||||
|
|
||||||
|
{ NOTE:
|
||||||
|
{ All knob and slider controls respond to mousewheel
|
||||||
|
{ events. Hold down the `Ctrl` key while scrolling the mousewheel to
|
||||||
|
{ achieve finer resolution.
|
||||||
|
|
||||||
|
:::: JACK I/O
|
||||||
|
|
||||||
|
Each mixer strip is presented as a separate JACK "client". This
|
||||||
|
helps to avoid the necessity of internally duplicating JACK's
|
||||||
|
routing logic and, with JACK2, permits the possibility of parallel
|
||||||
|
execution of mixer strip signal chains.
|
||||||
|
|
||||||
|
The JACK client name of each strip will correspond to the name of the strip.
|
||||||
|
|
||||||
|
{ NOTE:
|
||||||
|
{ The JACK API makes implementing this far more difficult and kludgey than it should have to be.
|
||||||
|
{ Please petition your local JACK developer to accept jack_client_set_name() into the API.
|
||||||
|
|
||||||
|
/ Patchage
|
||||||
|
< non-mixer-and-non-daw-in-patchage.png
|
After Width: | Height: | Size: 6.4 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 6.9 KiB |
After Width: | Height: | Size: 7.9 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 4.9 KiB |
|
@ -0,0 +1,449 @@
|
||||||
|
|
||||||
|
/* Example CSS Style for MUP */
|
||||||
|
|
||||||
|
a:link {
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: olive;
|
||||||
|
}
|
||||||
|
a:active {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
a:link:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #(url) */
|
||||||
|
a.ext:link {
|
||||||
|
color: red;
|
||||||
|
text-decoration: none;
|
||||||
|
border-bottom: dashed silver 1;
|
||||||
|
}
|
||||||
|
a.ext:visited {
|
||||||
|
color: darkred;
|
||||||
|
border-bottom: dashed silver 1;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* #(ref) */
|
||||||
|
a.int:link {
|
||||||
|
border-bottom: dashed silver 0.15em;
|
||||||
|
}
|
||||||
|
a.int:link:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
a[href^="#"]:link {
|
||||||
|
border-bottom: dashed silver 0.15em;
|
||||||
|
}
|
||||||
|
a[href^="#"]:link:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
p:contains("Warning:") {
|
||||||
|
background: #d00;
|
||||||
|
color: white;
|
||||||
|
border: dotted gray 0.5em;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* First letter of first paragraph of every chapter */
|
||||||
|
/*
|
||||||
|
h1 + p:first-letter {
|
||||||
|
text-transform: uppercase;
|
||||||
|
float: left;
|
||||||
|
line-height: 0.8em;
|
||||||
|
font-size: 350%;
|
||||||
|
font-family: Serif;
|
||||||
|
letter-spacing: 0;
|
||||||
|
margin-right: 0.1em;
|
||||||
|
margin-top: 0.1em;
|
||||||
|
border: solid gray 1px;
|
||||||
|
padding: 1px;
|
||||||
|
color: #d00;
|
||||||
|
text-shadow: #666 3px 3px 3px;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/* First paragraph of every chapter */
|
||||||
|
/*
|
||||||
|
h1 + p {
|
||||||
|
text-indent: 0;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* cover */
|
||||||
|
#cover * {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
#cover {
|
||||||
|
position: relative;
|
||||||
|
background: #da0;
|
||||||
|
color: black;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
#cover h1, #cover h3 {
|
||||||
|
text-shadow: #444 0.2em 0.2em 0.2em;
|
||||||
|
color: white;
|
||||||
|
border: none;
|
||||||
|
letter-spacing: 0.2em;
|
||||||
|
line-height: 0.8em;
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-right: 2em;
|
||||||
|
}
|
||||||
|
#cover h1:before, #cover h1:after {
|
||||||
|
content: "::";
|
||||||
|
font-size: 300%;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
#cover h1:before {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.2em;
|
||||||
|
left: 0.1em;
|
||||||
|
}
|
||||||
|
#cover h1:after {
|
||||||
|
position: absolute;
|
||||||
|
top: 0.2em;
|
||||||
|
right: 0.1em;
|
||||||
|
}
|
||||||
|
#cover hr {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr:first-child {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
height: 0.2em;
|
||||||
|
background: #555;
|
||||||
|
color: #555;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
|
#cover a:visited {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* endnote */
|
||||||
|
#endnote {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* TOC */
|
||||||
|
#toc {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
#toc hr {
|
||||||
|
}
|
||||||
|
#toc h1 {
|
||||||
|
}
|
||||||
|
#toc ul {
|
||||||
|
font-size: 125%;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
#toc ul ul {
|
||||||
|
font-size: 90%;
|
||||||
|
font-weight: normal;
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
#toc li {
|
||||||
|
list-style: none;
|
||||||
|
|
||||||
|
}
|
||||||
|
#toc a:link {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: #222;
|
||||||
|
color: white;
|
||||||
|
font-family: Arial, sans-serif;
|
||||||
|
}
|
||||||
|
/* */
|
||||||
|
#body {
|
||||||
|
position: relative;
|
||||||
|
margin: 0.5em;
|
||||||
|
padding: 0.5em;
|
||||||
|
}
|
||||||
|
/* ;, : */
|
||||||
|
h1 {
|
||||||
|
color: #ff0;
|
||||||
|
border-bottom: solid #444 0.1em;
|
||||||
|
}
|
||||||
|
/* ::, :::, ::::, :::::, :::::: */
|
||||||
|
h2, h3, h4, h5, h6 {
|
||||||
|
color: #dd0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* tables, figures */
|
||||||
|
.fig caption {
|
||||||
|
color: gray;
|
||||||
|
text-align: center;
|
||||||
|
/* Required for Mozilla */
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
.fig table {
|
||||||
|
border: none;
|
||||||
|
margin: auto;
|
||||||
|
/* border-collapse: collapse; */
|
||||||
|
}
|
||||||
|
/* / */
|
||||||
|
.fig.table th {
|
||||||
|
border: none;
|
||||||
|
background: gray;
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
/* [ */
|
||||||
|
.fig.table td {
|
||||||
|
border: none;
|
||||||
|
background: silver;
|
||||||
|
color: black;
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-right: 1em;
|
||||||
|
padding-top: 0.2em;
|
||||||
|
padding-bottom: 0.2em;
|
||||||
|
}
|
||||||
|
/* < */
|
||||||
|
|
||||||
|
.fig.image table {
|
||||||
|
border: dashed silver 0.2em;
|
||||||
|
background: transparent;
|
||||||
|
/* Every browser should support border radii */
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
|
||||||
|
}
|
||||||
|
.fig.image tr, .fig.image td {
|
||||||
|
border: none;
|
||||||
|
background: transparent;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* */
|
||||||
|
p {
|
||||||
|
margin-right: 2%;
|
||||||
|
text-align: justify;
|
||||||
|
text-indent: 1em;
|
||||||
|
}
|
||||||
|
/* > */
|
||||||
|
.example *
|
||||||
|
{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.example table
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
caption-side: top;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
.example caption
|
||||||
|
{
|
||||||
|
caption-side: top;
|
||||||
|
|
||||||
|
}
|
||||||
|
.example {
|
||||||
|
}
|
||||||
|
.example p {
|
||||||
|
display: inline;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.example pre {
|
||||||
|
margin-top: 0;
|
||||||
|
font-family: Monospace;
|
||||||
|
padding: 1em;
|
||||||
|
border: dashed 0.3em gray;
|
||||||
|
background: #111;
|
||||||
|
color: white;
|
||||||
|
display: block;
|
||||||
|
overflow: auto;
|
||||||
|
/* Every browser should support border radii */
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
}
|
||||||
|
/* " */
|
||||||
|
/*
|
||||||
|
.quote:before {
|
||||||
|
float: left;
|
||||||
|
font-size: 500%;
|
||||||
|
content: "\201C";
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
blockquote:after {
|
||||||
|
content: "\201D";
|
||||||
|
}*/
|
||||||
|
.quote blockquote {
|
||||||
|
padding: 0.5em;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
font-family: Serif;
|
||||||
|
border-left: solid 0.4em gray;
|
||||||
|
/* background: #333; */
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
/* ^ */
|
||||||
|
small {
|
||||||
|
/*
|
||||||
|
color: silver;
|
||||||
|
font-size: 50%;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
.footnote p {
|
||||||
|
color: silver;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Popup footnotes */
|
||||||
|
.footnote p {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.footnote p:target {
|
||||||
|
display: block;
|
||||||
|
overflow: auto;
|
||||||
|
position: fixed;
|
||||||
|
left: auto;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
max-width: 50%;
|
||||||
|
border: solid 0.3em white;
|
||||||
|
-moz-border-radius: 0.5em;
|
||||||
|
background: black;
|
||||||
|
padding: 0.2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* { */
|
||||||
|
.admonition * {
|
||||||
|
background: transparent;
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
.admonition dl
|
||||||
|
{
|
||||||
|
display: table;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #333;
|
||||||
|
border: dotted black 0.3em;
|
||||||
|
width: 90%
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.admonition dt
|
||||||
|
{
|
||||||
|
display: table-cell;
|
||||||
|
vertical-align: center;
|
||||||
|
border-right: solid silver 0.4em;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 115%;
|
||||||
|
font-family: Serif;
|
||||||
|
background: gray;
|
||||||
|
width: 0;
|
||||||
|
text-shadow: black 0.15em 0.15em 0.15em;
|
||||||
|
}
|
||||||
|
.admonition dd
|
||||||
|
{
|
||||||
|
padding-left: 0.4em;
|
||||||
|
display: table-cell;
|
||||||
|
width: 100%;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.admonition table
|
||||||
|
{
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
background: #333;
|
||||||
|
border: dotted black 0.3em;
|
||||||
|
width: 90%
|
||||||
|
margin-top: 0.5em;
|
||||||
|
margin-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
.admonition td {
|
||||||
|
width: 100%;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Warning:") {
|
||||||
|
background: #900;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Caution:") {
|
||||||
|
background: #960;
|
||||||
|
}
|
||||||
|
.admonition td:first-child:contains("Note:") {
|
||||||
|
background: #690;
|
||||||
|
}
|
||||||
|
.admonition td:first-child {
|
||||||
|
border-right: solid silver 0.4em;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 115%;
|
||||||
|
font-family: Serif;
|
||||||
|
background: gray;
|
||||||
|
width: 0;
|
||||||
|
text-shadow: black 0.15em 0.15em 0.15em;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* #(b) */
|
||||||
|
/* b { color: olive; } */
|
||||||
|
/* #(c) */
|
||||||
|
tt {
|
||||||
|
color: #7f0;
|
||||||
|
}
|
||||||
|
/* ! keywords ... */
|
||||||
|
p em {
|
||||||
|
color: gray;
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* *, + */
|
||||||
|
/* Bullet, numbe */
|
||||||
|
li {
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
/* Text */
|
||||||
|
li span, li p {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
li p {
|
||||||
|
color: red;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
ul {
|
||||||
|
list-style-type: square;
|
||||||
|
}
|
||||||
|
dl {
|
||||||
|
margin-left: 2%;
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
/* = */
|
||||||
|
dt {
|
||||||
|
background: #181818;
|
||||||
|
padding: 0.2em;
|
||||||
|
font-variant: small-caps;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
dd {
|
||||||
|
color: white;
|
||||||
|
text-align: justify;
|
||||||
|
margin-right: 5%;
|
||||||
|
}
|
||||||
|
dt a:link, dt a:visited {
|
||||||
|
color: #f0f;
|
||||||
|
}
|
||||||
|
dt a:link:hover {
|
||||||
|
color: silver;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
After Width: | Height: | Size: 6.8 KiB |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 124 KiB |
After Width: | Height: | Size: 6.1 KiB |
BIN
pixmaps/logo.png
Before Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 30 KiB |
|
@ -0,0 +1,712 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="128"
|
||||||
|
height="128"
|
||||||
|
id="svg2"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.47 r22583"
|
||||||
|
sodipodi:docname="non-mixer-logo.svg">
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="linearGradient6500">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop6502" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#ffffff;stop-opacity:0;"
|
||||||
|
offset="1"
|
||||||
|
id="stop6504" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient6116">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#a00000;stop-opacity:1;"
|
||||||
|
offset="0"
|
||||||
|
id="stop6118" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#00ff00;stop-opacity:1;"
|
||||||
|
offset="1"
|
||||||
|
id="stop6120" />
|
||||||
|
</linearGradient>
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="40 : 589.03823 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="544.09448 : 731.89537 : 1"
|
||||||
|
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||||
|
id="perspective10" />
|
||||||
|
<filter
|
||||||
|
id="filter2858"
|
||||||
|
inkscape:label="Black Light"
|
||||||
|
inkscape:menu="Color"
|
||||||
|
inkscape:menu-tooltip="Light areas turn to black"
|
||||||
|
x="0"
|
||||||
|
width="1"
|
||||||
|
y="0"
|
||||||
|
height="1"
|
||||||
|
color-interpolation-filters="sRGB">
|
||||||
|
<feColorMatrix
|
||||||
|
id="feColorMatrix2860"
|
||||||
|
type="luminanceToAlpha"
|
||||||
|
result="result2" />
|
||||||
|
<feComposite
|
||||||
|
id="feComposite2862"
|
||||||
|
in2="SourceGraphic"
|
||||||
|
operator="arithmetic"
|
||||||
|
in="result2"
|
||||||
|
k3="2"
|
||||||
|
result="result4"
|
||||||
|
k1="0"
|
||||||
|
k2="0"
|
||||||
|
k4="0" />
|
||||||
|
<feBlend
|
||||||
|
id="feBlend2864"
|
||||||
|
in2="result2"
|
||||||
|
in="result4"
|
||||||
|
mode="multiply"
|
||||||
|
result="result3" />
|
||||||
|
<feComposite
|
||||||
|
id="feComposite2866"
|
||||||
|
in2="SourceGraphic"
|
||||||
|
operator="in"
|
||||||
|
in="result3" />
|
||||||
|
</filter>
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective3171"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective3187"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="318.14473 : 222.81636 : 1"
|
||||||
|
inkscape:vp_y="0 : 824.5649 : 0"
|
||||||
|
inkscape:vp_z="665.0467 : 891.14448 : 1"
|
||||||
|
inkscape:persp3d-origin="643.79582 : 26.363067 : 1"
|
||||||
|
id="perspective10-8" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-9"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-98"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-6"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-93"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-61"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-617"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-2"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-8"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-4"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-86"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-7"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-72"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-76"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-1"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-40"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5635-85"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5858"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6126"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6232"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6234"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6236"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6238"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6240"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6242"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6244"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6246"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6248"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6250"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6252"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6254"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6256"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6258"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<linearGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6116"
|
||||||
|
id="linearGradient6260"
|
||||||
|
gradientUnits="userSpaceOnUse"
|
||||||
|
x1="432.34528"
|
||||||
|
y1="197.17313"
|
||||||
|
x2="432.34528"
|
||||||
|
y2="544.38947" />
|
||||||
|
<filter
|
||||||
|
id="filter6362"
|
||||||
|
inkscape:label="Drop shadow"
|
||||||
|
width="1.5"
|
||||||
|
height="1.5"
|
||||||
|
x="-0.25"
|
||||||
|
y="-0.25"
|
||||||
|
color-interpolation-filters="sRGB">
|
||||||
|
<feGaussianBlur
|
||||||
|
id="feGaussianBlur6364"
|
||||||
|
in="SourceAlpha"
|
||||||
|
stdDeviation="2.000000"
|
||||||
|
result="blur" />
|
||||||
|
<feColorMatrix
|
||||||
|
id="feColorMatrix6366"
|
||||||
|
result="bluralpha"
|
||||||
|
type="matrix"
|
||||||
|
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 0.500000 0 " />
|
||||||
|
<feOffset
|
||||||
|
id="feOffset6368"
|
||||||
|
in="bluralpha"
|
||||||
|
dx="4.000000"
|
||||||
|
dy="4.000000"
|
||||||
|
result="offsetBlur" />
|
||||||
|
<feMerge
|
||||||
|
id="feMerge6370"
|
||||||
|
result="fbSourceGraphic">
|
||||||
|
<feMergeNode
|
||||||
|
id="feMergeNode6372"
|
||||||
|
in="offsetBlur" />
|
||||||
|
<feMergeNode
|
||||||
|
id="feMergeNode6374"
|
||||||
|
in="SourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
<feColorMatrix
|
||||||
|
result="fbSourceGraphicAlpha"
|
||||||
|
in="fbSourceGraphic"
|
||||||
|
values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0"
|
||||||
|
id="feColorMatrix6376" />
|
||||||
|
<feGaussianBlur
|
||||||
|
id="feGaussianBlur6378"
|
||||||
|
in="fbSourceGraphicAlpha"
|
||||||
|
stdDeviation="2.000000"
|
||||||
|
result="blur" />
|
||||||
|
<feColorMatrix
|
||||||
|
id="feColorMatrix6380"
|
||||||
|
result="bluralpha"
|
||||||
|
type="matrix"
|
||||||
|
values="-1 0 0 0 1 0 -1 0 0 1 0 0 -1 0 1 0 0 0 0.500000 0 " />
|
||||||
|
<feOffset
|
||||||
|
id="feOffset6382"
|
||||||
|
in="bluralpha"
|
||||||
|
dx="4.000000"
|
||||||
|
dy="4.000000"
|
||||||
|
result="offsetBlur" />
|
||||||
|
<feMerge
|
||||||
|
id="feMerge6384">
|
||||||
|
<feMergeNode
|
||||||
|
id="feMergeNode6386"
|
||||||
|
in="offsetBlur" />
|
||||||
|
<feMergeNode
|
||||||
|
id="feMergeNode6388"
|
||||||
|
in="fbSourceGraphic" />
|
||||||
|
</feMerge>
|
||||||
|
</filter>
|
||||||
|
<radialGradient
|
||||||
|
inkscape:collect="always"
|
||||||
|
xlink:href="#linearGradient6500"
|
||||||
|
id="radialGradient6506"
|
||||||
|
cx="351.53308"
|
||||||
|
cy="315.4559"
|
||||||
|
fx="351.53308"
|
||||||
|
fy="315.4559"
|
||||||
|
r="160.2041"
|
||||||
|
gradientTransform="matrix(1,0,0,1.1923151,0,-60.666924)"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<filter
|
||||||
|
inkscape:collect="always"
|
||||||
|
id="filter6514"
|
||||||
|
x="-0.26237151"
|
||||||
|
width="1.524743"
|
||||||
|
y="-0.21991882"
|
||||||
|
height="1.4398376"
|
||||||
|
color-interpolation-filters="sRGB">
|
||||||
|
<feGaussianBlur
|
||||||
|
inkscape:collect="always"
|
||||||
|
stdDeviation="34.896305"
|
||||||
|
id="feGaussianBlur6516" />
|
||||||
|
</filter>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="2.8"
|
||||||
|
inkscape:cx="176.68231"
|
||||||
|
inkscape:cy="67.042088"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:window-width="1918"
|
||||||
|
inkscape:window-height="1059"
|
||||||
|
inkscape:window-x="1"
|
||||||
|
inkscape:window-y="20"
|
||||||
|
inkscape:window-maximized="0" />
|
||||||
|
<metadata
|
||||||
|
id="metadata7">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(0,-924.36218)">
|
||||||
|
<g
|
||||||
|
transform="matrix(0.74291451,1.3681905e-6,-2.5135322e-6,1.3275338,5.6617776e-4,5.9557354)"
|
||||||
|
style="font-size:41.48906326px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;filter:url(#filter2858);font-family:Westminster;-inkscape-font-specification:Westminster Medium"
|
||||||
|
id="text2838" />
|
||||||
|
<flowRoot
|
||||||
|
xml:space="preserve"
|
||||||
|
id="flowRoot2850"
|
||||||
|
style="font-size:56px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Westminster;-inkscape-font-specification:Westminster Medium"><flowRegion
|
||||||
|
id="flowRegion2852"><rect
|
||||||
|
id="rect2854"
|
||||||
|
width="144.28572"
|
||||||
|
height="312.14285"
|
||||||
|
x="441.42856"
|
||||||
|
y="234.50504" /></flowRegion><flowPara
|
||||||
|
id="flowPara2856"></flowPara></flowRoot> <path
|
||||||
|
sodipodi:type="arc"
|
||||||
|
style="opacity:0.92941176;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
id="path6508"
|
||||||
|
sodipodi:cx="371.23105"
|
||||||
|
sodipodi:cy="282.12088"
|
||||||
|
sodipodi:rx="12.626906"
|
||||||
|
sodipodi:ry="0.50507629"
|
||||||
|
d="m 383.85795,282.12088 a 12.626906,0.50507629 0 1 1 -25.25381,0 12.626906,0.50507629 0 1 1 25.25381,0 z"
|
||||||
|
transform="matrix(0.30012437,0,0,0.30012437,-49.066035,895.4161)" />
|
||||||
|
<path
|
||||||
|
sodipodi:type="arc"
|
||||||
|
style="opacity:0.92941176;fill:#4d4d4d;fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;filter:url(#filter6362)"
|
||||||
|
id="path6360"
|
||||||
|
sodipodi:cx="404.5661"
|
||||||
|
sodipodi:cy="343.74017"
|
||||||
|
sodipodi:rx="226.77925"
|
||||||
|
sodipodi:ry="234.86047"
|
||||||
|
d="m 631.34535,343.74017 a 226.77925,234.86047 0 1 1 -453.5585,0 226.77925,234.86047 0 1 1 453.5585,0 z"
|
||||||
|
transform="matrix(0.26857896,0,0,0.26857896,-44.689287,896.40644)" />
|
||||||
|
<g
|
||||||
|
id="g6215"
|
||||||
|
transform="matrix(0.30012437,0,0,0.30012437,-66.346805,879.04485)">
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="265.11832"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-94"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6232);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="241.34573"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-1"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6234);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="217.57314"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-3"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6236);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="193.80054"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-34"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6238);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="312.66351"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-5"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6240);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="383.98129"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-2"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6242);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="360.20871"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-92"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6244);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="407.75388"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-12"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6246);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="455.29907"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-7"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6248);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="526.61688"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-37"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6250);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="502.84427"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-23"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6252);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="479.07169"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-53"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6254);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="431.52649"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-8"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6256);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="336.4361"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-36"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6258);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<rect
|
||||||
|
ry="57.218258"
|
||||||
|
rx="35.318733"
|
||||||
|
y="288.89093"
|
||||||
|
x="295.9747"
|
||||||
|
height="17.172594"
|
||||||
|
width="272.74118"
|
||||||
|
id="rect5625-35"
|
||||||
|
style="opacity:0.92941176;fill:url(#linearGradient6260);fill-opacity:1;stroke:#000000;stroke-width:1.20000005;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
</g>
|
||||||
|
<path
|
||||||
|
sodipodi:type="arc"
|
||||||
|
style="opacity:0.85490196;fill:url(#radialGradient6506);fill-opacity:1;stroke:none;filter:url(#filter6514)"
|
||||||
|
id="path6480"
|
||||||
|
sodipodi:cx="351.53308"
|
||||||
|
sodipodi:cy="315.4559"
|
||||||
|
sodipodi:rx="159.6041"
|
||||||
|
sodipodi:ry="190.41376"
|
||||||
|
d="m 511.13718,315.4559 a 159.6041,190.41376 0 1 1 -319.20819,0 159.6041,190.41376 0 1 1 319.20819,0 z"
|
||||||
|
transform="matrix(0.17869573,0,0,0.12175577,-15.77816,930.76469)" />
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:43.10160828px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Westminster;-inkscape-font-specification:Westminster Medium"
|
||||||
|
x="86.535927"
|
||||||
|
y="763.60779"
|
||||||
|
id="text3222"
|
||||||
|
sodipodi:linespacing="100%"
|
||||||
|
transform="scale(0.74024198,1.3509096)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan3224"
|
||||||
|
x="86.535927"
|
||||||
|
y="763.60779"
|
||||||
|
style="font-size:55.41635132px">MIXER</tspan></text>
|
||||||
|
<text
|
||||||
|
xml:space="preserve"
|
||||||
|
style="font-size:30.92720795px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:CType;-inkscape-font-specification:CType"
|
||||||
|
x="85.677551"
|
||||||
|
y="735.35248"
|
||||||
|
id="text2834"
|
||||||
|
sodipodi:linespacing="100%"
|
||||||
|
transform="scale(0.7532075,1.3276554)"><tspan
|
||||||
|
sodipodi:role="line"
|
||||||
|
id="tspan2836"
|
||||||
|
x="85.677551"
|
||||||
|
y="735.35248">NON</tspan></text>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 24 KiB |