"new Song" Request: "dont Save, Save, Cancel, Keep Instrum

hi, would it be possible to allow the user to select (in case of selecting New Song with an unsaved song)
Don’t Save, Save, Cancel, Clear Patterndata & keep instruments as choices?

i oftentimes come across a new riff that could start a new song, from a song which has some instrument that suddenly shows me another side of it - inspiring me to start doing something else. It’d be lovely to be able to safely do this, natively in Renoise. yep, natively.

Copy necessary instruments and pattern data into new song. Done. :drummer:

is this where the 4 clipboards are used? 1 for storing samples, 1 for storing instruments, 1 for storing pattern data, 1 for storing track dsp chain?

In case they won’t implement it, here are some functions to get you started becoming a hero :)

[details=“Click to view contents”] ```lua

local s = renoise.song()

function zap_pattern_data()
s.sequencer:insert_new_pattern_at(1)
local default_number_of_lines = s:pattern(1).number_of_lines
for pattern in ipairs(s.patterns) do
s:pattern(pattern):clear()
s:pattern(pattern).number_of_lines = default_number_of_lines
end
for sequence in ripairs(s.sequencer.pattern_sequence) do
s.sequencer:delete_sequence_at(sequence)
end
end

function zap_instruments()
s:insert_instrument_at(#s.instruments+1)
for instrument = #s.instruments-1, 1, -1 do
s:delete_instrument_at(instrument)
end
end

“Edit” in Renoise -> “Delete All Patterns” or “Delete all Instruments” does the same thing already.

yes. however, when you go to save, you end up overwriting the song you stripped of patterns :)

I agree. The only workaround I can think of is to use os.tmpname([extension]) and renoise.app():save_song_as(filename) after what I submitted.

Wouldn’t

File -> Save As… -> Choose new name and save
Edit -> Delete All Patterns

do what you want?

Or is the idea that you still have unsaved changes in the original song, so you just want to export the riff to a new song without closing the current song?

yup

  1. save current track
  2. wipe filename from renoise memory
  3. wipe patterns
  4. wipe sequences
  5. retain instruments
  6. retain track dsps
  7. resize all patterns (say pattern 00 to 50) to a specific default length (let’s say 64rows)
  8. prompt for new filename
  9. save with new filename.
  10. continue makin mosik