Ticket #434 (new enhancement)

Opened 14 months ago

Last modified 14 months ago

Simple freeze functionality

Reported by: user Owned by: somebody
Priority: major Milestone: Buzé Release 0.4 - 0.5
Component: buze Version: win32
Keywords: Cc:

Description

Can you implement a simple freeze functionality? Todays software instruments and effects tend to eat quite a lot CPU cycles, so this would help us with older processors.

How would this work then? Well, freezing could be handled in machine view. Lets say we have following song structure:

Instrument1 --> Limiter effect --> Delay effect --> Reverb effect --> Mixer --> Master

In machine view

1. Right click reverb effect. The popup menu has "Freeze" item.

2. Selecting menu item "Freeze" will render the audio path from Instrument1 to Reverb effect. The time frame is from start of the song to the end of the song. The render output is mp3 to save memory and hard drive (maybe output format wuold be selectable).

3. Now when playing the song, the path from Instrument1 to reverb effect would not waste any CPU. Instead mp3 stream is played.

4. In machine view, freezing is somehow visualized. (machines are painted bluish?)

5. If user changes the start or end point of the song so that the "freezed area" doesn't apply to the whole song anymore, user would be noted. In this case user needs to freeze again.

6. By right cliking some of the freezed machines (intruments or effects) user can select "Unfreeze" from popup menu.

7. Freeze-data would not be saved in Buzz bmx-file.

Change History

follow-up: ↓ 2   Changed 14 months ago by user

a *very* similar discussion did its round in #buze a while back, iirc calvin has already completed sample accurate replayer code (think fuzzpilz inp, but hidden)

i think also in SequenceView? and PatternView? the patterns and sequence sections that have been frozen should get this 'blue opacity overlay' (could be user defined base colour in themes), so you will easily know before you edit a pattern or sequence chunk by its colour that you have frozen it..

then there arose some question about how to optimize something like this; - would frozen sections be translated into mp3/ogg played from an xml type list? - we could define sequence sections to freeze per track/chain, resulting in more freedom.

in reply to: ↑ 1   Changed 14 months ago by user

Replying to user:

a *very* similar discussion did its round in #buze a while back, iirc calvin has already completed sample accurate replayer code (think fuzzpilz inp, but hidden) i think also in SequenceView? and PatternView? the patterns and sequence sections that have been frozen should get this 'blue opacity overlay' (could be user defined base colour in themes), so you will easily know before you edit a pattern or sequence chunk by its colour that you have frozen it.. then there arose some question about how to optimize something like this; - would frozen sections be translated into mp3/ogg played from an xml type list? - we could define sequence sections to freeze per track/chain, resulting in more freedom.

to clarify:

we could define sequence sections to freeze per track/chain, resulting in more freedom, rather than freezing the entire sequence of a chain

Note: See TracTickets for help on using tickets.