I recorded a midi track (playing along to a record) and didn't listen to the metronome in Logic. Logic had the metronome set to 120 when I played. The actual tempo of the song is 108. When I change the metronome to 108 in Logic, the midi track's length is adjusted. Is there a way to prevent this adjustment? Or a way to manually stretch the track after the adjustment to match it to 108?
I don’t know a lot about these functions but I recorded quarter notes at 108bpm with Logic set to 120 bpm. I did this and Logic changed the tempo to 108, try it:
Select the midi region you recorded at 108.
Go to the “edit” menu and scroll down to tempo.
Under tempo select “apply region tempo to project tempo”.
Hope it works for you.
Just a clarification, when changing the tempo track a midi event time position is not "adjusted". A note falling on bar 2 will continue to fall on bar 2 no matter the BPM. The midi event behaviour is very different from audio tracks.
However, manually stretching of midi events:
Open the track in the "Piano Roll Editor". Select under the menu "Functions" the "Midi Transform" preset "Double Speed" which will open a dialog where you can adjust the factor for position (which will be defaulted 2.0) .
108/120 = 0.9 (dividing by 0,9 will stretch). You can also multiply by 120/108 = 1.111111.
Type the factor 0.9 (N.B: depending on language 0,9 instead of 0.9) in the "Position" and "Length Box" and click "Select and Operate".