Browse Source

Add carla files, needs work

tags/v0.9.0
falkTX 13 years ago
parent
commit
29c89e09f8
22 changed files with 8035 additions and 5 deletions
  1. +43
    -1
      Makefile
  2. +3154
    -0
      src/carla.py
  3. +1126
    -0
      src/carla_backend.py
  4. BIN
      src/icons/16x16/dialog-error.png
  5. BIN
      src/icons/16x16/dialog-ok-apply.png
  6. BIN
      src/icons/48x48/carla.png
  7. BIN
      src/icons/bitmaps/carla_about.png
  8. BIN
      src/icons/bitmaps/carla_about.xcf
  9. +5
    -0
      src/icons/icons.qrc
  10. +853
    -0
      src/icons/scalable/carla.svg
  11. +4
    -4
      src/ladspa_rdf.py
  12. +355
    -0
      src/paramspinbox.py
  13. +3
    -0
      src/shared.py
  14. +210
    -0
      src/ui/carla.ui
  15. +357
    -0
      src/ui/carla_about.ui
  16. +160
    -0
      src/ui/carla_control.ui
  17. +348
    -0
      src/ui/carla_database.ui
  18. +497
    -0
      src/ui/carla_edit.ui
  19. +77
    -0
      src/ui/carla_parameter.ui
  20. +384
    -0
      src/ui/carla_plugin.ui
  21. +373
    -0
      src/ui/carla_refresh.ui
  22. +86
    -0
      src/ui/inputdialog_value.ui

+ 43
- 1
Makefile View File

@@ -11,7 +11,7 @@ all: build


build: UI RES LANG build: UI RES LANG


UI: catarina catia claudia tools
UI: catarina catia claudia carla tools


catarina: src/ui_catarina.py \ catarina: src/ui_catarina.py \
src/ui_catarina_addgroup.py src/ui_catarina_removegroup.py src/ui_catarina_renamegroup.py \ src/ui_catarina_addgroup.py src/ui_catarina_removegroup.py src/ui_catarina_renamegroup.py \
@@ -26,6 +26,21 @@ claudia: src/ui_claudia.py \
src/ui_claudia_runcustom.py src/ui_claudia_runcustom.py
# src/ui_claudia_addnew.py src/ui_claudia_addnew_klaudia.py # src/ui_claudia_addnew.py src/ui_claudia_addnew_klaudia.py


carla: carla_backend carla_bridges carla_discovery carla_gui

carla_backend:
# $(MAKE) -C src/carla

carla_bridges:
# $(MAKE) native$(_arch_n) -C src/carla-bridges

carla_discovery:
# $(MAKE) native$(_arch_n) -C src/carla-discovery

carla_gui: src/ui_carla.py src/ui_carla_control.py \
src/ui_carla_about.py src/ui_carla_database.py src/ui_carla_edit.py src/ui_carla_parameter.py src/ui_carla_plugin.py src/ui_carla_refresh.py \
src/ui_inputdialog_value.py

tools: \ tools: \
src/ui_logs.py src/ui_render.py src/ui_xycontroller.py \ src/ui_logs.py src/ui_render.py src/ui_xycontroller.py \
src/ui_settings_app.py src/ui_settings_jack.py src/ui_settings_app.py src/ui_settings_jack.py
@@ -81,6 +96,30 @@ src/ui_claudia_projectproperties.py: src/ui/claudia_projectproperties.ui
src/ui_claudia_runcustom.py: src/ui/claudia_runcustom.ui src/ui_claudia_runcustom.py: src/ui/claudia_runcustom.ui
$(PYUIC) -o src/ui_claudia_runcustom.py $< $(PYUIC) -o src/ui_claudia_runcustom.py $<


src/ui_carla.py: src/ui/carla.ui
$(PYUIC) -o src/ui_carla.py $<

src/ui_carla_control.py: src/ui/carla_control.ui
$(PYUIC) -o src/ui_carla_control.py $<

src/ui_carla_about.py: src/ui/carla_about.ui
$(PYUIC) -o src/ui_carla_about.py $<

src/ui_carla_database.py: src/ui/carla_database.ui
$(PYUIC) -o src/ui_carla_database.py $<

src/ui_carla_edit.py: src/ui/carla_edit.ui
$(PYUIC) -o src/ui_carla_edit.py $<

src/ui_carla_parameter.py: src/ui/carla_parameter.ui
$(PYUIC) -o src/ui_carla_parameter.py $<

src/ui_carla_plugin.py: src/ui/carla_plugin.ui
$(PYUIC) -o src/ui_carla_plugin.py $<

src/ui_carla_refresh.py: src/ui/carla_refresh.ui
$(PYUIC) -o src/ui_carla_refresh.py $<

src/ui_logs.py: src/ui/logs.ui src/ui_logs.py: src/ui/logs.ui
$(PYUIC) -o src/ui_logs.py $< $(PYUIC) -o src/ui_logs.py $<


@@ -96,6 +135,9 @@ src/ui_settings_app.py: src/ui/settings_app.ui
src/ui_settings_jack.py: src/ui/settings_jack.ui src/ui_settings_jack.py: src/ui/settings_jack.ui
$(PYUIC) -o src/ui_settings_jack.py $< $(PYUIC) -o src/ui_settings_jack.py $<


src/ui_inputdialog_value.py: src/ui/inputdialog_value.ui
$(PYUIC) -o src/ui_inputdialog_value.py $<

RES: src/icons_rc.py RES: src/icons_rc.py


src/icons_rc.py: src/icons/icons.qrc src/icons_rc.py: src/icons/icons.qrc


+ 3154
- 0
src/carla.py
File diff suppressed because it is too large
View File


+ 1126
- 0
src/carla_backend.py
File diff suppressed because it is too large
View File


BIN
src/icons/16x16/dialog-error.png View File

Before After
Width: 16  |  Height: 16  |  Size: 663B

BIN
src/icons/16x16/dialog-ok-apply.png View File

Before After
Width: 16  |  Height: 16  |  Size: 605B

BIN
src/icons/48x48/carla.png View File

Before After
Width: 48  |  Height: 48  |  Size: 3.2KB

BIN
src/icons/bitmaps/carla_about.png View File

Before After
Width: 266  |  Height: 78  |  Size: 13KB

BIN
src/icons/bitmaps/carla_about.xcf View File


+ 5
- 0
src/icons/icons.qrc View File

@@ -2,6 +2,8 @@
<qresource prefix="/"> <qresource prefix="/">
<file>16x16/application-exit.png</file> <file>16x16/application-exit.png</file>
<file>16x16/configure.png</file> <file>16x16/configure.png</file>
<file>16x16/dialog-error.png</file>
<file>16x16/dialog-ok-apply.png</file>
<file>16x16/document-new.png</file> <file>16x16/document-new.png</file>
<file>16x16/document-open.png</file> <file>16x16/document-open.png</file>
<file>16x16/document-print.png</file> <file>16x16/document-print.png</file>
@@ -33,6 +35,7 @@
<file>48x48/catarina.png</file> <file>48x48/catarina.png</file>
<file>48x48/catia.png</file> <file>48x48/catia.png</file>
<file>48x48/claudia.png</file> <file>48x48/claudia.png</file>
<file>48x48/carla.png</file>
<file>48x48/canvas.png</file> <file>48x48/canvas.png</file>
<file>48x48/exec.png</file> <file>48x48/exec.png</file>
<file>48x48/jack.png</file> <file>48x48/jack.png</file>
@@ -42,6 +45,7 @@
<file>scalable/catarina.svg</file> <file>scalable/catarina.svg</file>
<file>scalable/catia.svg</file> <file>scalable/catia.svg</file>
<file>scalable/claudia.svg</file> <file>scalable/claudia.svg</file>
<file>scalable/carla.svg</file>
<file>scalable/jack.svg</file> <file>scalable/jack.svg</file>
<file>scalable/pb_generic.svg</file> <file>scalable/pb_generic.svg</file>
<file>scalable/pb_hardware.svg</file> <file>scalable/pb_hardware.svg</file>
@@ -66,5 +70,6 @@
<file>bitmaps/led_yellow.png</file> <file>bitmaps/led_yellow.png</file>
<file>bitmaps/led-big_on.png</file> <file>bitmaps/led-big_on.png</file>
<file>bitmaps/led-big_off.png</file> <file>bitmaps/led-big_off.png</file>
<file>bitmaps/carla_about.png</file>
</qresource> </qresource>
</RCC> </RCC>

