Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1170 commits
Select commit Hold shift + click to select a range
8636724
Merge remote-tracking branch 'upstream/develop' into develop
Jun 14, 2023
adf88fd
Merge branch 'develop' into tracktion/develop
Jun 14, 2023
8b8c680
Merge remote-tracking branch 'upstream/develop' into develop
Jun 14, 2023
b009777
Merge branch 'develop' into tracktion/develop
Jun 14, 2023
d8ab671
Merge remote-tracking branch 'upstream/develop' into develop
Jun 15, 2023
01a92b0
Merge branch 'develop' into tracktion/develop
Jun 15, 2023
bbf57d5
Merge remote-tracking branch 'upstream/develop' into develop
Jun 19, 2023
79028a1
Merge branch 'develop' into tracktion/develop
Jun 19, 2023
247d3d5
Merge remote-tracking branch 'upstream/develop' into develop
Jun 19, 2023
020b7c2
Merge branch 'develop' into tracktion/develop
Jun 19, 2023
9d93f94
Merge remote-tracking branch 'upstream/develop' into develop
Jun 20, 2023
86997c2
Merge branch 'develop' into tracktion/develop
Jun 20, 2023
96743af
Merge remote-tracking branch 'upstream/develop' into develop
Jun 22, 2023
8291154
Merge branch 'develop' into tracktion/develop
Jun 22, 2023
8964955
Merge remote-tracking branch 'upstream/develop' into develop
Jun 28, 2023
bdb189f
Merge branch 'develop' into tracktion/develop
Jun 28, 2023
e7f2ed6
Merge remote-tracking branch 'upstream/develop' into develop
Jun 28, 2023
2f6f045
Merge branch 'develop' into tracktion/develop
Jun 28, 2023
2534faa
Merge remote-tracking branch 'upstream/develop' into develop
Jun 29, 2023
ecfe7b0
Merge branch 'develop' into tracktion/develop
Jun 29, 2023
d3d359f
Merge remote-tracking branch 'upstream/develop' into develop
Jul 17, 2023
1f471a8
Merge branch 'develop' into tracktion/develop
Jul 17, 2023
a82ffff
Merge remote-tracking branch 'upstream/develop' into develop
Jul 18, 2023
6030ad1
Merge branch 'develop' into tracktion/develop
Jul 18, 2023
a68f042
Merge remote-tracking branch 'upstream/develop' into develop
Jul 19, 2023
c41e01d
Merge branch 'develop' into tracktion/develop
Jul 19, 2023
a12bd42
Merge remote-tracking branch 'upstream/develop' into develop
Jul 19, 2023
9287731
Merge branch 'develop' into tracktion/develop
Jul 19, 2023
ec36263
Merge remote-tracking branch 'upstream/develop' into develop
Jul 19, 2023
a9f0513
Merge branch 'develop' into tracktion/develop
Jul 19, 2023
4c04d4c
Merge remote-tracking branch 'upstream/develop' into develop
Jul 20, 2023
33700a5
Merge branch 'develop' into tracktion/develop
Jul 20, 2023
c2e58b8
Merge remote-tracking branch 'upstream/develop' into develop
Jul 24, 2023
636dbc1
Merge branch 'develop' into tracktion/develop
Jul 24, 2023
e5c1771
Merge remote-tracking branch 'upstream/develop' into develop
Aug 2, 2023
20e823e
Merge branch 'develop' into tracktion/develop
Aug 2, 2023
216df3b
Merge remote-tracking branch 'upstream/develop' into develop
Aug 3, 2023
21ef384
Merge branch 'develop' into tracktion/develop
Aug 3, 2023
c8c7e2f
Merge remote-tracking branch 'upstream/develop' into develop
Aug 3, 2023
8f62455
Merge branch 'develop' into tracktion/develop
Aug 3, 2023
63d16a0
Merge remote-tracking branch 'upstream/develop' into develop
Aug 4, 2023
8f764f5
Merge branch 'develop' into tracktion/develop
Aug 4, 2023
eae6c38
Merge remote-tracking branch 'upstream/develop' into develop
Aug 5, 2023
29a2f13
Merge branch 'develop' into tracktion/develop
Aug 5, 2023
bca4095
Merge remote-tracking branch 'upstream/develop' into develop
Aug 7, 2023
e0f744c
Merge branch 'develop' into tracktion/develop
Aug 7, 2023
633c79a
Merge remote-tracking branch 'upstream/develop' into develop
Aug 10, 2023
a63ddef
Merge branch 'develop' into tracktion/develop
Aug 10, 2023
ebb1d78
Merge remote-tracking branch 'upstream/develop' into develop
Aug 10, 2023
f8cba19
Merge branch 'develop' into tracktion/develop
Aug 10, 2023
0d7c746
Merge remote-tracking branch 'upstream/develop' into develop
Aug 11, 2023
57f759c
Merge branch 'develop' into tracktion/develop
Aug 11, 2023
c41479f
Merge remote-tracking branch 'upstream/develop' into develop
Aug 12, 2023
94c49ec
Merge branch 'develop' into tracktion/develop
Aug 12, 2023
804cc32
Merge remote-tracking branch 'upstream/develop' into develop
Aug 12, 2023
56b897b
Merge branch 'develop' into tracktion/develop
Aug 12, 2023
042c5e3
Merge remote-tracking branch 'upstream/develop' into develop
Aug 17, 2023
0e2fb0b
Merge branch 'develop' into tracktion/develop
Aug 17, 2023
92f0273
Merge remote-tracking branch 'upstream/develop' into develop
Aug 17, 2023
87f85cc
Merge branch 'develop' into tracktion/develop
Aug 17, 2023
f986706
Merge remote-tracking branch 'upstream/develop' into develop
Aug 17, 2023
8f705cc
Merge branch 'develop' into tracktion/develop
Aug 17, 2023
58e49fc
Merge remote-tracking branch 'upstream/develop' into develop
Aug 18, 2023
9b12acf
Merge branch 'develop' into tracktion/develop
Aug 18, 2023
d26e601
Merge remote-tracking branch 'upstream/develop' into develop
Aug 22, 2023
93dbe7a
Merge branch 'develop' into tracktion/develop
Aug 22, 2023
fc0d2dc
Merge remote-tracking branch 'upstream/develop' into develop
Aug 23, 2023
5deea11
Merge branch 'develop' into tracktion/develop
Aug 23, 2023
a73a0be
Merge remote-tracking branch 'upstream/develop' into develop
Aug 24, 2023
710c6c5
Merge branch 'develop' into tracktion/develop
Aug 24, 2023
5f80181
Merge remote-tracking branch 'upstream/develop' into develop
Aug 29, 2023
0b1fbaa
Merge branch 'develop' into tracktion/develop
Aug 29, 2023
a8e200c
Merge remote-tracking branch 'upstream/develop' into develop
Aug 30, 2023
7c70255
Merge branch 'develop' into tracktion/develop
Aug 30, 2023
6b60349
Merge remote-tracking branch 'upstream/develop' into develop
Aug 30, 2023
0eb8202
Merge branch 'develop' into tracktion/develop
Aug 30, 2023
65dfc1d
Merge remote-tracking branch 'upstream/develop' into develop
Aug 30, 2023
9c1994f
Merge branch 'develop' into tracktion/develop
Aug 30, 2023
dfd258b
Merge remote-tracking branch 'upstream/develop' into develop
Aug 31, 2023
6ef223c
Merge branch 'develop' into tracktion/develop
Aug 31, 2023
479d134
Merge remote-tracking branch 'upstream/develop' into develop
Aug 31, 2023
35d84da
Merge branch 'develop' into tracktion/develop
Aug 31, 2023
b389ecd
Merge remote-tracking branch 'upstream/develop' into develop
Sep 1, 2023
0dd73a6
Merge branch 'develop' into tracktion/develop
Sep 1, 2023
c019079
Merge remote-tracking branch 'upstream/develop' into develop
Sep 4, 2023
e7e0abc
Merge branch 'develop' into tracktion/develop
Sep 4, 2023
9839b06
Merge remote-tracking branch 'upstream/develop' into develop
Sep 4, 2023
58c600b
Merge branch 'develop' into tracktion/develop
Sep 4, 2023
5a4208e
Merge remote-tracking branch 'upstream/develop' into develop
Sep 6, 2023
2bb4eff
Merge branch 'develop' into tracktion/develop
Sep 6, 2023
9c99301
Merge remote-tracking branch 'upstream/develop' into develop
Sep 6, 2023
571d305
Merge branch 'develop' into tracktion/develop
Sep 6, 2023
a1117d2
Merge remote-tracking branch 'upstream/develop' into develop
Sep 8, 2023
d1a0812
Merge branch 'develop' into tracktion/develop
Sep 8, 2023
62258ae
Merge remote-tracking branch 'upstream/develop' into develop
Sep 11, 2023
11535c2
Merge branch 'develop' into tracktion/develop
Sep 11, 2023
dd63593
Merge remote-tracking branch 'upstream/develop' into develop
Sep 12, 2023
91bba65
Merge branch 'develop' into tracktion/develop
Sep 12, 2023
756a2ed
Merge remote-tracking branch 'upstream/develop' into develop
Sep 12, 2023
5175ee5
Merge branch 'develop' into tracktion/develop
Sep 12, 2023
657c137
Merge remote-tracking branch 'upstream/develop' into develop
Sep 13, 2023
b784086
Merge branch 'develop' into tracktion/develop
Sep 13, 2023
71b1871
Merge remote-tracking branch 'upstream/develop' into develop
Sep 15, 2023
b09d88f
Merge branch 'develop' into tracktion/develop
Sep 15, 2023
22d459b
Merge remote-tracking branch 'upstream/develop' into develop
Sep 18, 2023
84bd4bc
Merge branch 'develop' into tracktion/develop
Sep 18, 2023
03205a7
Merge remote-tracking branch 'upstream/develop' into develop
Sep 18, 2023
d0461ff
Merge branch 'develop' into tracktion/develop
Sep 18, 2023
1040140
Merge remote-tracking branch 'upstream/develop' into develop
Sep 19, 2023
d141db3
Merge branch 'develop' into tracktion/develop
Sep 19, 2023
1d2186b
Merge remote-tracking branch 'upstream/develop' into develop
Sep 19, 2023
4cce569
Merge branch 'develop' into tracktion/develop
Sep 19, 2023
52f71c9
Merge remote-tracking branch 'upstream/develop' into develop
Sep 19, 2023
39a7e4c
Merge branch 'develop' into tracktion/develop
Sep 19, 2023
6012c18
Merge remote-tracking branch 'upstream/develop' into develop
Sep 20, 2023
4fd1aed
Merge branch 'develop' into tracktion/develop
Sep 20, 2023
b6e0aa3
Merge remote-tracking branch 'upstream/develop' into develop
Sep 20, 2023
bc7026f
Merge branch 'develop' into tracktion/develop
Sep 20, 2023
2b51fcb
Merge remote-tracking branch 'upstream/develop' into develop
Sep 20, 2023
cd3e06f
Merge branch 'develop' into tracktion/develop
Sep 20, 2023
47ae919
Merge remote-tracking branch 'upstream/develop' into develop
Sep 20, 2023
5ad68ef
Merge branch 'develop' into tracktion/develop
Sep 20, 2023
1d2fcaf
Merge remote-tracking branch 'upstream/develop' into develop
Sep 22, 2023
63fd5e6
Merge branch 'develop' into tracktion/develop
Sep 22, 2023
ddf87e5
Merge remote-tracking branch 'upstream/develop' into develop
Sep 25, 2023
33d10a0
Merge branch 'develop' into tracktion/develop
Sep 25, 2023
60e0cb3
Merge remote-tracking branch 'upstream/develop' into develop
Sep 26, 2023
c2884d2
Merge branch 'develop' into tracktion/develop
Sep 26, 2023
5fab8fb
Merge remote-tracking branch 'upstream/develop' into develop
Sep 26, 2023
3d864d9
Merge branch 'develop' into tracktion/develop
Sep 26, 2023
e714826
Merge remote-tracking branch 'upstream/develop' into develop
Sep 26, 2023
94aaed0
Merge branch 'develop' into tracktion/develop
Sep 26, 2023
a313b97
Merge remote-tracking branch 'upstream/develop' into develop
Sep 27, 2023
b875139
Merge branch 'develop' into tracktion/develop
Sep 27, 2023
5cf73fc
Merge remote-tracking branch 'upstream/develop' into develop
Sep 27, 2023
a38fd34
Merge branch 'develop' into tracktion/develop
Sep 27, 2023
f6c4486
Merge remote-tracking branch 'upstream/develop' into develop
Sep 29, 2023
f058d85
Merge branch 'develop' into tracktion/develop
Sep 29, 2023
85285c2
Merge remote-tracking branch 'upstream/develop' into develop
Oct 2, 2023
57a427b
Merge branch 'develop' into tracktion/develop
Oct 2, 2023
b4e30ec
Merge remote-tracking branch 'upstream/develop' into develop
Oct 2, 2023
7ca620a
Merge branch 'develop' into tracktion/develop
Oct 2, 2023
f3c28da
Merge remote-tracking branch 'upstream/develop' into develop
Oct 2, 2023
d9a3e4c
Merge branch 'develop' into tracktion/develop
Oct 2, 2023
ee281bb
Merge remote-tracking branch 'upstream/develop' into develop
Oct 3, 2023
a3f52b2
Merge branch 'develop' into tracktion/develop
Oct 3, 2023
55d588a
Merge remote-tracking branch 'upstream/develop' into develop
Oct 3, 2023
6527331
Merge branch 'develop' into tracktion/develop
Oct 3, 2023
d0f1fb3
Merge remote-tracking branch 'upstream/develop' into develop
Oct 6, 2023
3146871
Merge branch 'develop' into tracktion/develop
Oct 6, 2023
7827b43
Merge branch 'develop' into tracktion/develop
Oct 6, 2023
2eef692
Merge remote-tracking branch 'upstream/develop' into develop
Oct 6, 2023
6518c3e
tracktion: fix plugin hosting on Sonoma
FigBug Oct 7, 2023
b9cce17
Merge remote-tracking branch 'upstream/develop' into develop
Oct 7, 2023
586c0e2
Merge branch 'develop' into tracktion/develop
Oct 7, 2023
448f40d
Merge remote-tracking branch 'upstream/develop' into develop
Oct 9, 2023
12fc236
Merge branch 'develop' into tracktion/develop
Oct 9, 2023
a39fa18
Merge remote-tracking branch 'upstream/develop' into develop
Oct 10, 2023
a31a83d
Merge branch 'develop' into tracktion/develop
Oct 10, 2023
e56b7eb
Merge remote-tracking branch 'upstream/develop' into develop
Oct 11, 2023
428f5bb
Merge branch 'develop' into tracktion/develop
Oct 11, 2023
52b571c
Merge remote-tracking branch 'upstream/develop' into develop
Oct 11, 2023
6476ee4
Merge branch 'develop' into tracktion/develop
Oct 11, 2023
82141ef
Merge remote-tracking branch 'upstream/develop' into develop
Oct 11, 2023
62d5469
Merge branch 'develop' into tracktion/develop
Oct 11, 2023
d987ffd
Merge remote-tracking branch 'upstream/develop' into develop
Oct 12, 2023
813054c
Merge branch 'develop' into tracktion/develop
Oct 12, 2023
b920803
Merge remote-tracking branch 'upstream/develop' into develop
Oct 12, 2023
5915c84
Merge branch 'develop' into tracktion/develop
Oct 12, 2023
32ce739
Merge remote-tracking branch 'upstream/develop' into develop
Oct 13, 2023
d2b81c7
Merge branch 'develop' into tracktion/develop
Oct 13, 2023
87df073
Merge remote-tracking branch 'upstream/develop' into develop
Oct 13, 2023
65c92ab
Merge branch 'develop' into tracktion/develop
Oct 13, 2023
300e910
Merge remote-tracking branch 'upstream/develop' into develop
Oct 13, 2023
3620332
Merge branch 'develop' into tracktion/develop
Oct 13, 2023
29116ef
Merge remote-tracking branch 'upstream/develop' into develop
Oct 17, 2023
3e6d750
Merge branch 'develop' into tracktion/develop
Oct 17, 2023
8ee0e8a
Merge remote-tracking branch 'upstream/develop' into develop
Oct 18, 2023
b37d6bf
Merge branch 'develop' into tracktion/develop
Oct 18, 2023
8d34755
Merge remote-tracking branch 'upstream/develop' into develop
Oct 19, 2023
9261674
Merge branch 'develop' into tracktion/develop
Oct 19, 2023
4701233
Merge remote-tracking branch 'upstream/develop' into develop
Oct 19, 2023
c97ed23
Merge branch 'develop' into tracktion/develop
Oct 19, 2023
b2b1503
Merge remote-tracking branch 'upstream/develop' into develop
Oct 20, 2023
d1194ba
Merge branch 'develop' into tracktion/develop
Oct 20, 2023
22c708d
Merge remote-tracking branch 'upstream/develop' into develop
Oct 20, 2023
093f686
Merge branch 'develop' into tracktion/develop
Oct 20, 2023
b75a4d5
Merge remote-tracking branch 'upstream/develop' into develop
Oct 23, 2023
4422038
Merge branch 'develop' into tracktion/develop
Oct 23, 2023
b4e8ebc
Merge remote-tracking branch 'upstream/develop' into develop
Oct 24, 2023
fb9d00e
Merge branch 'develop' into tracktion/develop
Oct 24, 2023
7ad78bc
Merge remote-tracking branch 'upstream/develop' into develop
Oct 25, 2023
d2a9d08
Merge branch 'develop' into tracktion/develop
Oct 25, 2023
f7c51ad
Merge remote-tracking branch 'upstream/develop' into develop
Oct 26, 2023
81dded1
Merge branch 'develop' into tracktion/develop
Oct 26, 2023
2d3ca53
Merge remote-tracking branch 'upstream/develop' into develop
Oct 26, 2023
86b1ccf
Merge branch 'develop' into tracktion/develop
Oct 26, 2023
7c88da2
Merge remote-tracking branch 'upstream/develop' into develop
Oct 31, 2023
42dc936
Merge branch 'develop' into tracktion/develop
Oct 31, 2023
c4dbc95
Merge remote-tracking branch 'upstream/develop' into develop
Oct 31, 2023
55e4418
Merge branch 'develop' into tracktion/develop
Oct 31, 2023
d959940
Merge remote-tracking branch 'upstream/develop' into develop
Nov 1, 2023
07f5d9a
Merge branch 'develop' into tracktion/develop
Nov 1, 2023
c715ecb
Merge remote-tracking branch 'upstream/develop' into develop
Nov 2, 2023
0394fb0
Merge branch 'develop' into tracktion/develop
Nov 2, 2023
b838aa1
Merge remote-tracking branch 'upstream/develop' into develop
Nov 2, 2023
5633038
Merge branch 'develop' into tracktion/develop
Nov 2, 2023
581ac8f
Merge remote-tracking branch 'upstream/develop' into develop
Nov 2, 2023
ecc2662
Merge branch 'develop' into tracktion/develop
Nov 2, 2023
084faae
Merge remote-tracking branch 'upstream/develop' into develop
Nov 2, 2023
f132e6f
Merge branch 'develop' into tracktion/develop
Nov 2, 2023
91f5651
Merge remote-tracking branch 'upstream/develop' into develop
Nov 3, 2023
405f52f
Merge branch 'develop' into tracktion/develop
Nov 3, 2023
471f65f
Merge remote-tracking branch 'upstream/develop' into develop
Nov 3, 2023
a15aff6
Merge branch 'develop' into tracktion/develop
Nov 3, 2023
c1f82ad
Merge remote-tracking branch 'upstream/develop' into develop
Nov 3, 2023
d899e45
Merge branch 'develop' into tracktion/develop
Nov 3, 2023
68369fa
Merge remote-tracking branch 'upstream/develop' into develop
Nov 7, 2023
1a73b78
Merge branch 'develop' into tracktion/develop
Nov 7, 2023
ad0c9f7
Merge remote-tracking branch 'upstream/develop' into develop
Nov 8, 2023
29628c5
Merge branch 'develop' into tracktion/develop
Nov 8, 2023
75c4832
Merge remote-tracking branch 'upstream/develop' into develop
Nov 9, 2023
efb9724
Merge branch 'develop' into tracktion/develop
Nov 9, 2023
433dca7
Merge remote-tracking branch 'upstream/develop' into develop
Nov 9, 2023
3f0ffae
Merge branch 'develop' into tracktion/develop
Nov 9, 2023
96524ec
Merge remote-tracking branch 'upstream/develop' into develop
Nov 17, 2023
bab60c5
Merge branch 'develop' into tracktion/develop
Nov 17, 2023
0183e02
Merge remote-tracking branch 'upstream/develop' into develop
Nov 20, 2023
7578407
Merge branch 'develop' into tracktion/develop
Nov 20, 2023
11f8cbc
Merge remote-tracking branch 'upstream/develop' into develop
Nov 20, 2023
72148bb
Merge branch 'develop' into tracktion/develop
Nov 20, 2023
262aaf7
Merge remote-tracking branch 'upstream/develop' into develop
Nov 27, 2023
b609c3b
Merge branch 'develop' into tracktion/develop
Nov 27, 2023
7fd468b
Merge remote-tracking branch 'upstream/develop' into develop
Nov 29, 2023
72a3ddf
Merge branch 'develop' into tracktion/develop
Nov 29, 2023
d407c03
Merge remote-tracking branch 'upstream/develop' into develop
Nov 30, 2023
34d444f
Merge branch 'develop' into tracktion/develop
Nov 30, 2023
c76de46
Merge remote-tracking branch 'upstream/develop' into develop
Dec 1, 2023
7ef6071
Merge branch 'develop' into tracktion/develop
Dec 1, 2023
a140108
Merge remote-tracking branch 'upstream/develop' into develop
Dec 1, 2023
b0a8450
Merge branch 'develop' into tracktion/develop
Dec 1, 2023
7f765ad
Merge remote-tracking branch 'upstream/develop' into develop
Dec 1, 2023
3850b1b
Merge branch 'develop' into tracktion/develop
Dec 1, 2023
1d33229
Merge remote-tracking branch 'upstream/develop' into develop
Dec 5, 2023
3c6cf64
Merge branch 'develop' into tracktion/develop
Dec 5, 2023
f103c6c
Merge remote-tracking branch 'upstream/develop' into develop
Dec 5, 2023
121235f
Merge branch 'develop' into tracktion/develop
Dec 5, 2023
9296c04
Merge remote-tracking branch 'upstream/develop' into develop
Dec 5, 2023
bed596d
Merge branch 'develop' into tracktion/develop
Dec 5, 2023
ee46656
Add missing parameters in AlertWindow::showOkCancelBox
adamski Dec 5, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/merge_upstream.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Merge Upstream
on:
schedule:
- cron: '0 * * * *'
push:
workflow_dispatch:

