diff --git a/release-packaging/Classes/FluidKMeans.sc b/release-packaging/Classes/FluidKMeans.sc index 1a679cb..5bcd129 100644 --- a/release-packaging/Classes/FluidKMeans.sc +++ b/release-packaging/Classes/FluidKMeans.sc @@ -13,11 +13,11 @@ FluidKMeans : FluidManipulationClient { } predictPoint { |buffer, action| - this.pr_sendMsg(\predictPoint,[buffer.asUGenInput],action,[numbers(FluidMessageResponse,_,1,_)]); + this.pr_sendMsg(\predictPoint,[buffer.asUGenInput],action,[number(FluidMessageResponse,_,_)]); } cols { |action| - this.pr_sendMsg(\cols,[],action,[numbers(FluidMessageResponse,_,1,_)]); + this.pr_sendMsg(\cols,[],action,[number(FluidMessageResponse,_,_)]); } read{ |filename,action| diff --git a/release-packaging/Classes/FluidLabelSet.sc b/release-packaging/Classes/FluidLabelSet.sc index eb19f6d..3712f6e 100644 --- a/release-packaging/Classes/FluidLabelSet.sc +++ b/release-packaging/Classes/FluidLabelSet.sc @@ -29,7 +29,7 @@ FluidLabelSet : FluidManipulationClient { } cols {|action| - this.pr_sendMsg(\cols,[],action,[numbers(FluidMessageResponse,_,1,_)]); + this.pr_sendMsg(\cols,[],action,[number(FluidMessageResponse,_,_)]); } read{|filename,action| @@ -41,7 +41,7 @@ FluidLabelSet : FluidManipulationClient { } size { |action| - this.pr_sendMsg(\size,[],action,[numbers(FluidMessageResponse,_,1,_)]); + this.pr_sendMsg(\size,[],action,[number(FluidMessageResponse,_,_)]); } clear { |action| diff --git a/release-packaging/Classes/FluidMessageResponse.sc b/release-packaging/Classes/FluidMessageResponse.sc index 5f3782d..2723262 100644 --- a/release-packaging/Classes/FluidMessageResponse.sc +++ b/release-packaging/Classes/FluidMessageResponse.sc @@ -9,9 +9,11 @@ FluidMessageResponse : Object selectors.do{ |selector| var newThings; # newThings,idx = selector.value(a, idx); - response = response.add(newThings); + response = response ++ newThings; }; - ^response + + if(response.size == 1, + {^response[0]},{^response}) } *string{ |a, offset| @@ -25,6 +27,10 @@ FluidMessageResponse : Object ^[a.copyRange(offset, offset + n),offset + n] } + *number{ |a,offset| + ^[a[offset]]; + } + *buffer{ |a,server,offset| server = server ? Server.default ; ^[Buffer.cachedBufferAt(server, a[offset]), offset + 1] diff --git a/release-packaging/ignore/Examples/dataset/myfirstdataset.scd b/release-packaging/ignore/Examples/dataset/myfirstdataset.scd index dbc8401..2a8bd11 100644 --- a/release-packaging/ignore/Examples/dataset/myfirstdataset.scd +++ b/release-packaging/ignore/Examples/dataset/myfirstdataset.scd @@ -80,7 +80,7 @@ c = Buffer.new(s) ~kMeans.predict(~dataset,~labels, {|x| x.postln}) ~labels.getLabel(~audioBuffers[2].path,action:{|c| c.postln}) Routine{ - ~labels.size({|x|x[0][0].do {|i| + ~labels.size({|x|x.do {|i| forkIfNeeded{ ~audioBuffers[i].path.postln; ~labels.getLabel(~audioBuffers[i].path,action:{|c| c.postln}); diff --git a/release-packaging/ignore/Examples/dataset/super-simple-1D-example.scd b/release-packaging/ignore/Examples/dataset/super-simple-1D-example.scd index 0d61ff3..1306e25 100644 --- a/release-packaging/ignore/Examples/dataset/super-simple-1D-example.scd +++ b/release-packaging/ignore/Examples/dataset/super-simple-1D-example.scd @@ -44,11 +44,11 @@ Routine{ ~labels = FluidLabelSet(s,\simple1label); -~kmeans.predict(~ds,~labels, {|x| ("Size of each cluster" + x[0]).postln}) +~kmeans.predict(~ds,~labels, {|x| ("Size of each cluster" + x).postln}) ( Routine{ var n; - ~labels.size({|x| n = x[0][0]}); + ~labels.size({|x| n = x.asInt}); n.asInt.do{|i| ~labels.getLabel(i.asString,action: {|l|("Label for" + i ++ ":" + l).postln}); }