+ 853
- 0
src/icons/scalable/carla.svg View File

@@ -0,0 +1,853 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="256"
height="256"
id="svg7563"
version="1.1"
inkscape:version="0.48.2 r9819"
sodipodi:docname="carla.svg">
<defs
id="defs7565">
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-7-3-7-8"
id="linearGradient4914"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-7-3-7-8">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-6-0-6-8" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-4-9-31-9" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-7-03-6"
id="linearGradient4912"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-7-03-6">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-6-04-0" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-4-4-4" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-9-3"
id="linearGradient4910"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-9-3">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-8-3" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-48-3" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-29-7"
id="radialGradient4906"
gradientUnits="userSpaceOnUse"
cx="-2.1428571"
cy="203.07646"
fx="-2.1428571"
fy="203.07646"
r="22.184671" />
<linearGradient
id="linearGradient6174-29-7">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-3-5" />
<stop
id="stop8118-9-3"
offset="0.06451613"
style="stop-color:#636363;stop-opacity:1;" />
<stop
id="stop8116-0-8"
offset="0.28928199"
style="stop-color:#797979;stop-opacity:1;" />
<stop
id="stop8114-8-8"
offset="0.58732504"
style="stop-color:#a6a6a6;stop-opacity:1;" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-850-3" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6182-63-8"
id="linearGradient4908"
gradientUnits="userSpaceOnUse"
x1="-19.337217"
y1="186.92368"
x2="10.874059"
y2="218.95074" />
<linearGradient
id="linearGradient6182-63-8">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6184-856-9" />
<stop
style="stop-color:#3b3b3b;stop-opacity:1;"
offset="1"
id="stop6186-11-6" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6164-63-1"
id="linearGradient4904"
gradientUnits="userSpaceOnUse"
x1="-26.607141"
y1="171.6479"
x2="43.750004"
y2="251.6479" />
<linearGradient
id="linearGradient6164-63-1">
<stop
style="stop-color:#919191;stop-opacity:1;"
offset="0"
id="stop6166-94-8" />
<stop
style="stop-color:#f0f0f0;stop-opacity:1;"
offset="1"
id="stop6168-8-5" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6187-8-7"
id="linearGradient5018"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-318.57139,-494.85713)"
x1="375.71429"
y1="946.64789"
x2="331.42856"
y2="839.50507" />
<linearGradient
id="linearGradient6187-8-7">
<stop
style="stop-color:#1a1a1a;stop-opacity:1;"
offset="0"
id="stop6189-7-89" />
<stop
style="stop-color:#202020;stop-opacity:1;"
offset="1"
id="stop6191-2-1" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-7-3-0"
id="linearGradient4900"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-7-3-0">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-6-0-3" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-4-9-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-7-9"
id="linearGradient4898"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-7-9">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-6-8" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-4-48" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-3-8-6"
id="linearGradient4896"
gradientUnits="userSpaceOnUse"
x1="10.874059"
y1="218.95074"
x2="-19.337217"
y2="186.92368" />
<linearGradient
id="linearGradient6174-3-8-6">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-1-8-1" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-8-8-1" />
</linearGradient>
<radialGradient
inkscape:collect="always"
xlink:href="#linearGradient6174-9"
id="radialGradient4892"
gradientUnits="userSpaceOnUse"
cx="-2.1428571"
cy="203.07646"
fx="-2.1428571"
fy="203.07646"
r="22.184671" />
<linearGradient
id="linearGradient6174-9">
<stop
style="stop-color:#4d4d4d;stop-opacity:1;"
offset="0"
id="stop6176-0" />
<stop
id="stop8118-8"
offset="0.06451613"
style="stop-color:#636363;stop-opacity:1;" />
<stop
id="stop8116-8"
offset="0.28928199"
style="stop-color:#797979;stop-opacity:1;" />
<stop
id="stop8114-5"
offset="0.58732504"
style="stop-color:#a6a6a6;stop-opacity:1;" />
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop6178-0" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6182-6"
id="linearGradient4894"
gradientUnits="userSpaceOnUse"
x1="-19.337217"
y1="186.92368"
x2="10.874059"
y2="218.95074" />
<linearGradient
id="linearGradient6182-6">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop6184-3" />
<stop
style="stop-color:#3b3b3b;stop-opacity:1;"
offset="1"
id="stop6186-8" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6164-1"
id="linearGradient5147"
gradientUnits="userSpaceOnUse"
x1="-26.607141"
y1="171.6479"
x2="43.750004"
y2="251.6479" />
<linearGradient
id="linearGradient6164-1">
<stop
style="stop-color:#919191;stop-opacity:1;"
offset="0"
id="stop6166-2" />
<stop
style="stop-color:#f0f0f0;stop-opacity:1;"
offset="1"
id="stop6168-9" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient6187-8-2"
id="linearGradient5041"
gradientUnits="userSpaceOnUse"
gradientTransform="translate(-318.57139,-494.85713)"
x1="375.71429"
y1="946.64789"
x2="331.42856"
y2="839.50507" />
<linearGradient
id="linearGradient6187-8-2">
<stop
style="stop-color:#1a1a1a;stop-opacity:1;"
offset="0"
id="stop6189-7-8" />
<stop
style="stop-color:#202020;stop-opacity:1;"
offset="1"
id="stop6191-2-3" />
</linearGradient>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter6576-0"
x="-0.10272374"
width="1.2054476"
y="-0.10272374"
height="1.2054476">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="6.8910506"
id="feGaussianBlur6578-6" />
</filter>
<filter
color-interpolation-filters="sRGB"
inkscape:collect="always"
id="filter8786-1-1">
<feGaussianBlur
inkscape:collect="always"
stdDeviation="8.96"
id="feGaussianBlur8788-3-4" />
</filter>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient4657-7-2"
id="linearGradient4884"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.83385449,0,0,0.83385449,-12.083733,130.8065)"
x1="241.21584"
y1="795.42145"
x2="-21.002575"
y2="516.61938" />
<linearGradient
id="linearGradient4657-7-2">
<stop
style="stop-color:#000000;stop-opacity:1"
offset="0"
id="stop4659-6-0" />
<stop
id="stop4661-39-6"
offset="0.29307336"
style="stop-color:#500000;stop-opacity:1" />
<stop
id="stop4663-1-8"
offset="0.80562556"
style="stop-color:#a00000;stop-opacity:1" />
<stop
style="stop-color:#d40000;stop-opacity:1"
offset="1"
id="stop4665-0-9" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3902-1-6"
id="linearGradient4886"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.83385449,0,0,0.83385449,-12.083733,130.8065)"
x1="320.00772"
y1="662.08124"
x2="-128.07874"
y2="629.75647" />
<linearGradient
id="linearGradient3902-1-6">
<stop
style="stop-color:#783c00;stop-opacity:1"
offset="0"
id="stop3904-18-6" />
<stop
id="stop3936-6-4"
offset="0.07563529"
style="stop-color:#d4a41c;stop-opacity:1" />
<stop
id="stop3934-4-9"
offset="0.14044002"
style="stop-color:#743800;stop-opacity:1" />
<stop
id="stop3932-3-5"
offset="0.20430526"
style="stop-color:#fcf87c;stop-opacity:1" />
<stop
id="stop3930-4-0"
offset="0.26901498"
style="stop-color:#a86c00;stop-opacity:1" />
<stop
id="stop3928-7-4"
offset="0.3417097"
style="stop-color:#9c6000;stop-opacity:1" />
<stop
id="stop3926-7-8"
offset="0.41261438"
style="stop-color:#fcfc80;stop-opacity:1" />
<stop
id="stop3924-0-7"
offset="0.48499879"
style="stop-color:#8c5000;stop-opacity:1" />
<stop
id="stop3922-7-1"
offset="0.54586536"
style="stop-color:#fcfc80;stop-opacity:1" />
<stop
id="stop3920-45-7"
offset="0.62692177"
style="stop-color:#d09c14;stop-opacity:1" />
<stop
id="stop3918-3-2"
offset="0.68774176"
style="stop-color:#804400;stop-opacity:1" />
<stop
id="stop3916-0-7"
offset="0.75042593"
style="stop-color:#d0a014;stop-opacity:0.9372549;" />
<stop
id="stop3914-7-2"
offset="0.81777459"
style="stop-color:#743800;stop-opacity:1" />
<stop
id="stop3912-2-2"
offset="0.87812954"
style="stop-color:#d0a014;stop-opacity:0.74901961;" />
<stop
id="stop3910-9-6"
offset="0.94099933"
style="stop-color:#743800;stop-opacity:1" />
<stop
style="stop-color:#fcfc80;stop-opacity:1"
offset="1"
id="stop3906-9-1" />
</linearGradient>
<linearGradient
y2="516.61938"
x2="-21.002575"
y1="795.42145"
x1="241.21584"
gradientTransform="matrix(0.83385449,0,0,0.83385449,-12.083733,130.8065)"
gradientUnits="userSpaceOnUse"
id="linearGradient7559"
xlink:href="#linearGradient4657-7-2"
inkscape:collect="always" />
<linearGradient
y2="629.75647"
x2="-128.07874"
y1="662.08124"
x1="320.00772"
gradientTransform="matrix(0.83385449,0,0,0.83385449,-12.083733,130.8065)"
gradientUnits="userSpaceOnUse"
id="linearGradient7561"
xlink:href="#linearGradient3902-1-6"
inkscape:collect="always" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="56.017745"
inkscape:cy="139.84931"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1177"
inkscape:window-height="615"
inkscape:window-x="183"
inkscape:window-y="0"
inkscape:window-maximized="0" />
<metadata
id="metadata7568">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-263.42857,-301.50504)">
<g
transform="translate(326.01884,-229.79599)"
style="display:inline"
id="g8790-3-0"
inkscape:export-filename="/home/pj/Documents/svg/path10192-9.png"
inkscape:export-xdpi="89.989967"
inkscape:export-ydpi="89.989967">
<rect
transform="matrix(0.83385449,0,0,0.83385449,-10.399092,130.80653)"
ry="32"
rx="32"
y="505.79703"
x="-37.086269"
height="256"
width="256"
id="rect3756-4-1-0-0-5"
style="opacity:0.93280634;fill:#1a1a1a;fill-opacity:1;stroke:#1a1a1a;stroke-width:8;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;filter:url(#filter8786-1-1)" />
<rect
ry="26.683344"
rx="26.683344"
y="552.56763"
x="-41.323643"
height="213.46675"
width="213.46675"
id="rect3756-4-1-2-9"
style="fill:url(#linearGradient7559);fill-opacity:1;stroke:url(#linearGradient7561);stroke-width:6.67083597;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
</g>
<rect
style="opacity:0.89723319;color:#000000;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter6576-0);enable-background:accumulate"
id="rect6570-4"
width="161"
height="161"
x="308.26733"
y="345.81552"
inkscape:export-filename="/home/pj/Documents/svg/path10192-9.png"
inkscape:export-xdpi="89.989967"
inkscape:export-ydpi="89.989967" />
<rect
style="color:#000000;fill:url(#linearGradient5041);fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:3.71435571;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3534-2"
width="160.31299"
height="79.151245"
x="308.61084"
y="346.66428" />
<path
sodipodi:type="arc"
style="opacity:0.5;fill:#ff0000;stroke:url(#linearGradient5147);stroke-width:4.71404982;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6162-2"
sodipodi:cx="-4.2857141"
sodipodi:cy="198.79076"
sodipodi:rx="35.714287"
sodipodi:ry="35"
d="m 31.428573,198.79076 c 0,19.32996 -15.989831,35 -35.7142871,35 -19.7244559,0 -35.7142869,-15.67004 -35.7142869,-35 0,-19.32997 15.989831,-35 35.7142869,-35 19.7244561,0 35.7142871,15.67003 35.7142871,35 z"
transform="matrix(0.47724548,0,0,0.48698502,335.16334,289.43179)" />
<path
sodipodi:type="arc"
style="fill:url(#radialGradient4892);fill-opacity:1;stroke:url(#linearGradient4894);stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6172-4"
sodipodi:cx="-2.1428571"
sodipodi:cy="203.07646"
sodipodi:rx="20.714285"
sodipodi:ry="20.714285"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
transform="matrix(0.63497502,0,0,0.64793348,334.47874,254.65988)" />
<rect
style="opacity:0.66000001;color:#000000;fill:#4b4b4b;fill-opacity:1;fill-rule:nonzero;stroke:#949494;stroke-width:0.63269919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3534-6-7"
width="51.698875"
height="62.038593"
x="357.92554"
y="354.54916" />
<text
xml:space="preserve"
style="font-size:16.68160248px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
x="362.2439"
y="383.95786"
id="text4618-7"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4620-5"
x="362.2439"
y="383.95786">Carla</tspan></text>
<path
sodipodi:type="arc"
style="fill:url(#linearGradient4896);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6172-3-9-4"
sodipodi:cx="-2.1428571"
sodipodi:cy="203.07646"
sodipodi:rx="20.714285"
sodipodi:ry="20.714285"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
transform="matrix(0.34133826,0,0,0.34830423,368.00834,328.43419)" />
<rect
style="opacity:0.66000001;fill:#4b4b4b;fill-opacity:1;stroke:#949494;stroke-width:0.63269919;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="rect3534-6-4-8"
width="46.528988"
height="61.944588"
x="414.79419"
y="354.64645" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-1"
width="41.3591"
height="26.326447"
x="417.37915"
y="357.74368" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-4-2"
width="41.3591"
height="26.326456"
x="417.37915"
y="387.16739" />
<rect
style="fill:#00ff00;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-89"
width="21.972023"
height="12.388914"
x="417.37915"
y="357.74368" />
<rect
style="fill:#00ff00;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-8-3"
width="27.141911"
height="12.388914"
x="417.37915"
y="371.68124" />
<rect
style="fill:#00ffd2;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-86-6"
width="14.217191"
height="12.388914"
x="417.37915"
y="387.16739" />
<rect
style="fill:#00ffd2;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-8-8-8"
width="37.481686"
height="12.388914"
x="417.37915"
y="401.10489" />
<g
style="display:inline"
id="g8185-0"
transform="translate(263.42854,-494.85714)">
<path
transform="matrix(0.34133826,0,0,0.34830423,121.07781,823.29132)"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
sodipodi:ry="20.714285"
sodipodi:rx="20.714285"
sodipodi:cy="203.07646"
sodipodi:cx="-2.1428571"
id="path6172-3-9-3-21"
style="fill:url(#linearGradient4898);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path8165-0"
d="m 120.34637,888.07647 0,4.64285"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
style="display:inline"
id="g8273-5"
transform="translate(263.42854,-494.85714)">
<path
transform="matrix(0.34133826,0,0,0.34830423,137.57584,823.29132)"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
sodipodi:ry="20.714285"
sodipodi:rx="20.714285"
sodipodi:cy="203.07646"
sodipodi:cx="-2.1428571"
id="path6172-3-9-3-2-1"
style="fill:url(#linearGradient4900);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path8165-9-10"
d="m 142.2413,891.52509 -4.21321,1.95061"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 362.05344,396.32314 4.0778,2.21981"
id="path8165-9-4-85"
inkscape:connector-curvature="0" />
<rect
style="color:#000000;fill:url(#linearGradient5018);fill-opacity:1;fill-rule:evenodd;stroke:#4d4d4d;stroke-width:3.71435571;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3534-5-6"
width="160.31299"
height="79.151245"
x="308.61084"
y="426.81552" />
<path
sodipodi:type="arc"
style="opacity:0.50000006;fill:#ff0000;stroke:url(#linearGradient4904);stroke-width:4.71404982;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6162-9-4"
sodipodi:cx="-4.2857141"
sodipodi:cy="198.79076"
sodipodi:rx="35.714287"
sodipodi:ry="35"
d="m 31.428573,198.79076 c 0,19.32996 -15.989831,35 -35.7142871,35 -19.7244559,0 -35.7142869,-15.67004 -35.7142869,-35 0,-19.32997 15.989831,-35 35.7142869,-35 19.7244561,0 35.7142871,15.67003 35.7142871,35 z"
transform="matrix(0.47724548,0,0,0.48698502,335.16334,369.58303)" />
<path
sodipodi:type="arc"
style="fill:url(#radialGradient4906);fill-opacity:1;stroke:url(#linearGradient4908);stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6172-6-6"
sodipodi:cx="-2.1428571"
sodipodi:cy="203.07646"
sodipodi:rx="20.714285"
sodipodi:ry="20.714285"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
transform="matrix(0.63497502,0,0,0.64793348,334.47874,334.81112)" />
<rect
style="opacity:0.66000001;color:#000000;fill:#4b4b4b;fill-opacity:1;fill-rule:nonzero;stroke:#949494;stroke-width:0.63269919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3534-6-2-2"
width="51.698875"
height="62.038593"
x="357.92554"
y="434.70041" />
<text
xml:space="preserve"
style="font-size:16.68160248px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;display:inline;font-family:Sans"
x="362.2439"
y="464.1091"
id="text4618-1-5"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4620-7-8"
x="362.2439"
y="464.1091">Carla</tspan></text>
<path
sodipodi:type="arc"
style="fill:url(#linearGradient4910);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
id="path6172-3-9-8-6"
sodipodi:cx="-2.1428571"
sodipodi:cy="203.07646"
sodipodi:rx="20.714285"
sodipodi:ry="20.714285"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
transform="matrix(0.34133826,0,0,0.34830423,368.00834,408.58542)" />
<rect
style="opacity:0.66000001;color:#000000;fill:#4b4b4b;fill-opacity:1;fill-rule:nonzero;stroke:#949494;stroke-width:0.63269919;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
id="rect3534-6-4-5-2"
width="46.528988"
height="61.944588"
x="414.79419"
y="434.7977" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-7-8"
width="41.3591"
height="26.326447"
x="417.37915"
y="437.89493" />
<rect
style="fill:#000000;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-4-4-4"
width="41.3591"
height="26.326456"
x="417.37915"
y="467.31863" />
<rect
style="fill:#00ff00;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-1-7"
width="21.972023"
height="12.388914"
x="417.37915"
y="437.89493" />
<rect
style="fill:#00ff00;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-8-85-2"
width="27.141911"
height="12.388914"
x="417.37915"
y="451.83249" />
<rect
style="fill:#00ffd2;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-86-9-4"
width="14.217191"
height="12.388914"
x="417.37915"
y="467.31863" />
<rect
style="fill:#00ffd2;fill-opacity:1;stroke:none;display:inline"
id="rect3534-6-4-4-9-8-8-7-0"
width="37.481686"
height="12.388914"
x="417.37915"
y="481.25613" />
<g
style="display:inline"
id="g8185-5-6"
transform="translate(263.42854,-414.7059)">
<path
transform="matrix(0.34133826,0,0,0.34830423,121.07781,823.29132)"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
sodipodi:ry="20.714285"
sodipodi:rx="20.714285"
sodipodi:cy="203.07646"
sodipodi:cx="-2.1428571"
id="path6172-3-9-3-3-2"
style="fill:url(#linearGradient4912);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path8165-8-9"
d="m 120.34637,888.07647 0,4.64285"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<g
style="display:inline"
id="g8273-8-9"
transform="translate(263.42854,-414.7059)">
<path
transform="matrix(0.34133826,0,0,0.34830423,137.57584,823.29132)"
d="m 18.571428,203.07646 c 0,11.44019 -9.2741014,20.71429 -20.7142851,20.71429 -11.4401839,0 -20.7142849,-9.2741 -20.7142849,-20.71429 0,-11.44018 9.274101,-20.71428 20.7142849,-20.71428 11.4401837,0 20.7142851,9.2741 20.7142851,20.71428 z"
sodipodi:ry="20.714285"
sodipodi:rx="20.714285"
sodipodi:cy="203.07646"
sodipodi:cx="-2.1428571"
id="path6172-3-9-3-2-3-0"
style="fill:url(#linearGradient4914);fill-opacity:1;stroke:#2a2a2a;stroke-width:2.94077349;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
sodipodi:type="arc" />
<path
inkscape:connector-curvature="0"
id="path8165-9-1-8"
d="m 142.2413,891.52509 -4.21321,1.95061"
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
</g>
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
d="m 362.05344,476.47437 4.0778,2.21981"
id="path8165-9-4-8-1"
inkscape:connector-curvature="0" />
</g>
</svg>