jobs:
build:
name: Merge Upstream
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
token: ${{ secrets.TOKEN }}
- run: |
git fetch --prune --unshallow
- name: "Run script"
run: |
./.github/workflows/update
env:
GH_EMAIL: ${{ secrets.GH_EMAIL }}
GH_NAME: ${{ secrets.GH_NAME }}
32 changes: 32 additions & 0 deletions .github/workflows/update
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#!/bin/sh -e

# Use braces to load the entire script in to memory
{
echo ** Move to repo
cd $RUNNER_WORKSPACE/JUCE
pwd

git config --global user.email "$GH_NAME"
git config --global user.name "$GH_EMAIL"

echo ** Updating tracktion/JUCE from juce-framework/JUCE

git checkout develop

echo ** Setup remote
git remote -v
git remote add upstream https://github.com/juce-framework/JUCE.git
git remote -v

echo ** Fetch remote
git fetch upstream

echo ** Update develop
git merge upstream/develop
git push

echo ** Update tracktion/develop
git checkout tracktion/develop
git merge develop
git push
}
17 changes: 17 additions & 0 deletions modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -910,6 +910,7 @@ class JuceVSTWrapper final : public AudioProcessorListener,
case Vst2::effGetNumMidiInputChannels: return handleGetNumMidiInputChannels();
case Vst2::effGetNumMidiOutputChannels: return handleGetNumMidiOutputChannels();
case Vst2::effEditIdle: return handleEditIdle();
case Vst2::effGetMidiKeyName: return handleGetMidiKeyName (args);
default: return 0;
}
}
Expand Down Expand Up @@ -2047,6 +2048,22 @@ class JuceVSTWrapper final : public AudioProcessorListener,
return 0;
}

