You could always do an override like:
+Pattern {
play { arg clock, protoEvent, quant, class=EventStreamPlayer;
^class.new(this.asStream, protoEvent).play(clock, false, quant)
}
}
Then you’d get:
p.play(class:MyEventStreamPlayer)
If you always want your pause-able stream (I don’t see that it would hurt anything to skip using ESP altogether) you could just point the override directly to your new class - or, don’t subclass and instead just override the prPlay
method on ESP directly.
It’s all a matter of preference - I sometimes avoid overriding core things because I tend to forget about them, and then discover bugs I introduced several years down the road :).