+ 4
- 4
src/ladspa_rdf.py View File

@@ -679,7 +679,7 @@ def parse_rdf_file(filename):
import os import os


# Main function - check all rdfs for information about ladspa plugins # Main function - check all rdfs for information about ladspa plugins
def recheck_all_plugins(qobject=None):
def recheck_all_plugins(qobject, start_value, percent_value, m_value):
global LADSPA_RDF_PATH, LADSPA_Plugins global LADSPA_RDF_PATH, LADSPA_Plugins


LADSPA_Plugins = [] LADSPA_Plugins = []
@@ -698,8 +698,8 @@ def recheck_all_plugins(qobject=None):


# Tell GUI we're parsing this bundle # Tell GUI we're parsing this bundle
if (qobject): if (qobject):
percent = (qobject.percent_value * 0.80) + ( (float(i) / len(rdf_files) ) * qobject.percent_value * 0.20 )
qobject.pluginLook(percent, rdf_file)
percent = (float(i) / len(rdf_files) ) * percent_value
qobject.pluginLook(start_value + (percent * m_value), rdf_file)


# Parse RDF # Parse RDF
parse_rdf_file(rdf_file) parse_rdf_file(rdf_file)
@@ -781,7 +781,7 @@ def get_c_ladspa_rdfs(PyPluginList):


