Build with JUCE 7.0.2

Update build and changelog

Switch to docker runners

Fix the source path in build

Fix the release path in build

Use zipped artifacts

build: Install zip

build: Fix commands for the package step

build: Fix zip command

update a bit

Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
This commit is contained in:
Nikolai Rodionov
2023-03-08 22:24:45 +01:00
committed by Nikolai Rodionov
parent b6175e904a
commit c4fc6ef30a
5 changed files with 87 additions and 6 deletions

52
.drone.yml Normal file
View File

@ -0,0 +1,52 @@
---
kind: pipeline
type: docker
name: Release paulxstretch
trigger:
event:
- tag
steps:
- name: Build
image: ubuntu:22.04
commands:
- 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
- |
cmake -B build -S ./ \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr -Wno-dev
- cmake --build build
- name: Prepare files for release
image: ubuntu:22.04
commands:
- apt-get update
- apt-get install zip -y
- mkdir dist
- export RELEASE_DIR=build/PaulXStretch_artefacts/Release
- cp -r $RELEASE_DIR/Standalone/ /tmp
- cp -r $RELEASE_DIR/VST3/ /tmp
- cd /tmp
- |
zip -r paulxstretch-standalone.zip Standalone && \
mv paulxstretch-standalone.zip $DRONE_WORKSPACE/dist/
- |
zip -r paulxstretch-vst3.zip VST3 && \
mv paulxstretch-vst3.zip $DRONE_WORKSPACE/dist/
- name: Release paulxstretch
image: plugins/gitea-release
settings:
api_key:
from_secret: GITEA_TOKEN
base_url: https://git.badhouseplants.net
files: dist/*

View File

@ -1,5 +1,8 @@
## PaulXStretch Change History ## PaulXStretch Change History
**v1.7.0**
- Update JUCE to 7.0.2
- Started using submodules for deps
**v1.6.0** (2022-06-16) **v1.6.0** (2022-06-16)
- Added live output recording feature - Added live output recording feature

22
Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM ubuntu:25.10 AS builder
RUN apt-get update -y && \
apt-get install -y \
build-essential libasound2t64 \
cmake fftw-dev pkg-config libx11-dev \
x11-xserver-utils libxrandr-dev \
libxinerama-dev libxcursor-dev \
libfreetype6-dev libfftw3-dev \
libasound2-dev libjack-dev
WORKDIR /src
COPY . .
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));