pointer_sized_int handleGetMidiKeyName (VstOpCodeArguments args)
{
if (processor != nullptr)
{
String name;
Vst2::MidiKeyName* keyName = (Vst2::MidiKeyName*)args.ptr;

if (processor->hasNameForMidiNoteNumber (keyName->thisKeyNumber, args.index, name))
{
name.copyToUTF8 (keyName->keyName, sizeof (keyName->keyName));
return 1;
}
}
return 0;
}

//==============================================================================
ScopedJuceInitialiser_GUI libraryInitialiser;

Expand Down
24 changes: 22 additions & 2 deletions modules/juce_audio_plugin_client/juce_audio_plugin_client_VST3.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -497,9 +497,29 @@ class JuceAudioProcessor final : public Vst::IUnitInfo
return kResultFalse;
}

tresult PLUGIN_API hasProgramPitchNames (Vst::ProgramListID, Steinberg::int32) override
{
String name;
for (int i = 0; i < 127; i++)
if (audioProcessor->hasNameForMidiNoteNumber (i, 1, name) == kResultTrue)
return kResultTrue;

return kResultFalse;
}

tresult PLUGIN_API getProgramPitchName (Vst::ProgramListID, Steinberg::int32, Steinberg::int16 midiNote, Vst::String128 name) override
{
String nameOut;
if (audioProcessor->hasNameForMidiNoteNumber (midiNote, 1, nameOut))
{
toString128 (name, nameOut);
return kResultTrue;
}

return kResultFalse;
}

