steve at holdenweb.com
Sun Feb 7 16:10:15 CET 2010
Martin Drautzburg wrote:
> Steve Holden wrote:
>>> y = s1*2 + s2(align=10)
>>> which should iterate as
>>> I have no difficulty passing "align" to the object (using __call__)
>>> and use it while I furnish my own __iter__() method. However I don't
>>> quite see how I can do this with bare itertools, though I may be
>>> wrong here.
>>> Bare in mind that it is not only about somehow getting the job done.
>>> The beauty of the resulting syntax is also important.
>> In that case why not just assume that the timing of a sequence is
>> relative to the current time unless the "align" argument is given?
> Well that's pretty much what I'm doing. I just fail to see how I can do
> this with bare itertools. Currently I am doing it in the following way:
> When I call a Sequence as in s2(align=2) I create a new Sequence where
> the "align" value is simply stored in an instance variable.
> When creating the sum of two sequences, I create a Sequence with a new
> iter() method which first iterates over self and then over the second
> Sequence. But each time it has to look up the "align" value of the
> respective sequence and adjust "time" accordingly.
> Appending the two Sequences is the easy part, but adjusting time is the
> difficult part. My impression was, that itertools can only help to
> solve the first part.
> I may be missing something obvious. If that's the case, please let me
Perhaps I am assuming too much of your simulation environment/player.
I presumed that there would be a global "current time" value that would
be passed into or available to the play method of the sequences. However
I can see that you might need something more complex if (e.g.) you want
to be able to start playing at an arbitrary point in time.
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/
More information about the Python-list