Skip to content

Commit 25b1383

Browse files
committed
Merge branch 'pre-production' into production
2 parents 34a5435 + c58b5ca commit 25b1383

File tree

12 files changed

+82
-258
lines changed

12 files changed

+82
-258
lines changed

.github/workflows/nightly.yaml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
apppwd: ${{ secrets.APPSTORECONNECTPWD }}
3333
appusr: ${{ secrets.APPSTORECONNECTUSERNAME }}
3434

35-
- uses: actions/upload-artifact@v3
35+
- uses: actions/upload-artifact@v4.3.6
3636
with:
3737
name: macbuild
3838
path: install/FluCoMa-SC-Mac-nightly.dmg
@@ -53,7 +53,7 @@ jobs:
5353
run: 7z a FluCoMa-SC-Windows-nightly.zip FluidCorpusManipulation
5454
working-directory: install
5555

56-
- uses: actions/upload-artifact@v3
56+
- uses: actions/upload-artifact@v4.3.6
5757
with:
5858
name: winbuild
5959
path: install/FluCoMa-SC-Windows-nightly.zip
@@ -71,7 +71,7 @@ jobs:
7171
- name: compress archive
7272
run: tar -zcvf FluCoMa-SC-Linux-nightly.tar.gz FluidCorpusManipulation
7373
working-directory: install
74-
- uses: actions/upload-artifact@v3
74+
- uses: actions/upload-artifact@v4.3.6
7575
with:
7676
name: linuxbuild
7777
path: install/FluCoMa-SC-Linux-nightly.tar.gz
@@ -81,15 +81,15 @@ jobs:
8181
needs: [macbuild, winbuild, linuxbuild]
8282
steps:
8383

84-
- uses: actions/download-artifact@v2
84+
- uses: actions/download-artifact@v4.1.7
8585
with:
8686
name: macbuild
8787

88-
- uses: actions/download-artifact@v2
88+
- uses: actions/download-artifact@v4.1.7
8989
with:
9090
name: winbuild
9191

92-
- uses: actions/download-artifact@v2
92+
- uses: actions/download-artifact@v4.1.7
9393
with:
9494
name: linuxbuild
9595

.github/workflows/release.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
apppwd: ${{ secrets.APPSTORECONNECTPWD }}
2727
appusr: ${{ secrets.APPSTORECONNECTUSERNAME }}
2828

29-
- uses: actions/upload-artifact@v3
29+
- uses: actions/upload-artifact@v4.3.6
3030
with:
3131
name: macbuild
3232
path: install/FluCoMa-SC-Mac.dmg
@@ -47,7 +47,7 @@ jobs:
4747
run: 7z a FluCoMa-SC-Windows.zip FluidCorpusManipulation
4848
working-directory: install
4949

50-
- uses: actions/upload-artifact@v3
50+
- uses: actions/upload-artifact@v4.3.6
5151
with:
5252
name: winbuild
5353
path: install/FluCoMa-SC-Windows.zip
@@ -67,7 +67,7 @@ jobs:
6767
run: tar -zcvf FluCoMa-SC-Linux.tar.gz FluidCorpusManipulation
6868
working-directory: install
6969

70-
- uses: actions/upload-artifact@v3
70+
- uses: actions/upload-artifact@v4.3.6
7171
with:
7272
name: linuxbuild
7373
path: install/FluCoMa-SC-Linux.tar.gz
@@ -81,15 +81,15 @@ jobs:
8181
needs: [macbuild, winbuild, linuxbuild]
8282

8383
steps:
84-
- uses: actions/download-artifact@v2
84+
- uses: actions/download-artifact@v4.1.7
8585
with:
8686
name: macbuild
8787

88-
- uses: actions/download-artifact@v2
88+
- uses: actions/download-artifact@v4.1.7
8989
with:
9090
name: winbuild
9191

92-
- uses: actions/download-artifact@v2
92+
- uses: actions/download-artifact@v4.1.7
9393
with:
9494
name: linuxbuild
9595

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ set(FLUID_PATH "" CACHE PATH "Optional path to the Fluid Decomposition repo")
2727