#if __name__ == '__main__': #if __name__ == '__main__':
#set_rdf_path(["/home/falktx/Personal/FOSS/GIT/Cadence/lrdf/"]) #set_rdf_path(["/home/falktx/Personal/FOSS/GIT/Cadence/lrdf/"])
#plugins = recheck_all_plugins()
#plugins = recheck_all_plugins(None, 0)
#for plugin in LADSPA_Plugins: #for plugin in LADSPA_Plugins:
#print("----------------------") #print("----------------------")
#print("Type: 0x%X" % (plugin["Type"])) #print("Type: 0x%X" % (plugin["Type"]))


+ 355
- 0
src/paramspinbox.py View File

@@ -0,0 +1,355 @@
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# Imports (Global)
from PyQt4.QtCore import Qt, QTimer, SIGNAL
from PyQt4.QtGui import QAbstractSpinBox, QComboBox, QCursor, QDialog, QInputDialog, QMenu, QPainter, QProgressBar, QValidator
from PyQt4.QtGui import QStyleFactory
from math import isnan

# Imports (Custom)
import ui_inputdialog_value

def fix_value(value, minimum, maximum):
if (isnan(value)):
print("Parameter is NaN! - %f" % (value))
return minimum
elif (value < minimum):
print("Parameter too low! - %f/%f" % (value, minimum))
return minimum
elif (value > maximum):
print("Parameter too high! - %f/%f" % (value, maximum))
return maximum
else:
return value

QPlastiqueStyle = QStyleFactory.create("Plastique")

# Custom InputDialog with Scale Points support
class CustomInputDialog(QDialog, ui_inputdialog_value.Ui_Dialog):
def __init__(self, parent=None, label="", current=0, minimum=0, maximum=0, step=0, scalepoints=None):
super(CustomInputDialog, self).__init__(parent)
self.setupUi(self)

self.label.setText(label)
self.doubleSpinBox.setMinimum(minimum)
self.doubleSpinBox.setMaximum(maximum)
self.doubleSpinBox.setValue(current)
self.doubleSpinBox.setSingleStep(step)

self.ret_value = current

if (scalepoints == None):
self.groupBox.setVisible(False)
self.resize(200, 0)
else:
text = "<table>"
for scalepoint in scalepoints:
text += "<tr><td align='right'>%s</td><td align='left'> - %s</td></tr>" % (str(scalepoint['value']), scalepoint['label'])
text += "</table>"
self.textBrowser.setText(text)
self.resize(200, 300)

