@@ -292,6 +292,11 @@ PLUGIN_FILES += Fundamental/src/dr_wav.c | |||||
# modules/types which are present in other plugins | # modules/types which are present in other plugins | ||||
FUNDAMENTAL_CUSTOM = $(DRWAV) | FUNDAMENTAL_CUSTOM = $(DRWAV) | ||||
# -------------------------------------------------------------- | |||||
# ZamAudio (always enabled) | |||||
PLUGIN_FILES += $(wildcard ZamAudio/src/*.cpp) | |||||
ifneq ($(NOPLUGINS),true) | ifneq ($(NOPLUGINS),true) | ||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
# 21kHz | # 21kHz | ||||
@@ -1133,12 +1138,13 @@ clean: | |||||
# -------------------------------------------------------------- | # -------------------------------------------------------------- | ||||
ifeq ($(NOPLUGINS),true) | ifeq ($(NOPLUGINS),true) | ||||
PLUGIN_LIST = Cardinal Fundamental | |||||
PLUGIN_LIST = Cardinal Fundamental ZamAudio | |||||
RESOURCE_FILES = \ | RESOURCE_FILES = \ | ||||
$(wildcard Cardinal/res/*.svg) \ | $(wildcard Cardinal/res/*.svg) \ | ||||
$(wildcard Fundamental/res/*.svg) \ | $(wildcard Fundamental/res/*.svg) \ | ||||
$(wildcard Fundamental/res/components/*.svg) \ | $(wildcard Fundamental/res/components/*.svg) \ | ||||
$(wildcard ZamAudio/res/*.svg) \ | |||||
Fundamental/presets | Fundamental/presets | ||||
else | else | ||||
PLUGIN_LIST = $(subst /plugin.json,,$(wildcard */plugin.json)) | PLUGIN_LIST = $(subst /plugin.json,,$(wildcard */plugin.json)) | ||||
@@ -1924,6 +1930,13 @@ $(BUILD_DIR)/WhatTheRack/%.cpp.o: WhatTheRack/%.cpp | |||||
$(foreach m,$(WHATTHERACK_CUSTOM),$(call custom_module_names,$(m),WhatTheRack)) \ | $(foreach m,$(WHATTHERACK_CUSTOM),$(call custom_module_names,$(m),WhatTheRack)) \ | ||||
-DpluginInstance=pluginInstance__WhatTheRack | -DpluginInstance=pluginInstance__WhatTheRack | ||||
$(BUILD_DIR)/ZamAudio/%.cpp.o: ZamAudio/%.cpp | |||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | |||||
@echo "Compiling $<" | |||||
$(SILENT)$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@ \ | |||||
$(foreach m,$(ZAMAUDIO_CUSTOM),$(call custom_module_names,$(m),ZamAudio)) \ | |||||
-DpluginInstance=pluginInstance__ZamAudio | |||||
$(BUILD_DIR)/ZetaCarinaeModules/%.cpp.o: ZetaCarinaeModules/%.cpp | $(BUILD_DIR)/ZetaCarinaeModules/%.cpp.o: ZetaCarinaeModules/%.cpp | ||||
-@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | -@mkdir -p "$(shell dirname $(BUILD_DIR)/$<)" | ||||
@echo "Compiling $<" | @echo "Compiling $<" | ||||
@@ -0,0 +1,280 @@ | |||||
GNU GENERAL PUBLIC LICENSE | |||||
Version 2, June 1991 | |||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc., | |||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | |||||
Everyone is permitted to copy and distribute verbatim copies | |||||
of this license document, but changing it is not allowed. | |||||
Preamble | |||||
The licenses for most software are designed to take away your | |||||
freedom to share and change it. By contrast, the GNU General Public | |||||
License is intended to guarantee your freedom to share and change free | |||||
software--to make sure the software is free for all its users. This | |||||
General Public License applies to most of the Free Software | |||||
Foundation's software and to any other program whose authors commit to | |||||
using it. (Some other Free Software Foundation software is covered by | |||||
the GNU Lesser General Public License instead.) You can apply it to | |||||
your programs, too. | |||||
When we speak of free software, we are referring to freedom, not | |||||
price. Our General Public Licenses are designed to make sure that you | |||||
have the freedom to distribute copies of free software (and charge for | |||||
this service if you wish), that you receive source code or can get it | |||||
if you want it, that you can change the software or use pieces of it | |||||
in new free programs; and that you know you can do these things. | |||||
To protect your rights, we need to make restrictions that forbid | |||||
anyone to deny you these rights or to ask you to surrender the rights. | |||||
These restrictions translate to certain responsibilities for you if you | |||||
distribute copies of the software, or if you modify it. | |||||
For example, if you distribute copies of such a program, whether | |||||
gratis or for a fee, you must give the recipients all the rights that | |||||
you have. You must make sure that they, too, receive or can get the | |||||
source code. And you must show them these terms so they know their | |||||
rights. | |||||
We protect your rights with two steps: (1) copyright the software, and | |||||
(2) offer you this license which gives you legal permission to copy, | |||||
distribute and/or modify the software. | |||||
Also, for each author's protection and ours, we want to make certain | |||||
that everyone understands that there is no warranty for this free | |||||
software. If the software is modified by someone else and passed on, we | |||||
want its recipients to know that what they have is not the original, so | |||||
that any problems introduced by others will not reflect on the original | |||||
authors' reputations. | |||||
Finally, any free program is threatened constantly by software | |||||
patents. We wish to avoid the danger that redistributors of a free | |||||
program will individually obtain patent licenses, in effect making the | |||||
program proprietary. To prevent this, we have made it clear that any | |||||
patent must be licensed for everyone's free use or not licensed at all. | |||||
The precise terms and conditions for copying, distribution and | |||||
modification follow. | |||||
GNU GENERAL PUBLIC LICENSE | |||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | |||||
0. This License applies to any program or other work which contains | |||||
a notice placed by the copyright holder saying it may be distributed | |||||
under the terms of this General Public License. The "Program", below, | |||||
refers to any such program or work, and a "work based on the Program" | |||||
means either the Program or any derivative work under copyright law: | |||||
that is to say, a work containing the Program or a portion of it, | |||||
either verbatim or with modifications and/or translated into another | |||||
language. (Hereinafter, translation is included without limitation in | |||||
the term "modification".) Each licensee is addressed as "you". | |||||
Activities other than copying, distribution and modification are not | |||||
covered by this License; they are outside its scope. The act of | |||||
running the Program is not restricted, and the output from the Program | |||||
is covered only if its contents constitute a work based on the | |||||
Program (independent of having been made by running the Program). | |||||
Whether that is true depends on what the Program does. | |||||
1. You may copy and distribute verbatim copies of the Program's | |||||
source code as you receive it, in any medium, provided that you | |||||
conspicuously and appropriately publish on each copy an appropriate | |||||
copyright notice and disclaimer of warranty; keep intact all the | |||||
notices that refer to this License and to the absence of any warranty; | |||||
and give any other recipients of the Program a copy of this License | |||||
along with the Program. | |||||
You may charge a fee for the physical act of transferring a copy, and | |||||
you may at your option offer warranty protection in exchange for a fee. | |||||
2. You may modify your copy or copies of the Program or any portion | |||||
of it, thus forming a work based on the Program, and copy and | |||||
distribute such modifications or work under the terms of Section 1 | |||||
above, provided that you also meet all of these conditions: | |||||
a) You must cause the modified files to carry prominent notices | |||||
stating that you changed the files and the date of any change. | |||||
b) You must cause any work that you distribute or publish, that in | |||||
whole or in part contains or is derived from the Program or any | |||||
part thereof, to be licensed as a whole at no charge to all third | |||||
parties under the terms of this License. | |||||
c) If the modified program normally reads commands interactively | |||||
when run, you must cause it, when started running for such | |||||
interactive use in the most ordinary way, to print or display an | |||||
announcement including an appropriate copyright notice and a | |||||
notice that there is no warranty (or else, saying that you provide | |||||
a warranty) and that users may redistribute the program under | |||||
these conditions, and telling the user how to view a copy of this | |||||
License. (Exception: if the Program itself is interactive but | |||||
does not normally print such an announcement, your work based on | |||||
the Program is not required to print an announcement.) | |||||
These requirements apply to the modified work as a whole. If | |||||
identifiable sections of that work are not derived from the Program, | |||||
and can be reasonably considered independent and separate works in | |||||
themselves, then this License, and its terms, do not apply to those | |||||
sections when you distribute them as separate works. But when you | |||||
distribute the same sections as part of a whole which is a work based | |||||
on the Program, the distribution of the whole must be on the terms of | |||||
this License, whose permissions for other licensees extend to the | |||||
entire whole, and thus to each and every part regardless of who wrote it. | |||||
Thus, it is not the intent of this section to claim rights or contest | |||||
your rights to work written entirely by you; rather, the intent is to | |||||
exercise the right to control the distribution of derivative or | |||||
collective works based on the Program. | |||||
In addition, mere aggregation of another work not based on the Program | |||||
with the Program (or with a work based on the Program) on a volume of | |||||
a storage or distribution medium does not bring the other work under | |||||
the scope of this License. | |||||
3. You may copy and distribute the Program (or a work based on it, | |||||
under Section 2) in object code or executable form under the terms of | |||||
Sections 1 and 2 above provided that you also do one of the following: | |||||
a) Accompany it with the complete corresponding machine-readable | |||||
source code, which must be distributed under the terms of Sections | |||||
1 and 2 above on a medium customarily used for software interchange; or, | |||||
b) Accompany it with a written offer, valid for at least three | |||||
years, to give any third party, for a charge no more than your | |||||
cost of physically performing source distribution, a complete | |||||
machine-readable copy of the corresponding source code, to be | |||||
distributed under the terms of Sections 1 and 2 above on a medium | |||||
customarily used for software interchange; or, | |||||
c) Accompany it with the information you received as to the offer | |||||
to distribute corresponding source code. (This alternative is | |||||
allowed only for noncommercial distribution and only if you | |||||
received the program in object code or executable form with such | |||||
an offer, in accord with Subsection b above.) | |||||
The source code for a work means the preferred form of the work for | |||||
making modifications to it. For an executable work, complete source | |||||
code means all the source code for all modules it contains, plus any | |||||
associated interface definition files, plus the scripts used to | |||||
control compilation and installation of the executable. However, as a | |||||
special exception, the source code distributed need not include | |||||
anything that is normally distributed (in either source or binary | |||||
form) with the major components (compiler, kernel, and so on) of the | |||||
operating system on which the executable runs, unless that component | |||||
itself accompanies the executable. | |||||
If distribution of executable or object code is made by offering | |||||
access to copy from a designated place, then offering equivalent | |||||
access to copy the source code from the same place counts as | |||||
distribution of the source code, even though third parties are not | |||||
compelled to copy the source along with the object code. | |||||
4. You may not copy, modify, sublicense, or distribute the Program | |||||
except as expressly provided under this License. Any attempt | |||||
otherwise to copy, modify, sublicense or distribute the Program is | |||||
void, and will automatically terminate your rights under this License. | |||||
However, parties who have received copies, or rights, from you under | |||||
this License will not have their licenses terminated so long as such | |||||
parties remain in full compliance. | |||||
5. You are not required to accept this License, since you have not | |||||
signed it. However, nothing else grants you permission to modify or | |||||
distribute the Program or its derivative works. These actions are | |||||
prohibited by law if you do not accept this License. Therefore, by | |||||
modifying or distributing the Program (or any work based on the | |||||
Program), you indicate your acceptance of this License to do so, and | |||||
all its terms and conditions for copying, distributing or modifying | |||||
the Program or works based on it. | |||||
6. Each time you redistribute the Program (or any work based on the | |||||
Program), the recipient automatically receives a license from the | |||||
original licensor to copy, distribute or modify the Program subject to | |||||
these terms and conditions. You may not impose any further | |||||
restrictions on the recipients' exercise of the rights granted herein. | |||||
You are not responsible for enforcing compliance by third parties to | |||||
this License. | |||||
7. If, as a consequence of a court judgment or allegation of patent | |||||
infringement or for any other reason (not limited to patent issues), | |||||
conditions are imposed on you (whether by court order, agreement or | |||||
otherwise) that contradict the conditions of this License, they do not | |||||
excuse you from the conditions of this License. If you cannot | |||||
distribute so as to satisfy simultaneously your obligations under this | |||||
License and any other pertinent obligations, then as a consequence you | |||||
may not distribute the Program at all. For example, if a patent | |||||
license would not permit royalty-free redistribution of the Program by | |||||
all those who receive copies directly or indirectly through you, then | |||||
the only way you could satisfy both it and this License would be to | |||||
refrain entirely from distribution of the Program. | |||||
If any portion of this section is held invalid or unenforceable under | |||||
any particular circumstance, the balance of the section is intended to | |||||
apply and the section as a whole is intended to apply in other | |||||
circumstances. | |||||
It is not the purpose of this section to induce you to infringe any | |||||
patents or other property right claims or to contest validity of any | |||||
such claims; this section has the sole purpose of protecting the | |||||
integrity of the free software distribution system, which is | |||||
implemented by public license practices. Many people have made | |||||
generous contributions to the wide range of software distributed | |||||
through that system in reliance on consistent application of that | |||||
system; it is up to the author/donor to decide if he or she is willing | |||||
to distribute software through any other system and a licensee cannot | |||||
impose that choice. | |||||
This section is intended to make thoroughly clear what is believed to | |||||
be a consequence of the rest of this License. | |||||
8. If the distribution and/or use of the Program is restricted in | |||||
certain countries either by patents or by copyrighted interfaces, the | |||||
original copyright holder who places the Program under this License | |||||
may add an explicit geographical distribution limitation excluding | |||||
those countries, so that distribution is permitted only in or among | |||||
countries not thus excluded. In such case, this License incorporates | |||||
the limitation as if written in the body of this License. | |||||
9. The Free Software Foundation may publish revised and/or new versions | |||||
of the General Public License from time to time. Such new versions will | |||||
be similar in spirit to the present version, but may differ in detail to | |||||
address new problems or concerns. | |||||
Each version is given a distinguishing version number. If the Program | |||||
specifies a version number of this License which applies to it and "any | |||||
later version", you have the option of following the terms and conditions | |||||
either of that version or of any later version published by the Free | |||||
Software Foundation. If the Program does not specify a version number of | |||||
this License, you may choose any version ever published by the Free Software | |||||
Foundation. | |||||
10. If you wish to incorporate parts of the Program into other free | |||||
programs whose distribution conditions are different, write to the author | |||||
to ask for permission. For software which is copyrighted by the Free | |||||
Software Foundation, write to the Free Software Foundation; we sometimes | |||||
make exceptions for this. Our decision will be guided by the two goals | |||||
of preserving the free status of all derivatives of our free software and | |||||
of promoting the sharing and reuse of software generally. | |||||
NO WARRANTY | |||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | |||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | |||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | |||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | |||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | |||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | |||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | |||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |||||
REPAIR OR CORRECTION. | |||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | |||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | |||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | |||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | |||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | |||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | |||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | |||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | |||||
POSSIBILITY OF SUCH DAMAGES. | |||||
END OF TERMS AND CONDITIONS |
@@ -0,0 +1,26 @@ | |||||
{ | |||||
"slug": "ZamAudio", | |||||
"name": "ZamAudio", | |||||
"version": "1.0.0", | |||||
"license": "GPL-2.0-or-later", | |||||
"brand": "ZamAudio", | |||||
"author": "Damien Zammit and falkTX", | |||||
"authorEmail": "falktx@falktx.com", | |||||
"authorUrl": "http://www.zamaudio.com/", | |||||
"pluginUrl": "https://github.com/DISTRHO/Cardinal", | |||||
"manualUrl": "", | |||||
"sourceUrl": "https://github.com/DISTRHO/Cardinal", | |||||
"changelogUrl": "", | |||||
"modules": [ | |||||
{ | |||||
"slug": "ZamComp", | |||||
"name": "Compressor", | |||||
"description": "A powerful mono compressor strip. Adds real beef to a kick or snare drum with the right settings.", | |||||
"manualUrl": "", | |||||
"tags": [ | |||||
"Effect", | |||||
"Compressor" | |||||
] | |||||
} | |||||
] | |||||
} |
@@ -0,0 +1,284 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
width="123.5" | |||||
height="60" | |||||
viewBox="0 0 123.5 60" | |||||
version="1.1" | |||||
id="svg239" | |||||
sodipodi:docname="ADSR-bg.svg" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"> | |||||
<metadata | |||||
id="metadata243"> | |||||
<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> | |||||
<sodipodi:namedview | |||||
pagecolor="#ffffff" | |||||
bordercolor="#666666" | |||||
borderopacity="1" | |||||
objecttolerance="10" | |||||
gridtolerance="10" | |||||
guidetolerance="10" | |||||
inkscape:pageopacity="0" | |||||
inkscape:pageshadow="2" | |||||
inkscape:window-width="1920" | |||||
inkscape:window-height="1026" | |||||
id="namedview241" | |||||
showgrid="false" | |||||
inkscape:zoom="4.968421" | |||||
inkscape:cx="76.934835" | |||||
inkscape:cy="48.509326" | |||||
inkscape:window-x="0" | |||||
inkscape:window-y="0" | |||||
inkscape:window-maximized="1" | |||||
inkscape:current-layer="svg239" | |||||
inkscape:pagecheckerboard="0" | |||||
width="184px" /> | |||||
<defs | |||||
id="defs7"> | |||||
<linearGradient | |||||
id="b7084a32-89ea-4051-9fd3-02ae7ae97585" | |||||
x1="97.500023" | |||||
x2="97.500023" | |||||
y2="380" | |||||
gradientUnits="userSpaceOnUse"> | |||||
<stop | |||||
offset="0" | |||||
stop-color="#ebebeb" | |||||
id="stop2" /> | |||||
<stop | |||||
offset="1" | |||||
stop-color="#e1e1e1" | |||||
id="stop4" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#3b3b3b;stop-opacity:0" | |||||
id="stop45385" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="linearGradient46906" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop46902" /> | |||||
<stop | |||||
offset="0.82481533" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop46904" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_-8" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop45383-7" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop45385-6" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_1_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="518.99988" | |||||
y1="-5410.3999" | |||||
x2="531.99988" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.00559" | |||||
style="stop-color:#303030" | |||||
id="stop45369" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#222222" | |||||
id="stop45371" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_2_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="519.68744" | |||||
y1="-5410.3999" | |||||
x2="531.31134" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#636363" | |||||
id="stop45376" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#2B2B2B" | |||||
id="stop45378" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_-3" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383-1" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#3B3B3B" | |||||
id="stop45385-69" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<g | |||||
id="b1950596-670b-4466-898f-d443ae332145" | |||||
data-name="components" | |||||
inkscape:groupmode="layer" | |||||
style="display:none" | |||||
transform="translate(0,-93)"> | |||||
<circle | |||||
id="b021da4b-0fe8-4f1e-b32d-9e773df7a5e4" | |||||
data-name="1x2#LEDButton" | |||||
cx="25.521191" | |||||
cy="238" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="f46b8a42-c463-489b-805b-fbe2a1576bce" | |||||
data-name="Trig#LEDButton" | |||||
cx="169.47881" | |||||
cy="237.75993" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="b6107851-233c-454f-b435-4825b228afd5" | |||||
data-name="In1#PJ301MPort" | |||||
cx="25.521191" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="e1c8f715-a579-4785-b3bc-4ce088c7be9e" | |||||
data-name="Trig#PJ301MPort" | |||||
cx="169.47881" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="ed578b6f-7e3c-4b50-85b1-604681a2f39e" | |||||
data-name="Out2#PJ301MPort" | |||||
cx="133.50073" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#0000ff" /> | |||||
<circle | |||||
id="b3b89114-537e-4df6-9608-ee818c8b7742" | |||||
data-name="In2#PJ301MPort" | |||||
cx="97.507553" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="a8fe9c8d-13ee-4090-a75f-7c992ddf15f2" | |||||
data-name="Out1#PJ301MPort" | |||||
cx="61.51437" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#0000ff" /> | |||||
<circle | |||||
id="bfcd5dca-3188-4901-91c1-93258e888f7e" | |||||
data-name="Ofst2#RoundBlackKnob" | |||||
cx="121.49648" | |||||
cy="285.87146" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="e88686ae-5b33-4183-b27d-2e9e655e5bc8" | |||||
data-name="Time#RoundBlackKnob" | |||||
cx="25.521191" | |||||
cy="285.88263" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="b7cebf3e-0520-412a-9c27-5920e30994e0" | |||||
data-name="Ofst1#RoundBlackKnob" | |||||
cx="73.515839" | |||||
cy="285.79443" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="a60159ac-1f78-454c-bfed-737ee7e4a0fc" | |||||
data-name="Gain2#RoundBlackKnob" | |||||
cx="121.49648" | |||||
cy="237.84641" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="a66a76d3-ef14-4827-8a1d-ad97abf66302" | |||||
data-name="Gain1#RoundBlackKnob" | |||||
cx="73.515839" | |||||
cy="237.84641" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="ac97f6fd-53ce-44fc-93d6-5d500818a3cb" | |||||
data-name="Thers#RoundBlackKnob" | |||||
cx="169.47881" | |||||
cy="285.87146" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<rect | |||||
id="f07b4a9d-18ee-4999-88d5-97c10d878f46" | |||||
data-name="Screen" | |||||
x="3.9999999e-05" | |||||
y="38.5" | |||||
width="194.99995" | |||||
height="165" | |||||
style="fill:#ffff00" /> | |||||
</g> | |||||
<rect | |||||
style="opacity:0.5;fill:#000000;stroke-width:0.54168189" | |||||
id="rect38031" | |||||
width="123.5" | |||||
height="60" | |||||
x="7.1054274e-15" | |||||
y="0" /> | |||||
</svg> |
@@ -0,0 +1,282 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
width="184" | |||||
height="153" | |||||
viewBox="0 0 184 153" | |||||
version="1.1" | |||||
id="svg239" | |||||
sodipodi:docname="Scope-bg.svg" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"> | |||||
<metadata | |||||
id="metadata243"> | |||||
<rdf:RDF> | |||||
<cc:Work | |||||
rdf:about=""> | |||||
<dc:format>image/svg+xml</dc:format> | |||||
<dc:type | |||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
</cc:Work> | |||||
</rdf:RDF> | |||||
</metadata> | |||||
<sodipodi:namedview | |||||
pagecolor="#ffffff" | |||||
bordercolor="#666666" | |||||
borderopacity="1" | |||||
objecttolerance="10" | |||||
gridtolerance="10" | |||||
guidetolerance="10" | |||||
inkscape:pageopacity="0" | |||||
inkscape:pageshadow="2" | |||||
inkscape:window-width="1920" | |||||
inkscape:window-height="1026" | |||||
id="namedview241" | |||||
showgrid="false" | |||||
inkscape:zoom="4.968421" | |||||
inkscape:cx="71.097971" | |||||
inkscape:cy="77.89492" | |||||
inkscape:window-x="0" | |||||
inkscape:window-y="0" | |||||
inkscape:window-maximized="1" | |||||
inkscape:current-layer="svg239" | |||||
inkscape:pagecheckerboard="0" | |||||
width="184px" /> | |||||
<defs | |||||
id="defs7"> | |||||
<linearGradient | |||||
id="b7084a32-89ea-4051-9fd3-02ae7ae97585" | |||||
x1="97.500023" | |||||
x2="97.500023" | |||||
y2="380" | |||||
gradientUnits="userSpaceOnUse"> | |||||
<stop | |||||
offset="0" | |||||
stop-color="#ebebeb" | |||||
id="stop2" /> | |||||
<stop | |||||
offset="1" | |||||
stop-color="#e1e1e1" | |||||
id="stop4" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#3b3b3b;stop-opacity:0" | |||||
id="stop45385" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="linearGradient46906" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop46902" /> | |||||
<stop | |||||
offset="0.82481533" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop46904" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_-8" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop45383-7" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop45385-6" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_1_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="518.99988" | |||||
y1="-5410.3999" | |||||
x2="531.99988" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.00559" | |||||
style="stop-color:#303030" | |||||
id="stop45369" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#222222" | |||||
id="stop45371" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_2_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="519.68744" | |||||
y1="-5410.3999" | |||||
x2="531.31134" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#636363" | |||||
id="stop45376" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#2B2B2B" | |||||
id="stop45378" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_-3" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383-1" /> | |||||
<stop | |||||
offset="1" | |||||
style="stop-color:#3B3B3B" | |||||
id="stop45385-69" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<g | |||||
id="b1950596-670b-4466-898f-d443ae332145" | |||||
data-name="components" | |||||
inkscape:groupmode="layer" | |||||
style="display:none"> | |||||
<circle | |||||
id="b021da4b-0fe8-4f1e-b32d-9e773df7a5e4" | |||||
data-name="1x2#LEDButton" | |||||
cx="25.521191" | |||||
cy="238" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="f46b8a42-c463-489b-805b-fbe2a1576bce" | |||||
data-name="Trig#LEDButton" | |||||
cx="169.47881" | |||||
cy="237.75993" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="b6107851-233c-454f-b435-4825b228afd5" | |||||
data-name="In1#PJ301MPort" | |||||
cx="25.521191" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="e1c8f715-a579-4785-b3bc-4ce088c7be9e" | |||||
data-name="Trig#PJ301MPort" | |||||
cx="169.47881" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="ed578b6f-7e3c-4b50-85b1-604681a2f39e" | |||||
data-name="Out2#PJ301MPort" | |||||
cx="133.50073" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#0000ff" /> | |||||
<circle | |||||
id="b3b89114-537e-4df6-9608-ee818c8b7742" | |||||
data-name="In2#PJ301MPort" | |||||
cx="97.507553" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#00ff00" /> | |||||
<circle | |||||
id="a8fe9c8d-13ee-4090-a75f-7c992ddf15f2" | |||||
data-name="Out1#PJ301MPort" | |||||
cx="61.51437" | |||||
cy="334" | |||||
r="5" | |||||
style="fill:#0000ff" /> | |||||
<circle | |||||
id="bfcd5dca-3188-4901-91c1-93258e888f7e" | |||||
data-name="Ofst2#RoundBlackKnob" | |||||
cx="121.49648" | |||||
cy="285.87146" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="e88686ae-5b33-4183-b27d-2e9e655e5bc8" | |||||
data-name="Time#RoundBlackKnob" | |||||
cx="25.521191" | |||||
cy="285.88263" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="b7cebf3e-0520-412a-9c27-5920e30994e0" | |||||
data-name="Ofst1#RoundBlackKnob" | |||||
cx="73.515839" | |||||
cy="285.79443" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="a60159ac-1f78-454c-bfed-737ee7e4a0fc" | |||||
data-name="Gain2#RoundBlackKnob" | |||||
cx="121.49648" | |||||
cy="237.84641" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="a66a76d3-ef14-4827-8a1d-ad97abf66302" | |||||
data-name="Gain1#RoundBlackKnob" | |||||
cx="73.515839" | |||||
cy="237.84641" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<circle | |||||
id="ac97f6fd-53ce-44fc-93d6-5d500818a3cb" | |||||
data-name="Thers#RoundBlackKnob" | |||||
cx="169.47881" | |||||
cy="285.87146" | |||||
r="5" | |||||
style="fill:#ff0000" /> | |||||
<rect | |||||
id="f07b4a9d-18ee-4999-88d5-97c10d878f46" | |||||
data-name="Screen" | |||||
x="3.9999999e-05" | |||||
y="38.5" | |||||
width="194.99995" | |||||
height="165" | |||||
style="fill:#ffff00" /> | |||||
</g> | |||||
<rect | |||||
style="opacity:0.5;fill:#000000;stroke-width:1.05582" | |||||
id="rect38031" | |||||
width="184" | |||||
height="153" | |||||
x="3.0239114e-08" | |||||
y="0" /> | |||||
</svg> |
@@ -0,0 +1,181 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<svg | |||||
inkscape:version="1.1.2 (b8e25be833, 2022-02-05)" | |||||
sodipodi:docname="button-off.svg" | |||||
id="svg482" | |||||
viewBox="0 0 21 21" | |||||
version="1.1" | |||||
height="21" | |||||
width="21" | |||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
xmlns:xlink="http://www.w3.org/1999/xlink" | |||||
xmlns="http://www.w3.org/2000/svg" | |||||
xmlns:svg="http://www.w3.org/2000/svg" | |||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||||
xmlns:cc="http://creativecommons.org/ns#" | |||||
xmlns:dc="http://purl.org/dc/elements/1.1/"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<rdf:RDF> | |||||
<cc:Work | |||||
rdf:about=""> | |||||
<dc:format>image/svg+xml</dc:format> | |||||
<dc:type | |||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
</cc:Work> | |||||
</rdf:RDF> | |||||
</metadata> | |||||
<defs | |||||
id="defs486"> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368435" | |||||
y="-0.26762569" | |||||
width="2.9873686" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient37080" | |||||
id="linearGradient37082" | |||||
x1="-232.25456" | |||||
y1="299.27383" | |||||
x2="-232.25456" | |||||
y2="330.86893" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.78954663,0,0,0.78954663,215.50746,-17.33085)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient37080"> | |||||
<stop | |||||
style="stop-color:#b4b4b4;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop37076" /> | |||||
<stop | |||||
style="stop-color:#363636;stop-opacity:1" | |||||
offset="1" | |||||
id="stop37078" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient35196" | |||||
id="linearGradient35198" | |||||
x1="-231.22639" | |||||
y1="302.84546" | |||||
x2="-231.22639" | |||||
y2="310.48096" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.76269909,0,0,0.76269909,209.84084,-8.183545)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient35196"> | |||||
<stop | |||||
style="stop-color:#b6b6b6;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop35192" /> | |||||
<stop | |||||
style="stop-color:#b6b6b6;stop-opacity:0;" | |||||
offset="1" | |||||
id="stop35194" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#SVGID_3_" | |||||
id="linearGradient35891" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.7474591,0,0,-0.76269909,206.30478,471.27202)" | |||||
x1="-231.22639" | |||||
y1="302.84546" | |||||
x2="-231.22639" | |||||
y2="310.48096" /> | |||||
<linearGradient | |||||
id="SVGID_3_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#3b3b3b;stop-opacity:0" | |||||
id="stop45385" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="svg482" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="-8" | |||||
inkscape:window-x="-8" | |||||
inkscape:cy="12.218467" | |||||
inkscape:cx="21.166697" | |||||
inkscape:zoom="13.913366" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1147" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" | |||||
width="21px" /> | |||||
<g | |||||
id="g49369" | |||||
transform="matrix(0.88696203,0,0,0.88684469,-18.33356,-194.44726)"> | |||||
<ellipse | |||||
style="fill:url(#linearGradient37082);fill-opacity:1;stroke:#bcbcbc;stroke-width:0.770784;stroke-opacity:0" | |||||
id="path31482" | |||||
cx="32.508244" | |||||
cy="231.09558" | |||||
rx="11.452789" | |||||
ry="11.452791" /> | |||||
<g | |||||
id="g48930" | |||||
transform="translate(-0.40254211,-0.40254211)"> | |||||
<ellipse | |||||
style="fill:#7d7d7d;fill-opacity:1;stroke:#5a5a5a;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |||||
id="path31482-8" | |||||
cx="32.910786" | |||||
cy="231.49812" | |||||
rx="9.4297218" | |||||
ry="9.4297228" /> | |||||
<path | |||||
id="path31482-8-4" | |||||
style="fill:url(#linearGradient35198);fill-opacity:1;stroke:none;stroke-width:0.63463;stroke-opacity:1" | |||||
d="m 32.911035,222.37502 c -5.207687,1.5e-4 -9.429318,4.22178 -9.429463,9.42947 0.0038,0.51129 0.04912,1.02144 0.135562,1.52539 0.746614,-4.55386 4.679243,-9.42379 9.293901,-9.42946 4.610134,0.002 8.543023,4.86226 9.298377,9.4101 0.08393,-0.49769 0.127767,-1.00133 0.131093,-1.50603 -1.45e-4,-5.2077 -4.221776,-9.42933 -9.42947,-9.42947 z" | |||||
sodipodi:nodetypes="ccccccc" /> | |||||
<path | |||||
id="path31482-8-4-3" | |||||
style="fill:url(#linearGradient35891);fill-opacity:1;stroke:none;stroke-width:0.628257;stroke-opacity:1" | |||||
d="m 32.910318,240.71344 c -5.103624,-1.4e-4 -9.240901,-4.22177 -9.241045,-9.42946 0.0038,-0.5113 0.0482,-1.02144 0.132854,-1.5254 0.731695,4.55387 4.585744,9.4238 9.108191,9.42947 4.518016,-0.002 8.372323,-4.86226 9.112584,-9.4101 0.08226,0.49769 0.125212,1.00132 0.128476,1.50603 -1.45e-4,5.2077 -4.137421,9.42933 -9.24106,9.42946 z" | |||||
sodipodi:nodetypes="ccccccc" /> | |||||
</g> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,265 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<svg | |||||
inkscape:version="1.1.2 (b8e25be833, 2022-02-05)" | |||||
sodipodi:docname="button-on.svg" | |||||
id="svg482" | |||||
viewBox="0 0 21 21" | |||||
version="1.1" | |||||
height="21" | |||||
width="21" | |||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
xmlns:xlink="http://www.w3.org/1999/xlink" | |||||
xmlns="http://www.w3.org/2000/svg" | |||||
xmlns:svg="http://www.w3.org/2000/svg" | |||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" | |||||
xmlns:cc="http://creativecommons.org/ns#" | |||||
xmlns:dc="http://purl.org/dc/elements/1.1/"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<rdf:RDF> | |||||
<cc:Work | |||||
rdf:about=""> | |||||
<dc:format>image/svg+xml</dc:format> | |||||
<dc:type | |||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
</cc:Work> | |||||
</rdf:RDF> | |||||
</metadata> | |||||
<defs | |||||
id="defs486"> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368435" | |||||
y="-0.26762569" | |||||
width="2.9873686" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient37080"> | |||||
<stop | |||||
style="stop-color:#b4b4b4;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop37076" /> | |||||
<stop | |||||
style="stop-color:#363636;stop-opacity:1" | |||||
offset="1" | |||||
id="stop37078" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
id="SVGID_3_" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.01118" | |||||
style="stop-color:#4C4C4C" | |||||
id="stop45383" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#3b3b3b;stop-opacity:0" | |||||
id="stop45385" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient37080" | |||||
id="linearGradient37082-1" | |||||
x1="-232.25456" | |||||
y1="299.27383" | |||||
x2="-232.25456" | |||||
y2="330.86893" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.76269909,0,0,0.76269909,297.68734,-8.480881)" /> | |||||
<radialGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient46906" | |||||
id="radialGradient46708" | |||||
cx="120.91078" | |||||
cy="231.49812" | |||||
fx="120.91078" | |||||
fy="231.49812" | |||||
r="11.063352" | |||||
gradientTransform="matrix(1.327123,-0.06240382,0.06836846,1.4539713,-55.379868,-97.54824)" | |||||
gradientUnits="userSpaceOnUse" /> | |||||
<linearGradient | |||||
id="linearGradient46906" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop46902" /> | |||||
<stop | |||||
offset="0.82481533" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop46904" /> | |||||
</linearGradient> | |||||
<radialGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient42688" | |||||
id="radialGradient42690" | |||||
cx="98.532845" | |||||
cy="-227.29176" | |||||
fx="98.532845" | |||||
fy="-227.29176" | |||||
r="9.7470369" | |||||
gradientTransform="matrix(0.85811327,2.333979e-5,-2.184581e-5,0.80318546,14.377611,-44.273096)" | |||||
gradientUnits="userSpaceOnUse" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient42688"> | |||||
<stop | |||||
style="stop-color:#ff3f02;stop-opacity:1" | |||||
offset="0" | |||||
id="stop42684" /> | |||||
<stop | |||||
style="stop-color:#d20b0b;stop-opacity:1" | |||||
offset="1" | |||||
id="stop42686" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient43796" | |||||
id="linearGradient39845" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.65448201,0,0,-0.65448201,252.80153,435.88064)" | |||||
x1="-231.22639" | |||||
y1="302.84546" | |||||
x2="-231.22639" | |||||
y2="310.48096" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient43796"> | |||||
<stop | |||||
style="stop-color:#af0000;stop-opacity:1" | |||||
offset="0" | |||||
id="stop43792" /> | |||||
<stop | |||||
style="stop-color:#e40000;stop-opacity:0.73387098" | |||||
offset="1" | |||||
id="stop43794" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#SVGID_3_-8" | |||||
id="linearGradient35891-5" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.64140438,0,0,0.65448201,249.76719,24.453587)" | |||||
x1="-231.22639" | |||||
y1="302.84546" | |||||
x2="-227.9951" | |||||
y2="310.74484" /> | |||||
<linearGradient | |||||
id="SVGID_3_-8" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="520.13452" | |||||
y1="-5410.3999" | |||||
x2="530.86426" | |||||
y2="-5410.3999" | |||||
gradientTransform="rotate(90,-2442.45,-2960.45)"> | |||||
<stop | |||||
offset="0.02846069" | |||||
style="stop-color:#ff8c8c;stop-opacity:1" | |||||
id="stop45383-7" /> | |||||
<stop | |||||
offset="0.67017823" | |||||
style="stop-color:#ff1515;stop-opacity:0" | |||||
id="stop45385-6" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="svg482" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="-8" | |||||
inkscape:window-x="-8" | |||||
inkscape:cy="12.218467" | |||||
inkscape:cx="21.166697" | |||||
inkscape:zoom="13.913366" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1147" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" | |||||
width="21px" /> | |||||
<g | |||||
id="g54006" | |||||
transform="translate(-90.475548,-219.72194)"> | |||||
<g | |||||
id="g49811" | |||||
transform="matrix(0.91818221,0,0,0.9168486,-10.042581,17.957957)"> | |||||
<ellipse | |||||
style="fill:url(#linearGradient37082-1);fill-opacity:1;stroke:#bcbcbc;stroke-width:0.744574;stroke-opacity:0" | |||||
id="path31482-4" | |||||
cx="120.91078" | |||||
cy="231.49812" | |||||
rx="11.063352" | |||||
ry="11.063354" /> | |||||
<ellipse | |||||
style="fill:url(#radialGradient46708);fill-opacity:1;stroke:none;stroke-width:0.744574;stroke-opacity:1" | |||||
id="path31482-4-9" | |||||
cx="120.91078" | |||||
cy="231.49812" | |||||
rx="11.063352" | |||||
ry="11.063354" /> | |||||
</g> | |||||
<ellipse | |||||
style="fill:#a81212;fill-opacity:1;stroke:#f12121;stroke-width:0.858113;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |||||
id="path31482-8-8" | |||||
cx="100.97555" | |||||
cy="-230.20668" | |||||
rx="8.0917673" | |||||
ry="8.0917683" | |||||
transform="scale(1,-1)" /> | |||||
<ellipse | |||||
style="fill:url(#radialGradient42690);fill-opacity:1;stroke:none;stroke-width:0.544584;stroke-opacity:1" | |||||
id="path31482-8-8-3" | |||||
cx="100.97555" | |||||
cy="-230.20668" | |||||
rx="8.0917673" | |||||
ry="8.0917683" | |||||
transform="scale(1,-1)" /> | |||||
<path | |||||
id="path31482-8-4-8" | |||||
style="fill:url(#linearGradient39845);fill-opacity:1;stroke:none;stroke-width:0.544584;stroke-opacity:1" | |||||
d="m 100.97576,238.03534 c -4.468777,-1.2e-4 -8.091412,-3.62276 -8.091541,-8.09155 0.0034,-0.43874 0.04213,-0.87651 0.116326,-1.30895 0.640684,3.90772 4.015325,8.08667 7.975215,8.09154 3.95602,-0.002 7.33089,-4.17237 7.97906,-8.07493 0.072,0.42707 0.10964,0.85925 0.11249,1.29234 -1.2e-4,4.4688 -3.62275,8.09143 -8.09155,8.09155 z" | |||||
sodipodi:nodetypes="ccccccc" /> | |||||
<path | |||||
id="path31482-8-4-3-4" | |||||
style="fill:url(#linearGradient35891-5);fill-opacity:1;stroke:none;stroke-width:0.539115;stroke-opacity:1" | |||||
d="m 100.97515,222.29891 c -4.379489,1.2e-4 -7.929734,3.62275 -7.929863,8.09154 0.0034,0.43875 0.04136,0.87651 0.114009,1.30897 0.627872,-3.90774 3.935083,-8.08669 7.815854,-8.09156 3.87697,0.002 7.1844,4.17237 7.81963,8.07493 0.0706,-0.42707 0.10744,-0.85924 0.11025,-1.29234 -1.3e-4,-4.4688 -3.55038,-8.09143 -7.92988,-8.09154 z" | |||||
sodipodi:nodetypes="ccccccc" /> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,119 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |||||
sodipodi:docname="knob-marker-small.svg" | |||||
id="svg482" | |||||
viewBox="0 0 18 18" | |||||
version="1.1" | |||||
height="18" | |||||
width="18"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<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> | |||||
<defs | |||||
id="defs486"> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368435" | |||||
y="-0.26762569" | |||||
width="2.9873686" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient13644" | |||||
id="linearGradient4715" | |||||
x1="31.340908" | |||||
y1="16.595808" | |||||
x2="31.486288" | |||||
y2="32.426929" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.26692307,0,0,0.20312283,-0.89463872,51.904862)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient13644"> | |||||
<stop | |||||
style="stop-color:#ffffff;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop13640" /> | |||||
<stop | |||||
style="stop-color:#bcbcbc;stop-opacity:0.81451613" | |||||
offset="1" | |||||
id="stop13642" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="g1249" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="0" | |||||
inkscape:window-x="1920" | |||||
inkscape:cy="21.142003" | |||||
inkscape:cx="-21.040359" | |||||
inkscape:zoom="4.9191177" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1026" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" /> | |||||
<g | |||||
id="g1249" | |||||
transform="rotate(0.07311286,39101.24,237.28666)"> | |||||
<circle | |||||
style="opacity:0.7;fill:#ffffff;fill-opacity:0;stroke:none;stroke-width:0.2647059" | |||||
id="path877" | |||||
cx="8.7405167" | |||||
cy="58.88422" | |||||
r="9" /> | |||||
<rect | |||||
style="opacity:0.84294888;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4715);stroke-width:0.06770288;stroke-opacity:1" | |||||
id="rect822-8" | |||||
width="1.2223203" | |||||
height="6.431324" | |||||
x="7.509778" | |||||
y="52.060192" | |||||
rx="0.50608361" | |||||
transform="matrix(0.99997051,-0.00767917,0.0123337,0.99992394,0,0)" /> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,144 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |||||
sodipodi:docname="knob-marker.svg" | |||||
id="svg482" | |||||
viewBox="0 0 68.0 68.0" | |||||
version="1.1" | |||||
height="68.0" | |||||
width="68.0"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<rdf:RDF> | |||||
<cc:Work | |||||
rdf:about=""> | |||||
<dc:format>image/svg+xml</dc:format> | |||||
<dc:type | |||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
</cc:Work> | |||||
</rdf:RDF> | |||||
</metadata> | |||||
<defs | |||||
id="defs486"> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368436" | |||||
y="-0.2676257" | |||||
width="2.9873687" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient16137-0" | |||||
id="linearGradient16139-1" | |||||
x1="50.164425" | |||||
y1="70.256355" | |||||
x2="50.31778" | |||||
y2="79.224106" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.95156674,0,0,1.5456938,-16.442542,-90.055995)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient16137-0"> | |||||
<stop | |||||
style="stop-color:#ffffff;stop-opacity:1" | |||||
offset="0" | |||||
id="stop16133-0" /> | |||||
<stop | |||||
style="stop-color:#838383;stop-opacity:0.23790321" | |||||
offset="0.93217719" | |||||
id="stop4677" /> | |||||
<stop | |||||
style="stop-color:#bcbcbc;stop-opacity:0.81451613" | |||||
offset="1" | |||||
id="stop16135-4" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient13644" | |||||
id="linearGradient4715" | |||||
x1="31.340908" | |||||
y1="16.595808" | |||||
x2="31.486288" | |||||
y2="32.426929" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(1.0037676,0,0,0.87557877,-0.16673027,4.007879)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient13644"> | |||||
<stop | |||||
style="stop-color:#ffffff;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop13640" /> | |||||
<stop | |||||
style="stop-color:#bcbcbc;stop-opacity:0.81451613" | |||||
offset="1" | |||||
id="stop13642" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="g1249" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="0" | |||||
inkscape:window-x="1920" | |||||
inkscape:cy="21.142003" | |||||
inkscape:cx="-21.040359" | |||||
inkscape:zoom="4.9191177" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1026" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" /> | |||||
<g | |||||
id="g1249" | |||||
transform="rotate(0.07311286,-81.860689,262.28855)"> | |||||
<circle | |||||
style="opacity:0.7;fill:#ffffff;fill-opacity:0;stroke:none" | |||||
id="path877" | |||||
cx="33.708595" | |||||
cy="33.852341" | |||||
r="34" /> | |||||
<rect | |||||
style="opacity:0.84294888;fill:url(#linearGradient16139-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4715);stroke-width:0.27258307;stroke-opacity:1" | |||||
id="rect822-8" | |||||
width="4.5965509" | |||||
height="27.722786" | |||||
x="31.438185" | |||||
y="4.677423" | |||||
rx="1.9031335" | |||||
transform="matrix(0.99996288,-0.0086159,0.01092257,0.99994035,0,0)" /> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,158 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |||||
sodipodi:docname="knob-small.svg" | |||||
id="svg482" | |||||
viewBox="0 0 18 18" | |||||
version="1.1" | |||||
height="18" | |||||
width="18"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<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> | |||||
<defs | |||||
id="defs486"> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368435" | |||||
y="-0.26762569" | |||||
width="2.9873686" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<radialGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient24066" | |||||
id="radialGradient24132" | |||||
cx="51.804565" | |||||
cy="85.892349" | |||||
fx="51.804565" | |||||
fy="85.892349" | |||||
r="24.152542" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(-1.6952603,0.2112972,-0.17603912,-1.3256536,136.94264,67.21025)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient24066"> | |||||
<stop | |||||
style="stop-color:#2f2f2f;stop-opacity:1" | |||||
offset="0" | |||||
id="stop24062" /> | |||||
<stop | |||||
style="stop-color:#1d1d1d;stop-opacity:1" | |||||
offset="1" | |||||
id="stop24064" /> | |||||
</linearGradient> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="svg482" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="0" | |||||
inkscape:window-x="0" | |||||
inkscape:cy="10.236928" | |||||
inkscape:cx="4.3404384" | |||||
inkscape:zoom="39.352942" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1026" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" /> | |||||
<circle | |||||
style="fill:#5d5c5a;fill-opacity:1;stroke:#070707;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |||||
id="path456-2" | |||||
cx="9" | |||||
cy="9" | |||||
r="8.4999237" /> | |||||
<g | |||||
id="g842" | |||||
transform="matrix(0.21875,0,0,0.21875,-21.24078,-0.43927557)"> | |||||
<g | |||||
id="g864" | |||||
transform="matrix(0.96035426,0,0,0.99127088,105.59152,7.7555619)" | |||||
style="fill:#2c2c2c;fill-opacity:1"> | |||||
<g | |||||
id="g855" | |||||
style="fill:#2c2c2c;fill-opacity:1"> | |||||
<ellipse | |||||
ry="32.281792" | |||||
rx="33.321037" | |||||
transform="scale(1,-1)" | |||||
cy="-35.707104" | |||||
cx="34" | |||||
id="path456" | |||||
style="fill:#2c2c2c;fill-opacity:1;stroke-width:1.35792994" /> | |||||
</g> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.878205;mix-blend-mode:normal;fill:#2c2c2c;fill-opacity:1;stroke:none;stroke-width:1.36478996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 34.131755,31.780031 1.2942961,41.561829 c 0,0 1.9576083,12.271466 16.4538939,22.45606 z" | |||||
id="path18669" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.0320513;mix-blend-mode:normal;fill:#2c2c2c;fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 34.131755,31.780031 65.90155,44.378942 c 0,0 4.386063,-11.046817 -2.313018,-23.110502 z" | |||||
id="path18669-3-4-8" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="mix-blend-mode:normal;fill:#2c2c2c;fill-opacity:1;stroke:none;stroke-width:1.36478996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="m 33.204008,31.780031 33.244045,9.83262 c 0,0 -3.685568,15.47326 -16.860468,22.405238 z" | |||||
id="path18669-6" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.08333327;mix-blend-mode:normal;fill:#2c2c2c;fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 33.204008,31.780031 33.862132,3.834848 c 0,0 -10.271784,-1.792207 -20.730755,6.872143 z" | |||||
id="path18669-3" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.05448722;mix-blend-mode:normal;fill:#2c2c2c;fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 31.799254,32.120058 17.78411,7.545209 c 0,0 -10.845503,4.915169 -14.937735,16.884839 z" | |||||
id="path18669-3-4" | |||||
sodipodi:nodetypes="cccc" /> | |||||
</g> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,229 @@ | |||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> | |||||
<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" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |||||
sodipodi:docname="knob.svg" | |||||
id="svg482" | |||||
viewBox="0 0 68.0 68.0" | |||||
version="1.1" | |||||
height="68.0" | |||||
width="68.0"> | |||||
<metadata | |||||
id="metadata488"> | |||||
<rdf:RDF> | |||||
<cc:Work | |||||
rdf:about=""> | |||||
<dc:format>image/svg+xml</dc:format> | |||||
<dc:type | |||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> | |||||
</cc:Work> | |||||
</rdf:RDF> | |||||
</metadata> | |||||
<defs | |||||
id="defs486"> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient4713"> | |||||
<stop | |||||
style="stop-color:#ffffff;stop-opacity:1;" | |||||
offset="0" | |||||
id="stop4709" /> | |||||
<stop | |||||
style="stop-color:#bcbcbc;stop-opacity:0" | |||||
offset="1" | |||||
id="stop4711" /> | |||||
</linearGradient> | |||||
<filter | |||||
style="color-interpolation-filters:sRGB" | |||||
inkscape:label="Blur" | |||||
id="filter11719" | |||||
x="-0.99368436" | |||||
y="-0.2676257" | |||||
width="2.9873687" | |||||
height="1.5352514"> | |||||
<feGaussianBlur | |||||
stdDeviation="1 1" | |||||
result="fbSourceGraphic" | |||||
id="feGaussianBlur11717" /> | |||||
<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="feColorMatrix11739" /> | |||||
<feGaussianBlur | |||||
id="feGaussianBlur11741" | |||||
stdDeviation="1 1" | |||||
result="blur" | |||||
in="fbSourceGraphic" /> | |||||
</filter> | |||||
<radialGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient24066" | |||||
id="radialGradient24132" | |||||
cx="51.804565" | |||||
cy="85.892349" | |||||
fx="51.804565" | |||||
fy="85.892349" | |||||
r="24.152542" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(-1.6952603,0.2112972,-0.17603912,-1.3256536,136.94264,67.21025)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
id="linearGradient24066"> | |||||
<stop | |||||
style="stop-color:#2f2f2f;stop-opacity:1" | |||||
offset="0" | |||||
id="stop24062" /> | |||||
<stop | |||||
style="stop-color:#1d1d1d;stop-opacity:1" | |||||
offset="1" | |||||
id="stop24064" /> | |||||
</linearGradient> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient24066" | |||||
id="linearGradient5680" | |||||
x1="52.848896" | |||||
y1="90.113304" | |||||
x2="40.298508" | |||||
y2="89.553993" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(1.448863,0,0,1.2855948,-41.104753,-77.41381)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient24066" | |||||
id="linearGradient6621" | |||||
gradientUnits="userSpaceOnUse" | |||||
x1="52.848896" | |||||
y1="90.113304" | |||||
x2="40.298508" | |||||
y2="89.553993" | |||||
gradientTransform="matrix(-1.448863,0,0,1.2855948,108.44051,-77.413806)" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient4713" | |||||
id="linearGradient10878" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(-1.0200958,-0.57631897,0.52025295,-0.80484715,47.186991,135.0227)" | |||||
x1="34.025845" | |||||
y1="101.32399" | |||||
x2="47.959541" | |||||
y2="91.020355" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient4713" | |||||
id="linearGradient7942" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(-0.33164439,1.123722,-0.90137562,-0.32552121,126.98526,1.076045)" | |||||
x1="34.025845" | |||||
y1="101.32399" | |||||
x2="47.959541" | |||||
y2="91.020355" /> | |||||
<linearGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient4713" | |||||
id="linearGradient9420" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(0.3127234,1.1291338,-0.93717832,0.20034686,95.16075,-43.530311)" | |||||
x1="34.025845" | |||||
y1="101.32399" | |||||
x2="47.959541" | |||||
y2="91.020355" /> | |||||
<radialGradient | |||||
inkscape:collect="always" | |||||
xlink:href="#linearGradient24066" | |||||
id="radialGradient852" | |||||
gradientUnits="userSpaceOnUse" | |||||
gradientTransform="matrix(-1.6952603,0.2112972,-0.17603912,-1.3256536,136.94264,67.21025)" | |||||
cx="51.804565" | |||||
cy="85.892349" | |||||
fx="51.804565" | |||||
fy="85.892349" | |||||
r="24.152542" /> | |||||
</defs> | |||||
<sodipodi:namedview | |||||
inkscape:current-layer="svg482" | |||||
inkscape:window-maximized="1" | |||||
inkscape:window-y="0" | |||||
inkscape:window-x="0" | |||||
inkscape:cy="33.69687" | |||||
inkscape:cx="14.984364" | |||||
inkscape:zoom="9.8382354" | |||||
showgrid="false" | |||||
id="namedview484" | |||||
inkscape:window-height="1026" | |||||
inkscape:window-width="1920" | |||||
inkscape:pageshadow="2" | |||||
inkscape:pageopacity="0" | |||||
guidetolerance="10" | |||||
gridtolerance="10" | |||||
objecttolerance="10" | |||||
borderopacity="1" | |||||
bordercolor="#666666" | |||||
pagecolor="#ffffff" | |||||
inkscape:pagecheckerboard="0" | |||||
showguides="false" /> | |||||
<ellipse | |||||
style="fill:#5d5c5a;fill-opacity:1;stroke:#070707;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" | |||||
id="path456-2" | |||||
cx="34" | |||||
cy="34" | |||||
rx="32.999985" | |||||
ry="32.999989" /> | |||||
<g | |||||
id="g842" | |||||
transform="matrix(0.9375,0,0,0.9375,-95.603342,-6.4540382)"> | |||||
<g | |||||
id="g864" | |||||
transform="matrix(0.96035426,0,0,0.99127088,105.59152,7.7555619)"> | |||||
<g | |||||
id="g855"> | |||||
<ellipse | |||||
ry="32.281792" | |||||
rx="33.321037" | |||||
transform="scale(1,-1)" | |||||
cy="-35.707104" | |||||
cx="34" | |||||
id="path456" | |||||
style="fill:url(#radialGradient852);fill-opacity:1;stroke-width:1.35792994" /> | |||||
</g> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.878205;mix-blend-mode:normal;fill:url(#linearGradient5680);fill-opacity:1;stroke:none;stroke-width:1.36478996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 34.131755,31.780031 1.2942961,41.561829 c 0,0 1.9576083,12.271466 16.4538939,22.45606 z" | |||||
id="path18669" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.0320513;mix-blend-mode:normal;fill:url(#linearGradient10878);fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 34.131755,31.780031 65.90155,44.378942 c 0,0 4.386063,-11.046817 -2.313018,-23.110502 z" | |||||
id="path18669-3-4-8" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="mix-blend-mode:normal;fill:url(#linearGradient6621);fill-opacity:1;stroke:none;stroke-width:1.36478996px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="m 33.204008,31.780031 33.244045,9.83262 c 0,0 -3.685568,15.47326 -16.860468,22.405238 z" | |||||
id="path18669-6" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.08333327;mix-blend-mode:normal;fill:url(#linearGradient7942);fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 33.204008,31.780031 33.862132,3.834848 c 0,0 -10.271784,-1.792207 -20.730755,6.872143 z" | |||||
id="path18669-3" | |||||
sodipodi:nodetypes="cccc" /> | |||||
<path | |||||
inkscape:connector-curvature="0" | |||||
style="opacity:0.05448722;mix-blend-mode:normal;fill:url(#linearGradient9420);fill-opacity:1;stroke:none;stroke-width:1.05869997px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" | |||||
d="M 31.799254,32.120058 17.78411,7.545209 c 0,0 -10.845503,4.915169 -14.937735,16.884839 z" | |||||
id="path18669-3-4" | |||||
sodipodi:nodetypes="cccc" /> | |||||
</g> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,121 @@ | |||||
<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" | |||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" | |||||
width="22" | |||||
height="22" | |||||
viewBox="0 0 5.8208332 5.8208335" | |||||
version="1.1" | |||||
id="svg977" | |||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)" | |||||
sodipodi:docname="jack.svg"> | |||||
<defs | |||||
id="defs971" /> | |||||
<sodipodi:namedview | |||||
id="base" | |||||
pagecolor="#ffffff" | |||||
bordercolor="#666666" | |||||
borderopacity="1.0" | |||||
inkscape:pageopacity="0.0" | |||||
inkscape:pageshadow="2" | |||||
inkscape:zoom="15.839192" | |||||
inkscape:cx="8.23175" | |||||
inkscape:cy="6.3766653" | |||||
inkscape:document-units="mm" | |||||
inkscape:current-layer="layer1" | |||||
showgrid="false" | |||||
units="px" | |||||
inkscape:window-width="1920" | |||||
inkscape:window-height="1026" | |||||
inkscape:window-x="0" | |||||
inkscape:window-y="0" | |||||
inkscape:window-maximized="1" /> | |||||
<metadata | |||||
id="metadata974"> | |||||
<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,-291.17915)"> | |||||
<g | |||||
id="JACKS-97-7-6-0-6" | |||||
transform="matrix(0.26458333,0,0,-0.26458333,1.095e-6,296.99998)"> | |||||
<g | |||||
id="g45078-1-5-2-7-9"> | |||||
<g | |||||
id="layer1_2_-9-3-3-15-4" | |||||
transform="translate(-88.611154,-119.19859)"> | |||||
<g | |||||
id="g45059-1-9-9-8-6"> | |||||
<circle | |||||
cx="99.611153" | |||||
cy="130.19856" | |||||
r="10.75" | |||||
id="circle45055-2-1-9-9-9" | |||||
style="fill:#bababa" /> | |||||
<path | |||||
d="m 99.61115,119.69856 c 5.78973,0 10.5,4.71029 10.5,10.5 0,5.78972 -4.71027,10.5 -10.5,10.5 -5.78973,0 -10.5,-4.71028 -10.5,-10.5 0,-5.78971 4.71026,-10.5 10.5,-10.5 m 0,-0.5 c -6.07513,0 -11,4.92487 -11,11 0,6.07513 4.92487,11 11,11 6.07513,0 11,-4.92487 11,-11 0,-6.07512 -4.92487,-11 -11,-11 z" | |||||
id="path45057-4-5-0-9-1" | |||||
inkscape:connector-curvature="0" | |||||
style="fill:#848484" /> | |||||
</g> | |||||
<g | |||||
id="g45073-2-6-7-8-7"> | |||||
<g | |||||
id="g45065-1-8-8-7-0"> | |||||
<circle | |||||
cx="99.611153" | |||||
cy="130.19856" | |||||
r="7.9760699" | |||||
id="circle45061-5-2-6-8-6" | |||||
style="fill:#303030" /> | |||||
<path | |||||
d="m 99.61115,122.47253 c 4.267,0 7.72604,3.45906 7.72604,7.72604 0,4.26697 -3.45905,7.72604 -7.72604,7.72604 -4.26697,0 -7.72604,-3.45909 -7.72604,-7.72604 -1e-5,-4.26698 3.45906,-7.72604 7.72604,-7.72604 m 0,-0.5 c -4.53586,0 -8.22604,3.6902 -8.22604,8.22604 0,4.53583 3.69019,8.22604 8.22604,8.22604 4.53585,0 8.22604,-3.6902 8.22604,-8.22604 0,-4.53584 -3.69019,-8.22604 -8.22604,-8.22604 z" | |||||
id="path45063-5-9-6-57-2" | |||||
inkscape:connector-curvature="0" | |||||
style="fill:#848484" /> | |||||
</g> | |||||
<g | |||||
id="g45071-8-4-2-6-26"> | |||||
<circle | |||||
cx="99.611153" | |||||
cy="130.19856" | |||||
r="7.4760699" | |||||
id="circle45067-0-1-6-3-8" | |||||
style="fill:#494949" /> | |||||
<path | |||||
d="m 99.61115,122.97253 c 3.98444,0 7.22604,3.24159 7.22604,7.22604 0,3.98444 -3.24161,7.22604 -7.22604,7.22604 -3.98443,0 -7.22604,-3.24159 -7.22604,-7.22604 0,-3.98445 3.2416,-7.22604 7.22604,-7.22604 m 0,-0.5 c -4.26697,0 -7.72604,3.45906 -7.72604,7.72604 0,4.26697 3.45908,7.72604 7.72604,7.72604 4.267,0 7.72604,-3.45909 7.72604,-7.72604 0,-4.26698 -3.45905,-7.72604 -7.72604,-7.72604 z" | |||||
id="path45069-9-4-9-3-4" | |||||
inkscape:connector-curvature="0" | |||||
style="fill:#1e1e1e" /> | |||||
</g> | |||||
</g> | |||||
<circle | |||||
stroke-miterlimit="10" | |||||
cx="99.611153" | |||||
cy="130.19856" | |||||
r="4.5340099" | |||||
id="circle45075-8-8-5-8-7" | |||||
style="stroke:#1e1e1e;stroke-width:0.5;stroke-miterlimit:10" /> | |||||
</g> | |||||
</g> | |||||
</g> | |||||
</g> | |||||
</svg> |
@@ -0,0 +1,195 @@ | |||||
/* | |||||
* ZamComp mono compressor for Cardinal | |||||
* Copyright (C) 2014-2019 Damien Zammit <damien@zamaudio.com> | |||||
* Copyright (C) 2022 Filipe Coelho <falktx@falktx.com> | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU General Public License as | |||||
* published by the Free Software Foundation; either version 2 of | |||||
* the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* For a full copy of the GNU General Public License see the LICENSE file. | |||||
*/ | |||||
#include "plugin.hpp" | |||||
#include "widgets.hpp" | |||||
// -------------------------------------------------------------------------------------------------------------------- | |||||
struct ZamAudioCompModule : Module { | |||||
enum ParamIds { | |||||
PARAM_ATTACK, | |||||
PARAM_RELEASE, | |||||
PARAM_THRESHOLD, | |||||
PARAM_RATIO, | |||||
PARAM_KNEE, | |||||
PARAM_SLEW, | |||||
PARAM_MAKEUP, | |||||
NUM_PARAMS | |||||
}; | |||||
enum InputIds { | |||||
AUDIO_INPUT, | |||||
SIDECHAIN_INPUT, | |||||
NUM_INPUTS | |||||
}; | |||||
enum OutputIds { | |||||
AUDIO_OUTPUT, | |||||
NUM_OUTPUTS | |||||
}; | |||||
enum LightIds { | |||||
OUTLEVEL, | |||||
GAINREDUCTION, | |||||
NUM_LIGHTS | |||||
}; | |||||
float gainred,outlevel; //lights | |||||
float oldL_yl, oldL_y1, oldL_yg; //temp | |||||
static inline float | |||||
sanitize_denormal(float v) { | |||||
if(!std::isnormal(v)) | |||||
return 0.f; | |||||
return v; | |||||
} | |||||
static inline float | |||||
from_dB(float gdb) { | |||||
return (expf(0.05f*gdb*logf(10.f))); | |||||
} | |||||
static inline float | |||||
to_dB(float g) { | |||||
return (20.f*log10f(g)); | |||||
} | |||||
ZamAudioCompModule() | |||||
{ | |||||
config(NUM_PARAMS, NUM_INPUTS, NUM_OUTPUTS, NUM_LIGHTS); | |||||
configParam(PARAM_ATTACK, 0.1f, 100.f, 10.f, "Attack", " ms"); | |||||
configParam(PARAM_RELEASE, 1.f, 500.f, 80.f, "Release", " ms"); | |||||
configParam(PARAM_THRESHOLD, -80.f, 0.f, 0.f, "Threshold", " db"); | |||||
configParam(PARAM_RATIO, 1.f, 20.f, 4.f, "Ratio"); | |||||
configParam(PARAM_KNEE, 0.f, 8.f, 0.f, "Knee", " dB"); | |||||
configParam(PARAM_SLEW, 1.f, 150.f, 1.f, "Slew"); | |||||
configParam(PARAM_MAKEUP, 0.f, 30.f, 0.f, "Makeup", " dB"); | |||||
configInput(AUDIO_INPUT, "Audio"); | |||||
configInput(SIDECHAIN_INPUT, "Sidechain"); | |||||
configOutput(AUDIO_OUTPUT, "Audio"); | |||||
configLight(OUTLEVEL, "Output Level"); | |||||
configLight(GAINREDUCTION, "Gain Reduction"); | |||||
gainred = 0.0f; | |||||
outlevel = -45.0f; | |||||
oldL_yl = oldL_y1 = oldL_yg = 0.f; | |||||
} | |||||
void process(const ProcessArgs& args) override | |||||
{ | |||||
const float attack = params[PARAM_ATTACK].getValue(); | |||||
const float release = params[PARAM_RELEASE].getValue(); | |||||
const float thresdb = params[PARAM_THRESHOLD].getValue(); | |||||
const float ratio = params[PARAM_RATIO].getValue(); | |||||
const float knee = params[PARAM_KNEE].getValue(); | |||||
const float slewfactor = params[PARAM_SLEW].getValue(); | |||||
const float makeup = params[PARAM_MAKEUP].getValue(); | |||||
const float srate = args.sampleRate; | |||||
const float width = (6.f * knee) + 0.01; | |||||
const float slewwidth = 1.8f; | |||||
const float release_coeff = exp(-1000.f/(release * srate)); | |||||
// const float gain = std::pow(params[0].getValue(), 2.f); | |||||
const float in0 = inputs[AUDIO_INPUT].getVoltageSum() * 0.1f; | |||||
const float in = inputs[SIDECHAIN_INPUT].isConnected() | |||||
? inputs[SIDECHAIN_INPUT].getVoltageSum() * 0.1f | |||||
: in0; | |||||
const float Lxg = sanitize_denormal(in == 0.f ? -160.f : to_dB(fabsf(in))); | |||||
const float checkwidth = 2.f*fabsf(Lxg-thresdb); | |||||
bool attslew = false; | |||||
float Lyg; | |||||
if (2.f*(Lxg-thresdb) < -width) { | |||||
Lyg = Lxg; | |||||
} else if (checkwidth <= width) { | |||||
Lyg = thresdb + (Lxg-thresdb)/ratio; | |||||
Lyg = sanitize_denormal(Lyg); | |||||
if (checkwidth <= slewwidth) { | |||||
if (Lyg >= oldL_yg) { | |||||
attslew = true; | |||||
} | |||||
} | |||||
} else if (2.f*(Lxg-thresdb) > width) { | |||||
Lyg = thresdb + (Lxg-thresdb)/ratio; | |||||
Lyg = sanitize_denormal(Lyg); | |||||
} else { | |||||
Lyg = Lxg + (1.f/ratio-1.f)*(Lxg-thresdb+width/2.f)*(Lxg-thresdb+width/2.f)/(2.f*width); | |||||
} | |||||
const float attack_coeff = attslew | |||||
? exp(-1000.f/((attack + 2.0*(slewfactor - 1)) * srate)) | |||||
: exp(-1000.f/(attack * srate)); | |||||
// Don't slew on release | |||||
const float Lxl = Lxg - Lyg; | |||||
const float Lyl = sanitize_denormal(Lxl < oldL_yl ? release_coeff * oldL_yl + (1.f-release_coeff)*Lxl | |||||
: Lxl > oldL_yl ? attack_coeff * oldL_yl+(1.f-attack_coeff)*Lxl : Lxl); | |||||
const float Lgain = from_dB(-Lyl); | |||||
const float out = in0 * Lgain * from_dB(makeup); | |||||
outputs[AUDIO_OUTPUT].setVoltage(out * 10.0f); | |||||
oldL_yl = Lyl; | |||||
oldL_yg = Lyg; | |||||
gainred = Lyl; | |||||
// const float max = (fabsf(out) > max) ? fabsf(outputs[0][i]) : sanitize_denormal(max); | |||||
// outlevel = (max == 0.f) ? -45.f : to_dB(max); // relative to - thresdb; | |||||
} | |||||
}; | |||||
// -------------------------------------------------------------------------------------------------------------------- | |||||
struct ZamAudioCompModuleWidget : ZamAudioModuleWidget { | |||||
typedef FundamentalBlackKnob<36> BigKnob; | |||||
ZamAudioCompModule* const module; | |||||
ZamAudioCompModuleWidget(ZamAudioCompModule* const m) | |||||
: ZamAudioModuleWidget(), | |||||
module(m) | |||||
{ | |||||
setModule(module); | |||||
setPanel(APP->window->loadSvg(asset::plugin(pluginInstance, "res/ZamComp.svg"))); | |||||
addInput(createInput<PJ301MPort>(Vec(32, 280), m, ZamAudioCompModule::AUDIO_INPUT)); | |||||
addInput(createInput<PJ301MPort>(Vec(32, 310), m, ZamAudioCompModule::SIDECHAIN_INPUT)); | |||||
addOutput(createOutput<PJ301MPort>(Vec(100, 310), m, ZamAudioCompModule::AUDIO_OUTPUT)); | |||||
const float scale = 0.8f; | |||||
addParam(createParamCentered<BigKnob>(Vec(45.75f * scale, 121.25f * scale), m, ZamAudioCompModule::PARAM_ATTACK)); | |||||
addParam(createParamCentered<BigKnob>(Vec(127.75f * scale, 121.25f * scale), m, ZamAudioCompModule::PARAM_RELEASE)); | |||||
addParam(createParamCentered<BigKnob>(Vec(48.25f * scale, 208.f * scale), m, ZamAudioCompModule::PARAM_THRESHOLD)); | |||||
addParam(createParamCentered<BigKnob>(Vec(130.75f * scale, 208.f * scale), m, ZamAudioCompModule::PARAM_RATIO)); | |||||
addParam(createParamCentered<BigKnob>(Vec(48.25f * scale, 305.f * scale), m, ZamAudioCompModule::PARAM_KNEE)); | |||||
addParam(createParamCentered<BigKnob>(Vec(130.75f * scale, 305.f * scale), m, ZamAudioCompModule::PARAM_SLEW)); | |||||
} | |||||
}; | |||||
// -------------------------------------------------------------------------------------------------------------------- | |||||
Model* modelZamComp = createModel<ZamAudioCompModule, ZamAudioCompModuleWidget>("ZamComp"); | |||||
// -------------------------------------------------------------------------------------------------------------------- |
@@ -0,0 +1,27 @@ | |||||
/* | |||||
* ZamAudio plugins For Cardinal | |||||
* Copyright (C) 2014-2019 Damien Zammit <damien@zamaudio.com> | |||||
* Copyright (C) 2022 Filipe Coelho <falktx@falktx.com> | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU General Public License as | |||||
* published by the Free Software Foundation; either version 2 of | |||||
* the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* For a full copy of the GNU General Public License see the LICENSE file. | |||||
*/ | |||||
#pragma once | |||||
#include "rack.hpp" | |||||
using namespace rack; | |||||
extern Plugin* pluginInstance; | |||||
extern Model* modelZamComp; |
@@ -0,0 +1,52 @@ | |||||
/* | |||||
* ZamAudio plugins For Cardinal | |||||
* Copyright (C) 2014-2019 Damien Zammit <damien@zamaudio.com> | |||||
* Copyright (C) 2022 Filipe Coelho <falktx@falktx.com> | |||||
* | |||||
* This program is free software; you can redistribute it and/or | |||||
* modify it under the terms of the GNU General Public License as | |||||
* published by the Free Software Foundation; either version 2 of | |||||
* the License, or (at your option) any later version. | |||||
* | |||||
* This program is distributed in the hope that it will be useful, | |||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||||
* GNU General Public License for more details. | |||||
* | |||||
* For a full copy of the GNU General Public License see the LICENSE file. | |||||
*/ | |||||
#pragma once | |||||
#include "plugin.hpp" | |||||
struct ZamAudioModuleWidget : ModuleWidget { | |||||
}; | |||||
template<int size> | |||||
struct FundamentalBlackKnob : RoundKnob { | |||||
static constexpr const float kSize = size; | |||||
static constexpr const float kHalfSize = size * 0.5f; | |||||
float scale; | |||||
FundamentalBlackKnob() { | |||||
if (size <= 22) { | |||||
setSvg(Svg::load(asset::plugin(pluginInstance, "res/components/knob-marker-small.svg"))); | |||||
bg->setSvg(Svg::load(asset::plugin(pluginInstance, "res/components/knob-small.svg"))); | |||||
} else { | |||||
setSvg(Svg::load(asset::plugin(pluginInstance, "res/components/knob-marker.svg"))); | |||||
bg->setSvg(Svg::load(asset::plugin(pluginInstance, "res/components/knob.svg"))); | |||||
} | |||||
scale = size / sw->box.size.x; | |||||
box.size = Vec(size, size); | |||||
bg->box.size = Vec(size, size); | |||||
} | |||||
void draw(const DrawArgs& args) override { | |||||
nvgSave(args.vg); | |||||
nvgScale(args.vg, scale, scale); | |||||
RoundKnob::draw(args); | |||||
nvgRestore(args.vg); | |||||
} | |||||
}; |
@@ -26,6 +26,9 @@ | |||||
// Fundamental (always enabled) | // Fundamental (always enabled) | ||||
#include "Fundamental/src/plugin.hpp" | #include "Fundamental/src/plugin.hpp" | ||||
// ZamAudio (always enabled) | |||||
#include "ZamAudio/src/plugin.hpp" | |||||
#ifndef NOPLUGINS | #ifndef NOPLUGINS | ||||
// 21kHz | // 21kHz | ||||
#include "21kHz/src/21kHz.hpp" | #include "21kHz/src/21kHz.hpp" | ||||
@@ -715,6 +718,7 @@ void saveHighQualityAsDefault(bool) {} | |||||
// plugin instances | // plugin instances | ||||
Plugin* pluginInstance__Cardinal; | Plugin* pluginInstance__Cardinal; | ||||
Plugin* pluginInstance__Fundamental; | Plugin* pluginInstance__Fundamental; | ||||
Plugin* pluginInstance__ZamAudio; | |||||
#ifndef NOPLUGINS | #ifndef NOPLUGINS | ||||
Plugin* pluginInstance__21kHz; | Plugin* pluginInstance__21kHz; | ||||
Plugin* pluginInstance__8Mode; | Plugin* pluginInstance__8Mode; | ||||
@@ -986,6 +990,18 @@ static void initStatic__Fundamental() | |||||
} | } | ||||
} | } | ||||
static void initStatic__ZamAudio() | |||||
{ | |||||
Plugin* const p = new Plugin; | |||||
pluginInstance__ZamAudio = p; | |||||
const StaticPluginLoader spl(p, "ZamAudio"); | |||||
if (spl.ok()) | |||||
{ | |||||
p->addModel(modelZamComp); | |||||
} | |||||
} | |||||
#ifndef NOPLUGINS | #ifndef NOPLUGINS | ||||
static void initStatic__21kHz() | static void initStatic__21kHz() | ||||
{ | { | ||||
@@ -2703,6 +2719,7 @@ void initStaticPlugins() | |||||
{ | { | ||||
initStatic__Cardinal(); | initStatic__Cardinal(); | ||||
initStatic__Fundamental(); | initStatic__Fundamental(); | ||||
initStatic__ZamAudio(); | |||||
#ifndef NOPLUGINS | #ifndef NOPLUGINS | ||||
initStatic__21kHz(); | initStatic__21kHz(); | ||||
initStatic__8Mode(); | initStatic__8Mode(); | ||||