2828
if (APPLE)
2929
set(CMAKE_XCODE_GENERATE_SCHEME ON)
30-
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8" CACHE STRING "")
30+
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "")
3131
#A consequence of targetting 10.8. Needs to be set globally from 10.15 onwards in order for the test program to compile successfully during configure
3232
string(APPEND CMAKE_CXX_FLAGS " -stdlib=libc++")
3333
endif()

release-packaging/Classes/FluidDataSetQuery.sc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,13 @@ FluidDataSetQuery : FluidDataObject {
5555
this.prSendMsg(this.clearMsg);
5656
}
5757

58-
limitMsg{|rows|
59-
^this.prMakeMsg(\limit,id,rows);
58+
limitMsg{|points|
59+
^this.prMakeMsg(\limit,id,points);
6060
}
6161

62-
limit{|rows, action|
62+
limit{|points, action|
6363
actions[\limit] = [nil,action];
64-
this.prSendMsg(this.limitMsg(rows));
64+
this.prSendMsg(this.limitMsg(points));
6565
}
6666

6767
transformMsg{|sourceDataSet, destDataSet|

test/10a-weighted-MFCCs-comparison.scd

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ t = Main.elapsedTime;
117117
});
118118
});
119119
)
120+
120121
~curator.transform(~ds,~curated)
121122
~curator.transform(~dsW,~curatedW)
122123

test/12-windowed-clustered-segmentation.scd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ t = Main.elapsedTime;
166166
//OPTIONAL: try again with more clusters (3) and a wider window (6) and more overlap (2)
167167
~newindices = [~originalslicesarray[0]]; ~newkeys = [~orginalkeys[0]];
168168
~kmeans.numClusters = 3;
169-
~windowedFunct.value(0,6,2);
169+
~windowedFunct.value(0, 6, 2);
170170

171171
//compare sizes
172172
~orginalkeys.size

test/FluidPlotter_test.scd

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -192,18 +192,17 @@ s.boot;
192192
// always be a Symbol)
193193
~ds.dump({
194194
arg dict;
195-
// dict.at("data").postln;
196-
~fp = FluidPlotter(bounds:Rect(200,200,600,600),dict:dict,mouseMoveAction:{
197-
arg view, x, y, modifiers;
198-
// [x,y].postln;
199-
~xybuf.setn(0,[x,y]);
200-
~kdtree.kNearest(~xybuf,{
201-
arg nearest;
202-
nearest.postln;
203-
view.highlight_(nearest);
195+
defer{
196+
// dict.at("data").postln;
197+
~fp = FluidPlotter(bounds:Rect(200,200,600,600),dict:dict,mouseMoveAction:{
198+
arg view, x, y, modifiers;
199+
[x,y].postln;
200+
~xybuf.setn(0,[x,y]);
201+
~kdtree.kNearest(~xybuf, 1, {
202+
arg nearest;
203+
nearest.postln;
204+
view.highlight_(nearest);
205+
});
204206
});
205-
// [view, x, y, modifiers].postln;
206-
// "".postln;
207-
});
208-
});
207+
}});
209208
)

test/FluidWaveform_test.scd

Lines changed: 45 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,30 @@
11
(
22
// og test
33
s.waitForBoot{
4+
var buf = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav"));
5+
var slicepoints = Buffer(s);
46

5-
Task{
6-
var buf = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Nicol-LoopE-M.wav");
7-
var slicepoints = Buffer(s);
8-
9-
FluidBufAmpSlice.process(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20,action:{
10-
FluidWaveform(buf,slicepoints,bounds:Rect(0,0,1600,400)).front;
11-
});
12-
13-
}.play(AppClock);
7+
FluidBufAmpSlice.process(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20,action:{
8+
defer{FluidWaveform(buf,slicepoints,bounds:Rect(0,0,1600,400)).front};
9+
});
1410
}
1511
)
1612