self.connect(self, SIGNAL("accepted()"), self.setReturnValue)

def setReturnValue(self):
self.ret_value = self.doubleSpinBox.value()

# Progress-Bar used for ParamSpinBox
class ParamProgressBar(QProgressBar):
def __init__(self, parent=None):
super(ParamProgressBar, self).__init__(parent)

self._minimum = 0.0
self._maximum = 1.0
self._step_small = 0.0
self._rvalue = 0.0

self._label = ""
self._pre_label = " "
self._left_click_down = False

self.setMinimum(0)
self.setMaximum(1000)
self.setValue(0)
self.setFormat("(none)")

def set_minimum(self, value):
self._minimum = value

def set_maximum(self, value):
self._maximum = value

def set_value(self, value):
self._rvalue = value
vper = (value-self._minimum)/(self._maximum-self._minimum)
self.setValue(vper*1000)

def set_label(self, label):
self._label = label.strip()

if (self._label == "(coef)"):
self._label = ""
self._pre_label = "*"

self.update()

def handleMouseEventPos(self, pos):
xper = float(pos.x())/self.width()
value = xper*(self._maximum-self._minimum)+self._minimum

if (value < self._minimum):
value = self._minimum
elif (value > self._maximum):
value = self._maximum

self.emit(SIGNAL("valueChangedFromBar(float)"), value)

def mousePressEvent(self, event):
if (event.button() == Qt.LeftButton):
self.handleMouseEventPos(event.pos())
self._left_click_down = True
else:
self._left_click_down = False
return QProgressBar.mousePressEvent(self, event)

def mouseMoveEvent(self, event):
if (self._left_click_down):
self.handleMouseEventPos(event.pos())
return QProgressBar.mouseMoveEvent(self, event)

def mouseReleaseEvent(self, event):
self._left_click_down = False
return QProgressBar.mouseReleaseEvent(self, event)

def paintEvent(self, event):
self.setFormat(QString("%1 %2 %3").arg(self._pre_label).arg(self._rvalue).arg(self._label))
return QProgressBar.paintEvent(self, event)

# Special SpinBox used for parameters
class ParamSpinBox(QAbstractSpinBox):
def __init__(self, parent=None):
super(ParamSpinBox, self).__init__(parent)

self._minimum = 0.0
self._maximum = 1.0
self._default = 0.0
self._value = None
self._step = 0.0
self._step_small = 0.0
self._step_large = 0.0

self._read_only = False
self._scalepoints = None
self._have_scalepoints = False

self.bar = ParamProgressBar(self)
self.bar.setContextMenuPolicy(Qt.NoContextMenu)
self.bar.show()

self.lineEdit().setVisible(False)

self.connect(self.bar, SIGNAL("valueChangedFromBar(float)"), self.handleValueChangedFromBar)
self.connect(self, SIGNAL("customContextMenuRequested(QPoint)"), self.showCustomMenu)

QTimer.singleShot(0, self.updateBarGeometry)

def force_plastique_style(self):
self.setStyle(QPlastiqueStyle)

def set_minimum(self, value):
self._minimum = value
self.bar.set_minimum(value)

def set_maximum(self, value):
self._maximum = value
self.bar.set_maximum(value)

def set_default(self, value):
value = fix_value(value, self._minimum, self._maximum)
self._default = value

def set_value(self, value, send=True):
value = fix_value(value, self._minimum, self._maximum)
if (self._value != value):
self._value = value
self.bar.set_value(value)

if (self._have_scalepoints):
self.set_scalepoint_value(value)

if (send):
self.emit(SIGNAL("valueChanged(float)"), value)

self.update()

return True

else:
return False

def set_step(self, value):
if (value == 0.0):
self._step = 0.01
else:
self._step = value

def set_step_small(self, value):
if (value == 0.0):
self._step_small = 0.001
else:
self._step_small = value

def set_step_large(self, value):
if (value == 0.0):
self._step_large = 0.1
else:
self._step_large = value

def set_label(self, label):
self.bar.set_label(label)

def set_read_only(self, yesno):
self.setButtonSymbols(QAbstractSpinBox.UpDownArrows if (yesno) else QAbstractSpinBox.NoButtons)
self._read_only = yesno
self.setReadOnly(yesno)

def set_scalepoints(self, scalepoints, use_scalepoints):
if (len(scalepoints) > 0):
self._scalepoints = scalepoints
self._have_scalepoints = use_scalepoints

if (use_scalepoints):
# Hide ProgressBar and create a ComboBox
self.bar.close()
self.box = QComboBox(self)
self.box.setContextMenuPolicy(Qt.NoContextMenu)
self.box.show()
self.updateBarGeometry()

for scalepoint in scalepoints:
self.box.addItem(QString("%1 - %2").arg(scalepoint['value']).arg(scalepoint['label']))

self.set_scalepoint_value(self._value)

self.connect(self.box, SIGNAL("currentIndexChanged(QString)"), self.handleValueChangedFromBox)

else:
self._scalepoints = None

def set_scalepoint_value(self, value):
value = self.get_nearest_scalepoint(value)
for i in range(self.box.count()):
if (self.box.itemText(i).split(" - ")[0].toFloat()[0] == value):
self.box.setCurrentIndex(i)
break

def get_nearest_scalepoint(self, real_value):
final_value = 0.0
for i in range(len(self._scalepoints)):
scale_value = self._scalepoints[i]['value']
if (i == 0):
final_value = scale_value
else:
srange1 = abs(real_value-scale_value)
srange2 = abs(real_value-final_value)

if (srange2 > srange1):
final_value = scale_value

return final_value

def handleValueChangedFromBar(self, value):
if (self._read_only): return

step = int(0.5+((value-self._minimum)/self._step))
real_value = self._minimum+(step*self._step)

self.set_value(real_value)

def handleValueChangedFromBox(self, box_text):
if (self._read_only): return

value = box_text.split(" - ")[0].toFloat()[0]
last_scale_value = self._scalepoints[len(self._scalepoints)-1]['value']

if (value == last_scale_value):
value = self._maximum

self.set_value(value)

def showCustomMenu(self, pos):
menu = QMenu(self)
act_x_reset = menu.addAction(self.tr("Reset (%1)").arg(self._default))
menu.addSeparator()
act_x_copy = menu.addAction(self.tr("Copy (%1)").arg(self._value))
if (False and not self._read_only):
act_x_paste = menu.addAction(self.tr("Paste (%1)").arg("TODO"))
else:
act_x_paste = menu.addAction(self.tr("Paste"))
act_x_paste.setEnabled(False)
menu.addSeparator()
act_x_set = menu.addAction(self.tr("Set value..."))

if (self._read_only):
act_x_reset.setEnabled(False)
act_x_paste.setEnabled(False)
act_x_set.setEnabled(False)

# TODO - NOT IMPLEMENTED YET
act_x_copy.setEnabled(False)

act_x_sel = menu.exec_(QCursor.pos())

if (act_x_sel == act_x_set):
dialog = CustomInputDialog(self, self.parent().label.text(), self._value, self._minimum, self._maximum, self._step, self._scalepoints)
if (dialog.exec_()):
value = dialog.ret_value
self.set_value(value)

elif (act_x_sel == act_x_copy):
pass

elif (act_x_sel == act_x_paste):
pass

elif (act_x_sel == act_x_reset):
self.set_value(self._default)

def stepBy(self, steps):
if (steps == 0):
return

value = self._value+(steps*self._step)

if (value < self._minimum):
value = self._minimum
elif (value > self._maximum):
value = self._maximum

self.set_value(value)

def stepEnabled(self):
if (self._read_only):
return QAbstractSpinBox.StepNone
elif (self._value <= self._minimum):
return QAbstractSpinBox.StepUpEnabled
elif (self._value >= self._maximum):
return QAbstractSpinBox.StepDownEnabled
else:
return QAbstractSpinBox.StepUpEnabled|QAbstractSpinBox.StepDownEnabled

def updateAll(self):
self.update()
self.bar.update()
if (self._have_scalepoints):
self.box.update()