tresult PLUGIN_API getProgramInfo (Vst::ProgramListID, Steinberg::int32, Vst::CString, Vst::String128) override { return kNotImplemented; }
tresult PLUGIN_API hasProgramPitchNames (Vst::ProgramListID, Steinberg::int32) override { return kNotImplemented; }
tresult PLUGIN_API getProgramPitchName (Vst::ProgramListID, Steinberg::int32, Steinberg::int16, Vst::String128) override { return kNotImplemented; }
tresult PLUGIN_API selectUnit (Vst::UnitID) override { return kNotImplemented; }
tresult PLUGIN_API setUnitProgramData (Steinberg::int32, Steinberg::int32, IBStream*) override { return kNotImplemented; }
Vst::UnitID PLUGIN_API getSelectedUnit() override { return Vst::kRootUnitId; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2863,6 +2863,34 @@ class VST3PluginInstance final : public AudioPluginInstance
return result;
}

//==============================================================================
bool hasNameForMidiNoteNumber (int note, int /*midiChannel*/, juce::String& noteName) override
{
if (unitInfo != nullptr)
{
const int programListCount = unitInfo->getProgramListCount();

if (programListCount > 0)
{
Vst::ProgramListInfo programListInfo {};

if (unitInfo->getProgramListInfo (0, programListInfo) == kResultOk)
{
if (unitInfo->hasProgramPitchNames (programListInfo.id, 0) == kResultTrue)
{
Vst::String128 name;
if (unitInfo->getProgramPitchName (programListInfo.id, 0, (Steinberg::int16) note, name) == kResultTrue)
{
noteName = toString (name) ;
return true;
}
}
}
}
}
return false;
}

