I agree that "real" ripple editing would be a useful feature. It's something I depend on in Vegas. I think one of the main problems with "Delete Hole" stems from a decision not to cut MIDI notes in the process.
In the spirit of full disclosure, it doesn't affect me that much. I always leave a measure at the beginning to allow for taking a "noiseprint" when mastering. And, my songwriting approach is more modular with grouped clips, so I just move things around on the timeline rather than cutting and such. (This is also why an Arranger function isn't that important to me, songs are created with arranging in mind.) However even though I don't need to Delete Hole often, when I do it takes effort to get it right.
So at this point rather than discuss what doesn't work I think it would be more productive to throw out some solutions. Here's a proposed workflow that hopefully wouldn't be too hard to implement.
- Change "Insert Time/Measures" to "Insert/Remove Time/Measures."
- Place the Now time where you either want to add measures going forward, or remove measures going backward.
- Specify the the number of measures, then specify add or remove. If remove, choose whether to Ripple Edit or just leave the measures blank.
If remove/ripple edit, the previous X number of measures prior to the now time and everything contained in those measures (and to keep this simple I mean
everything, including things like program changes, time signature changes, groove pitch markers, tempo changes, etc.) would be removed and the hole would close up automatically. Again to keep this simple, if MIDI notes cross over the boundaries of the area to be removed, they would be split at the boundaries.
This would assume you would do any "housekeeping" of elements you didn't want removed beforehand, e.g., place a time signature change, key change, etc. just before or after the hole.
Again, there's the standard caveat of "I don't know anything about code" but it seems this "meat cleaver" approach would be the simplest way to implement what people seem to want.