17-
(
13+
1814
(
1915
// embed it in a different window
2016
s.waitForBoot{
2117

22-
var buf = Buffer.read(s,"/Users/macprocomputer/Desktop/_flucoma/code/flucoma-core-src/AudioFiles/Nicol-LoopE-M.wav");
18+
var buf = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav"));
2319
var slicepoints = Buffer(s);
2420

2521
FluidBufAmpSlice.process(s,buf,indices:slicepoints,fastRampUp:10,fastRampDown:2205,slowRampUp:4410,slowRampDown:4410,onThreshold:10,offThreshold:5,floor:-40,minSliceLength:4410,highPassFreq:20,action:{
26-
fork({
22+
defer{
2723
~win = Window("test",Rect(0,0,1600,400));
28-
FluidWaveform(buf,slicepoints,bounds:Rect(100,100,1400,200),parent:~win).front;
29-
},AppClock);
24+
FluidWaveform(buf,slicepoints,bounds:Rect(100,100,1400,200),parent:~win);
25+
~win.front;
26+
};
3027
});
31-
3228
}
3329
)
3430

@@ -78,6 +74,8 @@ s.waitForBoot{
7874
~pitch_analysis = Buffer(s);
7975
FluidBufPitch.processBlocking(s,~audio,features:~pitch_analysis);
8076

77+
s.sync;
78+
8179
~fw = FluidWaveform(bounds:Rect(100,100,1200,300));
8280

8381
~fw.addImageLayer(~mels,1,1);
@@ -111,7 +109,7 @@ s.waitForBoot{
111109

112110
s.sync;
113111

114-
~fw = FluidWaveform(~audio,~indices,~pitch_analysis,imageBuffer:~mels,bounds:Rect(100,100,1200,300),imageColorScaling:1,imageColorScheme:1).front;
112+
~fw = FluidWaveform(~audio,~indices,~pitch_analysis,imageBuffer:~mels,bounds:Rect(100,100,1200,300),imageColorScaling:1,imageColorScheme:1);
115113
}
116114
)
117115

@@ -132,11 +130,11 @@ s.waitForBoot{
132130

133131
s.sync;
134132

135-
~fw = FluidWaveform(~audio,~indices,~pitch_analysis,bounds:Rect(100,100,1200,300),imageColorScaling:1,imageColorScheme:1).front;
133+
~fw = FluidWaveform(~audio,~indices,~pitch_analysis,bounds:Rect(100,100,1200,300),imageColorScaling:1,imageColorScheme:1);
136134
}
137135
)
138136

