Skip to content

Commit 12deacd

Browse files
committed
create UI and plugin build
1 parent 26f3606 commit 12deacd

File tree

12 files changed

+1323
-240
lines changed

12 files changed

+1323
-240
lines changed

.github/workflows/build.yml

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
name: build
2+
3+
on:
4+
push:
5+
6+
env:
7+
HVCC_VERSION: 82c5c3971eb77c8b508e3256abe00083662bf538
8+
9+
jobs:
10+
linux-x86_64:
11+
runs-on: ubuntu-20.04
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v3
15+
with:
16+
submodules: recursive
17+
- name: Set up Python
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: 3.9
21+
- name: Install dependencies
22+
run: |
23+
python -m pip install --upgrade pip
24+
python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }}
25+
sudo apt-get update -qq
26+
sudo apt-get install -yqq libgl1-mesa-dev
27+
28+
- name: Build plugins
29+
run: |
30+
hvcc wstd_dlay.pd -n WSTD_DLAY -m wstd_dlay.json -o WSTD_DLAY -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later"
31+
cp override/* WSTD_DLAY/plugin/source/
32+
make -C WSTD_DLAY WITH_LTO=true -j $(nproc)
33+
34+
- name: Set sha8 (non-release)
35+
if: startsWith(github.ref, 'refs/tags/') != true
36+
id: slug1
37+
run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
38+
- name: Set tag (release)
39+
if: startsWith(github.ref, 'refs/tags/')
40+
id: slug2
41+
run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
42+
43+
- name: Pack binaries
44+
run: |
45+
cd WSTD_DLAY
46+
tar -c -h -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz bin/
47+
- uses: actions/upload-artifact@v3
48+
with:
49+
name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }}
50+
path: |
51+
WSTD_DLAY/*.tar.gz
52+
53+
- uses: softprops/action-gh-release@v1
54+
if: startsWith(github.ref, 'refs/tags/')
55+
with:
56+
tag_name: ${{ github.ref_name }}
57+
name: ${{ github.ref_name }}
58+
draft: false
59+
prerelease: false
60+
files: |
61+
WSTD_DLAY/*.tar.gz
62+
63+
win64:
64+
runs-on: ubuntu-20.04
65+
steps:
66+
- name: Checkout repository
67+
uses: actions/checkout@v3
68+
with:
69+
submodules: recursive
70+
- name: Set up Python
71+
uses: actions/setup-python@v4
72+
with:
73+
python-version: 3.9
74+
- name: Install dependencies
75+
run: |
76+
python -m pip install --upgrade pip
77+
python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }}
78+
sudo apt-get update -qq
79+
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
80+
81+
- name: Build win64 cross-compiled plugins
82+
env:
83+
CC: x86_64-w64-mingw32-gcc
84+
CXX: x86_64-w64-mingw32-g++
85+
EXE_WRAPPER: wine
86+
PKG_CONFIG: "false"
87+
WINEDEBUG: "-all"
88+
run: |
89+
hvcc wstd_dlay.pd -n WSTD_DLAY -m wstd_dlay.json -o WSTD_DLAY -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later"
90+
cp override/* WSTD_DLAY/plugin/source/
91+
make -C WSTD_DLAY WITH_LTO=true -j $(nproc)
92+
93+
- name: Set sha8 (non-release)
94+
if: startsWith(github.ref, 'refs/tags/') != true
95+
id: slug1
96+
run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
97+
- name: Set tag (release)
98+
if: startsWith(github.ref, 'refs/tags/')
99+
id: slug2
100+
run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
101+
- name: Pack binaries
102+
run: |
103+
cd WSTD_DLAY
104+
tar -c -h -z -f ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz bin/
105+
- uses: actions/upload-artifact@v3
106+
with:
107+
name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }}
108+
path: |
109+
WSTD_DLAY/*.tar.gz
110+
111+
- uses: softprops/action-gh-release@v1
112+
if: startsWith(github.ref, 'refs/tags/')
113+
with:
114+
tag_name: ${{ github.ref_name }}
115+
name: ${{ github.ref_name }}
116+
draft: false
117+
prerelease: false
118+
files: |
119+
WSTD_DLAY/*.tar.gz
120+
121+
macos-universal:
122+
runs-on: macos-11
123+
steps:
124+
- uses: actions/checkout@v3
125+
with:
126+
submodules: recursive
127+
- name: Set up Python
128+
uses: actions/setup-python@v4
129+
with:
130+
python-version: 3.9
131+
- name: Install dependencies
132+
run: |
133+
python -m pip install --upgrade pip
134+
python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }}
135+
136+
- name: Build macOS universal plugins
137+
env:
138+
CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
139+
CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2
140+
LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12
141+
run: |
142+
hvcc wstd_dlay.pd -n WSTD_DLAY -m wstd_dlay.json -o WSTD_DLAY -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later"
143+
cp override/* WSTD_DLAY/plugin/source/
144+
make -C WSTD_DLAY NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu)
145+
cd WSTD_DLAY
146+
../dep/dpf/utils/package-osx-bundles.sh
147+
148+
- name: Set sha8 (non-release)
149+
if: startsWith(github.ref, 'refs/tags/') != true
150+
id: slug1
151+
run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV
152+
- name: Set tag (release)
153+
if: startsWith(github.ref, 'refs/tags/')
154+
id: slug2
155+
run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV
156+
157+
- uses: actions/upload-artifact@v3
158+
with:
159+
name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.action_tag }}
160+
path: |
161+
WSTD_DLAY/*-macOS.pkg
162+
163+
- uses: softprops/action-gh-release@v1
164+
if: startsWith(github.ref, 'refs/tags/')
165+
with:
166+
tag_name: ${{ github.ref_name }}
167+
name: ${{ github.ref_name }}
168+
draft: false
169+
prerelease: false
170+
files: |
171+
WSTD_DLAY/*-macOS.pkg

.gitmodules

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
[submodule "dep/wstd.cmpnnts"]
2+
path = dep/wstd.cmpnnts
3+
url = git@github.com:Wasted-Audio/wstd.cmpnnts.git
4+
[submodule "dep/heavylib"]
5+
path = dep/heavylib
6+
url = git@github.com:Wasted-Audio/heavylib.git
7+
[submodule "dep/wstd.clrs"]
8+
path = dep/wstd.clrs
9+
url = git@github.com:Wasted-Audio/wstd.clrs.git
10+
[submodule "dep/dpf-widgets"]
11+
path = dep/dpf-widgets
12+
url = git@github.com:Wasted-Audio/DPF-Widgets.git
13+
[submodule "dep/dpf"]
14+
path = dep/dpf
15+
url = git@github.com:DISTRHO/DPF.git

dep/dpf

Submodule dpf added at 16b632a

dep/dpf-widgets

Submodule dpf-widgets added at 6a8fecf

dep/heavylib

Submodule heavylib added at b4940ef

dep/wstd.clrs

Submodule wstd.clrs added at 949c72a

dep/wstd.cmpnnts

Submodule wstd.cmpnnts added at 7d8c6c5
Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
Bitstream Vera Fonts Copyright
2+
3+
The fonts have a generous copyright, allowing derivative works (as
4+
long as "Bitstream" or "Vera" are not in the names), and full
5+
redistribution (so long as they are not *sold* by themselves). They
6+
can be be bundled, redistributed and sold with any software.
7+
8+
The fonts are distributed under the following copyright:
9+
10+
Copyright
11+
=========
12+
13+
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream
14+
Vera is a trademark of Bitstream, Inc.
15+
16+
Permission is hereby granted, free of charge, to any person obtaining
17+
a copy of the fonts accompanying this license ("Fonts") and associated
18+
documentation files (the "Font Software"), to reproduce and distribute
19+
the Font Software, including without limitation the rights to use,
20+
copy, merge, publish, distribute, and/or sell copies of the Font
21+
Software, and to permit persons to whom the Font Software is furnished
22+
to do so, subject to the following conditions:
23+
24+
The above copyright and trademark notices and this permission notice
25+
shall be included in all copies of one or more of the Font Software
26+
typefaces.
27+
28+
The Font Software may be modified, altered, or added to, and in
29+
particular the designs of glyphs or characters in the Fonts may be
30+
modified and additional glyphs or characters may be added to the
31+
Fonts, only if the fonts are renamed to names not containing either
32+
the words "Bitstream" or the word "Vera".
33+
34+
This License becomes null and void to the extent applicable to Fonts
35+
or Font Software that has been modified and is distributed under the
36+
"Bitstream Vera" names.
37+
38+
The Font Software may be sold as part of a larger software package but
39+
no copy of one or more of the Font Software typefaces may be sold by
40+
itself.
41+
42+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
43+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
44+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
45+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
46+
BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR
47+
OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL,
48+
OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR
49+
OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT
50+
SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
51+
52+
Except as contained in this notice, the names of Gnome, the Gnome
53+
Foundation, and Bitstream Inc., shall not be used in advertising or
54+
otherwise to promote the sale, use or other dealings in this Font
55+
Software without prior written authorization from the Gnome Foundation
56+
or Bitstream Inc., respectively. For further information, contact:
57+
fonts at gnome dot org.
58+
59+
Copyright FAQ
60+
=============
61+
62+
1. I don't understand the resale restriction... What gives?
63+
64+
Bitstream is giving away these fonts, but wishes to ensure its
65+
competitors can't just drop the fonts as is into a font sale system
66+
and sell them as is. It seems fair that if Bitstream can't make money
67+
from the Bitstream Vera fonts, their competitors should not be able to
68+
do so either. You can sell the fonts as part of any software package,
69+
however.
70+
71+
2. I want to package these fonts separately for distribution and
72+
sale as part of a larger software package or system. Can I do so?
73+
74+
Yes. A RPM or Debian package is a "larger software package" to begin
75+
with, and you aren't selling them independently by themselves.
76+
See 1. above.
77+
78+
3. Are derivative works allowed?
79+
Yes!
80+
81+
4. Can I change or add to the font(s)?
82+
Yes, but you must change the name(s) of the font(s).
83+
84+
5. Under what terms are derivative works allowed?
85+
86+
You must change the name(s) of the fonts. This is to ensure the
87+
quality of the fonts, both to protect Bitstream and Gnome. We want to
88+
ensure that if an application has opened a font specifically of these
89+
names, it gets what it expects (though of course, using fontconfig,
90+
substitutions could still could have occurred during font
91+
opening). You must include the Bitstream copyright. Additional
92+
copyrights can be added, as per copyright law. Happy Font Hacking!
93+
94+
6. If I have improvements for Bitstream Vera, is it possible they might get
95+
adopted in future versions?
96+
97+
Yes. The contract between the Gnome Foundation and Bitstream has
98+
provisions for working with Bitstream to ensure quality additions to
99+
the Bitstream Vera font family. Please contact us if you have such
100+
additions. Note, that in general, we will want such additions for the
101+
entire family, not just a single font, and that you'll have to keep
102+
both Gnome and Jim Lyles, Vera's designer, happy! To make sense to add
103+
glyphs to the font, they must be stylistically in keeping with Vera's
104+
design. Vera cannot become a "ransom note" font. Jim Lyles will be
105+
providing a document describing the design elements used in Vera, as a
106+
guide and aid for people interested in contributing to Vera.
107+
108+
7. I want to sell a software package that uses these fonts: Can I do so?
109+
110+
Sure. Bundle the fonts with your software and sell your software
111+
with the fonts. That is the intent of the copyright.
112+
113+
8. If applications have built the names "Bitstream Vera" into them,
114+
can I override this somehow to use fonts of my choosing?
115+
116+
This depends on exact details of the software. Most open source
117+
systems and software (e.g., Gnome, KDE, etc.) are now converting to
118+
use fontconfig (see www.fontconfig.org) to handle font configuration,
119+
selection and substitution; it has provisions for overriding font
120+
names and subsituting alternatives. An example is provided by the
121+
supplied local.conf file, which chooses the family Bitstream Vera for
122+
"sans", "serif" and "monospace". Other software (e.g., the XFree86
123+
core server) has other mechanisms for font substitution.
124+

0 commit comments

Comments
 (0)