17 Mar 2012 17:19
SF.net SVN: quarks:[2231] FP
Revision: 2231
http://quarks.svn.sourceforge.net/quarks/?rev=2231&view=rev
Author: zlb-dev
Date: 2012-03-17 16:19:54 +0000 (Sat, 17 Mar 2012)
Log Message:
-----------
[FP] FPSignal - rename change to changes. Correct help file.
Modified Paths:
--------------
FP/EventStream/EventStream.sc
FP/EventStream/Signal.sc
FP/HelpSource/Classes/FPSignal.schelp
Modified: FP/EventStream/EventStream.sc
===================================================================
--- FP/EventStream/EventStream.sc 2012-03-17 03:16:17 UTC (rev 2230)
+++ FP/EventStream/EventStream.sc 2012-03-17 16:19:54 UTC (rev 2231)
<at> <at> -156,7 +156,7 <at> <at>
HoldFPSignal : FPSignal {
var <now;
- var <change;
+ var <changes;
var <listener;
*new { |eventStream, initialValue|
<at> <at> -164,7 +164,7 <at> <at>
}
init { |eventStream, initialValue|
- change = eventStream;
+ changes = eventStream;
now = initialValue;
listener = { |v| now = v};
eventStream.addListener( listener )
Modified: FP/EventStream/Signal.sc
===================================================================
--- FP/EventStream/Signal.sc 2012-03-17 03:16:17 UTC (rev 2230)
+++ FP/EventStream/Signal.sc 2012-03-17 16:19:54 UTC (rev 2231)
<at> <at> -30,11 +30,11 <at> <at>
now { }
- change { } //returns EventStream
+ changes { } //returns EventStream
do { |f|
f.(this.now);
- this.change.do(f)
+ this.changes.do(f)
}
collect { |f|
<at> <at> -66,7 +66,7 <at> <at>
var <parent;
var <listenerFunc;
var <handler; //: (T, S) => S
- var <change;
+ var <changes;
var <now;
*new{ |initialState, initialFunc|
<at> <at> -76,18 +76,18 <at> <at>
initChildFPSignal { |p,h, initialState, initialFunc|
state = initialState;
now = initialFunc.( initialState );
- change = SignalChangeES();
+ changes = SignalChangeES();
parent = p;
handler = h;
listenerFunc = { |value|
//("listnerFunc called with value: "++value).postln;
state = handler.value(value, state)
};
- parent.change.addListener( listenerFunc )
+ parent.changes.addListener( listenerFunc )
}
remove {
- parent.change.removeListener( listenerFunc )
+ parent.changes.removeListener( listenerFunc )
}
}
<at> <at> -103,7 +103,7 <at> <at>
this.initChildFPSignal(parent, { |event|
var x = f.(event);
now = x;
- change.fire( x );
+ changes.fire( x );
}, Unit, { f.(parent.now) })
}
}
<at> <at> -118,17 +118,17 <at> <at>
var thunk = { |x|
//("thunk was called with event "++x).postln;
now = x;
- change.fire( x );
+ changes.fire( x );
};
var initialState = f.(parent.now);
- initialState.change !? _.addListener(thunk);
+ initialState.changes !? _.addListener(thunk);
this.initChildFPSignal(parent, { |event, lastFPSignal|
var nextFPSignal;
//("handler called with event "++event++" and state "++state).postln;
- lastFPSignal.change !? _.removeListener( thunk );
+ lastFPSignal.changes !? _.removeListener( thunk );
nextFPSignal = f.(event);
thunk.( nextFPSignal.now );
- nextFPSignal.change !? _.addListener( thunk );
+ nextFPSignal.changes !? _.addListener( thunk );
nextFPSignal
}, initialState, _.now)
}
<at> <at> -144,18 +144,18 <at> <at>
var thunk = { |x|
//("thunk was called with event "++x).postln;
now = x;
- change.fire( x );
+ changes.fire( x );
};
var initialState = f.(parent.now);
- initialState.change !? _.addListener(thunk);
+ initialState.changes !? _.addListener(thunk);
this.initChildFPSignal(parent, { |event, lastFPSignal|
var nextFPSignal;
//("handler called with event "++event++" and state "++state).postln;
- lastFPSignal.change !? _.removeListener( thunk );
+ lastFPSignal.changes !? _.removeListener( thunk );
lastFPSignal.tryPerform(\remove);
nextFPSignal = f.(event);
thunk.( nextFPSignal.now );
- nextFPSignal.change !? _.addListener( thunk );
+ nextFPSignal.changes !? _.addListener( thunk );
nextFPSignal
}, initialState, _.now)
}
<at> <at> -164,12 +164,12 <at> <at>
//A signal that never changes, and therefore never fires anything;
Val : FPSignal {
var <now;
- var <change;
+ var <changes;
*new { |now| ^super.newCopyArgs(now).init }
init {
- change = EventSource();
+ changes = EventSource();
}
}
<at> <at> -179,7 +179,7 <at> <at>
value_ { |v|
now = v;
- change.fire(v);
+ changes.fire(v);
}
}
\ No newline at end of file
Modified: FP/HelpSource/Classes/FPSignal.schelp
===================================================================
--- FP/HelpSource/Classes/FPSignal.schelp 2012-03-17 03:16:17 UTC (rev 2230)
+++ FP/HelpSource/Classes/FPSignal.schelp 2012-03-17 16:19:54 UTC (rev 2231)
<at> <at> -20,12 +20,26 <at> <at>
method::now
the current value of the Signal
-method::change
+method::changes
An EventSource which fires events every time the signal changes.
+code::
+(
+x = Var(2);
+x.changes;
+)
+::
+
method::do
-When the Signal changes, runs f with new value of Var.
+When the Signal changes, runs f with new value.
+code::
+(
+x = Var(2);
+x.do{ |x| postln("look what I got:"++x) };
+x.value_(3);
+)
+::
method::collect
argument::f
f: A => B
<at> <at> -34,8 +48,7 <at> <at>
(
x = Var(2);
y = x.collect( _*100 );
-y.now.postln;
-y.change.do(_.postln);
+y.do(_.postln);
)
x.value_(100)
<at> <at> -49,7 +62,6 <at> <at>
x = Var(1);
y = Var(2);
z = x.flatCollect{ |x| y.collect{ |y| [x,y] } };
-z.now.postln;
z.do(_.postln);
)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open
Source development site.
_______________________________________________
sc-dev mailing list
info (subscription, etc.): http://www.beast.bham.ac.uk/research/sc_mailing_lists.shtml
archive: http://www.listarc.bham.ac.uk/marchives/sc-dev/
search: http://www.listarc.bham.ac.uk/lists/sc-dev/search/
RSS Feed