//==============================================================================
void updateTrackProperties (const TrackProperties& properties) override
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1333,6 +1333,21 @@ struct VSTPluginInstance final : public AudioPluginInstance,

int pluginCanDo (const char* text) const { return (int) dispatch (Vst2::effCanDo, 0, 0, (void*) text, 0); }

bool hasNameForMidiNoteNumber (int note, int midiChannel, juce::String& noteName) override
{
Vst2::MidiKeyName keyName;
memset (&keyName, 0, sizeof (keyName));
keyName.thisProgramIndex = getCurrentProgram();
keyName.thisKeyNumber = note;

if (dispatch (Vst2::effGetMidiKeyName, midiChannel, 0, &keyName, 0.0f))
{
noteName = String::createStringFromData (keyName.keyName, sizeof (keyName.keyName));
return true;
}
return false;
}

//==============================================================================
void prepareToPlay (double rate, int samplesPerBlockExpected) override
{
Expand Down Expand Up @@ -2942,6 +2957,11 @@ struct VSTPluginWindow final : public AudioProcessorEditor,
if (safeThis != nullptr)
safeThis->componentMovedOrResized (true, true);
});
Timer::callAfterDelay (250, [safeThis = SafePointer<VSTPluginWindow> { this }]
{
if (safeThis != nullptr)
safeThis->componentMovedOrResized (true, true);
});
#else
componentMovedOrResized (true, true);
#endif
Expand Down
4 changes: 4 additions & 0 deletions modules/juce_audio_processors/juce_audio_processors.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,10 @@ struct NSViewComponentWithParent : public NSViewComponent,
addMethod (@selector (clipsToBounds), [] (id, SEL) { return YES; });
JUCE_END_IGNORE_WARNINGS_GCC_LIKE

JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE ("-Wundeclared-selector")
addMethod (@selector (clipsToBounds), [] (id, SEL) { return YES; });
JUCE_END_IGNORE_WARNINGS_GCC_LIKE

registerClass();
}
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -919,6 +919,11 @@ void AudioProcessor::setCurrentProgramStateInformation (const void* data, int si
//==============================================================================
void AudioProcessor::updateTrackProperties (const AudioProcessor::TrackProperties&) {}

bool AudioProcessor::hasNameForMidiNoteNumber (int, int, juce::String&)
{
return false;
}

//==============================================================================
// magic number to identify memory blocks that we've stored as XML
const uint32 magicXmlNumber = 0x21324356;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1294,6 +1294,9 @@ class JUCE_API AudioProcessor : private AAXClientExtensions
*/
virtual void updateTrackProperties (const TrackProperties& properties);

/** Gets the name of a MIDI note, if available */
virtual bool hasNameForMidiNoteNumber (int note, int midiChannel, juce::String& name);

//==============================================================================
/** Helper function that just converts an xml element into a binary blob.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,8 @@ void AudioProcessorEditor::editorResized (bool wasResized)
// obliterate it! If you want to scale the whole of your UI use Desktop::setGlobalScaleFactor(),
// or, for applying other transforms, consider putting the component you want to transform
// in a child of the editor and transform that instead.
jassert (getTransform() == hostScaleTransform);
if (findParentComponentOfClass<AudioProcessorEditor>() == nullptr)
jassert (getTransform() == hostScaleTransform);

if (wasResized)
{
Expand Down
25 changes: 14 additions & 11 deletions modules/juce_audio_processors/scanning/juce_PluginListComponent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -296,36 +296,39 @@ PopupMenu PluginListComponent::createOptionsMenu()

for (auto format : formatManager.getFormats())
if (format->canScanForPlugins())
menu.addItem (PopupMenu::Item ("Remove all " + format->getName() + " plug-ins")
menu.addItem (PopupMenu::Item ("Remove all " + format->getName() + " plugins")
.setEnabled (! list.getTypesForFormat (*format).isEmpty())
.setAction ([this, format]
{
for (auto& pd : list.getTypesForFormat (*format))
list.removeType (pd);
auto title = "Remove all " + format->getName() + " plugins?";
auto message = "Are you sure you want to remove all " + format->getName() + " plugins?";
if (AlertWindow::showOkCancelBox (AlertWindow::QuestionIcon, title, message, TRANS("Yes"), TRANS("No"), nullptr, nullptr))
for (auto& pd : list.getTypesForFormat (*format))
list.removeType (pd);
}));

menu.addSeparator();

menu.addItem (PopupMenu::Item (TRANS ("Remove selected plug-in from list"))
menu.addItem (PopupMenu::Item (TRANS("Remove selected plugin from list"))
.setEnabled (table.getNumSelectedRows() > 0)
.setAction ([this] { removeSelectedPlugins(); }));

menu.addItem (PopupMenu::Item (TRANS ("Remove any plug-ins whose files no longer exist"))
menu.addItem (PopupMenu::Item (TRANS("Remove any plugins whose files no longer exist"))
.setAction ([this] { removeMissingPlugins(); }));

menu.addSeparator();

auto selectedRow = table.getSelectedRow();

menu.addItem (PopupMenu::Item (TRANS ("Show folder containing selected plug-in"))
menu.addItem (PopupMenu::Item (TRANS("Show folder containing selected plugin"))
.setEnabled (canShowFolderForPlugin (list, selectedRow))
.setAction ([this, selectedRow] { showFolderForPlugin (list, selectedRow); }));

menu.addSeparator();

for (auto format : formatManager.getFormats())
if (format->canScanForPlugins())
menu.addItem (PopupMenu::Item ("Scan for new or updated " + format->getName() + " plug-ins")
menu.addItem (PopupMenu::Item ("Scan for new or updated " + format->getName() + " plugins")
.setAction ([this, format] { scanFor (*format); }));

return menu;
Expand All @@ -337,10 +340,10 @@ PopupMenu PluginListComponent::createMenuForRow (int rowNumber)

if (rowNumber >= 0 && rowNumber < tableModel->getNumRows())
{
menu.addItem (PopupMenu::Item (TRANS ("Remove plug-in from list"))
menu.addItem (PopupMenu::Item (TRANS("Remove plugin from list"))
.setAction ([this, rowNumber] { removePluginItem (rowNumber); }));

menu.addItem (PopupMenu::Item (TRANS ("Show folder containing plug-in"))
menu.addItem (PopupMenu::Item (TRANS("Show folder containing plugin"))
.setEnabled (canShowFolderForPlugin (list, rowNumber))
.setAction ([this, rowNumber] { showFolderForPlugin (list, rowNumber); }));
}
Expand Down Expand Up @@ -637,8 +640,8 @@ void PluginListComponent::scanFor (AudioPluginFormat& format)
void PluginListComponent::scanFor (AudioPluginFormat& format, const StringArray& filesOrIdentifiersToScan)
{
currentScanner.reset (new Scanner (*this, format, filesOrIdentifiersToScan, propertiesToUse, allowAsync, numThreads,
dialogTitle.isNotEmpty() ? dialogTitle : TRANS ("Scanning for plug-ins..."),
dialogText.isNotEmpty() ? dialogText : TRANS ("Searching for all possible plug-in files...")));
dialogTitle.isNotEmpty() ? dialogTitle : TRANS("Scanning for plugins..."),
dialogText.isNotEmpty() ? dialogText : TRANS("Searching for all possible plugin files...")));
}

bool PluginListComponent::isScanning() const noexcept
Expand Down
6 changes: 6 additions & 0 deletions modules/juce_graphics/geometry/juce_AffineTransform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,12 @@ AffineTransform AffineTransform::verticalFlip (float height) noexcept
0.0f, -1.0f, height };
}

AffineTransform AffineTransform::horizontalFlip (float width) noexcept
{
return { -1.0f, 0.0f, width,
0.0f, 1.0f, 0.0f };
}

AffineTransform AffineTransform::inverted() const noexcept
{
double determinant = getDeterminant();
Expand Down
4 changes: 4 additions & 0 deletions modules/juce_graphics/geometry/juce_AffineTransform.h
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,10 @@ class JUCE_API AffineTransform final
*/
static AffineTransform verticalFlip (float height) noexcept;

/** Returns a transform that will flip coordinates horizontally within a window of the given width.
*/
static AffineTransform horizontalFlip (float width) noexcept;

/** Returns a matrix which is the inverse operation of this one.

Some matrices don't have an inverse - in this case, the method will just return
Expand Down
3 changes: 3 additions & 0 deletions modules/juce_gui_basics/components/juce_Component.h
Original file line number Diff line number Diff line change
Expand Up @@ -2334,6 +2334,9 @@ class JUCE_API Component : public MouseListener
/** If the component is valid, this deletes it and sets this pointer to null. */
void deleteAndZero() { delete getComponent(); }

bool operator== (const SafePointer<ComponentType>& component) const noexcept { return weakRef == component; }
bool operator!= (const SafePointer<ComponentType>& component) const noexcept { return weakRef != component; }

bool operator== (ComponentType* component) const noexcept { return weakRef == component; }
bool operator!= (ComponentType* component) const noexcept { return weakRef != component; }

Expand Down
2 changes: 1 addition & 1 deletion modules/juce_gui_basics/native/juce_Windowing_windows.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2742,7 +2742,7 @@ class HWNDComponentPeer final : public ComponentPeer,

static void* toFrontCallback1 (void* h)
{
BringWindowToTop ((HWND) h);
SetForegroundWindow ((HWND) h);
return nullptr;
}

Expand Down