139-
137+
// adding layers one at a time kinda test
140138
(
141139
s.waitForBoot{
142140
// do some analysis
@@ -163,25 +161,26 @@ s.waitForBoot{
163161
)
164162

165163
(
166-
// plot most of it, but then...
167-
~fw = FluidWaveform(bounds:Rect(100,100,1200,300));
164+
// plot some of it, but then...
165+
~fw = FluidWaveform(bounds:Rect(100,450,1200,300));
168166
~fw.addImageLayer(~mels,2,imageColorScaling:1);
169-
~fw.addAudioLayer(~audio,Color(1,1,1,0.5));
170-
~fw.addIndicesLayer(~indices,~audio,Color.black);
171167
~fw.front;
172168
)
173169

174-
// add one more
175-
~fw.addFeaturesLayer(~pitch_analysis,[Color.cyan,Color.yellow]).front;
170+
// add one feature at a time
171+
~fw.addAudioLayer(~audio,Color(1,1,1,0.5)).refresh;
172+
173+
~fw.addIndicesLayer(~indices,~audio,Color.black).refresh;
174+
175+
~fw.addFeaturesLayer(~pitch_analysis,[Color.cyan,Color.yellow]).refresh;
176176

177177
// check how many layers
178178
~fw.layers
179179

180180
(
181181
// plot differen components with different colors
182-
s.waitForBoot{
182+
Routine{
183183
~audio = Buffer.read(s,FluidFilesPath("Nicol-LoopE-M.wav"));
184-
// ~audio = Buffer.read(s,FluidFilesPath("Tremblay-ASWINE-ScratchySynth-M.wav"));
185184
~resynth = Buffer(s);
186185
~n_components = 3;
187186
~resynths = {Buffer(s)} ! ~n_components;
@@ -196,7 +195,9 @@ s.waitForBoot{
196195
~hopSize = 256;
197196

198197
s.sync;
199-
FluidBufNMF.processBlocking(s,~audio,resynth:~resynth,activations:~activations,components:~n_components);
198+
199+
FluidBufNMF.processBlocking(s,~audio,resynth:~resynth,activations:~activations,components:~n_components,resynthMode: 1);
200+
200201
2.do{
201202
arg i;
202203
FluidBufHPSS.processBlocking(s,~audio,harmonic:~harm[i],percussive:~perc[i],maskingMode:i,harmFilterSize:51,percFilterSize:91);
@@ -220,35 +221,30 @@ s.waitForBoot{
220221

221222
~colors = FluidViewer.createCatColors.collect{
222223
arg color;
223-
// color.alpha_(0.4);
224224
color;
225225
};
226226

227227
s.sync;
228228

229-
// ~resynths.postln;
230-
~melsfw = FluidWaveform(bounds:Rect(0,0,1600,400));
229+
defer{
230+
~melsfw = FluidWaveform(bounds:Rect(0,0,1600,400));
231231

232-
// ~n_components.do{
233-
// arg i;
234-
// ~fw.addAudioLayer(~resynths[i],~colors[i]);
235-
// };
232+
~n_components.do{
233+
arg i;
234+
~melsfw.addImageLayer(~mels[i],~colors[i],1,1);
235+
};
236236

237-
~n_components.do{
238-
arg i;
239-
~melsfw.addImageLayer(~mels[i],~colors[i],1,1);
240-
};
237+
~melsfw.front;
241238

242-
~melsfw.front;
239+
~binaryfw = FluidWaveform(bounds:Rect(0,400,1600,400));
240+
~binaryfw.addImageLayer(~percmels[1],~colors[0],1);
241+
~binaryfw.addImageLayer(~harmmels[1],~colors[1],1);
242+
~binaryfw.front;
243243

244-
~binaryfw = FluidWaveform(bounds:Rect(0,400,1600,400));
245-
~binaryfw.addImageLayer(~percmels[1],~colors[0],1);
246-
~binaryfw.addImageLayer(~harmmels[1],~colors[1],1);
247-
~binaryfw.front;
248-
249-
~softfw = FluidWaveform(bounds:Rect(0,0,1600,400));
250-
~softfw.addImageLayer(~percmels[0],~colors[0],1);
251-
~softfw.addImageLayer(~harmmels[0],~colors[1],1);
252-
~softfw.front;
253-
}
244+
~softfw = FluidWaveform(bounds:Rect(0,800,1600,400));
245+
~softfw.addImageLayer(~percmels[0],~colors[0],1);
246+
~softfw.addImageLayer(~harmmels[0],~colors[1],1);
247+
~softfw.front;
248+
};
249+
}.play;
254250
)

test/PCA_inverse_test.scd

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,15 @@ fork{
77
[(i/2).asInteger,Array.fill(5,{rrand(-1.0,1.0)})]
88
}).flatten)
99
]);
10-
// ~dict.at("data").at(0).postln;
1110
~ds = FluidDataSet(s).load(~dict);
1211
~pca = FluidPCA(s,5);
1312
~pca.fit(~ds);
1413
b = Buffer.alloc(s,5);
14+
e = 5.collect{rrand(-1.0,1.0)}.postln;
1515
s.sync;
16-
b.setn(0,Array.fill(5,{rrand(-1.0,1.0)}).postln);
17-
// ~ds.getPoint(0,b);
16+
b.setn(0,e);
1817
c = Buffer.alloc(s,5);
18+
d = Buffer();
1919
}
2020
)
2121

@@ -30,11 +30,12 @@ c.loadToFloatArray(action:{
3030
});
3131
)
3232

33-
~pca.inverseTransformPoint(c,b);
33+
~pca.inverseTransformPoint(c,d);
3434

3535
(
36-
b.loadToFloatArray(action:{
36+
d.loadToFloatArray(action:{
3737
arg fa;
3838
fa.postln;
39+
(fa - e).postln;
3940
});
4041
)

0 commit comments

Comments
 (0)