From 740c428a14ba5fdc2df2be844de553e652d7c35d Mon Sep 17 00:00:00 2001 From: anatoly-os Date: Wed, 22 May 2019 10:31:10 +0200 Subject: [PATCH] Revert "Merge pull request #4538 from MichaelFroelich/68456_fixesPitchBends" This reverts commit 1d5ae8afbb4b83b36558c1e365e8794d170d5065. --- fluid/chan.cpp | 3 +-- libmscore/rendermidi.cpp | 8 ++++---- mscore/exportmidi.cpp | 2 +- mscore/seq.cpp | 4 ++-- mtest/libmscore/midi/testArpeggio-ref.mid | Bin 193 -> 193 bytes mtest/libmscore/midi/testBends1-ref.mid | Bin 1077 -> 1077 bytes mtest/libmscore/midi/testBends2-ref.mid | Bin 1112 -> 1112 bytes ...testInitialKeySigThenRepeatToMeas2-ref.mid | Bin 172 -> 172 bytes .../midi/testRepeatsWithKeySigs-ref.mid | Bin 239 -> 239 bytes ...tRepeatsWithKeySigsExceptFirstMeas-ref.mid | Bin 227 -> 227 bytes .../midi/testSingleNoteDynamics-ref.mid | Bin 5141 -> 5141 bytes .../midi/testTimeStretchFermata-ref.mid | Bin 377 -> 377 bytes mtest/libmscore/midi/testVoltaDynamic-ref.mid | Bin 469 -> 469 bytes .../libmscore/midi/testVoltaStaffText-ref.mid | Bin 474 -> 474 bytes mtest/libmscore/midi/testVoltaTemp-ref.mid | Bin 509 -> 509 bytes synthesizer/event.cpp | 6 ------ synthesizer/event.h | 4 ---- 17 files changed, 8 insertions(+), 19 deletions(-) diff --git a/fluid/chan.cpp b/fluid/chan.cpp index 4f50b6d3eff0..b76c16311b94 100644 --- a/fluid/chan.cpp +++ b/fluid/chan.cpp @@ -21,7 +21,6 @@ #include "fluid.h" #include "sfont.h" #include "gen.h" -#include "synthesizer/event.h" namespace FluidS { @@ -70,7 +69,7 @@ void Channel::initCtrl() key_pressure = 0; channel_pressure = 0; pitch_bend = 0x2000; // Range is 0x4000, pitch bend wheel starts in centered position - pitch_wheel_sensitivity = PITCH_BEND_SENSITIVITY; /* four semi-tones, default for many DAWs */ + pitch_wheel_sensitivity = 12; /* twelve semi-tones */ bank_msb = 0; for (int i = 0; i < GEN_LAST; i++) { diff --git a/libmscore/rendermidi.cpp b/libmscore/rendermidi.cpp index cc10da1430f2..cddd9b1b762e 100644 --- a/libmscore/rendermidi.cpp +++ b/libmscore/rendermidi.cpp @@ -331,9 +331,9 @@ static void collectNote(EventMap* events, int channel, const Note* note, int vel int pitch = pitchValue.pitch; if (pitchIndex == 0 && (pitch == nextPitch.pitch)) { - int midiPitch = midiBendPitch(pitch); - int msb = (midiPitch / 128); - int lsb = (midiPitch % 128); + int midiPitch = (pitch * 16384) / 1200 + 8192; + int msb = midiPitch / 128; + int lsb = midiPitch % 128; NPlayEvent ev(ME_PITCHBEND, channel, lsb, msb); ev.setOriginatingStaff(staffIdx); events->insert(std::pair(lastPointTick, ev)); @@ -358,7 +358,7 @@ static void collectNote(EventMap* events, int channel, const Note* note, int vel int p = pitch + dx * pitchDelta / tickDelta; // We don't support negative pitch, but Midi does. Let's center by adding 8192. - int midiPitch = midiBendPitch(p); + int midiPitch = (p * 16384) / 1200 + 8192; // Representing pitch as two bytes int msb = midiPitch / 128; int lsb = midiPitch % 128; diff --git a/mscore/exportmidi.cpp b/mscore/exportmidi.cpp index f18add8f152a..7892a5b4003c 100644 --- a/mscore/exportmidi.cpp +++ b/mscore/exportmidi.cpp @@ -258,7 +258,7 @@ bool ExportMidi::write(QIODevice* device, bool midiExpandRepeats, bool exportRPN // set pitch bend sensitivity to 12 semitones: track.insert(0, MidiEvent(ME_CONTROLLER, channel, CTRL_LRPN, 0)); track.insert(0, MidiEvent(ME_CONTROLLER, channel, CTRL_HRPN, 0)); - track.insert(0, MidiEvent(ME_CONTROLLER, channel, CTRL_HDATA, PITCH_BEND_SENSITIVITY)); + track.insert(0, MidiEvent(ME_CONTROLLER, channel, CTRL_HDATA, 12)); // reset fine tuning /*track.insert(0, MidiEvent(ME_CONTROLLER, channel, CTRL_LRPN, 1)); diff --git a/mscore/seq.cpp b/mscore/seq.cpp index 112a6aac3a57..9d4e43b7ad5f 100644 --- a/mscore/seq.cpp +++ b/mscore/seq.cpp @@ -987,14 +987,14 @@ void Seq::initInstruments(bool realTime) if (realTime) { putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_LRPN, 0)); putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HRPN, 0)); - putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HDATA, PITCH_BEND_SENSITIVITY)); + putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HDATA,12)); putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_LRPN, 127)); putEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HRPN, 127)); } else { sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_LRPN, 0)); sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HRPN, 0)); - sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HDATA, PITCH_BEND_SENSITIVITY)); + sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HDATA,12)); sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_LRPN, 127)); sendEvent(NPlayEvent(ME_CONTROLLER, channel->channel(), CTRL_HRPN, 127)); } diff --git a/mtest/libmscore/midi/testArpeggio-ref.mid b/mtest/libmscore/midi/testArpeggio-ref.mid index 97d92c0c3c58358c5d89e8c3fba348e2c55b39a4..ce5bb251e1981b08e3f1749bbb054f012c4742e1 100644 GIT binary patch delta 11 ScmX@ec#v^|IU~1nPws zg7g)9gFb?f(l?3UnG2yef(YW>%sK0i@ zw%T3eb~U=R{{60tkPc61n8-=IOQtl=xLDF6(4v5m#0yO8a@~{kAkd?s!)#Evu#9hBrHjTq3^k=ah0N z(4nRoUeX&bw2C90WWdeja+{us~U=xUutzb7ul09Kt{y0p-{$SB+feR>LMPji+f!IrSojZq zIphifGQ>RL;XiYz?W?-0mIIICDyQHF{yjb!h073Ks#x5$A&9W-Wmi8olV z3M0;8XAqQ_3svPGAOA;Y7$%RlF!y(1{4z}OdGYgf#fK4b(E?qN7`@OAq0tn5ksIC7 zAkon#osu5?(lP0 z|B9iUIZU0scKRyXCwf3PB3ZlkRlszECemMXwyqnXB|3|2E}XE3$_YXgTHm~@bLaOU7e z7M1Lem;E)-Na0g`-{oF$QKA`K4AD$3rfBzPYwovWju@dRYM}%&laM@wKXWdR`@9w4 z864)`=3@IxU}Q{TTH&37rLe1T7?_$2e60u84h%$7zQMPF$4X%HB88_W-k3<5a80yK zbWJ?AeC~M*A1u@@>|4-mjN7A3U@DDgf#sNkXciY)baOb(t=M#_Zel+M_xfynf>;GmPk)Fvz!Cq*PGsMQc{=#>VnI+m)KEn}hx!jgiR zOqhUF5;t{PptkcgC?=jmqJY&c-b#7X&DzqOnR8v@+Xr4R4s## zwoWu+5}Ej9Ar~3ROLl6YlKrNhXd%}`X9w{etTfQrMr<2%bvQMgS20z^`-)ES`(@0R z(J3KW^6jh?apqy&L(KCHj=9l3UyP5a4d*2+vevyX@Xf>K-p1wTL30O-?p1G5v}IR* z|K9=+mPI3l43Z%g`xTappUZ0lc?0ZJSSUWlN$}CIM`4NBAl4`BPQt!a44EzBZ~n_O s){JwUW-EA;_gM*I5s|n=CkJaxKC+6sRJ8gp{Og0{Uo%%d?)dJc@z31>9LKvuvO}GZ+yRd{_aV$b2bo>7otc`d2DvRo{QujWY$&H-0PPz z+s*NG)}EXH`A+VxL^wR;xGICO49D{8joi%-q+rUvNS~AM6_LqmAdh0gFmY|dw@|R* z+0d#8t0*~$9h6-}F7z5kHB>xE9Y!73b@=NjG~hL$Z6Mr0$w%y?+(gub-omJb$|fZE z@piH*3Mmq*?}yx*Tuf0cE|w@&E>%&U&Q^nO7aXxNQPe^SWF{eb2tR7wTugW?#j`lf zz01W-mefee#G;9|iP%KZLfJ}8MX9fa)LPF*zM2@cQ;*^#9EO9ogKGyx7av{tE-qaZ zY6-VjL$8Ls2hD@+A@p7`f$}lCGK-&jlNkL2|Oh77$ z9hDZSO>ZP(;sDZt7DC^H-$#4|89+;MibE_MqjCtNhiDh0on*3@LfIQ=*HxkslgPv; z3%SThUb0gIm1yUxe8K25qECp=5T3$|;SXU9P&t8qjBmn%qBY?sO@*9WRNp63FlWTj1%6D5Q|- zaz@2|W#wYCE-mOb*r}{ge2T^NPs1K%C1QhEpR7AlzcCpyTg2b|$}`rCbDU-?c$4>8 i31ShExI`xhYfL_}ipl%w?w|SBrptfL+>W{D1N;G(_T|F> diff --git a/mtest/libmscore/midi/testInitialKeySigThenRepeatToMeas2-ref.mid b/mtest/libmscore/midi/testInitialKeySigThenRepeatToMeas2-ref.mid index 43e98749b35179f9a13bb5ec25c0293d15c62e48..11a9385fb282421d41e6b7f2c3ec3eb61a545d78 100644 GIT binary patch delta 11 ScmZ3(xQ20pIU~ delta 11 ScmaFQ_?~fsIU~zNi|qg!@&qja diff --git a/mtest/libmscore/midi/testRepeatsWithKeySigsExceptFirstMeas-ref.mid b/mtest/libmscore/midi/testRepeatsWithKeySigsExceptFirstMeas-ref.mid index cdb93e3715b50a0395b27676f83835b8b1e2cbc1..23b5b3d6137ac3dbc2611b8b9a3c380dd52a0424 100644 GIT binary patch delta 11 ScmaFN_?U5mIU~