Build with JUCE 7.0.2

This commit is contained in:
Nikolai Rodionov 2023-03-08 22:24:45 +01:00
parent b6175e904a
commit 4c16b647d5
No known key found for this signature in database
GPG Key ID: 19DB54039EBF8F10
4 changed files with 61 additions and 6 deletions

38
.drone.yml Normal file
View File

@ -0,0 +1,38 @@
---
kind: pipeline
type: kubernetes
name: Build paulxstretch
trigger:
branch:
exclude:
- main
event:
- push
steps:
- name: Init git submodules with themes
image: alpine/git
commands:
- git submodule update --init --recursive
- name: Build and push the docker image
image: plugins/docker
when:
branch:
- dev
settings:
registry: git.badhouseplants.net
username: allanger
password:
from_secret: GITEA_TOKEN
repo: git.badhouseplants.net/${DRONE_REPO}
tags: latest
# - name: Build the Linux version
# image: ubuntu
# commands:
# - apt update -y
# - apt install -y build-essential libasound2 cmake fftw-dev pkg-config libx11-dev x11-xserver-utils libxrandr-dev libxinerama-dev libxcursor-dev libfreetype6-dev libfftw3-dev libasound2-dev libjack-dev
# - cmake -B build -S $DRONE_WORKSPACE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev
# - cmake --build build
#

13
Dockerfile Normal file
View File

@ -0,0 +1,13 @@
FROM ubuntu AS builder
RUN apt-get update -y &&\
apt-get install -y build-essential libasound2 cmake fftw-dev pkg-config libx11-dev x11-xserver-utils libxrandr-dev libxinerama-dev libxcursor-dev libfreetype6-dev libfftw3-dev libasound2-dev libjack-dev
COPY . /src
WORKDIR /src
RUN cmake -B build -S /src -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -Wno-dev
RUN cmake --build build
FROM ubuntu
COPY --from=builder /src/build/PaulXStretch_artefacts/Release/ /release
CMD ["mv", "/release", "/out"]

View File

@ -1,5 +1,9 @@
### PaulXStretch - Plugin for extreme time stretching and other spectral processing of audio ### PaulXStretch - Plugin for extreme time stretching and other spectral processing of audio
## Dev Notes:
### Install the linux version using Docker.
I've created a docker image that you can use to install the current dev version of the plugin
This application/plugin is based on the PaulStretch algorithm. (Pauls Extreme Time Stretch, originally developed by Nasca Octavian Paul), and specifically the PaulXStretch version from Xenakios. The UI has been updated and adapted for various screen sizes. This application/plugin is based on the PaulStretch algorithm. (Pauls Extreme Time Stretch, originally developed by Nasca Octavian Paul), and specifically the PaulXStretch version from Xenakios. The UI has been updated and adapted for various screen sizes.
PaulXStretch is only suitable for radical transformation of sounds. It is not suitable at all for subtle time or pitch corrections and such. Ambient music and sound design are probably the most suitable use cases. It can turn any short audio into an hours long ambient soundscape without batting an eye! PaulXStretch is only suitable for radical transformation of sounds. It is not suitable at all for subtle time or pitch corrections and such. Ambient music and sound design are probably the most suitable use cases. It can turn any short audio into an hours long ambient soundscape without batting an eye!

View File

@ -345,8 +345,8 @@ void CustomLookAndFeel::drawTabButton (TabBarButton& button, Graphics& g, bool i
switch (o) switch (o)
{ {
case TabbedButtonBar::TabsAtLeft: t = t.rotated (float_Pi * -0.5f).translated (area.getX(), area.getBottom()); break; case TabbedButtonBar::TabsAtLeft: t = t.rotated (MathConstants<float>::pi * -0.5f).translated (area.getX(), area.getBottom()); break;
case TabbedButtonBar::TabsAtRight: t = t.rotated (float_Pi * 0.5f).translated (area.getRight(), area.getY()); break; case TabbedButtonBar::TabsAtRight: t = t.rotated (MathConstants<float>::pi * 0.5f).translated (area.getRight(), area.getY()); break;
case TabbedButtonBar::TabsAtTop: case TabbedButtonBar::TabsAtTop:
case TabbedButtonBar::TabsAtBottom: t = t.translated (area.getX(), area.getY()); break; case TabbedButtonBar::TabsAtBottom: t = t.translated (area.getX(), area.getY()); break;
default: jassertfalse; break; default: jassertfalse; break;
@ -447,8 +447,8 @@ void CustomLookAndFeel::drawTabButtonText (TabBarButton& button, Graphics& g, bo
switch (button.getTabbedButtonBar().getOrientation()) switch (button.getTabbedButtonBar().getOrientation())
{ {
case TabbedButtonBar::TabsAtLeft: t = t.rotated (float_Pi * -0.5f).translated (area.getX(), area.getBottom()); break; case TabbedButtonBar::TabsAtLeft: t = t.rotated (MathConstants<float>::pi * -0.5f).translated (area.getX(), area.getBottom()); break;
case TabbedButtonBar::TabsAtRight: t = t.rotated (float_Pi * 0.5f).translated (area.getRight(), area.getY()); break; case TabbedButtonBar::TabsAtRight: t = t.rotated (MathConstants<float>::pi * 0.5f).translated (area.getRight(), area.getY()); break;
case TabbedButtonBar::TabsAtTop: case TabbedButtonBar::TabsAtTop:
case TabbedButtonBar::TabsAtBottom: t = t.translated (area.getX(), area.getY()); break; case TabbedButtonBar::TabsAtBottom: t = t.translated (area.getX(), area.getY()); break;
default: jassertfalse; break; default: jassertfalse; break;
@ -903,8 +903,8 @@ void CustomLookAndFeel::drawRotarySlider (Graphics& g, int x, int y, int width,
} }
const auto thumbWidth = lineW ; // * 1.5f; const auto thumbWidth = lineW ; // * 1.5f;
const Point<float> thumbPoint (bounds.getCentreX() + arcRadius * std::cos (toAngle - float_Pi * 0.5f), const Point<float> thumbPoint (bounds.getCentreX() + arcRadius * std::cos (toAngle - MathConstants<float>::pi * 0.5f),
bounds.getCentreY() + arcRadius * std::sin (toAngle - float_Pi * 0.5f)); bounds.getCentreY() + arcRadius * std::sin (toAngle - MathConstants<float>::pi * 0.5f));
g.setColour (findColour (Slider::thumbColourId)); g.setColour (findColour (Slider::thumbColourId));
g.fillEllipse (Rectangle<float> (thumbWidth, thumbWidth).withCentre (thumbPoint)); g.fillEllipse (Rectangle<float> (thumbWidth, thumbWidth).withCentre (thumbPoint));