+2
-2
@@ -1,13 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.16.0)
|
||||
project(pipedal
|
||||
VERSION 1.4.75
|
||||
VERSION 1.4.76
|
||||
DESCRIPTION "PiPedal Guitar Effect Pedal For Raspberry Pi"
|
||||
HOMEPAGE_URL "https://rerdavies.github.io/pipedal"
|
||||
)
|
||||
|
||||
EXECUTE_PROCESS( COMMAND dpkg --print-architecture COMMAND tr -d '\n' OUTPUT_VARIABLE DEBIAN_ARCHITECTURE )
|
||||
|
||||
set (DISPLAY_VERSION "PiPedal v1.4.75-Release")
|
||||
set (DISPLAY_VERSION "PiPedal v1.4.76-Release")
|
||||
set (PACKAGE_ARCHITECTURE ${DEBIAN_ARCHITECTURE})
|
||||
set (CMAKE_INSTALL_PREFIX "/usr/")
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<a href="https://rerdavies.github.io/pipedal/LicensePiPedal.html"><img src="https://img.shields.io/badge/MIT-MIT?label=license&color=%23808080"/></a>
|
||||
<a href="https://github.com/rerdavies/pipedal/actions"><img src="https://img.shields.io/github/actions/workflow/status/rerdavies/pipedal/cmake.yml?branch=main"/></a>
|
||||
|
||||
Download: <a href='https://rerdavies.github.io/pipedal/download.html'>v1.4.75</a>
|
||||
Download: <a href='https://rerdavies.github.io/pipedal/download.html'>v1.4.76</a>
|
||||
Website: [https://rerdavies.github.io/pipedal](https://rerdavies.github.io/pipedal).
|
||||
Documentation: [https://rerdavies.github.io/pipedal/Documentation.html](https://rerdavies.github.io/pipedal/Documentation.html).
|
||||
|
||||
_Important notice_: [PatchStorage.com](https:///patchstorage.com) has added support for [PiPedal](https://patchstorage.com/platform/pipedal/). We urgently need your support! If you could please upload patches [here](https://patchstorage.com/platform/pipedal/) I would be enormously grateful. Note that media and model files are included in patch files, so you can share patches that
|
||||
include model files or audio samples. If you make use of plugins that are not included in the PiPedal distribution, please include a link to the plugin in the patch description.
|
||||
|
||||
#### NEW version 1.4.75 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.
|
||||
#### NEW version 1.4.76 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. New Phaser and Graphic Equalizer plugins.
|
||||
|
||||
|
||||
|
||||
|
||||
+5
-5
@@ -13,17 +13,17 @@ page_icon: img/Install4.jpg
|
||||
|
||||
Download the most recent Debian (.deb) package for your platform:
|
||||
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.4.75 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_arm64.deb)
|
||||
- [Ubuntu 24.x (aarch64) v1.4.75 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_arm64.deb)
|
||||
- [Ubuntu 24.x (amd64) v1.4.75 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_amd64.deb)
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.4.76 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_arm64.deb)
|
||||
- [Ubuntu 24.x (aarch64) v1.4.76 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_arm64.deb)
|
||||
- [Ubuntu 24.x (amd64) v1.4.76 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_amd64.deb)
|
||||
|
||||
|
||||
Version 1.4.75 has been tested on Raspberry Pi OS bookworm, Ubuntu 24.04 (amd64), and Ubuntu 24.10 (aarch64). Download the appropriate package for your platform, and install using the following procedure:
|
||||
Version 1.4.76 has been tested on Raspberry Pi OS bookworm, Ubuntu 24.04 (amd64), and Ubuntu 24.10 (aarch64). Download the appropriate package for your platform, and install using the following procedure:
|
||||
|
||||
```
|
||||
sudo apt update
|
||||
cd ~/Downloads
|
||||
sudo apt-get install pipedal_1.4.75_arm64.deb
|
||||
sudo apt-get install pipedal_1.4.76_arm64.deb
|
||||
```
|
||||
You MUST use `apt-get`. `apt` will not install downloaded packages; and `dpkg-i` will not install dependencies.
|
||||
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
# Release Notes
|
||||
|
||||
## PiPedal 1.4.76 Release
|
||||
- **TooB Phaser**. A loose emulation of the MXR Phase 90 phaser.
|
||||
- **TooB GE-7 Graphic Equalizer**. A 7-band graphic equalizer optimized for use as a guitar effect.
|
||||
|
||||
|
||||
## PiPedal 1.4.75 Release
|
||||
|
||||
New pugins:
|
||||
New plugins:
|
||||
- **TooB Noise Gate**. A standalone Noise Gate plugin.
|
||||
- **TooB Volume**. A standalong plugin to adjust signal volume.
|
||||
- **TooB Mix**. A standalone plugin to remix stereo signals.
|
||||
|
||||
+4
-4
@@ -4,9 +4,9 @@
|
||||
|
||||
Download the most recent Debian (.deb) package for your platform:
|
||||
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.4.75 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_arm64.deb)
|
||||
- [Ubuntu 24.x (aarch64) v1.4.75 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_arm64.deb)
|
||||
- [Ubuntu 24.x (amd64) v1.4.75 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.75/pipedal_1.4.75_amd64.deb)
|
||||
- [Raspberry Pi OS bookworm (aarch64) v1.4.76 Beta](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_arm64.deb)
|
||||
- [Ubuntu 24.x (aarch64) v1.4.76 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_arm64.deb)
|
||||
- [Ubuntu 24.x (amd64) v1.4.76 Alpha](https://github.com/rerdavies/pipedal/releases/download/v1.4.76/pipedal_1.4.76_amd64.deb)
|
||||
|
||||
|
||||
Install the package by running
|
||||
@@ -14,7 +14,7 @@ Install the package by running
|
||||
```
|
||||
sudo apt update
|
||||
cd ~/Downloads
|
||||
sudo apt-get install ./pipedal_1.4.75_arm64.deb
|
||||
sudo apt-get install ./pipedal_1.4.76_arm64.deb
|
||||
```
|
||||
You MUST use `apt-get` to install the package. `apt install` will NOT install the package correctly. The message about missing permissions given by `apt-get` is
|
||||
expected, and can be safely ignored.
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
<a href="Installing.html"><i>v1.4.75</i></a>
|
||||
<a href="Installing.html"><i>v1.4.76</i></a>
|
||||
|
||||
_To download PiPedal, click [*here*](download.md).
|
||||
To view PiPedal documentation, click [*here*](Documentation.md)._
|
||||
@@ -6,7 +6,7 @@ To view PiPedal documentation, click [*here*](Documentation.md)._
|
||||
_Important notice_: [PatchStorage.com](https:///patchstorage.com) has added support for [PiPedal](https://patchstorage.com/platform/pipedal/). We urgently need your support! If you could please upload patches [here](https://patchstorage.com/platform/pipedal/) I would be enormously grateful. Note that media and model files are included in patch files, so you can share patches that
|
||||
include model files or audio samples. If you make use of plugins that are not included in the PiPedal distribution, please include a link to the plugin in the patch description.
|
||||
|
||||
#### NEW version 1.4.75 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details.
|
||||
#### NEW version 1.4.76 Release. See the [release notes](https://rerdavies.github.io/pipedal/ReleaseNotes) for details. New Phaser and Graphic Equalizer plugins.
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ cabir:impulseFile3
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
|
||||
TooB Cab IR is a convolution-based guitar cabinet impulse response simulator.
|
||||
|
||||
@@ -50,7 +50,7 @@ toob:frequencyResponseVector
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "TooB CabSim";
|
||||
|
||||
@@ -53,7 +53,7 @@ toobimpulse:impulseFile
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
|
||||
Convolution reverb is a notoriously compute-intensive effect. If you are having performance issues, use the Max T control to constrain the length of the impulse file to
|
||||
|
||||
@@ -51,7 +51,7 @@ toobimpulse:impulseFile
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ inputStage:filterGroup
|
||||
doap:license <https://two-play.com/TooB/licenses/isc> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "TooB Input";
|
||||
|
||||
@@ -68,7 +68,7 @@ pstage:stage3
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "Power Stage";
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment "TooB spectrum analyzer" ;
|
||||
|
||||
mod:brand "TooB";
|
||||
|
||||
@@ -57,7 +57,7 @@ tonestack:eqGroup
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
uiext:ui <http://two-play.com/plugins/toob-tone-stack-ui>;
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -40,7 +40,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Emulation of a Boss CE-2 Chorus.
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
A straightforward no-frills digital delay.
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Emulation of a Boss BF-2 Flanger, based on circuit analysis and simulation of the original.
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Digital emulation of a Boss BF-2 Flanger.
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Toob Freeverb is an Lv2 implementation of the famous Freeverb reverb effect. FreeVerb delivers a well-balanced reverb with very little tonal coloration.
|
||||
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
@prefix doap: <http://usefulinc.com/ns/doap#> .
|
||||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
|
||||
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
|
||||
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
|
||||
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
|
||||
@prefix epp: <http://lv2plug.in/ns/ext/port-props#> .
|
||||
@prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
|
||||
@prefix idpy: <http://harrisonconsoles.com/lv2/inlinedisplay#> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix mod: <http://moddevices.com/ns/mod#> .
|
||||
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
|
||||
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
|
||||
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
|
||||
|
||||
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
|
||||
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix state: <http://lv2plug.in/ns/ext/state#> .
|
||||
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
@prefix toobGraphicEq: <http://two-play.com/plugins/toob-graphiceq#> .
|
||||
@prefix pipedal_ui: <http://github.com/rerdavies/pipedal/ui#> .
|
||||
|
||||
|
||||
<http://two-play.com/rerdavies#me>
|
||||
a foaf:Person ;
|
||||
foaf:name "Robin Davies" ;
|
||||
foaf:mbox <mailto:rerdavies@gmail.com> ;
|
||||
foaf:homepage <https://github.com/sponsors/rerdavies> .
|
||||
|
||||
<http://two-play.com/plugins/toob-graphiceq>
|
||||
a lv2:Plugin ,
|
||||
lv2:EQPlugin ;
|
||||
doap:name "TooB GE-7 Graphic Eq" ,
|
||||
"TooB GE-7 Graphic Eq"@en-gb-gb
|
||||
;
|
||||
uiext:ui <http://two-play.com/plugins/toob-graphiceq-ui> ;
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
A 7 octave graphic equalizer, with frequencies chosen to be useful for EQ-ing guitar signals.
|
||||
""" ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "GE-7 Graphic Eq";
|
||||
lv2:optionalFeature lv2:hardRTCapable;
|
||||
|
||||
lv2:port [
|
||||
a lv2:AudioPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 0 ;
|
||||
lv2:symbol "in_left" ;
|
||||
lv2:name "In L"
|
||||
] , [
|
||||
a lv2:AudioPort ,
|
||||
lv2:OutputPort ;
|
||||
lv2:index 1 ;
|
||||
lv2:symbol "out_left" ;
|
||||
lv2:name "Out L"
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 2 ;
|
||||
lv2:symbol "gain_100hz" ;
|
||||
lv2:name "100" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 3 ;
|
||||
lv2:symbol "gain_200hz" ;
|
||||
lv2:name "200" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 4 ;
|
||||
lv2:symbol "gain_400hz" ;
|
||||
lv2:name "400" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 5 ;
|
||||
lv2:symbol "gain_800hz" ;
|
||||
lv2:name "800" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 6 ;
|
||||
lv2:symbol "gain_1600hz" ;
|
||||
lv2:name "1.6k" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 7 ;
|
||||
lv2:symbol "gain_3200hz" ;
|
||||
lv2:name "3.2k" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
units:unit units:db ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
] , [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 8 ;
|
||||
lv2:symbol "gain_6400hz" ;
|
||||
lv2:name "6.4k" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -15.0 ;
|
||||
lv2:maximum 15.0 ;
|
||||
lv2:portProperty pipedal_ui:graphicEq;
|
||||
units:unit units:db ;
|
||||
], [
|
||||
a lv2:ControlPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 9 ;
|
||||
lv2:symbol "level" ;
|
||||
lv2:name "Level" ;
|
||||
lv2:default 0.0 ;
|
||||
lv2:minimum -30.0 ;
|
||||
lv2:maximum 30.0 ;
|
||||
units:unit units:db ;
|
||||
] .
|
||||
|
||||
<http://two-play.com/plugins/toob-graphiceq-ui>
|
||||
a uiext:X11UI ;
|
||||
lv2:binary <ToobAmpUI.so>;
|
||||
|
||||
lv2:extensionData uiext::idle ;
|
||||
lv2:extensionData uiext:resize ;
|
||||
lv2:extensionData uiext:idleInterface;
|
||||
lv2:requiredFeature uiext:idleInterface ;
|
||||
.
|
||||
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ myprefix:output_group
|
||||
doap:license <https://opensource.org/license/mit/> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 1 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
ui:ui <http://two-play.com/plugins/toob-looper-four-ui>;
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ myprefix:output_group
|
||||
doap:license <https://opensource.org/license/mit/> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 1 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
ui:ui <http://two-play.com/plugins/toob-looper-one-ui>;
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ toobml:sagGroup
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
The TooB ML Amplifier plugin provides emulation of a variety of amplifiers and overdrive pedals that are implemented
|
||||
using neural-network-based machine learning models of real amplifiers.
|
||||
|
||||
@@ -40,14 +40,14 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Remix a stereo input signal.
|
||||
|
||||
""" ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "TooB Mix";
|
||||
mod:label "Mix";
|
||||
lv2:optionalFeature lv2:hardRTCapable;
|
||||
|
||||
lv2:port
|
||||
|
||||
@@ -61,7 +61,7 @@ toobNam:eqGroup
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
A port of Steven Atkinson's Neural Amp Modeler to LV2.
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ noisegate:envelope_group
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
A noise gate is an audio processing tool that controls the volume of an audio signal
|
||||
by allowing it to pass through only when it exceeds a set threshold.
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
@prefix doap: <http://usefulinc.com/ns/doap#> .
|
||||
@prefix lv2: <http://lv2plug.in/ns/lv2core#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix units: <http://lv2plug.in/ns/extensions/units#> .
|
||||
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
|
||||
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
|
||||
@prefix midi: <http://lv2plug.in/ns/ext/midi#> .
|
||||
@prefix epp: <http://lv2plug.in/ns/ext/port-props#> .
|
||||
@prefix uiext: <http://lv2plug.in/ns/extensions/ui#> .
|
||||
@prefix idpy: <http://harrisonconsoles.com/lv2/inlinedisplay#> .
|
||||
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
|
||||
@prefix mod: <http://moddevices.com/ns/mod#> .
|
||||
@prefix param: <http://lv2plug.in/ns/ext/parameters#> .
|
||||
@prefix work: <http://lv2plug.in/ns/ext/worker#> .
|
||||
@prefix pg: <http://lv2plug.in/ns/ext/port-groups#> .
|
||||
|
||||
@prefix atom: <http://lv2plug.in/ns/ext/atom#> .
|
||||
@prefix patch: <http://lv2plug.in/ns/ext/patch#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix state: <http://lv2plug.in/ns/ext/state#> .
|
||||
@prefix urid: <http://lv2plug.in/ns/ext/urid#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
@prefix toobPhaser: <http://two-play.com/plugins/toob-phaser#> .
|
||||
|
||||
|
||||
<http://two-play.com/rerdavies#me>
|
||||
a foaf:Person ;
|
||||
foaf:name "Robin Davies" ;
|
||||
foaf:mbox <mailto:rerdavies@gmail.com> ;
|
||||
foaf:homepage <https://github.com/sponsors/rerdavies> .
|
||||
|
||||
<http://two-play.com/plugins/toob-phaser>
|
||||
a lv2:Plugin ,
|
||||
lv2:PhaserPlugin ;
|
||||
doap:name "TooB Phaser" ,
|
||||
"TooB Phaser"@en-gb-gb
|
||||
;
|
||||
uiext:ui <http://two-play.com/plugins/toob-phaser-ui> ;
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
A loose emulation of an MXR® Phase 90 Phaser.
|
||||
|
||||
MXR is a registered trademark of Dunlop Manufacturing, Inc. The TooB Phaser is not in any way associated with or endorsed by Dunlop Manufacturing.
|
||||
|
||||
""" ;
|
||||
|
||||
mod:brand "TooB";
|
||||
mod:label "Phaser";
|
||||
lv2:optionalFeature lv2:hardRTCapable;
|
||||
|
||||
lv2:port
|
||||
[
|
||||
a lv2:InputPort ,
|
||||
lv2:ControlPort ;
|
||||
|
||||
lv2:index 0;
|
||||
lv2:symbol "rate" ;
|
||||
lv2:name "Speed";
|
||||
lv2:default 1.4 ;
|
||||
lv2:minimum 0.1;
|
||||
lv2:maximum 6.0;
|
||||
lv2:portProperty epp:logarithmic;
|
||||
],
|
||||
[
|
||||
a lv2:AudioPort ,
|
||||
lv2:InputPort ;
|
||||
lv2:index 1 ;
|
||||
lv2:symbol "in" ;
|
||||
lv2:name "In"
|
||||
],
|
||||
[
|
||||
a lv2:AudioPort ,
|
||||
lv2:OutputPort ;
|
||||
lv2:index 2 ;
|
||||
lv2:symbol "out" ;
|
||||
lv2:name "Out"
|
||||
]
|
||||
.
|
||||
|
||||
<http://two-play.com/plugins/toob-phaser-ui>
|
||||
a uiext:X11UI ;
|
||||
lv2:binary <ToobAmpUI.so>;
|
||||
|
||||
lv2:extensionData uiext::idle ;
|
||||
lv2:extensionData uiext:resize ;
|
||||
lv2:extensionData uiext:idleInterface;
|
||||
lv2:requiredFeature uiext:idleInterface ;
|
||||
.
|
||||
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ recordPrefix:audioFile
|
||||
doap:license <https://opensource.org/license/mit/> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 1 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
ui:ui <http://two-play.com/plugins/toob-record-mono-ui>;
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ myprefix:loop3_group
|
||||
doap:license <https://opensource.org/license/mit/> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 1 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
|
||||
ui:ui <http://two-play.com/plugins/toob-record-stereo-ui>;
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
TooB Tuner is a chromatic guitar tuner.
|
||||
""" ;
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
doap:license <https://rerdavies.github.io/pipedal/LicenseToobAmp> ;
|
||||
doap:maintainer <http://two-play.com/rerdavies#me> ;
|
||||
lv2:minorVersion 0 ;
|
||||
lv2:microVersion 61 ;
|
||||
lv2:microVersion 62 ;
|
||||
rdfs:comment """
|
||||
Volume control.
|
||||
|
||||
|
||||
@@ -59,6 +59,11 @@
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobDelay.ttl> .
|
||||
|
||||
<http://two-play.com/plugins/toob-phaser> a lv2:Plugin ;
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobPhaser.ttl> .
|
||||
|
||||
|
||||
<http://two-play.com/plugins/toob-chorus> a lv2:Plugin ;
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobChorus.ttl> .
|
||||
@@ -92,6 +97,11 @@
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobMix.ttl> .
|
||||
|
||||
<http://two-play.com/plugins/toob-graphiceq> a lv2:Plugin ;
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobGraphicEq.ttl> .
|
||||
|
||||
|
||||
<http://two-play.com/plugins/toob-volume> a lv2:Plugin ;
|
||||
lv2:binary <ToobAmp.so> ;
|
||||
rdfs:seeAlso <ToobVolume.ttl> .
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="512"
|
||||
height="48"
|
||||
viewBox="0 0 135.46666 12.7"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
id="layer1">
|
||||
<g
|
||||
aria-label="TooB GE-7 Graphic Equalizer"
|
||||
id="text236"
|
||||
style="font-style:italic;font-weight:bold;font-size:5.99722px;font-family:Timana;-inkscape-font-specification:'Timana Bold Italic';fill:#686868;stroke:#7f7f7f;stroke-width:0.285001;stop-color:#000000">
|
||||
<path
|
||||
d="M 12.022963,5.7265975 12.163523,4.93302 h 3.461286 l -0.137632,0.7935775 h -1.24454 L 13.64233,9.1966686 h -1.004418 l 0.603236,-3.4700711 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path394" />
|
||||
<path
|
||||
d="m 14.804876,7.6622237 0.0059,-0.061495 q 0.07321,-0.6852292 0.512458,-1.1654754 0.439249,-0.4802461 1.162547,-0.4656044 0.694014,0.011713 1.021987,0.4861028 0.330901,0.4714611 0.272335,1.1215504 -0.06442,0.7232975 -0.512458,1.2094003 Q 16.819568,9.2698769 16.09627,9.2552352 15.408112,9.2435219 15.077211,8.7779174 14.74631,8.3093846 14.804876,7.6622237 Z m 0.957564,0.3543279 q 0.0059,0.1932698 0.09078,0.336758 0.08492,0.1405598 0.304546,0.1464165 0.571024,0.014642 0.658874,-0.922424 0.01171,-0.1581298 0.0059,-0.354328 -0.0088,-0.1961981 -0.09371,-0.3426146 -0.08492,-0.1464165 -0.304546,-0.1522731 -0.24598,-0.00586 -0.389468,0.1581298 -0.143488,0.1610581 -0.216696,0.4597478 -0.07321,0.2957613 -0.05564,0.6705876 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path396" />
|
||||
<path
|
||||
d="m 18.072893,7.6622237 0.0059,-0.061495 q 0.07321,-0.6852292 0.512458,-1.1654754 0.43925,-0.4802461 1.162547,-0.4656044 0.694015,0.011713 1.021987,0.4861028 0.330902,0.4714611 0.272335,1.1215504 -0.06442,0.7232975 -0.512458,1.2094003 Q 20.087584,9.2698769 19.364286,9.2552352 18.676129,9.2435219 18.345228,8.7779174 18.014326,8.3093846 18.072893,7.6622237 Z m 0.957564,0.3543279 q 0.0059,0.1932698 0.09078,0.336758 0.08492,0.1405598 0.304546,0.1464165 0.571025,0.014642 0.658875,-0.922424 0.01171,-0.1581298 0.0059,-0.354328 -0.0088,-0.1961981 -0.09371,-0.3426146 -0.08492,-0.1464165 -0.304547,-0.1522731 -0.245979,-0.00586 -0.389468,0.1581298 -0.143488,0.1610581 -0.216696,0.4597478 -0.07321,0.2957613 -0.05564,0.6705876 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path398" />
|
||||
<path
|
||||
d="m 24.644066,7.9111317 q -0.02928,0.4714612 -0.272335,0.7525808 -0.240123,0.2811197 -0.614949,0.4070379 -0.374826,0.1259182 -0.808219,0.1259182 h -1.721858 l 0.737939,-4.2636486 1.341175,0.00293 q 0.998561,0.00293 1.393885,0.4743895 0.207912,0.2459797 0.178628,0.6764443 -0.02343,0.3601846 -0.219624,0.5915226 -0.196198,0.2284098 -0.521243,0.363113 0.28112,0.096635 0.401181,0.3426146 0.12299,0.2459797 0.10542,0.5270994 z m -1.812636,-2.1845342 -0.172772,0.9839189 0.433393,0.00293 q 0.269406,-0.00293 0.494888,-0.1024916 0.22841,-0.099563 0.275263,-0.3982528 0.041,-0.2664781 -0.09663,-0.3689696 -0.137632,-0.1054199 -0.389468,-0.1142049 z m 0.825789,2.1728209 Q 23.695287,7.673937 23.604509,7.5363055 23.516659,7.3986739 23.282392,7.3869606 l -0.737939,-0.00293 -0.178628,1.0219872 0.597379,0.00293 q 0.251837,-0.00293 0.450963,-0.1229898 0.199127,-0.1200616 0.243052,-0.3865396 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path400" />
|
||||
<path
|
||||
d="M 30.245961,6.9184278 29.970698,8.6724975 Q 29.674937,9.0151122 29.174192,9.138102 28.676376,9.2581636 28.251768,9.2523069 27.657317,9.2464502 27.300061,8.9536172 26.942805,8.6607842 26.805173,8.1922514 26.667542,7.7237186 26.734893,7.1849058 l 0.03221,-0.2342664 q 0.07614,-0.5534543 0.336758,-1.0307722 0.260621,-0.4773178 0.696942,-0.7672224 0.436322,-0.292833 1.039558,-0.2811197 1.431953,0.023427 1.522731,1.4583084 L 29.40553,6.3269051 Q 29.385032,6.0370004 29.259114,5.855444 29.136124,5.6709592 28.816936,5.6592459 28.474321,5.6446042 28.260553,5.8525157 28.046785,6.0604271 27.93258,6.3679018 q -0.111276,0.3045463 -0.152273,0.6149493 -0.041,0.3074746 -0.04685,0.4538911 -0.0059,0.1464165 0,0.3045464 0.0088,0.2957613 0.146416,0.5066011 0.137632,0.2079114 0.486103,0.2137681 0.354328,0.00586 0.623734,-0.1727715 l 0.131775,-0.6647309 h -0.694014 l 0.12299,-0.7057276 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path402" />
|
||||
<path
|
||||
d="M 30.424588,9.1966686 31.162528,4.93302 h 2.860978 l -0.137631,0.7935775 h -1.856562 l -0.15813,0.8989973 H 33.43784 L 33.306065,7.389889 h -1.563728 l -0.178628,1.0161305 h 1.850704 l -0.137631,0.7906491 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path404" />
|
||||
<path
|
||||
d="M 35.89471,6.9769944 35.762935,7.7412886 H 34.049862 L 34.181637,6.9769944 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path406" />
|
||||
<path
|
||||
d="m 39.812816,4.93302 -0.09078,0.5710244 -2.102541,3.6926242 H 36.565298 L 38.659054,5.6943858 H 36.70293 L 36.82592,4.93302 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path408" />
|
||||
<path
|
||||
d="M 44.931536,6.9184278 44.656273,8.6724975 Q 44.360512,9.0151122 43.859768,9.138102 43.361952,9.2581636 42.937344,9.2523069 42.342893,9.2464502 41.985636,8.9536172 41.62838,8.6607842 41.490749,8.1922514 41.353117,7.7237186 41.420469,7.1849058 l 0.03221,-0.2342664 q 0.07614,-0.5534543 0.336758,-1.0307722 0.260622,-0.4773178 0.696943,-0.7672224 0.436321,-0.292833 1.039557,-0.2811197 1.431953,0.023427 1.522732,1.4583084 l -0.957564,-0.00293 q -0.0205,-0.2899047 -0.146417,-0.4714611 -0.12299,-0.1844848 -0.442178,-0.1961981 -0.342614,-0.014642 -0.556382,0.1932698 -0.213768,0.2079114 -0.327973,0.5153861 -0.111277,0.3045463 -0.152273,0.6149493 -0.041,0.3074746 -0.04685,0.4538911 -0.0059,0.1464165 0,0.3045464 0.0088,0.2957613 0.146417,0.5066011 0.137631,0.2079114 0.486103,0.2137681 0.354327,0.00586 0.623734,-0.1727715 l 0.131775,-0.6647309 h -0.694015 l 0.12299,-0.7057276 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path410" />
|
||||
<path
|
||||
d="m 47.054577,6.8920728 q -0.430465,-0.00586 -0.658874,0.292833 l -0.357257,2.0117628 h -0.96342 l 0.550526,-3.1684531 0.896069,-0.00293 -0.07321,0.4128946 q 0.131774,-0.2020548 0.307474,-0.3396863 0.1757,-0.1376315 0.427536,-0.1376315 0.125919,0 0.295762,0.040997 l -0.125918,0.9194956 q -0.190342,-0.029283 -0.29869,-0.029283 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path412" />
|
||||
<path
|
||||
d="m 48.960917,9.1966686 q -0.041,-0.1229898 -0.03807,-0.2899047 -0.327973,0.3572563 -0.776008,0.3484713 -0.392396,-0.00586 -0.676444,-0.2635497 -0.28112,-0.257693 -0.26355,-0.6647309 0.01464,-0.4216795 0.254765,-0.6530176 0.243051,-0.2342664 0.597379,-0.3250447 0.357257,-0.090778 0.711585,-0.090778 l 0.322116,0.00586 0.03514,-0.1786282 q 0.02636,-0.1581298 -0.0205,-0.2899047 -0.04393,-0.1347031 -0.234267,-0.1405598 -0.31626,-0.00586 -0.389468,0.3484713 l -0.966349,0.00293 q 0.01757,-0.3689696 0.240123,-0.6003077 0.225482,-0.231338 0.553455,-0.3367579 0.327973,-0.1083482 0.650089,-0.099563 0.506601,0.00878 0.846287,0.301618 0.342615,0.2899046 0.292833,0.8287174 l -0.216696,1.3558168 -0.03807,0.3162597 q -0.0205,0.1991264 0.05857,0.3689696 l -0.0029,0.055638 z M 48.410391,8.5582927 q 0.295761,0.011713 0.518314,-0.2576931 l 0.09663,-0.5124578 -0.248908,-0.00293 q -0.222553,0.00586 -0.392396,0.1317749 -0.169843,0.1229898 -0.202055,0.3601846 -0.03514,0.2723347 0.22841,0.2811197 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path414" />
|
||||
<path
|
||||
d="m 51.99174,9.2581636 q -0.415823,-0.011713 -0.670587,-0.327973 l -0.286977,1.4846634 h -0.96342 l 0.761366,-4.3866385 0.887284,-0.00293 -0.04685,0.2986897 q 0.31626,-0.3601846 0.752581,-0.3543279 0.433393,0.00586 0.658874,0.257693 0.225482,0.2489081 0.292833,0.6178777 0.07028,0.3660412 0.03514,0.7232975 -0.143488,1.0600555 -0.717441,1.4875917 -0.286976,0.2137681 -0.702799,0.2020548 z m 0.146417,-2.5271489 q -0.301618,-0.014642 -0.503673,0.248908 l -0.225481,1.259182 q 0.09663,0.2518364 0.401181,0.257693 0.301618,0.00878 0.468533,-0.292833 0.166914,-0.3045463 0.187413,-0.9663489 0.0029,-0.1932698 -0.06442,-0.345543 -0.06442,-0.1522731 -0.263549,-0.1610581 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path416" />
|
||||
<path
|
||||
d="m 55.353463,6.7310147 q -0.260622,-0.00586 -0.459748,0.1874131 l -0.40411,2.2782408 h -0.96342 l 0.781864,-4.497915 h 0.96342 l -0.327973,1.6720765 q 0.357257,-0.4099662 0.817004,-0.4041096 0.547598,0.011713 0.735011,0.3953246 0.190342,0.3836112 0.137632,0.8667857 L 56.30517,9.1966686 H 55.335893 L 55.669722,7.2200458 Q 55.696077,7.017991 55.637511,6.8774312 55.581872,6.7368713 55.353463,6.7310147 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path418" />
|
||||
<path
|
||||
d="m 57.51457,5.2287813 q -0.0059,-0.2284097 0.152273,-0.3631129 0.161058,-0.1347032 0.377754,-0.1376315 0.207912,-0.00293 0.36897,0.1229899 0.161058,0.1229898 0.163987,0.3426146 0.0059,0.2284097 -0.155202,0.3631129 -0.15813,0.1347032 -0.374826,0.1376315 -0.207912,0.00293 -0.36897,-0.1200615 -0.15813,-0.1259182 -0.163986,-0.345543 z m 0.878499,0.7994342 -0.547598,3.1684531 h -0.966349 l 0.550526,-3.1684531 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path420" />
|
||||
<path
|
||||
d="m 59.857235,8.4967977 q 0.207911,0.00586 0.325045,-0.1142048 0.120061,-0.1229899 0.149344,-0.3162597 l 0.904854,-0.00293 Q 61.210123,8.6256443 60.788444,8.9477606 60.369693,9.2669485 59.83088,9.2552352 59.139794,9.2435219 58.832319,8.7691324 58.524845,8.2918146 58.580483,7.6534387 l 0.01171,-0.093707 q 0.07614,-0.6618026 0.497816,-1.1332637 0.42168,-0.4714612 1.127407,-0.4568195 0.571025,0.011713 0.881428,0.3631129 0.313331,0.3513996 0.301618,0.9107106 l -0.904854,-0.00293 q 0.0088,-0.1903414 -0.06442,-0.3455429 -0.07028,-0.1581299 -0.292833,-0.1669148 -0.22841,-0.00878 -0.3514,0.1347031 -0.120062,0.1405599 -0.169843,0.345543 -0.04978,0.2020548 -0.06735,0.3777546 l -0.0029,0.067352 -0.02343,0.3367579 q -0.0088,0.1961981 0.05564,0.3484713 0.06735,0.1522732 0.278191,0.1581298 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path422" />
|
||||
<path
|
||||
d="M 62.975907,9.1966686 63.713847,4.93302 h 2.860978 l -0.137631,0.7935775 h -1.856562 l -0.158129,0.8989973 h 1.566656 L 65.857384,7.389889 h -1.563728 l -0.178628,1.0161305 h 1.850705 l -0.137632,0.7906491 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path424" />
|
||||
<path
|
||||
d="M 69.418233,6.0282155 68.656868,10.414854 H 67.68759 L 67.983352,8.9272623 Q 67.67002,9.2610919 67.260054,9.2552352 66.832518,9.2493786 66.609965,8.9946138 66.387412,8.7369208 66.317132,8.3679512 66.24978,7.9960533 66.287849,7.6505103 l 0.0059,-0.064423 q 0.04685,-0.3894679 0.204983,-0.7672225 0.161058,-0.3777546 0.453891,-0.6178777 0.295762,-0.2430514 0.749653,-0.231338 0.477318,0.014642 0.720369,0.4041095 l 0.149345,-0.3484713 z m -2.187462,1.9502678 q -0.0059,0.1961981 0.05857,0.3513996 0.06442,0.1552015 0.266478,0.1639865 0.295762,0.011713 0.503673,-0.2518364 L 68.290826,6.9769944 Q 68.202976,6.7310147 67.89843,6.725158 67.371331,6.7105164 67.257126,7.5860871 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path426" />
|
||||
<path
|
||||
d="M 71.26601,9.1966686 71.330433,8.854054 Q 70.976105,9.2640202 70.475361,9.2581636 69.959975,9.2493786 69.752063,8.9009073 69.544152,8.552436 69.591005,8.0780465 l 0.342615,-2.049831 h 0.963421 l -0.348472,2.0615443 q -0.04685,0.389468 0.286977,0.4041096 0.301618,0.011713 0.518314,-0.2459797 l 0.392396,-2.2196742 h 0.966349 l -0.550526,3.1684531 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path428" />
|
||||
<path
|
||||
d="m 74.460818,9.1966686 q -0.041,-0.1229898 -0.03807,-0.2899047 -0.327973,0.3572563 -0.776008,0.3484713 -0.392396,-0.00586 -0.676444,-0.2635497 -0.28112,-0.257693 -0.26355,-0.6647309 0.01464,-0.4216795 0.254765,-0.6530176 0.243051,-0.2342664 0.597379,-0.3250447 0.357256,-0.090778 0.711584,-0.090778 l 0.322117,0.00586 0.03514,-0.1786282 q 0.02635,-0.1581298 -0.0205,-0.2899047 -0.04393,-0.1347031 -0.234266,-0.1405598 -0.31626,-0.00586 -0.389468,0.3484713 l -0.966349,0.00293 q 0.01757,-0.3689696 0.240123,-0.6003077 0.225482,-0.231338 0.553455,-0.3367579 0.327973,-0.1083482 0.650089,-0.099563 0.506601,0.00878 0.846287,0.301618 0.342615,0.2899046 0.292833,0.8287174 l -0.216696,1.3558168 -0.03807,0.3162597 q -0.0205,0.1991264 0.05857,0.3689696 l -0.0029,0.055638 z M 73.910292,8.5582927 q 0.295761,0.011713 0.518314,-0.2576931 l 0.09663,-0.5124578 -0.248908,-0.00293 q -0.222553,0.00586 -0.392396,0.1317749 -0.169843,0.1229898 -0.202055,0.3601846 -0.03514,0.2723347 0.22841,0.2811197 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path430" />
|
||||
<path
|
||||
d="m 77.567774,4.6987536 -0.778936,4.497915 h -0.966349 l 0.778936,-4.497915 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path432" />
|
||||
<path
|
||||
d="m 78.056806,5.2287813 q -0.0059,-0.2284097 0.152273,-0.3631129 0.161058,-0.1347032 0.377755,-0.1376315 0.207911,-0.00293 0.368969,0.1229899 0.161059,0.1229898 0.163987,0.3426146 0.0059,0.2284097 -0.155202,0.3631129 -0.158129,0.1347032 -0.374826,0.1376315 -0.207911,0.00293 -0.368969,-0.1200615 -0.15813,-0.1259182 -0.163987,-0.345543 z m 0.878499,0.7994342 -0.547598,3.1684531 h -0.966349 l 0.550526,-3.1684531 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path434" />
|
||||
<path
|
||||
d="m 79.365771,6.7895813 0.131775,-0.7613658 h 2.530077 l -0.09956,0.576881 -1.672077,1.8243496 1.382172,0.00586 -0.131775,0.7613658 h -2.614999 l 0.102492,-0.5915227 1.663291,-1.809708 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path436" />
|
||||
<path
|
||||
d="M 84.736329,8.7047092 Q 84.537203,9.0004705 84.179947,9.1322454 83.825619,9.2610919 83.485932,9.2552352 82.827058,9.2464502 82.431734,8.8130574 82.039337,8.3796645 82.089119,7.7266469 l 0.01171,-0.1142049 q 0.06735,-0.6881575 0.50953,-1.171332 0.442178,-0.4861028 1.171332,-0.4714611 0.661802,0.011713 0.966349,0.4743894 0.307474,0.4597479 0.240123,1.0776255 L 84.932527,7.922845 H 83.05254 q 0,0.2459798 0.134703,0.4041096 0.134703,0.1552015 0.392396,0.1639865 0.421679,0.011713 0.755509,-0.3221163 z M 83.71727,6.7280864 q -0.263549,-0.00878 -0.401181,0.1756998 -0.134703,0.1844848 -0.213768,0.4041095 h 0.963421 l 0.01757,-0.084922 Q 84.115523,7.017991 84.027673,6.8745029 83.939824,6.7310147 83.71727,6.7280864 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path438" />
|
||||
<path
|
||||
d="m 87.078991,6.8920728 q -0.430465,-0.00586 -0.658874,0.292833 L 86.06286,9.1966686 h -0.96342 l 0.550526,-3.1684531 0.896069,-0.00293 -0.07321,0.4128946 q 0.131775,-0.2020548 0.307474,-0.3396863 0.1757,-0.1376315 0.427537,-0.1376315 0.125918,0 0.295761,0.040997 l -0.125918,0.9194956 q -0.190342,-0.029283 -0.29869,-0.029283 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path440" />
|
||||
</g>
|
||||
<path
|
||||
id="path1348"
|
||||
style="color:#000000;fill:#e0e0e0;fill-opacity:0.752941;-inkscape-stroke:none"
|
||||
d="M 6.6569584,2.1171834 C 4.774717,2.1318994 3.2431785,3.6744673 3.243213,5.5567668 v 2.1109822 0.0062 0.00568 0.00982 c 0.00453,0.8890342 0.2392311,1.7354052 0.7462076,2.386935 0.1277885,0.164224 0.2744584,0.313735 0.4376994,0.445967 V 7.3390869 H 4.43074 V 5.5567668 c -2.28e-5,-1.2443843 0.9901438,-2.2443973 2.2344894,-2.254126 1.249133,-0.00958 2.258501,0.9812478 2.271179,2.2303548 v 0.023771 2.3435262 c 0,0.539163 -0.163809,0.8448933 -0.445451,1.074353 -0.281642,0.2294597 -0.736455,0.3787882 -1.343587,0.3787882 h -0.464596 v 2.225771 h 1.058358 v -1.221698 c 0.540406,-0.08223 1.101059,-0.137859 1.500167,-0.4630207 0.557114,-0.4538937 0.8805656,-1.1720775 0.8805656,-1.9941935 v -2.3435262 -0.03359 -0.00155 C 10.102686,3.6324092 8.5462194,2.1027009 6.6569584,2.1171834 Z" />
|
||||
<g
|
||||
aria-label="B"
|
||||
id="text1054"
|
||||
style="font-style:italic;font-weight:900;font-size:6.35px;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke-width:0.285001;stop-color:#000000"
|
||||
transform="translate(-3.9310512,-0.1615253)">
|
||||
<path
|
||||
id="path1085"
|
||||
style="font-style:normal;-inkscape-font-specification:'Roboto, Heavy';stroke-width:0.285"
|
||||
d="M 8.865092,5.8580404 V 8.9958333 11.74073 H 9.9533976 V 8.9958333 h 0.7441404 c 0.549837,-0.00413 0.964283,-0.116789 1.243335,-0.3379638 0.281119,-0.223242 0.42168,-0.5560389 0.42168,-0.9983887 0,-0.2439125 -0.06305,-0.4506186 -0.189136,-0.6201172 -0.12609,-0.1694982 -0.306958,-0.2852537 -0.542602,-0.3472656 0.208772,-0.078548 0.366902,-0.2005048 0.474389,-0.3658692 0.107487,-0.1653644 0.161231,-0.3648358 0.161231,-0.598413 0,-0.4051429 -0.151929,-0.7141686 -0.455786,-0.9270752 C 11.508859,4.5878339 11.18123,4.4813802 10.486698,4.4813802 H 9.9533976 c -1.0883054,0 -1.0883056,1.029605 -1.0883056,1.3766602 z m 1.0883056,-0.022757 c 0,-0.3308701 0.1341694,-0.4768142 0.3334184,-0.4952 l 0.199882,-0.018444 c 0.203885,-0.018814 0.420647,0.042375 0.530201,0.127124 0.109553,0.082682 0.164331,0.2191083 0.164331,0.4092774 0,0.1653644 -0.05064,0.2904216 -0.151929,0.3751709 -0.101285,0.08475 -0.270784,0.1281579 -0.508496,0.1302246 H 9.9533976 Z m 0,1.2412875 h 0.7627444 c 0.374137,0.00207 0.561206,0.1912032 0.561206,0.5674073 0,0.1632973 -0.05271,0.2904217 -0.15813,0.381372 -0.105419,0.088883 -0.256315,0.1333252 -0.452686,0.1333252 H 9.9533976 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="256"
|
||||
height="48"
|
||||
viewBox="0 0 67.73333 12.7"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs2" />
|
||||
<g
|
||||
id="layer1">
|
||||
<g
|
||||
aria-label="TooB Phaser"
|
||||
id="text236"
|
||||
style="font-style:italic;font-weight:bold;font-size:5.99722px;font-family:Timana;-inkscape-font-specification:'Timana Bold Italic';fill:#686868;stroke:#7f7f7f;stroke-width:0.285001;stop-color:#000000">
|
||||
<path
|
||||
d="M 12.022963,5.7265975 12.163523,4.93302 h 3.461286 l -0.137632,0.7935775 h -1.24454 L 13.64233,9.1966686 h -1.004418 l 0.603236,-3.4700711 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path407" />
|
||||
<path
|
||||
d="m 14.804876,7.6622237 0.0059,-0.061495 q 0.07321,-0.6852292 0.512458,-1.1654754 0.439249,-0.4802461 1.162547,-0.4656044 0.694014,0.011713 1.021987,0.4861028 0.330901,0.4714611 0.272335,1.1215504 -0.06442,0.7232975 -0.512458,1.2094003 Q 16.819568,9.2698769 16.09627,9.2552352 15.408112,9.2435219 15.077211,8.7779174 14.74631,8.3093846 14.804876,7.6622237 Z m 0.957564,0.3543279 q 0.0059,0.1932698 0.09078,0.336758 0.08492,0.1405598 0.304546,0.1464165 0.571024,0.014642 0.658874,-0.922424 0.01171,-0.1581298 0.0059,-0.354328 Q 16.81374,7.026776 16.72883,6.8803595 16.64391,6.733943 16.424284,6.7280864 16.178304,6.7222264 16.034816,6.8862162 15.891328,7.0472743 15.81812,7.345964 15.74491,7.6417253 15.76248,8.0165516 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path409" />
|
||||
<path
|
||||
d="m 18.072893,7.6622237 0.0059,-0.061495 q 0.07321,-0.6852292 0.512458,-1.1654754 0.43925,-0.4802461 1.162547,-0.4656044 0.694015,0.011713 1.021987,0.4861028 0.330902,0.4714611 0.272335,1.1215504 Q 20.9837,8.3005996 20.535662,8.7867024 20.087584,9.2698769 19.364286,9.2552352 18.676129,9.2435219 18.345228,8.7779174 18.014326,8.3093846 18.072893,7.6622237 Z m 0.957564,0.3543279 q 0.0059,0.1932698 0.09078,0.336758 0.08492,0.1405598 0.304546,0.1464165 0.571025,0.014642 0.658875,-0.922424 0.01171,-0.1581298 0.0059,-0.354328 -0.0088,-0.1961981 -0.09371,-0.3426146 -0.08492,-0.1464165 -0.304547,-0.1522731 -0.245979,-0.00586 -0.389468,0.1581298 -0.143488,0.1610581 -0.216696,0.4597478 -0.07321,0.2957613 -0.05564,0.6705876 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path411" />
|
||||
<path
|
||||
d="m 24.644066,7.9111317 q -0.02928,0.4714612 -0.272335,0.7525808 -0.240123,0.2811197 -0.614949,0.4070379 -0.374826,0.1259182 -0.808219,0.1259182 H 21.226705 L 21.964644,4.93302 23.305819,4.93595 q 0.998561,0.00293 1.393885,0.4743895 0.207912,0.2459797 0.178628,0.6764443 -0.02343,0.3601846 -0.219624,0.5915226 -0.196198,0.2284098 -0.521243,0.363113 0.28112,0.096635 0.401181,0.3426146 0.12299,0.2459797 0.10542,0.5270994 z m -1.812636,-2.1845342 -0.172772,0.9839189 0.433393,0.00293 q 0.269406,-0.00293 0.494888,-0.1024916 0.22841,-0.099563 0.275263,-0.3982528 0.041,-0.2664781 -0.09663,-0.3689696 Q 23.62794,5.7383125 23.376104,5.7295275 Z m 0.825789,2.1728209 Q 23.695287,7.673937 23.604509,7.5363055 23.516659,7.3986739 23.282392,7.3869606 l -0.737939,-0.00293 -0.178628,1.0219872 0.597379,0.00293 q 0.251837,-0.00293 0.450963,-0.1229898 0.199127,-0.1200616 0.243052,-0.3865396 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path413" />
|
||||
<path
|
||||
d="m 28.415755,7.7530019 -0.7028,-0.00293 -0.251836,1.446595 H 26.45963 l 0.737939,-4.2636486 1.598869,0.00293 q 0.626662,0.014642 1.042485,0.3894679 0.418751,0.3748263 0.366041,1.0307722 -0.03807,0.4743895 -0.301618,0.7847925 -0.260621,0.310403 -0.655946,0.4626762 -0.392396,0.1493448 -0.831645,0.1493448 z m -0.3514,-2.0264044 -0.213768,1.2298986 0.603236,0.00586 q 0.286976,-0.00586 0.489031,-0.1552015 0.204983,-0.1522732 0.248908,-0.4451062 0.03807,-0.2430514 -0.0615,-0.4304645 -0.09663,-0.1874132 -0.366041,-0.2020548 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path415" />
|
||||
<path
|
||||
d="m 32.011744,6.7310147 q -0.260622,-0.00586 -0.459748,0.1874131 l -0.40411,2.2782408 h -0.96342 l 0.781864,-4.497915 h 0.963421 l -0.327973,1.6720765 q 0.357256,-0.4099662 0.817004,-0.4041096 0.547597,0.011713 0.735011,0.3953246 0.190341,0.3836112 0.137631,0.8667857 L 32.963451,9.1966686 H 31.994174 L 32.328003,7.2200458 Q 32.354358,7.017991 32.295792,6.8774312 32.240154,6.7368713 32.011744,6.7310147 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path417" />
|
||||
<path
|
||||
d="m 35.265118,9.1966686 q -0.041,-0.1229898 -0.03807,-0.2899047 -0.327973,0.3572563 -0.776008,0.3484713 -0.392396,-0.00586 -0.676444,-0.2635497 -0.28112,-0.257693 -0.26355,-0.6647309 0.01464,-0.4216795 0.254765,-0.6530176 0.243052,-0.2342664 0.597379,-0.3250447 0.357257,-0.090778 0.711585,-0.090778 l 0.322116,0.00586 0.03514,-0.1786282 Q 35.458388,6.9272128 35.411535,6.7954379 35.36761,6.6607348 35.177268,6.6548781 34.861009,6.6490214 34.7878,7.0033494 l -0.966349,0.00293 q 0.01757,-0.3689696 0.240123,-0.6003077 0.225482,-0.231338 0.553455,-0.3367579 0.327973,-0.1083482 0.650089,-0.099563 0.506601,0.00878 0.846288,0.301618 0.342614,0.2899046 0.292833,0.8287174 l -0.216697,1.3558168 -0.03807,0.3162597 q -0.0205,0.1991264 0.05857,0.3689696 l -0.0029,0.055638 z M 34.714592,8.5582927 q 0.295761,0.011713 0.518315,-0.2576931 l 0.09663,-0.5124578 -0.248908,-0.00293 q -0.222553,0.00586 -0.392396,0.1317749 -0.169843,0.1229898 -0.202055,0.3601846 -0.03514,0.2723347 0.22841,0.2811197 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path419" />
|
||||
<path
|
||||
d="m 38.363293,8.2888863 q 0.03807,-0.1961981 -0.28112,-0.284048 l -0.225481,-0.058567 q -0.357256,-0.093707 -0.673516,-0.310403 -0.313331,-0.2166964 -0.29869,-0.6442326 0.01171,-0.3513997 0.219625,-0.5798094 0.21084,-0.2284097 0.521243,-0.336758 0.310403,-0.1112765 0.620806,-0.1054198 0.486103,0.00586 0.866785,0.2547647 0.383612,0.248908 0.389468,0.7789358 l -0.957564,-0.00293 q 0.0029,-0.1727715 -0.07028,-0.2723347 -0.07028,-0.1024916 -0.260621,-0.1024916 -0.143488,0 -0.272335,0.084922 -0.125918,0.081993 -0.152273,0.231338 -0.03221,0.1698432 0.134703,0.2342665 0.166915,0.064423 0.286977,0.090778 0.266478,0.064423 0.515386,0.1727715 0.251836,0.1054198 0.409966,0.301618 0.161058,0.1932698 0.152273,0.5153861 -0.01464,0.3631129 -0.245979,0.585666 -0.22841,0.2196247 -0.559312,0.319188 -0.327972,0.099563 -0.635447,0.093706 -0.483175,-0.00878 -0.869714,-0.284048 -0.383611,-0.275263 -0.395325,-0.7965058 l 0.890213,0.00293 q 0.0088,0.4216795 0.424607,0.4187512 0.152274,0 0.289905,-0.07028 0.14056,-0.073208 0.1757,-0.2371939 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path421" />
|
||||
<path
|
||||
d="M 42.378032,8.7047092 Q 42.178906,9.0004705 41.821649,9.1322454 41.467321,9.2610919 41.127635,9.2552352 40.468761,9.2464502 40.073436,8.8130574 39.68104,8.3796645 39.730822,7.7266469 l 0.01171,-0.1142049 q 0.06735,-0.6881575 0.509529,-1.171332 0.442178,-0.4861028 1.171332,-0.4714611 0.661803,0.011713 0.966349,0.4743894 0.307475,0.4597479 0.240123,1.0776255 L 42.57423,7.922845 h -1.879988 q 0,0.2459798 0.134703,0.4041096 0.134704,0.1552015 0.392397,0.1639865 0.421679,0.011713 0.755509,-0.3221163 z M 41.358973,6.7280864 q -0.26355,-0.00878 -0.401181,0.1756998 -0.134703,0.1844848 -0.213768,0.4041095 h 0.96342 l 0.01757,-0.084922 Q 41.757226,7.017991 41.669376,6.8745029 41.581526,6.7310147 41.358973,6.7280864 Z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path423" />
|
||||
<path
|
||||
d="m 44.720697,6.8920728 q -0.430464,-0.00586 -0.658874,0.292833 l -0.357256,2.0117628 h -0.963421 l 0.550526,-3.1684531 0.896069,-0.00293 -0.07321,0.4128946 q 0.131775,-0.2020548 0.307475,-0.3396863 0.1757,-0.1376315 0.427536,-0.1376315 0.125918,0 0.295761,0.040997 l -0.125918,0.9194956 q -0.190341,-0.029283 -0.29869,-0.029283 z"
|
||||
style="font-weight:900;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke:none;stroke-width:0.285"
|
||||
id="path425" />
|
||||
</g>
|
||||
<path
|
||||
id="path1348"
|
||||
style="color:#000000;fill:#e0e0e0;fill-opacity:0.752941;-inkscape-stroke:none"
|
||||
d="M 6.6569584,2.1171834 C 4.774717,2.1318994 3.2431785,3.6744673 3.243213,5.5567668 v 2.1109822 0.0062 0.00568 0.00982 c 0.00453,0.8890342 0.2392311,1.7354052 0.7462076,2.386935 0.1277885,0.164224 0.2744584,0.313735 0.4376994,0.445967 V 7.3390869 H 4.43074 V 5.5567668 c -2.28e-5,-1.2443843 0.9901438,-2.2443973 2.2344894,-2.254126 1.249133,-0.00958 2.258501,0.9812478 2.271179,2.2303548 v 0.023771 2.3435262 c 0,0.539163 -0.163809,0.8448933 -0.445451,1.074353 -0.281642,0.2294597 -0.736455,0.3787882 -1.343587,0.3787882 h -0.464596 v 2.225771 h 1.058358 v -1.221698 c 0.540406,-0.08223 1.101059,-0.137859 1.500167,-0.4630207 0.557114,-0.4538937 0.8805656,-1.1720775 0.8805656,-1.9941935 v -2.3435262 -0.03359 -0.00155 C 10.102686,3.6324092 8.5462194,2.1027009 6.6569584,2.1171834 Z" />
|
||||
<g
|
||||
aria-label="B"
|
||||
id="text1054"
|
||||
style="font-style:italic;font-weight:900;font-size:6.35px;font-family:Roboto;-inkscape-font-specification:'Roboto, Heavy Italic';fill:#e0e0e0;fill-opacity:0.752941;stroke-width:0.285001;stop-color:#000000"
|
||||
transform="translate(-3.9310512,-0.1615253)">
|
||||
<path
|
||||
id="path1085"
|
||||
style="font-style:normal;-inkscape-font-specification:'Roboto, Heavy';stroke-width:0.285"
|
||||
d="M 8.865092,5.8580404 V 8.9958333 11.74073 H 9.9533976 V 8.9958333 h 0.7441404 c 0.549837,-0.00413 0.964283,-0.116789 1.243335,-0.3379638 0.281119,-0.223242 0.42168,-0.5560389 0.42168,-0.9983887 0,-0.2439125 -0.06305,-0.4506186 -0.189136,-0.6201172 -0.12609,-0.1694982 -0.306958,-0.2852537 -0.542602,-0.3472656 0.208772,-0.078548 0.366902,-0.2005048 0.474389,-0.3658692 0.107487,-0.1653644 0.161231,-0.3648358 0.161231,-0.598413 0,-0.4051429 -0.151929,-0.7141686 -0.455786,-0.9270752 C 11.508859,4.5878339 11.18123,4.4813802 10.486698,4.4813802 H 9.9533976 c -1.0883054,0 -1.0883056,1.029605 -1.0883056,1.3766602 z m 1.0883056,-0.022757 c 0,-0.3308701 0.1341694,-0.4768142 0.3334184,-0.4952 l 0.199882,-0.018444 c 0.203885,-0.018814 0.420647,0.042375 0.530201,0.127124 0.109553,0.082682 0.164331,0.2191083 0.164331,0.4092774 0,0.1653644 -0.05064,0.2904216 -0.151929,0.3751709 -0.101285,0.08475 -0.270784,0.1281579 -0.508496,0.1302246 H 9.9533976 Z m 0,1.2412875 h 0.7627444 c 0.374137,0.00207 0.561206,0.1912032 0.561206,0.5674073 0,0.1632973 -0.05271,0.2904217 -0.15813,0.381372 -0.105419,0.088883 -0.256315,0.1333252 -0.452686,0.1333252 H 9.9533976 Z" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
Binary file not shown.
@@ -324,6 +324,7 @@ void Lv2Pedalboard::PrepareMidiMap(const PedalboardItem &pedalboardItem)
|
||||
mapping.midiBinding = binding;
|
||||
mapping.instanceId = pedalboardItem.instanceId();
|
||||
|
||||
|
||||
if (pPortInfo->mod_momentaryOffByDefault() || pPortInfo->mod_momentaryOnByDefault())
|
||||
{
|
||||
mapping.mappingType = MidiControlType::MomentarySwitch;
|
||||
|
||||
@@ -67,6 +67,8 @@
|
||||
|
||||
#define PIPEDAL_UI__ledColor PIPEDAL_UI_PREFIX "ledColor"
|
||||
|
||||
#define PIPEDAL_UI__graphicEq PIPEDAL_UI_PREFIX "graphicEq"
|
||||
|
||||
|
||||
namespace pipedal {
|
||||
|
||||
|
||||
@@ -159,6 +159,7 @@ void PluginHost::LilvUris::Initialize(LilvWorld *pWorld)
|
||||
pipedalUI__yBottom = lilv_new_uri(pWorld, PIPEDAL_UI__yBottom);
|
||||
pipedalUI__xLog = lilv_new_uri(pWorld, PIPEDAL_UI__xLog);
|
||||
pipedalUI__width = lilv_new_uri(pWorld, PIPEDAL_UI__width);
|
||||
pipedalUI__graphicEq = lilv_new_uri(pWorld,PIPEDAL_UI__graphicEq);
|
||||
|
||||
ui__portNotification = lilv_new_uri(pWorld, LV2_UI__portNotification);
|
||||
ui__plugin = lilv_new_uri(pWorld, LV2_UI__plugin);
|
||||
@@ -1005,8 +1006,12 @@ Lv2PortInfo::Lv2PortInfo(PluginHost *host, const LilvPlugin *plugin, const LilvP
|
||||
this->integer_property_ = lilv_port_has_property(plugin, pPort, host->lilvUris->integer_property_uri);
|
||||
this->mod_momentaryOffByDefault_ = lilv_port_has_property(plugin, pPort, host->lilvUris->mod__preferMomentaryOffByDefault);
|
||||
this->mod_momentaryOnByDefault_ = lilv_port_has_property(plugin, pPort, host->lilvUris->mod__preferMomentaryOnByDefault);
|
||||
this->pipedal_graphicEq_ = lilv_port_has_property(plugin, pPort, host->lilvUris->pipedalUI__graphicEq);
|
||||
|
||||
|
||||
this->enumeration_property_ = lilv_port_has_property(plugin, pPort, host->lilvUris->enumeration_property_uri);
|
||||
|
||||
|
||||
this->toggled_property_ = lilv_port_has_property(plugin, pPort, host->lilvUris->core__toggled);
|
||||
this->not_on_gui_ = lilv_port_has_property(plugin, pPort, host->lilvUris->portprops__not_on_gui_property_uri);
|
||||
this->connection_optional_ = lilv_port_has_property(plugin, pPort, host->lilvUris->core__connectionOptional);
|
||||
@@ -1729,6 +1734,7 @@ json_map::storage_type<Lv2PortInfo> Lv2PortInfo::jmap{
|
||||
MAP_REF(Lv2PortInfo, toggled_property),
|
||||
MAP_REF(Lv2PortInfo, mod_momentaryOffByDefault),
|
||||
MAP_REF(Lv2PortInfo, mod_momentaryOnByDefault),
|
||||
MAP_REF(Lv2PortInfo, pipedal_graphicEq),
|
||||
MAP_REF(Lv2PortInfo, not_on_gui),
|
||||
MAP_REF(Lv2PortInfo, buffer_type),
|
||||
MAP_REF(Lv2PortInfo, port_group),
|
||||
@@ -1796,6 +1802,7 @@ json_map::storage_type<Lv2PluginUiPort> Lv2PluginUiPort::jmap{{
|
||||
|
||||
MAP_REF(Lv2PluginUiPort, mod_momentaryOffByDefault),
|
||||
MAP_REF(Lv2PluginUiPort, mod_momentaryOnByDefault),
|
||||
MAP_REF(Lv2PluginUiPort, pipedal_graphicEq),
|
||||
MAP_REF(Lv2PluginUiPort, enumeration_property),
|
||||
MAP_REF(Lv2PluginUiPort, not_on_gui),
|
||||
MAP_REF(Lv2PluginUiPort, toggled_property),
|
||||
|
||||
@@ -221,6 +221,7 @@ namespace pipedal
|
||||
|
||||
bool mod_momentaryOffByDefault_ = false;
|
||||
bool mod_momentaryOnByDefault_ = false;
|
||||
bool pipedal_graphicEq_ = false;
|
||||
|
||||
bool not_on_gui_ = false;
|
||||
std::string buffer_type_;
|
||||
@@ -294,6 +295,7 @@ namespace pipedal
|
||||
LV2_PROPERTY_GETSET_SCALAR(integer_property);
|
||||
LV2_PROPERTY_GETSET_SCALAR(mod_momentaryOffByDefault);
|
||||
LV2_PROPERTY_GETSET_SCALAR(mod_momentaryOnByDefault);
|
||||
LV2_PROPERTY_GETSET_SCALAR(pipedal_graphicEq);
|
||||
LV2_PROPERTY_GETSET_SCALAR(enumeration_property);
|
||||
LV2_PROPERTY_GETSET_SCALAR(toggled_property);
|
||||
LV2_PROPERTY_GETSET_SCALAR(not_on_gui);
|
||||
@@ -513,6 +515,7 @@ namespace pipedal
|
||||
integer_property_(pPort->integer_property()),
|
||||
mod_momentaryOffByDefault_(pPort->mod_momentaryOffByDefault()),
|
||||
mod_momentaryOnByDefault_(pPort->mod_momentaryOnByDefault()),
|
||||
pipedal_graphicEq_(pPort->pipedal_graphicEq()),
|
||||
|
||||
enumeration_property_(pPort->enumeration_property()),
|
||||
toggled_property_(pPort->toggled_property()), not_on_gui_(pPort->not_on_gui()), scale_points_(pPort->scale_points()),
|
||||
@@ -558,6 +561,8 @@ namespace pipedal
|
||||
|
||||
bool mod_momentaryOffByDefault_ = false;
|
||||
bool mod_momentaryOnByDefault_ = false;
|
||||
bool pipedal_graphicEq_ = false;
|
||||
|
||||
bool enumeration_property_ = false;
|
||||
bool not_on_gui_ = false;
|
||||
bool toggled_property_ = false;
|
||||
@@ -728,6 +733,7 @@ namespace pipedal
|
||||
AutoLilvNode pipedalUI__yTop;
|
||||
AutoLilvNode pipedalUI__yBottom;
|
||||
AutoLilvNode pipedalUI__width;
|
||||
AutoLilvNode pipedalUI__graphicEq;
|
||||
|
||||
|
||||
AutoLilvNode pipedalUI__outputPorts;
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (c) 2025 Robin E. R. Davies
|
||||
* All rights reserved.
|
||||
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to deal
|
||||
* in the Software without restriction, including without limitation the rights
|
||||
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
* copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
* SOFTWARE.
|
||||
*/
|
||||
|
||||
import SvgPathBuilder from "./SvgPathBuilder";
|
||||
|
||||
export interface GraphicEqCtlProps {
|
||||
position: number;
|
||||
imgRef: React.Ref<SVGSVGElement> | undefined;
|
||||
onTouchStart: React.TouchEventHandler<SVGSVGElement> | undefined;
|
||||
onTouchMove: React.TouchEventHandler<SVGSVGElement> | undefined;
|
||||
onPointerDown: React.PointerEventHandler<SVGSVGElement> | undefined;
|
||||
onPointerUp: React.PointerEventHandler<SVGSVGElement> | undefined;
|
||||
onPointerMoveCapture: React.PointerEventHandler<SVGSVGElement> | undefined;
|
||||
onDrag: React.DragEventHandler<SVGSVGElement> | undefined;
|
||||
dialColor: string;
|
||||
opacity: number;
|
||||
};
|
||||
|
||||
const STROKE_HEIGHT=8.0;
|
||||
|
||||
function MakeGraphicEqPath(value: number)
|
||||
{
|
||||
|
||||
let x0 = 6;
|
||||
let xN = 64-x0;
|
||||
let xC0 = (64-STROKE_HEIGHT)/2;
|
||||
let xC1 = xC0+STROKE_HEIGHT;
|
||||
|
||||
let h = 64-STROKE_HEIGHT*2.5;
|
||||
|
||||
let y0 = 0;
|
||||
let y1 = h-h*value;;
|
||||
let y2 = y1 + STROKE_HEIGHT;
|
||||
let y3 = y2 + STROKE_HEIGHT/2;
|
||||
let y4 = y3 + STROKE_HEIGHT;
|
||||
let y5 = 64;
|
||||
|
||||
|
||||
let s = new SvgPathBuilder();
|
||||
s.moveTo(x0,y1)
|
||||
.lineTo(xC0,y1)
|
||||
.lineTo(xC0,y0)
|
||||
.lineTo(xC1,y0)
|
||||
.lineTo(xC1,y1)
|
||||
.lineTo(xN,y1)
|
||||
.lineTo(xN,y2)
|
||||
.lineTo(x0,y2)
|
||||
.closePath()
|
||||
|
||||
.moveTo(x0,y3)
|
||||
.lineTo(x0,y4)
|
||||
.lineTo(xC0,y4)
|
||||
.lineTo(xC0,y5)
|
||||
.lineTo(xC1,y5)
|
||||
.lineTo(xC1,y4)
|
||||
.lineTo(xN,y4)
|
||||
.lineTo(xN,y3)
|
||||
.lineTo(x0,y3)
|
||||
.closePath();
|
||||
return s.toString();
|
||||
|
||||
}
|
||||
export function UpdateGraphicEqPath(el: SVGSVGElement, value: number) {
|
||||
if (!el) return;
|
||||
let p = MakeGraphicEqPath(value);
|
||||
let pathEl = el.getElementById("myPath");
|
||||
pathEl?.setAttribute("d",p);
|
||||
}
|
||||
|
||||
export default function GraphicEqCtl(props: GraphicEqCtlProps) {
|
||||
return (
|
||||
<svg width="64px" height="64px"
|
||||
ref={props.imgRef}
|
||||
viewBox="0 0 64 64"
|
||||
style={{
|
||||
overscrollBehavior: "none",
|
||||
touchAction: "none",
|
||||
width: 36, height: 42, opacity: props.opacity
|
||||
}}
|
||||
onTouchStart={props.onTouchStart}
|
||||
onTouchMove={props.onTouchMove}
|
||||
onPointerDown={props.onPointerDown}
|
||||
onPointerUp={props.onPointerUp}
|
||||
onPointerMoveCapture={props.onPointerMoveCapture}
|
||||
onDrag={props.onDrag}
|
||||
fill={props.dialColor}
|
||||
>
|
||||
<path id="myPath" d={MakeGraphicEqPath(props.position)} />
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
@@ -453,6 +453,7 @@ export enum ControlType {
|
||||
Trigger,
|
||||
Momentary,
|
||||
MomentaryOnByDefault,
|
||||
GraphicEq,
|
||||
|
||||
Tuner,
|
||||
Vu,
|
||||
@@ -497,6 +498,7 @@ deserialize(input: any): UiControl {
|
||||
this.integer_property = input.integer_property;
|
||||
this.mod_momentaryOffByDefault = input.mod_momentaryOffByDefault;
|
||||
this.mod_momentaryOnByDefault = input.mod_momentaryOnByDefault;
|
||||
this.pipedal_graphicEq = input.pipedal_graphicEq;
|
||||
this.enumeration_property = input.enumeration_property;
|
||||
this.toggled_property = input.toggled_property;
|
||||
this.trigger_property = input.trigger_property;
|
||||
@@ -548,7 +550,11 @@ deserialize(input: any): UiControl {
|
||||
}
|
||||
if (this.is_input)
|
||||
{
|
||||
if (this.mod_momentaryOnByDefault) {
|
||||
if (this.pipedal_graphicEq)
|
||||
{
|
||||
this.controlType = ControlType.GraphicEq;
|
||||
}
|
||||
else if (this.mod_momentaryOnByDefault) {
|
||||
this.controlType = ControlType.MomentaryOnByDefault;
|
||||
} else if (this.mod_momentaryOffByDefault) {
|
||||
this.controlType = ControlType.Momentary;
|
||||
@@ -604,6 +610,7 @@ deserialize(input: any): UiControl {
|
||||
integer_property: boolean = false;
|
||||
mod_momentaryOffByDefault: boolean = false;
|
||||
mod_momentaryOnByDefault: boolean = false;
|
||||
pipedal_graphicEq: boolean = false;
|
||||
enumeration_property: boolean = false;
|
||||
trigger_property: boolean = false;
|
||||
not_on_gui: boolean = false;
|
||||
@@ -647,6 +654,9 @@ deserialize(input: any): UiControl {
|
||||
isAbToggle(): boolean {
|
||||
return this.controlType === ControlType.ABSwitch;
|
||||
}
|
||||
isGraphicEq() : boolean {
|
||||
return this.controlType === ControlType.GraphicEq;
|
||||
}
|
||||
isSelect(): boolean {
|
||||
return this.controlType === ControlType.Select;
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import ControlTooltip from './ControlTooltip';
|
||||
import PlayArrowIcon from '@mui/icons-material/PlayArrow';
|
||||
import StopIcon from '@mui/icons-material/Stop';
|
||||
import FiberManualRecordIcon from '@mui/icons-material/FiberManualRecord';
|
||||
import GraphicEqCtl, { UpdateGraphicEqPath } from './GraphicEqCtl';
|
||||
|
||||
const MIN_ANGLE = -135;
|
||||
const MAX_ANGLE = 135;
|
||||
@@ -59,6 +60,21 @@ const ULTRA_FINE_RANGE_SCALE = RANGE_SCALE * 50; // 12000 pixels to move from 0
|
||||
export const StandardItemSize = { width: 80, height: 140 }
|
||||
|
||||
|
||||
function preventNextClickAfterDrag() {
|
||||
// the broswer fires a click event when the pointer goes up
|
||||
// on ANY element under the mouse. Prevent this click event
|
||||
// (and any other click event) from happening for 100ms
|
||||
// after the drag stops.
|
||||
let clickHandler = (e: MouseEvent) => {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
};
|
||||
document.addEventListener('click',clickHandler,true);
|
||||
window.setTimeout(() => {
|
||||
document.removeEventListener('click',clickHandler,true);
|
||||
},100);
|
||||
}
|
||||
|
||||
function androidEmoji(text: string) {
|
||||
// android chrome doesn't support these characters properly.
|
||||
if (text === "⏹") {
|
||||
@@ -67,9 +83,8 @@ function androidEmoji(text: string) {
|
||||
if (text === "⏺") {
|
||||
return (<FiberManualRecordIcon fontSize={"medium"} />)
|
||||
}
|
||||
if (text === "⏵")
|
||||
{
|
||||
return (<PlayArrowIcon fontSize={"medium"}/>);
|
||||
if (text === "⏵") {
|
||||
return (<PlayArrowIcon fontSize={"medium"} />);
|
||||
}
|
||||
return text;
|
||||
}
|
||||
@@ -129,6 +144,7 @@ export interface PluginControlProps extends WithStyles<typeof pluginControlStyle
|
||||
}
|
||||
type PluginControlState = {
|
||||
error: boolean;
|
||||
editFocused: boolean;
|
||||
};
|
||||
|
||||
const PluginControl =
|
||||
@@ -137,6 +153,7 @@ const PluginControl =
|
||||
|
||||
frameRef: React.RefObject<HTMLDivElement | null>;
|
||||
imgRef: React.RefObject<SVGSVGElement | null>;
|
||||
graphicEqControlRef: React.RefObject<SVGSVGElement | null>;
|
||||
inputRef: React.RefObject<HTMLInputElement | null>;
|
||||
selectRef: React.RefObject<HTMLSelectElement | null>;
|
||||
|
||||
@@ -148,10 +165,12 @@ const PluginControl =
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
error: false
|
||||
error: false,
|
||||
editFocused: false
|
||||
};
|
||||
this.model = PiPedalModelFactory.getInstance();
|
||||
this.imgRef = React.createRef();
|
||||
this.graphicEqControlRef = React.createRef();
|
||||
this.inputRef = React.createRef();
|
||||
this.selectRef = React.createRef();
|
||||
this.displayValueRef = React.createRef();
|
||||
@@ -195,16 +214,19 @@ const PluginControl =
|
||||
inputChanged: boolean = false;
|
||||
|
||||
onInputLostFocus(event: any): void {
|
||||
this.setState({editFocused: false});
|
||||
if (this.inputChanged) // validation requried?
|
||||
{
|
||||
this.inputChanged = false;
|
||||
this.validateInput(event, true);
|
||||
|
||||
}
|
||||
this.displayValueRef.current!.style.display = "block";
|
||||
|
||||
//this.displayValueRef.current!.style.display = "block";
|
||||
}
|
||||
onInputFocus(event: SyntheticEvent): void {
|
||||
this.displayValueRef.current!.style.display = "none";
|
||||
//this.displayValueRef.current!.style.display = "none";
|
||||
this.setState({editFocused: true});
|
||||
if (Utility.hasIMEKeyboard()) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
@@ -273,6 +295,7 @@ const PluginControl =
|
||||
|
||||
onDrag(e: SyntheticEvent) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
}
|
||||
|
||||
isValidPointer(e: PointerEvent<SVGSVGElement>): boolean {
|
||||
@@ -333,9 +356,19 @@ const PluginControl =
|
||||
if (!this.mouseDown && this.isValidPointer(e)) {
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
if (document.activeElement)
|
||||
{
|
||||
let e = document.activeElement as any;
|
||||
if (e.blur)
|
||||
{
|
||||
e.blur();
|
||||
}
|
||||
}
|
||||
|
||||
if (this.isTouchDevice()) {
|
||||
if (this.props.uiControl?.isDial() ?? false) {
|
||||
if (this.props.uiControl
|
||||
&& (this.props.uiControl.isDial() || this.props.uiControl.isGraphicEq())
|
||||
) {
|
||||
this.isTap = false;
|
||||
this.showZoomedControl();
|
||||
return;
|
||||
@@ -390,7 +423,9 @@ const PluginControl =
|
||||
|
||||
onPointerLostCapture(e: PointerEvent<SVGSVGElement>) {
|
||||
if (this.isCapturedPointer(e)) {
|
||||
--this.pointersDown;
|
||||
if (this.pointersDown !== 0) {
|
||||
--this.pointersDown;
|
||||
}
|
||||
this.isTap = false;
|
||||
|
||||
|
||||
@@ -438,7 +473,7 @@ const PluginControl =
|
||||
onPointerDoubleTap() {
|
||||
let uiControl = this.props.uiControl;
|
||||
if (uiControl) {
|
||||
if (uiControl.isDial()) {
|
||||
if (uiControl.isDial() || uiControl.isGraphicEq()) {
|
||||
this.resetToDefaultValue(uiControl);
|
||||
}
|
||||
}
|
||||
@@ -457,10 +492,14 @@ const PluginControl =
|
||||
onPointerUp(e: PointerEvent<SVGSVGElement>) {
|
||||
|
||||
if (this.isCapturedPointer(e)) {
|
||||
--this.pointersDown;
|
||||
|
||||
if (this.pointersDown !== 0)
|
||||
{
|
||||
--this.pointersDown;
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
e.stopPropagation();
|
||||
|
||||
let dRange = this.updateRange(e)
|
||||
this.previewRange(dRange, true);
|
||||
|
||||
@@ -471,9 +510,15 @@ const PluginControl =
|
||||
this.onPointerTap();
|
||||
}
|
||||
}
|
||||
// prevent click from firing on other elements
|
||||
// when the pointer goes up0.
|
||||
preventNextClickAfterDrag();
|
||||
|
||||
} else {
|
||||
--this.pointersDown;
|
||||
if (this.pointersDown !== 0)
|
||||
{
|
||||
--this.pointersDown;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -518,7 +563,7 @@ const PluginControl =
|
||||
this.isTap = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
handleButtonMouseLeave(buttonStyle: ButtonStyle) {
|
||||
}
|
||||
@@ -527,10 +572,10 @@ const PluginControl =
|
||||
if (uiControl) {
|
||||
switch (buttonStyle) {
|
||||
case ButtonStyle.Momentary:
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol,uiControl.max_value);
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol, uiControl.max_value);
|
||||
break;
|
||||
case ButtonStyle.MomentaryOnByDefault:
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol,uiControl.min_value);
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol, uiControl.min_value);
|
||||
break;
|
||||
case ButtonStyle.Trigger:
|
||||
{
|
||||
@@ -539,7 +584,7 @@ const PluginControl =
|
||||
value = uiControl.min_value;
|
||||
}
|
||||
this.model.sendPedalboardControlTrigger(this.props.instanceId, uiControl.symbol, value);
|
||||
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -550,10 +595,10 @@ const PluginControl =
|
||||
if (uiControl) {
|
||||
switch (buttonStyle) {
|
||||
case ButtonStyle.Momentary:
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol,uiControl.min_value);
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol, uiControl.min_value);
|
||||
break;
|
||||
case ButtonStyle.MomentaryOnByDefault:
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol,uiControl.max_value);
|
||||
this.model.setPedalboardControl(this.props.instanceId, uiControl.symbol, uiControl.max_value);
|
||||
break;
|
||||
case ButtonStyle.Trigger:
|
||||
{
|
||||
@@ -567,14 +612,22 @@ const PluginControl =
|
||||
let range = this.valueToRange(value);
|
||||
value = this.rangeToValue(range);
|
||||
|
||||
let transform = this.rangeToRotationTransform(range);
|
||||
if (this.mouseDown && !commitValue) {
|
||||
transform += " scale(1.5, 1.5)";
|
||||
}
|
||||
let imgElement = this.imgRef.current
|
||||
if (imgElement) {
|
||||
if (imgElement.style) {
|
||||
imgElement.style.transform = transform;
|
||||
if (this.props.uiControl?.isGraphicEq()) {
|
||||
let imgElement = this.imgRef.current
|
||||
if (imgElement) {
|
||||
UpdateGraphicEqPath(imgElement, range);
|
||||
}
|
||||
} else {
|
||||
|
||||
let transform = this.rangeToRotationTransform(range);
|
||||
if (this.mouseDown && !commitValue) {
|
||||
transform += " scale(1.5, 1.5)";
|
||||
}
|
||||
if (imgElement.style) {
|
||||
imgElement.style.transform = transform;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (commitValue) {
|
||||
@@ -594,10 +647,18 @@ const PluginControl =
|
||||
// apply value quantization and clipping.
|
||||
range = this.valueToRange(value);
|
||||
|
||||
let imgElement = this.imgRef.current
|
||||
if (imgElement) {
|
||||
if (imgElement.style) {
|
||||
imgElement.style.transform = this.rangeToRotationTransform(range);
|
||||
if (this.props.uiControl?.isGraphicEq()) {
|
||||
let imgElement = this.imgRef.current
|
||||
if (imgElement) {
|
||||
UpdateGraphicEqPath(imgElement, range);
|
||||
}
|
||||
|
||||
} else {
|
||||
let imgElement = this.imgRef.current
|
||||
if (imgElement) {
|
||||
if (imgElement.style) {
|
||||
imgElement.style.transform = this.rangeToRotationTransform(range);
|
||||
}
|
||||
}
|
||||
}
|
||||
let inputElement = this.inputRef.current;
|
||||
@@ -779,6 +840,16 @@ const PluginControl =
|
||||
return "rotate(" + angle + "deg)";
|
||||
}
|
||||
|
||||
getEqPosition(): number {
|
||||
let range = 0;
|
||||
let uiControl = this.props.uiControl;
|
||||
if (uiControl) {
|
||||
let value = this.props.value;
|
||||
range = this.valueToRange(value);
|
||||
}
|
||||
return range;
|
||||
|
||||
}
|
||||
getRotationTransform(): string {
|
||||
let range = 0;
|
||||
let uiControl = this.props.uiControl;
|
||||
@@ -812,6 +883,8 @@ const PluginControl =
|
||||
|
||||
let isButton = false;
|
||||
let buttonStyle: ButtonStyle = ButtonStyle.None;
|
||||
let isGraphicEq = control.isGraphicEq();
|
||||
|
||||
if (control.isTrigger()) {
|
||||
isButton = true;
|
||||
buttonStyle = ButtonStyle.Trigger;
|
||||
@@ -833,6 +906,9 @@ const PluginControl =
|
||||
if (isButton) {
|
||||
item_width = undefined;
|
||||
}
|
||||
if (isGraphicEq) {
|
||||
item_width = 58;
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
@@ -862,27 +938,29 @@ const PluginControl =
|
||||
(
|
||||
control.name.length !== 1 ? (
|
||||
<Button variant="contained" color="primary" size="small"
|
||||
onMouseDown={
|
||||
(evt) => { this.handleButtonMouseDown(buttonStyle); }
|
||||
}
|
||||
onMouseUp={
|
||||
(evt) => { this.handleButtonMouseUp(buttonStyle); }
|
||||
}
|
||||
onTouchStart={
|
||||
(evt) => { evt.preventDefault();
|
||||
this.handleButtonMouseDown(buttonStyle); }
|
||||
}
|
||||
onTouchEnd={
|
||||
(evt) => {
|
||||
evt.preventDefault();
|
||||
this.handleButtonMouseUp(buttonStyle);
|
||||
onMouseDown={
|
||||
(evt) => { this.handleButtonMouseDown(buttonStyle); }
|
||||
}
|
||||
}
|
||||
onMouseLeave={(
|
||||
(evet) => { this.handleButtonMouseLeave(buttonStyle); }
|
||||
)}
|
||||
onMouseUp={
|
||||
(evt) => { this.handleButtonMouseUp(buttonStyle); }
|
||||
}
|
||||
onTouchStart={
|
||||
(evt) => {
|
||||
evt.preventDefault();
|
||||
this.handleButtonMouseDown(buttonStyle);
|
||||
}
|
||||
}
|
||||
onTouchEnd={
|
||||
(evt) => {
|
||||
evt.preventDefault();
|
||||
this.handleButtonMouseUp(buttonStyle);
|
||||
}
|
||||
}
|
||||
onMouseLeave={(
|
||||
(evet) => { this.handleButtonMouseLeave(buttonStyle); }
|
||||
)}
|
||||
|
||||
style={{
|
||||
style={{
|
||||
textTransform: "none",
|
||||
background: (isDarkMode() ? "#6750A4" : undefined),
|
||||
marginLeft: 8, marginRight: 8, minWidth: 60,
|
||||
@@ -903,12 +981,14 @@ const PluginControl =
|
||||
(evt) => { this.handleButtonMouseUp(buttonStyle); }
|
||||
}
|
||||
onTouchStart={
|
||||
(evt) => { evt.preventDefault();
|
||||
this.handleButtonMouseDown(buttonStyle); }
|
||||
(evt) => {
|
||||
evt.preventDefault();
|
||||
this.handleButtonMouseDown(buttonStyle);
|
||||
}
|
||||
}
|
||||
onTouchEnd={
|
||||
(evt) => {
|
||||
evt.preventDefault();
|
||||
evt.preventDefault();
|
||||
this.handleButtonMouseUp(buttonStyle);
|
||||
}
|
||||
}
|
||||
@@ -935,22 +1015,41 @@ const PluginControl =
|
||||
)
|
||||
)
|
||||
|
||||
: ((isSelect || isAbSwitch || isOnOffSwitch) ? (
|
||||
: (isSelect || isAbSwitch || isOnOffSwitch) ? (
|
||||
this.makeSelect(control, value)
|
||||
) : (
|
||||
<div style={{ flex: "0 1 auto" }}>
|
||||
<DialIcon ref={this.imgRef}
|
||||
style={{
|
||||
overscrollBehavior: "none", touchAction: "none", fill: dialColor,
|
||||
width: 36, height: 36, opacity: DEFAULT_OPACITY, transform: this.getRotationTransform()
|
||||
}}
|
||||
onTouchStart={this.onTouchStart} onTouchMove={this.onTouchMove}
|
||||
onPointerDown={this.onPointerDown} onPointerUp={this.onPointerUp} onPointerMoveCapture={this.onPointerMove} onDrag={this.onDrag}
|
||||
)
|
||||
: (isGraphicEq) ? (
|
||||
<div style={{ flex: "0 1 auto" }}>
|
||||
<GraphicEqCtl
|
||||
imgRef={this.imgRef}
|
||||
position={this.getEqPosition()}
|
||||
dialColor={dialColor}
|
||||
opacity={DEFAULT_OPACITY}
|
||||
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
)
|
||||
onTouchStart={this.onTouchStart}
|
||||
onTouchMove={this.onTouchMove}
|
||||
onPointerDown={this.onPointerDown} onPointerUp={this.onPointerUp}
|
||||
onPointerMoveCapture={this.onPointerMove}
|
||||
onDrag={this.onDrag}
|
||||
|
||||
|
||||
/>
|
||||
</div>
|
||||
) : (
|
||||
<div style={{ flex: "0 1 auto" }}>
|
||||
<DialIcon ref={this.imgRef}
|
||||
style={{
|
||||
overscrollBehavior: "none", touchAction: "none", fill: dialColor,
|
||||
width: 36, height: 36, opacity: DEFAULT_OPACITY, transform: this.getRotationTransform()
|
||||
}}
|
||||
onTouchStart={this.onTouchStart} onTouchMove={this.onTouchMove}
|
||||
onPointerDown={this.onPointerDown} onPointerUp={this.onPointerUp}
|
||||
onPointerMoveCapture={this.onPointerMove}
|
||||
onDrag={this.onDrag}
|
||||
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
|
||||
@@ -969,6 +1068,8 @@ const PluginControl =
|
||||
defaultValue={control.formatShortValue(value)}
|
||||
error={this.state.error}
|
||||
inputProps={{
|
||||
min: this.props.uiControl?.min_value,
|
||||
max: this.props.uiControl?.max_value,
|
||||
'aria-label':
|
||||
control.symbol + " value",
|
||||
style: { textAlign: "center", fontSize: FONT_SIZE },
|
||||
@@ -978,7 +1079,10 @@ const PluginControl =
|
||||
onFocus={this.onInputFocus}
|
||||
|
||||
onKeyPress={this.onInputKeyPress} />
|
||||
<div className={classes.displayValue} ref={this.displayValueRef} onClick={(e) => { this.inputRef.current!.focus(); }} >
|
||||
<div className={classes.displayValue}
|
||||
ref={this.displayValueRef} onClick={(e) => { this.inputRef.current!.focus(); }}
|
||||
style={{display: this.state.editFocused? "none": "block"}}
|
||||
>
|
||||
<Typography noWrap color="inherit" style={{ fontSize: "12.8px", paddingTop: 4, paddingBottom: 6 }}
|
||||
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user