New Tool (2.7): Play Song From Beginning

On request.
Simply adds a tools menu option and keyboard configurable shortcut to restart playing the song from the absolute beginning.
2019 com.vvoois.PlaySongFromStart_Rns270_V1.xrnx
Will not be posted on the tools page btw.

could be useful, thnx.

Why not?
Nice and handy tool!

cool thanks :)

I have always used LCTRL+PgUp and then RCTRL, but I guess people who are not accustomed to my solution will find this useful

I have always used LCTRL+PgUp and then RCTRL, but I guess people who are not accustomed to my solution will find this useful

This would really be a good addition to Protman’s ImpulseKeybindings :)

Yeah for instance indeed.

hey i must have done something wrong, but I attached the tool to f5 and it’s not playing from the start.
if it helps debug, I am using this tool while renoise is a rewire slave, yet play song from cursor etc work fine

RonC

You’re using ReWire this time, right?
I’ve only used this tool without ReWire, and it worked quite nicely.

How is the synchronisation mode in the Audio preferences? that makes a difference

ah a significant difference that option is indeed, but it really messes up the synchronization. It is strange, because play from cursor works, play pattern works, yet this new functionality does not… Is there maybe a workaround to work in the synchronized mode?

RonC

Might be the PDC doing some weird stuff here.
Problem is, Renoise is the slave so it is hard for slaves in generic to dictate exactly what the master should do.
Renoise has to translate a current line position into an exact sample position for the Master. Perhaps somewhere along that line, something doesn’t go right for the particular DAW that you use as a master. Every DAW deals in a different way with ReWire. Some work perfectly with Renoise and some coop less well.

I don’t know which DAW you use to slave Renoise to, perhaps someone else who has the same host can add some information about this.

It’s ableton live. I really love using it with synchronized mode rewired to renoise, and everything else works. It would only mean moving the song position to 0.0.0,and playing

Perhaps you might want to add the transpot panic line in the main.lua of the tool between the startpos and playback_pos lines in:
startpos.line = 1
renoise.song().transport:panic()
renoise.song().transport.playback_pos = startpos

There is a reason i left it out (or commented it):some plugins don’t like panic and a quick playback pos right after. they not only crash but take down Renoise in the fall, so be cautious with that option.

Edit:
Better take this code:

  
  
local function set_start_and_play()  
 local startpos = renoise.song().transport.playback_pos  
 startpos.sequence = 1  
 startpos.line = 1  
 renoise.song().transport:panic()  
  
 local start_time = os.clock()  
  
 while (os.clock() - start_time < 0.2) do  
 -- Delay the start after panic. Don't go below 0.2 seconds   
 -- or you might tempt some plugins to crash and take Renoise in the fall!!   
 end  
  
 renoise.song().transport.playback_pos = startpos  
 renoise.song().transport:start(renoise.Transport.PLAYMODE_CONTINUE_PATTERN)  
end  
  

vV: thanks for posting that fix… I’ll look forward to trying this out with Live+Renoise & Logic+Renoise combinations…

thank you for your hard work, but this again is not working in any way i can say that starts at the top.
I’ll just use native ableton’s play from start instead.

thank you again though

RonC

Well then i have done what i could from my side, i can’t delve in any deeper than this. Or somebody else should slap me in the face that i overlooked something incredibly simple, i wouldn’t mind that.

I can try F5 with ReWireSlaveRenoise to ReWireMasterLive. I’ll do it right now.

Wow. Seems like having this script available will actually stop Renoise from ever following Live (when Live is in playmode) (F5 in Renoise didn’t start Live playback when in “BPM&Bar Sync” mode… Play from Live didn’t start Renoise)

Whereas when on “Full Transport Sync”(Renoise), F5 does start Live playback and Playback from Live will start. Anyway, I’ll try and see what rpc’s issue with all of this was about…

Well, I don’t really know what’s wrong, but I’ve got a suggested update, to add “Make sure Transport-loop is off” to the F5 commands. I’ll see if I can do that.

vV if you just add

  
renoise.song().transport.loop_pattern = false  
  

below, for instance, the startposline=1 … F5 will work the way it’s supposed to… :) Thanks for making me think about this, vV!

You mean for the ReWire as well, well there you have it, the simple overlooked thing :D

Ok, now I’ve got something that’ll accurately explain how “F5” isn’t working with Renoise when it is ReWire Slave, and Ableton Live is ReWire Master.

Let’s start with playback off in both softwares.

3rd Pattern in Renoise - your cursor is on this. Press F5 (start playback from first orderlist entry). Playback starts from 3rd pattern.
cursor on 2nd pattern, F5 will start playback from 2nd pattern (and ReWire Master will also play from “2nd pattern”).

How can this be made to work in ReWire-mode, so that F5 is still "start play from the first row of first pattern aka 1.1.1.1

  
local function set_start_and_play()  
 local startpos = renoise.song().transport.playback_pos  
 renoise.song().transport.loop_pattern = false  
 startpos.sequence = 1  
 startpos.line = 1  
 renoise.song().transport.loop_pattern = false  
 renoise.song().transport:panic()  
 renoise.song().transport.loop_pattern = false  
 local start_time = os.clock()  
 while (os.clock() - start_time < 0.2) do  
 -- Delay the start after panic. Don't go below 0.2 seconds   
 -- or you might tempt some plugins to crash and take Renoise in the fall!!   
 end  
renoise.song().transport.loop_pattern = false   
renoise.song().transport.playback_pos = startpos  
 renoise.song().transport:start(renoise.Transport.PLAYMODE_CONTINUE_PATTERN)  
end