def updateBarGeometry(self):
self.bar.setGeometry(self.lineEdit().geometry())
if (self._have_scalepoints):
self.box.setGeometry(self.lineEdit().geometry())

def resizeEvent(self, event):
QTimer.singleShot(0, self.updateBarGeometry)
return QAbstractSpinBox.resizeEvent(self, event)

+ 3
- 0
src/shared.py View File

@@ -213,6 +213,9 @@ def CustomMessageBox(self, icon, title, text, extraText="", buttons=QMessageBox.


# signal handler for unix systems # signal handler for unix systems
def set_up_signals(_gui): def set_up_signals(_gui):
if (WINDOWS):
return

global x_gui global x_gui
x_gui = _gui x_gui = _gui
signal(SIGINT, signal_handler) signal(SIGINT, signal_handler)


+ 210
- 0
src/ui/carla.ui View File

@@ -0,0 +1,210 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CarlaMainW</class>
<widget class="QMainWindow" name="CarlaMainW">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>710</width>
<height>109</height>
</rect>
</property>
<property name="windowTitle">
<string>Carla</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="w_plugins" native="true">
<layout class="QVBoxLayout" name="layout">
<property name="spacing">
<number>1</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>710</width>
<height>20</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
<property name="title">
<string>&amp;File</string>
</property>
<addaction name="act_file_new"/>
<addaction name="act_file_open"/>
<addaction name="act_file_save"/>
<addaction name="act_file_save_as"/>
<addaction name="separator"/>
<addaction name="act_file_quit"/>
</widget>
<widget class="QMenu" name="menu_Plugin">
<property name="title">
<string>&amp;Plugin</string>
</property>
<addaction name="act_plugin_add"/>
<addaction name="separator"/>
<addaction name="act_plugin_remove_all"/>
</widget>
<widget class="QMenu" name="menu_Help">
<property name="title">
<string>&amp;Help</string>
</property>
<addaction name="act_help_about"/>
<addaction name="act_help_about_qt"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Plugin"/>
<addaction name="menu_Help"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QToolBar" name="toolBar">
<property name="windowTitle">
<string>toolBar</string>
</property>
<property name="movable">
<bool>false</bool>
</property>
<property name="allowedAreas">
<set>Qt::NoToolBarArea</set>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="act_file_new"/>
<addaction name="act_file_open"/>
<addaction name="act_file_save"/>
<addaction name="act_file_save_as"/>
<addaction name="separator"/>
<addaction name="act_plugin_add"/>
<addaction name="act_plugin_remove_all"/>
</widget>
<action name="act_file_save">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-save.png</normaloff>:/16x16/document-save.png</iconset>
</property>
<property name="text">
<string>&amp;Save</string>
</property>
</action>
<action name="act_file_save_as">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-save-as.png</normaloff>:/16x16/document-save-as.png</iconset>
</property>
<property name="text">
<string>Save &amp;As...</string>
</property>
</action>
<action name="act_file_new">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-new.png</normaloff>:/16x16/document-new.png</iconset>
</property>
<property name="text">
<string>&amp;New</string>
</property>
</action>
<action name="act_file_open">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
</property>
<property name="text">
<string>&amp;Open...</string>
</property>
</action>
<action name="act_file_quit">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/application-exit.png</normaloff>:/16x16/application-exit.png</iconset>
</property>
<property name="text">
<string>&amp;Quit</string>
</property>
</action>
<action name="act_plugin_remove_all">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/edit-delete.png</normaloff>:/16x16/edit-delete.png</iconset>
</property>
<property name="text">
<string>&amp;Remove All</string>
</property>
</action>
<action name="act_help_about">
<property name="text">
<string>&amp;About</string>
</property>
</action>
<action name="act_help_about_qt">
<property name="text">
<string>About &amp;Qt</string>
</property>
</action>
<action name="act_plugin_add">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
</property>
<property name="text">
<string>&amp;Add New...</string>
</property>
</action>
</widget>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>act_file_quit</sender>
<signal>triggered()</signal>
<receiver>CarlaMainW</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>189</x>
<y>34</y>
</hint>
</hints>
</connection>
</connections>
</ui>

+ 357
- 0
src/ui/carla_about.ui View File

@@ -0,0 +1,357 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AboutW</class>
<widget class="QDialog" name="AboutW">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>484</width>
<height>254</height>
</rect>
</property>
<property name="windowTitle">
<string>About Carla</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="about">
<attribute name="title">
<string>About</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="2" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>100</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QLabel" name="l_about">
<property name="text">
<string>about text here</string>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="2">
<widget class="QLabel" name="label_8">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/bitmaps/carla_about.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="0" colspan="2">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="features">
<attribute name="title">
<string>Features</string>
</attribute>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>LADSPA:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="l_ladspa">
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>DSSI:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="l_dssi">
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>LV2:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="l_lv2">
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_6">
<property name="text">
<string>VST:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="l_vst">
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="1" column="0" colspan="2">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="Line" name="line_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="7" column="0" colspan="2">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="osc">
<attribute name="title">
<string>OSC</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Host URL:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_osc_url">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Valid commands:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTop|Qt::AlignTrailing</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="l_osc_cmds">
<property name="font">
<font>
<family>DejaVu Sans Mono</family>
</font>
</property>
<property name="text">
<string>valid osc commands here</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Example:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="l_example">
<property name="font">
<font>
<family>DejaVu Sans Mono</family>
</font>
</property>
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="l_example_help">
<property name="text">
<string>TextLabel</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="0" colspan="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>456</width>
<height>35</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>AboutW</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>AboutW</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

+ 160
- 0
src/ui/carla_control.ui View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>CarlaControlW</class>
<widget class="QMainWindow" name="CarlaControlW">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>648</width>
<height>155</height>
</rect>
</property>
<property name="windowTitle">
<string>Carla Control</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="w_plugins" native="true">
<layout class="QVBoxLayout" name="layout">
<property name="spacing">
<number>3</number>
</property>
<property name="margin">
<number>0</number>
</property>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>648</width>
<height>17</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
<property name="title">
<string>&amp;File</string>
</property>
<addaction name="act_file_connect"/>
<addaction name="act_file_refresh"/>
<addaction name="separator"/>
<addaction name="act_file_quit"/>
</widget>
<widget class="QMenu" name="menu_Help">
<property name="title">
<string>&amp;Help</string>
</property>
<addaction name="act_help_about"/>
<addaction name="act_help_about_qt"/>
</widget>
<addaction name="menu_File"/>
<addaction name="menu_Help"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<widget class="QToolBar" name="toolBar">
<property name="windowTitle">
<string>toolBar</string>
</property>
<property name="movable">
<bool>false</bool>
</property>
<property name="allowedAreas">
<set>Qt::NoToolBarArea</set>
</property>
<property name="toolButtonStyle">
<enum>Qt::ToolButtonTextBesideIcon</enum>
</property>
<attribute name="toolBarArea">
<enum>TopToolBarArea</enum>
</attribute>
<attribute name="toolBarBreak">
<bool>false</bool>
</attribute>
<addaction name="act_file_connect"/>
<addaction name="act_file_refresh"/>
<addaction name="separator"/>
<addaction name="act_file_quit"/>
</widget>
<action name="act_file_connect">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/network-connect.png</normaloff>:/16x16/network-connect.png</iconset>
</property>
<property name="text">
<string>&amp;Connect...</string>
</property>
</action>
<action name="act_file_quit">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/application-exit.png</normaloff>:/16x16/application-exit.png</iconset>
</property>
<property name="text">
<string>&amp;Quit</string>
</property>
</action>
<action name="act_help_about">
<property name="text">
<string>&amp;About</string>
</property>
</action>
<action name="act_help_about_qt">
<property name="text">
<string>About &amp;Qt</string>
</property>
</action>
<action name="act_file_refresh">
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
</property>
<property name="text">
<string>&amp;Refresh</string>
</property>
</action>
</widget>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>act_file_quit</sender>
<signal>triggered()</signal>
<receiver>CarlaControlW</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>-1</x>
<y>-1</y>
</hint>
<hint type="destinationlabel">
<x>189</x>
<y>34</y>
</hint>
</hints>
</connection>
</connections>
</ui>

+ 348
- 0
src/ui/carla_database.ui View File

@@ -0,0 +1,348 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PluginDatabaseW</class>
<widget class="QDialog" name="PluginDatabaseW">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>779</width>
<height>465</height>
</rect>
</property>
<property name="windowTitle">
<string>Carla - Add New</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QLabel" name="label_filters">
<property name="text">
<string>Special Filters:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="tb_filters">
<property name="autoRaise">
<bool>true</bool>
</property>
<property name="arrowType">
<enum>Qt::UpArrow</enum>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_refresh">
<property name="text">
<string>Refresh</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Sunken</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="1">
<widget class="QCheckBox" name="ch_effects">
<property name="text">
<string>Effects</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="ch_instruments">
<property name="text">
<string>Instruments</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QCheckBox" name="ch_midi">
<property name="text">
<string>MIDI Plugins</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QCheckBox" name="ch_other">
<property name="text">
<string>Other/Misc</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="ch_sf2">
<property name="text">
<string>SoundFonts</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="ch_lv2">
<property name="text">
<string>LV2</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="ch_vst">
<property name="text">
<string>VST</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="ch_ladspa">
<property name="text">
<string>LADSPA</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="ch_dssi">
<property name="text">
<string>DSSI</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QCheckBox" name="ch_native">
<property name="text">
<string>Native</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QCheckBox" name="ch_bridged_32bit">
<property name="text">
<string>Bridged (32bit)</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QCheckBox" name="ch_bridged_wine">
<property name="text">
<string>Bridged (Wine)</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QCheckBox" name="ch_stereo">
<property name="text">
<string>Stereo only</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QCheckBox" name="ch_gui">
<property name="text">
<string>With GUI Only</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QTableWidget" name="tableWidget">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<property name="showDropIndicator" stdset="0">
<bool>false</bool>
</property>
<property name="dragDropOverwriteMode">
<bool>false</bool>
</property>
<property name="alternatingRowColors">
<bool>true</bool>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
</property>
<property name="showGrid">
<bool>false</bool>
</property>
<property name="gridStyle">
<enum>Qt::NoPen</enum>
</property>
<property name="sortingEnabled">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderStretchLastSection">
<bool>true</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderDefaultSectionSize">
<number>22</number>
</attribute>
<attribute name="verticalHeaderMinimumSectionSize">
<number>12</number>
</attribute>
<column>
<property name="text">
<string>Name</string>
</property>
</column>
<column>
<property name="text">
<string>Label</string>
</property>
</column>
<column>
<property name="text">
<string>Maker</string>
</property>
</column>
<column>
<property name="text">
<string>ID</string>
</property>
</column>
<column>
<property name="text">
<string>Audio Ins</string>
</property>
</column>
<column>
<property name="text">
<string>Audio Outs</string>
</property>
</column>
<column>
<property name="text">
<string>MIDI Ins</string>
</property>
</column>
<column>
<property name="text">
<string>MIDI Outs</string>
</property>
</column>
<column>
<property name="text">
<string>Param Ins</string>
</property>
</column>
<column>
<property name="text">
<string>Param Outs</string>
</property>
</column>
<column>
<property name="text">
<string>Programs</string>
</property>
</column>
<column>
<property name="text">
<string>Has GUI</string>
</property>
</column>
<column>
<property name="text">
<string>Is Synth</string>
</property>
</column>
<column>
<property name="text">
<string>Type</string>
</property>
</column>
<column>
<property name="text">
<string>Binary</string>
</property>
</column>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>(Number of Plugins go here)</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_add">
<property name="text">
<string>&amp;Add Plugin</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/list-add.png</normaloff>:/16x16/list-add.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<tabstops>
<tabstop>lineEdit</tabstop>
<tabstop>b_add</tabstop>
<tabstop>tb_filters</tabstop>
<tabstop>b_refresh</tabstop>
<tabstop>tableWidget</tabstop>
</tabstops>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>tb_filters</sender>
<signal>toggled(bool)</signal>
<receiver>frame</receiver>
<slot>setVisible(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>723</x>
<y>21</y>
</hint>
<hint type="destinationlabel">
<x>736</x>
<y>39</y>
</hint>
</hints>
</connection>
</connections>
</ui>

+ 497
- 0
src/ui/carla_edit.ui View File

@@ -0,0 +1,497 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PluginEdit</class>
<widget class="QDialog" name="PluginEdit">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>726</width>
<height>476</height>
</rect>
</property>
<property name="windowTitle">
<string>Plugin Editor</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="tabPosition">
<enum>QTabWidget::South</enum>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab_params">
<attribute name="title">
<string>Information</string>
</attribute>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0" colspan="2">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_plugin">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>
Plugin Name
</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QPushButton" name="b_save_state">
<property name="text">
<string>Save State</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-save.png</normaloff>:/16x16/document-save.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_load_state">
<property name="text">
<string>Load State</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0" rowspan="3">
<widget class="QGroupBox" name="group_meta">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Meta-Data</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_real_name">
<property name="text">
<string>Name:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_name">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_label">
<property name="text">
<string>Label/Product:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_label">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_maker">
<property name="text">
<string>Maker:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="le_maker">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_copyright">
<property name="text">
<string>Copyright:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_copyright">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_unique_id">
<property name="text">
<string>Unique ID:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="le_unique_id">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_type">
<property name="text">
<string>Type:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="le_type">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="group_proc">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="title">
<string>Processing Data</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<widget class="QLabel" name="label_ains">
<property name="text">
<string>Audio Inputs:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="le_ains">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_aouts">
<property name="text">
<string>Audio Outputs:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="le_aouts">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_params">
<property name="text">
<string>Parameters:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="le_params">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_is_synth">
<property name="text">
<string>Is Synth:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="le_is_synth">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_has_gui">
<property name="text">
<string>Has External GUI:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="le_has_gui">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="le_couts">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_couts">
<property name="text">
<string>Control Outputs:</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="2" column="1">
<widget class="QTabWidget" name="tab_programs">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="programs">
<attribute name="title">
<string>Programs</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QComboBox" name="cb_programs"/>
</item>
<item>
<widget class="QToolButton" name="b_reload_program">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
</property>
</widget>
</item>
</layout>
<zorder>group_programs</zorder>
<zorder>cb_programs</zorder>
<zorder>b_reload_program</zorder>
</widget>
<widget class="QWidget" name="midi_programs">
<attribute name="title">
<string>MIDI Programs</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<item>
<widget class="QComboBox" name="cb_midi_programs"/>
</item>
<item>
<widget class="QToolButton" name="b_reload_midi_program">
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/document-open.png</normaloff>:/16x16/document-open.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QScrollArea" name="scrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>84</height>
</size>
</property>
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOff</enum>
</property>
<property name="horizontalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>864</width>
<height>64</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>864</width>
<height>64</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>864</width>
<height>64</height>
</size>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="PixmapKeyboard" name="keyboard" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>864</width>
<height>64</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>864</width>
<height>64</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>PixmapKeyboard</class>
<extends>QWidget</extends>
<header>pixmapkeyboard.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections/>
</ui>

+ 77
- 0
src/ui/carla_parameter.ui View File

@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PluginParameter</class>
<widget class="QWidget" name="PluginParameter">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>452</width>
<height>35</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Parameter Name</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item>
<widget class="ParamSpinBox" name="widget" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="combo">
<item>
<property name="text">
<string>(none)</string>
</property>
</item>
</widget>
</item>
<item>
<widget class="QSpinBox" name="sb_channel">
<property name="prefix">
<string>ch </string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>16</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ParamSpinBox</class>
<extends>QWidget</extends>
<header>paramspinbox.h</header>
<container>1</container>
</customwidget>
</customwidgets>
<resources/>
<connections/>
</ui>

+ 384
- 0
src/ui/carla_plugin.ui View File

@@ -0,0 +1,384 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PluginWidget</class>
<widget class="QFrame" name="PluginWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>936</width>
<height>136</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true"/>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="LEDButton" name="led_enable">
<property name="statusTip">
<string>Activate/Deactivate plugin</string>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_name">
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>300</width>
<height>16777215</height>
</size>
</property>
<property name="statusTip">
<string>Plugin name</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0" colspan="3">
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="LEDButton" name="led_control">
<property name="maximumSize">
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="statusTip">
<string>Parameter Activity LED</string>
</property>
</widget>
</item>
<item>
<widget class="LEDButton" name="led_midi">
<property name="maximumSize">
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="statusTip">
<string>MIDI Activity LED</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="LEDButton" name="led_audio_in">
<property name="maximumSize">
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="statusTip">
<string>Audio Input Activity LED</string>
</property>
</widget>
</item>
<item>
<widget class="LEDButton" name="led_audio_out">
<property name="maximumSize">
<size>
<width>14</width>
<height>14</height>
</size>
</property>
<property name="statusTip">
<string>Audio Output Activity LED</string>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_name">
<property name="font">
<font>
<weight>75</weight>
<bold>true</bold>
</font>
</property>
<property name="statusTip">
<string>Plugin name</string>
</property>
<property name="text">
<string>Plugin Name</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="b_gui">
<property name="statusTip">
<string>Show external plugin's GUI</string>
</property>
<property name="text">
<string>Show GUI</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="b_edit">
<property name="statusTip">
<string>Edit parameters</string>
</property>
<property name="text">
<string>Edit</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/edit-rename.png</normaloff>:/16x16/edit-rename.png</iconset>
</property>
<property name="checkable">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="b_remove">
<property name="statusTip">
<string>Remove this plugin</string>
</property>
<property name="text">
<string>Remove</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/list-remove.png</normaloff>:/16x16/list-remove.png</iconset>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_controls">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<layout class="QGridLayout" name="gridLayout_2">
<item row="1" column="3">
<widget class="PixmapDial" name="dial_b_right">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="statusTip">
<string>Balance Right (0%)</string>
</property>
<property name="minimum">
<number>-1000</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="0" column="1" rowspan="2">
<widget class="PixmapDial" name="dial_vol">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="statusTip">
<string>Output volume (100%)</string>
</property>
<property name="maximum">
<number>1270</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="0" column="0" rowspan="2">
<widget class="PixmapDial" name="dial_drywet">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="statusTip">
<string>Output dry/wet (100%)</string>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="PixmapDial" name="dial_b_left">
<property name="contextMenuPolicy">
<enum>Qt::CustomContextMenu</enum>
</property>
<property name="statusTip">
<string>Balance Left (0%)</string>
</property>
<property name="minimum">
<number>-1000</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>-1000</number>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_peaks">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="sizePolicy">
<sizepolicy hsizetype="Ignored" vsizetype="Ignored">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="DigitalPeakMeter" name="peak_in" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_5"/>
</widget>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item>
<widget class="DigitalPeakMeter" name="peak_out" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QHBoxLayout" name="horizontalLayout_4"/>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_2">
<layout class="QHBoxLayout" name="horizontalLayout_6">
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QLabel" name="label_carla_host">
<property name="font">
<font>
<pointsize>20</pointsize>
<italic>true</italic>
<underline>true</underline>
<strikeout>false</strikeout>
</font>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/bitmaps/carla_about.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>PixmapDial</class>
<extends>QDial</extends>
<header>pixmapdial.h</header>
</customwidget>
<customwidget>
<class>DigitalPeakMeter</class>
<extends>QWidget</extends>
<header>digitalpeakmeter.h</header>
<container>1</container>
</customwidget>
<customwidget>
<class>LEDButton</class>
<extends>QPushButton</extends>
<header>ledbutton.h</header>
</customwidget>
</customwidgets>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections/>
</ui>

+ 373
- 0
src/ui/carla_refresh.ui View File

@@ -0,0 +1,373 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>PluginRefreshW</class>
<widget class="QDialog" name="PluginRefreshW">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>700</width>
<height>195</height>
</rect>
</property>
<property name="windowTitle">
<string>Carla - Refresh</string>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="0" column="0">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>30</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Search for new...</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="2" column="0">
<widget class="QCheckBox" name="ch_lv2">
<property name="text">
<string>LV2</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="ch_ladspa">
<property name="text">
<string>LADSPA</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="ch_dssi">
<property name="text">
<string>DSSI</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="ch_sf2">
<property name="text">
<string>SoundFonts</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="ch_vst">
<property name="text">
<string>VST</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QCheckBox" name="ch_unix32">
<property name="text">
<string>Unix 32bit</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QCheckBox" name="ch_unix64">
<property name="text">
<string>Unix 64bit</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QCheckBox" name="ch_win32">
<property name="text">
<string>Windows 32bit</string>
</property>
</widget>
</item>
<item row="0" column="2" rowspan="5">
<widget class="Line" name="line_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QCheckBox" name="ch_win64">
<property name="text">
<string>Windows 64bit</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="0" column="4">
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Preferred</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>30</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0" colspan="5">
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="2" column="0" colspan="5">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QProgressBar" name="progressBar">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximum">
<number>0</number>
</property>
<property name="value">
<number>-1</number>
</property>
<property name="format">
<string/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_refresh">
<property name="text">
<string>Refresh</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/view-refresh.png</normaloff>:/16x16/view-refresh.png</iconset>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_skip">
<property name="text">
<string>&gt;&gt; Skip</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="b_close">
<property name="text">
<string>Close</string>
</property>
<property name="icon">
<iconset resource="../icons/icons.qrc">
<normaloff>:/16x16/window-close.png</normaloff>:/16x16/window-close.png</iconset>
</property>
</widget>
</item>
</layout>
</item>
<item row="0" column="3">
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Available tools:</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="flat">
<bool>true</bool>
</property>
<layout class="QGridLayout" name="gridLayout_3">
<item row="0" column="0">
<widget class="QLabel" name="ico_unix32">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/16x16/dialog-ok-apply.png</pixmap>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_unix32">
<property name="text">
<string>carla-discovery-unix32</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="ico_win32">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/16x16/dialog-ok-apply.png</pixmap>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_win32">
<property name="text">
<string>carla-discovery-win32</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="ico_rdflib">
<property name="maximumSize">
<size>
<width>22</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/16x16/dialog-ok-apply.png</pixmap>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_unix64">
<property name="text">
<string>carla-discovery-unix64</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_rdflib">
<property name="text">
<string>python-rdflib (LADSPA RDF and LV2 support)</string>
</property>
</widget>
</item>
<item row="5" column="0" colspan="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_win64">
<property name="text">
<string>carla-discovery-win64</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="ico_unix64">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/16x16/dialog-ok-apply.png</pixmap>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="ico_win64">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap resource="../icons/icons.qrc">:/16x16/dialog-ok-apply.png</pixmap>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item row="0" column="2">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources>
<include location="../icons/icons.qrc"/>
</resources>
<connections>
<connection>
<sender>b_close</sender>
<signal>clicked()</signal>
<receiver>PluginRefreshW</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel">
<x>426</x>
<y>231</y>
</hint>
<hint type="destinationlabel">
<x>236</x>
<y>125</y>
</hint>
</hints>
</connection>
</connections>
</ui>

+ 86
- 0
src/ui/inputdialog_value.ui View File

@@ -0,0 +1,86 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Dialog</class>
<widget class="QDialog" name="Dialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>269</width>
<height>183</height>
</rect>
</property>
<property name="windowTitle">
<string>Set value</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QDoubleSpinBox" name="doubleSpinBox"/>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Scale Points</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTextBrowser" name="textBrowser"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections>
<connection>
<sender>buttonBox</sender>
<signal>accepted()</signal>
<receiver>Dialog</receiver>
<slot>accept()</slot>
<hints>
<hint type="sourcelabel">
<x>248</x>
<y>254</y>
</hint>
<hint type="destinationlabel">
<x>157</x>
<y>274</y>
</hint>
</hints>
</connection>
<connection>
<sender>buttonBox</sender>
<signal>rejected()</signal>
<receiver>Dialog</receiver>
<slot>reject()</slot>
<hints>
<hint type="sourcelabel">
<x>316</x>
<y>260</y>
</hint>
<hint type="destinationlabel">
<x>286</x>
<y>274</y>
</hint>
</hints>
</connection>
</connections>
</ui>

Loading…
Cancel
Save