Re: [Audacity-devel] NoteTrack, MIDI, Alignment, etc.
A free multi-track audio editor and recorder
Brought to you by:
aosiniao
From: Roger D. <rb...@cs...> - 2010-10-30 16:30:44
|
On 10/30/10 11:02 AM, James Crook wrote: > On 29/10/2010 18:16, Roger Dannenberg wrote: >> > 4) Effects. I implemented pitch changing and time stretching effects for >> > Note Tracks, but you cannot currently apply the effect to a Note Track >> > alone because effects expect to operate on a Wave track. I suggested we >> > enable effects if ANY type of track has a selection. This means that >> > some effects will do nothing. Are there any objections? > This is for benefit of MIDI tracks? > > Most effects do not make any sense at all for time tracks. > > So my counter suggestion is that 'selection on MIDI track' is treated > exactly as 'selection on wave track' as far as enabling/disabling > effects. Selection on time tracks would be treated as now. > Background: Until recently, effects did nothing to note tracks. This was a problem for SyncLock: if note tracks are automatically dragged around with audio clips, then you would expect that stretching would also maintain synchronization by stretching note data. So now note tracks stretch in sync with audio effects. The same is true of labels. But if a stretch effect operates on labels, why can't you apply that effect independently to labels? Maybe this doesn't sound like a compelling need for labels (although it makes a lot of sense to me); it is more compelling for note tracks. To apply an effect just to notes, effects have to be enabled when only notes are selected, but the flags for describing whether an effect is enabled or not are not adequate for that. Possible fix #1: My suggestion is to change effects to be enabled when anything is selected (use TracksSelectedFlag instead of WaveTracksSelectedFlag), allowing notes, labels, and audio to be stretched, but creating the possibility of "no-op" effects. Possible fix #2: James' idea could be implemented (I think) by changing the meaning of WaveTracksSelectedFlag to "either Wave or Note track is selected" so that effects would become enabled when either a Wave or Note track is selected but not when a label track is selected. This creates the possibility of "no-op" effects on Notes or on a Notes+Label combination, and it prevents stretching labels without also selecting a note or audio track to stretch with them. In fact, current behavior is that if you select a range of labels and "Effect: Change Speed ...", the entire wave track and label track are auto-selected. (Future fix: With more extensive changes, we could enable only effects that would actually do something to whatever is selected.) I think of notes and labels as similar objects, so I would lean toward allowing effects on any track including labels (fix #1). However, either approach appears to require minor changes. |