|
|
|
12-10-2012, 11:31 AM
|
#1
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
A Golden Bandaid for Reaper's Achilles' Heel (MIDI Timebase)
Vote, please: http://forum.cockos.com/project.php?issueid=4530
Since recorded MIDI items only respond correctly to timebase after I have manually changed the option in Item Source Properties to ignore project tempo, why not have this as the default behavior?
It just makes sense.
If you haven't seen this problem I'll describe it:
Record a MIDI part without a click. Try changing the project tempo. You will see that regardless of timebase settings, the MIDI items are stretched. You can't align the project tempo to a MIDI item without altering it. If you go into the Item Source Properties and set the 'ignore' option on and type in whatever tempo you were at when you recorded (if you happen to remember what it was), now MIDI stretches only in Beats timebase and not Time timebase, i.e. MIDI items now respond correctly, just not by default.
That's how they should behave by default, no? Devs, please save us some confusion and make it default that items use recorded tempo instead of project tempo.
The main reason it should be default though is that if you've never noticed this problem and decide to mess with your tempo after having split the midi items many times in your project, changing the tempo anywhere will mess up your midi items all over your project and require you to enter Item Source Properties for every single one individually to regain correct behavior.
Also, using the detect tempo actions do not work correctly with MIDI items until you adjust this setting (the tempo is detected for the measure, but the MIDI item will change its length). It's an unnecessary step, IMO.
Thanks!
Proof for the skeptical:
The toolbar buttons are the SWS actions to set project timebase (Beats and Time)
Last edited by foxAsteria; 01-08-2013 at 12:30 PM.
|
|
|
12-10-2012, 12:02 PM
|
#2
|
Human being with feelings
Join Date: Jun 2008
Posts: 4,923
|
Absolutely +1!!
Especially when doing tempo-mapping this drives me nuts.
|
|
|
12-15-2012, 04:29 PM
|
#3
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Such an underwhelming response to such a glaring flaw... Literally, if this was default behavior and the mouse modifiers were complete and worked as intended, I would have exactly zero problems working in Reaper.
Seriously, why do MIDI items disobey timebase by default and require a tedious workaround to behave correctly? If there was an action to make all items ignore project tempo I would not complain.
It's the needless editing of individual item source properties that gets my goat. What if I disguise him as a llama?
|
|
|
12-15-2012, 06:03 PM
|
#4
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 12,110
|
+1
mentioned all your points elsewhere repeatedly.
And to say it again:
I think it's actually wrong (and confusing) to call a timebase 'time' with the current behaviour of MIDI items. As show the repeated upcoming threads from new users about this topic.
Not so sure about changing it as a default though.
Maybe there could be side effects like breaking old projects ?
But this is up to the devs to judge this anyway.
At least an action to set all selected items to 'ignore tempo' as you said makes total sense.
|
|
|
12-15-2012, 07:14 PM
|
#5
|
Human being with feelings
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
|
this is not limited to Reapers MIDI and is a poorly understood problem for most casual MIDI users.
Anyone who knows enough MIDI to realise how important this is should be banging on the drum right along with us.
Surely a small thing, but in the light of the current (apparent) surge in MIDI love from the devs, maybe this needs to be brought to their attention more formally with a FR?
I would almost suggest this is bordering on a bug or at the very least a self-inflicted wound?
|
|
|
12-15-2012, 08:14 PM
|
#6
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by nofish
+1
mentioned all your points elsewhere repeatedly.
|
thanks dude, and ivansc, I made one, put the link in the OP.
I would want it to affect all my old projects, personally, but I could live with it affecting only new items by default (or an all-items action). So in either case, best solution is an added option.
|
|
|
12-16-2012, 03:34 AM
|
#7
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
In audio you can always tell the absolute time of each sample because the sample rate is known. In MIDI you know for each event at which measure/beat/tick it occurs, but not when (in absolute time) this measure/beat/tick position takes place.
That's why the "ignore project tempo..." option needs the "use xxx BPM" component.
A possibility would be to always include a tempo marker with each MIDI Reaper records (actually, to make it work reliably it would need to also include each tempo marker that might be already existing in your project at the time you record), but only use these tempo markers to calculate absolute time when in [timebase = time] mode and disregard them in "Beats" mode. Not sure but I've got the hunch this might be a can full of ugly worms.
|
|
|
12-17-2012, 11:16 PM
|
#8
|
Human being with feelings
Join Date: Jun 2009
Location: Earth
Posts: 1,340
|
Quote:
Originally Posted by PooFox
require you to enter Item Source Properties for every single one individually to regain correct behavior.
|
The following tip is not "A Golden Bandaid", rather more like a bronze bandaid.
To save you some time, what you could do instead of changing every item's properties is first save the project then open the project file in any text editor that has a search and replace function and simply do a search for "IGNTEMPO 0" and replace with "IGNTEMPO 1" and if the text editor has a replace all function which most do.., use that and it should fix the problem within a few seconds. Then just reopen the project in REAPER.
To upgrade this tip to a silver bandaid.., I believe a Reascript could be written that would produce the same result without having to use a text editor. I think using the "SNM_GetSetSourceState()" function would be the ticket. I'm not familiar with using that function or I would try writing the script myself. So if the bronze bandaid does'nt cut it for you then maybe posting in the "JS and ReaScript Discussion" forum would get you what you are looking for. This would require that you have python installed of course.
|
|
|
12-18-2012, 01:01 AM
|
#9
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
I think "SNM_GetSetSourceState()" is still in beta. With the official release we'd have to use Reaper's in-built get/set state functions which can be potentially harmful. But basically it can be done.
You'd still need some reasonable value for the rest of the IGNTEMPO line ("Use [nn] BPM" and the time signature) to set. A good start would be to just use the current (at the time the script is run) project BPM and timesig. But would likely fail as soon as there are tempo/timesig changes already existing.
|
|
|
12-19-2012, 12:54 AM
|
#10
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by Anton9
The following tip is not "A Golden Bandaid", rather more like a bronze bandaid.
To save you some time, what you could do instead of changing every item's properties is first save the project then open the project file in any text editor that has a search and replace function and simply do a search for "IGNTEMPO 0" and replace with "IGNTEMPO 1" and if the text editor has a replace all function which most do.., use that and it should fix the problem within a few seconds. Then just reopen the project in REAPER.
|
That is a really nifty idea. Could be really useful for some projects I have with hundreds of items.
|
|
|
12-19-2012, 04:44 AM
|
#11
|
Human being with feelings
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
|
Quote:
Originally Posted by PooFox
That is a really nifty idea. Could be really useful for some projects I have with hundreds of items.
|
Until there is a ReaScript alternative you could do it using AutoHotkey.
0. saving current project as name_igntempo.rpp
1. replace in name_igntempo.rpp IGNTEMPO 0 with IGNTEMPO 1
2. open name_igntempo.rpp
3. smile!
On whichever project you have you could just press a single key, wait a few seconds, continue working, now with correct behavior.
|
|
|
01-04-2013, 02:13 PM
|
#12
|
Human being with feelings
Join Date: Dec 2011
Posts: 213
|
Just had a rant in another thread about the MIDI and tempo thing.
There are many aspects of the MIDI I find utterly maddening!!! It really lets down the software.
|
|
|
01-04-2013, 03:04 PM
|
#13
|
Human being with feelings
Join Date: Dec 2009
Location: Oblivion
Posts: 10,271
|
Quote:
Originally Posted by dimbow
Just had a rant in another thread about the MIDI and tempo thing.
There are many aspects of the MIDI I find utterly maddening!!! It really lets down the software.
|
Agreed, but voting for FR's is surely more constructive than ranting, no?
|
|
|
01-04-2013, 03:14 PM
|
#14
|
Human being with feelings
Join Date: Sep 2007
Location: The Reflection Free Zone
Posts: 3,026
|
Hi.
I have mapped my share of free time audio + MIDI recordings in Logic and REAPER to know exactly what you are talking about.
The perfectly good reason that 'ignore project tempo' is not the default MIDI item is that REAPER was born in the age of loop based composition.
This form of 'composition' is surely far beneath all of you [/sarcasm] but it is an entry point for newbies. Even some very talented musicians use MIDI loops. Look at the quality of groove monkies stuff.
For this type of sequencing the current default MIDI item properties work perfectly.
Until the time that a newb connects up their MIDI and audio hardware, sucessfuly records a dark, fluid monster with DI'd analogue instruments and MIDI, then says, "hey I think now I'd like to add a loop now, guess I'll need to tempo map this sucker!!" then things don't need to change.
You know that 'really nifty idea' of antons is PURE REAPING genius. PF, admit it!!
Recording MIDI without a click is still not the default MIDI arranging technique, it is currently an advanced technique. Changing the default to 'ignore project tempo' would just cock up REAPER for entry level looping.
Last edited by hamish; 01-04-2013 at 07:53 PM.
Reason: properties
|
|
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 02:42 AM.
|