Oops, forgot to say of course any sequencer will do the job in the first scenario, I was just saying what I personally use to do these kinds of things :)