aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/MacAU
diff options
context:
space:
mode:
authorChris Johnson <jinx6568@sover.net>2019-01-27 21:13:54 -0500
committerChris Johnson <jinx6568@sover.net>2019-01-27 21:13:54 -0500
commit966f2d253cd2ee6ce140ad68095a20a9d2b63052 (patch)
treeb0400d95bd06512531ade6ddf55190a58b6a5623 /plugins/MacAU
parent0887543349dbbec0721a1fc8b1c7deba9afefa8b (diff)
downloadairwindows-lv2-port-966f2d253cd2ee6ce140ad68095a20a9d2b63052.tar.gz
airwindows-lv2-port-966f2d253cd2ee6ce140ad68095a20a9d2b63052.tar.bz2
airwindows-lv2-port-966f2d253cd2ee6ce140ad68095a20a9d2b63052.zip
Floating Point Dither For All
Diffstat (limited to 'plugins/MacAU')
-rwxr-xr-xplugins/MacAU/ADClip7/ADClip7.cpp23
-rwxr-xr-xplugins/MacAU/ADClip7/ADClip7.h4
-rwxr-xr-xplugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser66
-rwxr-xr-xplugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/ADT/ADT.cpp18
-rwxr-xr-xplugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev328
-rwxr-xr-xplugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp29
-rwxr-xr-xplugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h6
-rwxr-xr-xplugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser31
-rwxr-xr-xplugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.cpp25
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser54
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/Air/Air.cpp29
-rwxr-xr-xplugins/MacAU/Air/Air.h7
-rwxr-xr-xplugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev328
-rwxr-xr-xplugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp19
-rwxr-xr-xplugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser70
-rwxr-xr-xplugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp19
-rwxr-xr-xplugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser86
-rwxr-xr-xplugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/Aura/Aura.cpp27
-rwxr-xr-xplugins/MacAU/Aura/Aura.h4
-rwxr-xr-xplugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser65
-rwxr-xr-xplugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/Average/Average.cpp26
-rwxr-xr-xplugins/MacAU/Average/Average.h5
-rwxr-xr-xplugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser58
-rwxr-xr-xplugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev371
-rwxr-xr-xplugins/MacAU/BassKit/BassKit.cpp28
-rwxr-xr-xplugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser22
-rwxr-xr-xplugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser46
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/Bite/Bite.cpp27
-rwxr-xr-xplugins/MacAU/Bite/Bite.h5
-rwxr-xr-xplugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser18
-rwxr-xr-xplugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev321
-rwxr-xr-xplugins/MacAU/BussColors4/BussColors4.cpp25
-rwxr-xr-xplugins/MacAU/BussColors4/BussColors4.h4
-rwxr-xr-xplugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser46
-rwxr-xr-xplugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/ButterComp/ButterComp.cpp13
-rwxr-xr-xplugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser58
-rwxr-xr-xplugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/ButterComp2/ButterComp2.cpp18
-rwxr-xr-xplugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser22
-rwxr-xr-xplugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/C5RawBuss/C5RawBuss.cpp25
-rwxr-xr-xplugins/MacAU/C5RawBuss/C5RawBuss.h4
-rwxr-xr-xplugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser50
-rwxr-xr-xplugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev382
-rwxr-xr-xplugins/MacAU/C5RawChannel/C5RawChannel.cpp25
-rwxr-xr-xplugins/MacAU/C5RawChannel/C5RawChannel.h4
-rwxr-xr-xplugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser57
-rwxr-xr-xplugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev346
-rwxr-xr-xplugins/MacAU/CStrip/CStrip.cpp27
-rwxr-xr-xplugins/MacAU/CStrip/CStrip.h4
-rwxr-xr-xplugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Capacitor/Capacitor.cpp25
-rwxr-xr-xplugins/MacAU/Capacitor/Capacitor.h4
-rwxr-xr-xplugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/Channel6/Channel6.cpp21
-rwxr-xr-xplugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Chorus/Chorus.cpp27
-rwxr-xr-xplugins/MacAU/Chorus/Chorus.h5
-rwxr-xr-xplugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser36
-rwxr-xr-xplugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp27
-rwxr-xr-xplugins/MacAU/ChorusEnsemble/ChorusEnsemble.h5
-rwxr-xr-xplugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser45
-rwxr-xr-xplugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser16
-rwxr-xr-xplugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev330
-rwxr-xr-xplugins/MacAU/Console4Buss/Console4Buss.cpp26
-rwxr-xr-xplugins/MacAU/Console4Buss/Console4Buss.h5
-rwxr-xr-xplugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/Console4Channel/Console4Channel.cpp26
-rwxr-xr-xplugins/MacAU/Console4Channel/Console4Channel.h5
-rwxr-xr-xplugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser46
-rwxr-xr-xplugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-xplugins/MacAU/Console5Buss/Console5Buss.cpp25
-rwxr-xr-xplugins/MacAU/Console5Buss/Console5Buss.h4
-rwxr-xr-xplugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser50
-rwxr-xr-xplugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev344
-rwxr-xr-xplugins/MacAU/Console5Channel/Console5Channel.cpp25
-rwxr-xr-xplugins/MacAU/Console5Channel/Console5Channel.h4
-rwxr-xr-xplugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev338
-rwxr-xr-xplugins/MacAU/Console5DarkCh/Console5DarkCh.cpp28
-rwxr-xr-xplugins/MacAU/Console5DarkCh/Console5DarkCh.h4
-rwxr-xr-xplugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser28
-rwxr-xr-xplugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp28
-rwxr-xr-xplugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h4
-rwxr-xr-xplugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser55
-rwxr-xr-xplugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Crystal/Crystal.cpp18
-rwxr-xr-xplugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser56
-rwxr-xr-xplugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser18
-rwxr-xr-xplugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/DeEss/DeEss.cpp18
-rwxr-xr-xplugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser28
-rwxr-xr-xplugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev338
-rwxr-xr-xplugins/MacAU/DeRez/DeRez.cpp26
-rwxr-xr-xplugins/MacAU/DeRez/DeRez.h4
-rwxr-xr-xplugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Density/Density.cpp25
-rwxr-xr-xplugins/MacAU/Density/Density.exp2
-rwxr-xr-xplugins/MacAU/Density/Density.h3
-rwxr-xr-xplugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser60
-rwxr-xr-xplugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Desk/Desk.cpp28
-rwxr-xr-xplugins/MacAU/Desk/Desk.h4
-rwxr-xr-xplugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Desk4/Desk4.cpp26
-rwxr-xr-xplugins/MacAU/Desk4/Desk4.h4
-rwxr-xr-xplugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser32
-rwxr-xr-xplugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Distance/Distance.cpp26
-rwxr-xr-xplugins/MacAU/Distance/Distance.exp2
-rwxr-xr-xplugins/MacAU/Distance/Distance.h5
-rwxr-xr-xplugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/Distance2/Distance2.cpp18
-rwxr-xr-xplugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser54
-rwxr-xr-xplugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.cpp255
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.exp1
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.h138
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.r61
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v31358
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser131
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev31506
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj490
-rwxr-xr-xplugins/MacAU/DitherFloat/DitherFloatVersion.h58
-rwxr-xr-xplugins/MacAU/DitherFloat/English.lproj/InfoPlist.stringsbin0 -> 388 bytes
-rwxr-xr-xplugins/MacAU/DitherFloat/Info.plist28
-rwxr-xr-xplugins/MacAU/DitherFloat/version.plist16
-rwxr-xr-xplugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser58
-rwxr-xr-xplugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev376
-rwxr-xr-xplugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp7
-rwxr-xr-xplugins/MacAU/DitherMeTimbers/DitherMeTimbers.h4
-rwxr-xr-xplugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser58
-rwxr-xr-xplugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev328
-rwxr-xr-xplugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser34
-rwxr-xr-xplugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev326
-rwxr-xr-xplugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Drive/Drive.cpp26
-rwxr-xr-xplugins/MacAU/Drive/Drive.exp2
-rwxr-xr-xplugins/MacAU/Drive/Drive.h3
-rwxr-xr-xplugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser68
-rwxr-xr-xplugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/DrumSlam/DrumSlam.cpp27
-rwxr-xr-xplugins/MacAU/DrumSlam/DrumSlam.h3
-rwxr-xr-xplugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser71
-rwxr-xr-xplugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/DubCenter/DubCenter.cpp26
-rwxr-xr-xplugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser32
-rwxr-xr-xplugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-xplugins/MacAU/DubSub/DubSub.cpp19
-rwxr-xr-xplugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser36
-rwxr-xr-xplugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/DustBunny/DustBunny.cpp8
-rwxr-xr-xplugins/MacAU/DustBunny/DustBunny.h2
-rwxr-xr-xplugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser26
-rwxr-xr-xplugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev331
-rwxr-xr-xplugins/MacAU/EQ/EQ.cpp28
-rwxr-xr-xplugins/MacAU/EQ/EQ.h4
-rwxr-xr-xplugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser16
-rwxr-xr-xplugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev327
-rwxr-xr-xplugins/MacAU/EdIsDim/EdIsDim.cpp38
-rwxr-xr-xplugins/MacAU/EdIsDim/EdIsDim.h7
-rwxr-xr-xplugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser46
-rwxr-xr-xplugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/ElectroHat/ElectroHat.cpp25
-rwxr-xr-xplugins/MacAU/ElectroHat/ElectroHat.h4
-rwxr-xr-xplugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser60
-rwxr-xr-xplugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev328
-rwxr-xr-xplugins/MacAU/Energy/Energy.cpp18
-rwxr-xr-xplugins/MacAU/Energy/Energy.h2
-rwxr-xr-xplugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev338
-rwxr-xr-xplugins/MacAU/Ensemble/Ensemble.cpp27
-rwxr-xr-xplugins/MacAU/Ensemble/Ensemble.h5
-rwxr-xr-xplugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/EveryTrim/EveryTrim.cpp40
-rwxr-xr-xplugins/MacAU/EveryTrim/EveryTrim.h8
-rwxr-xr-xplugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser50
-rwxr-xr-xplugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev337
-rwxr-xr-xplugins/MacAU/FathomFive/FathomFive.cpp6
-rwxr-xr-xplugins/MacAU/FathomFive/FathomFive.h1
-rwxr-xr-xplugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser32
-rwxr-xr-xplugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Floor/Floor.cpp18
-rwxr-xr-xplugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser44
-rwxr-xr-xplugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-xplugins/MacAU/Fracture/Fracture.cpp28
-rwxr-xr-xplugins/MacAU/Fracture/Fracture.exp2
-rwxr-xr-xplugins/MacAU/Fracture/Fracture.h4
-rwxr-xr-xplugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser50
-rwxr-xr-xplugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev347
-rwxr-xr-xplugins/MacAU/FromTape/FromTape.cpp25
-rwxr-xr-xplugins/MacAU/FromTape/FromTape.h4
-rwxr-xr-xplugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser49
-rwxr-xr-xplugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev324
-rwxr-xr-xplugins/MacAU/Gatelinked/Gatelinked.cpp34
-rwxr-xr-xplugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser28
-rwxr-xr-xplugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev331
-rwxr-xr-xplugins/MacAU/Gatelope/Gatelope.cpp18
-rwxr-xr-xplugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser38
-rwxr-xr-xplugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev374
-rwxr-xr-xplugins/MacAU/Golem/Golem.cpp45
-rwxr-xr-xplugins/MacAU/Golem/Golem.h7
-rwxr-xr-xplugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.cpp25
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser59
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/GuitarConditioner/GuitarConditioner.cpp25
-rwxr-xr-xplugins/MacAU/GuitarConditioner/GuitarConditioner.h3
-rwxr-xr-xplugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser46
-rwxr-xr-xplugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/HardVacuum/HardVacuum.cpp25
-rwxr-xr-xplugins/MacAU/HardVacuum/HardVacuum.h4
-rwxr-xr-xplugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser30
-rwxr-xr-xplugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev334
-rwxr-xr-xplugins/MacAU/HermeTrim/HermeTrim.cpp40
-rwxr-xr-xplugins/MacAU/HermeTrim/HermeTrim.h7
-rwxr-xr-xplugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/Hermepass/Hermepass.cpp25
-rwxr-xr-xplugins/MacAU/Hermepass/Hermepass.h3
-rwxr-xr-xplugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser30
-rwxr-xr-xplugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev352
-rwxr-xr-xplugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser18
-rwxr-xr-xplugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev322
-rwxr-xr-xplugins/MacAU/HighImpact/HighImpact.cpp28
-rwxr-xr-xplugins/MacAU/HighImpact/HighImpact.h4
-rwxr-xr-xplugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Highpass/Highpass.cpp25
-rwxr-xr-xplugins/MacAU/Highpass/Highpass.h3
-rwxr-xr-xplugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser30
-rwxr-xr-xplugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Hombre/Hombre.cpp31
-rwxr-xr-xplugins/MacAU/Hombre/Hombre.h4
-rwxr-xr-xplugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser24
-rwxr-xr-xplugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev327
-rwxr-xr-xplugins/MacAU/IronOxide5/IronOxide5.cpp30
-rwxr-xr-xplugins/MacAU/IronOxide5/IronOxide5.h7
-rwxr-xr-xplugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser28
-rwxr-xr-xplugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev331
-rwxr-xr-xplugins/MacAU/IronOxideClassic/IronOxideClassic.cpp27
-rwxr-xr-xplugins/MacAU/IronOxideClassic/IronOxideClassic.h3
-rwxr-xr-xplugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Logical4/Logical4.cpp47
-rwxr-xr-xplugins/MacAU/Logical4/Logical4.h6
-rwxr-xr-xplugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev333
-rwxr-xr-xplugins/MacAU/Loud/Loud.cpp25
-rwxr-xr-xplugins/MacAU/Loud/Loud.h4
-rwxr-xr-xplugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser44
-rwxr-xr-xplugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/Lowpass/Lowpass.cpp25
-rwxr-xr-xplugins/MacAU/Lowpass/Lowpass.h3
-rwxr-xr-xplugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser24
-rwxr-xr-xplugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/Melt/Melt.cpp28
-rwxr-xr-xplugins/MacAU/Melt/Melt.h4
-rwxr-xr-xplugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/MidSide/MidSide.cpp40
-rwxr-xr-xplugins/MacAU/MidSide/MidSide.h7
-rwxr-xr-xplugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser44
-rwxr-xr-xplugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/NCSeventeen/NCSeventeen.cpp29
-rwxr-xr-xplugins/MacAU/NCSeventeen/NCSeventeen.h4
-rwxr-xr-xplugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser30
-rwxr-xr-xplugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/Noise/Noise.cpp30
-rwxr-xr-xplugins/MacAU/Noise/Noise.h4
-rwxr-xr-xplugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser20
-rwxr-xr-xplugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev326
-rwxr-xr-xplugins/MacAU/NonlinearSpace/NonlinearSpace.cpp37
-rwxr-xr-xplugins/MacAU/NonlinearSpace/NonlinearSpace.h8
-rwxr-xr-xplugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser32
-rwxr-xr-xplugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev339
-rwxr-xr-xplugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser65
-rwxr-xr-xplugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev326
-rwxr-xr-xplugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser56
-rwxr-xr-xplugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev330
-rwxr-xr-xplugins/MacAU/OneCornerClip/OneCornerClip.cpp27
-rwxr-xr-xplugins/MacAU/OneCornerClip/OneCornerClip.h4
-rwxr-xr-xplugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser34
-rwxr-xr-xplugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev337
-rwxr-xr-xplugins/MacAU/PDBuss/PDBuss.cpp26
-rwxr-xr-xplugins/MacAU/PDBuss/PDBuss.h4
-rwxr-xr-xplugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser54
-rwxr-xr-xplugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev344
-rwxr-xr-xplugins/MacAU/PDChannel/PDChannel.cpp28
-rwxr-xr-xplugins/MacAU/PDChannel/PDChannel.h4
-rwxr-xr-xplugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser40
-rwxr-xr-xplugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser38
-rwxr-xr-xplugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/PhaseNudge/PhaseNudge.cpp28
-rwxr-xr-xplugins/MacAU/PhaseNudge/PhaseNudge.exp2
-rwxr-xr-xplugins/MacAU/PhaseNudge/PhaseNudge.h4
-rwxr-xr-xplugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser28
-rwxr-xr-xplugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev329
-rwxr-xr-xplugins/MacAU/Point/Poynt.cpp27
-rwxr-xr-xplugins/MacAU/Point/Poynt.h3
-rwxr-xr-xplugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser20
-rwxr-xr-xplugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev325
-rwxr-xr-xplugins/MacAU/Pop/Pop.cpp21
-rwxr-xr-xplugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser57
-rwxr-xr-xplugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/PowerSag/PowerSag.cpp28
-rwxr-xr-xplugins/MacAU/PowerSag/PowerSag.h5
-rwxr-xr-xplugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser44
-rwxr-xr-xplugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev335
-rwxr-xr-xplugins/MacAU/Pressure4/Pressure4.cpp38
-rwxr-xr-xplugins/MacAU/Pressure4/Pressure4.h6
-rwxr-xr-xplugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-xplugins/MacAU/Pressure4Mono/Pressure4Mono.cpp26
-rwxr-xr-xplugins/MacAU/Pressure4Mono/Pressure4Mono.h3
-rwxr-xr-xplugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp28
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser77
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev392
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj0
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp28
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser57
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev342
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj0
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestDrive/PurestDrive.cpp25
-rwxr-xr-xplugins/MacAU/PurestDrive/PurestDrive.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser0
-rwxr-xr-xplugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev379
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/PurestEcho/PurestEcho.cpp28
-rwxr-xr-xplugins/MacAU/PurestEcho/PurestEcho.h4
-rwxr-xr-xplugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev340
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestGain/PurestGain.cpp42
-rwxr-xr-xplugins/MacAU/PurestGain/PurestGain.h5
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev348
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/PurestWarm/PurestWarm.cpp59
-rwxr-xr-xplugins/MacAU/PurestWarm/PurestWarm.h4
-rwxr-xr-xplugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser85
-rwxr-xr-xplugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev386
-rwxr-xr-xplugins/MacAU/Pyewacket/Pyewacket.cpp37
-rwxr-xr-xplugins/MacAU/Pyewacket/Pyewacket.h7
-rwxr-xr-xplugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser53
-rwxr-xr-xplugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev354
-rwxr-xr-xplugins/MacAU/PyewacketMono/PyewacketMono.cpp23
-rwxr-xr-xplugins/MacAU/PyewacketMono/PyewacketMono.h4
-rwxr-xr-xplugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser54
-rwxr-xr-xplugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-xplugins/MacAU/Righteous4/Righteous4.cpp18
-rwxr-xr-xplugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser69
-rwxr-xr-xplugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev324
-rwxr-xr-xplugins/MacAU/SideDull/SideDull.cpp41
-rwxr-xr-xplugins/MacAU/SideDull/SideDull.h7
-rwxr-xr-xplugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser70
-rwxr-xr-xplugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev353
-rwxr-xr-xplugins/MacAU/Sidepass/Sidepass.cpp43
-rwxr-xr-xplugins/MacAU/Sidepass/Sidepass.h7
-rwxr-xr-xplugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev348
-rwxr-xr-xplugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp18
-rwxr-xr-xplugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser69
-rwxr-xr-xplugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev357
-rwxr-xr-xplugins/MacAU/Slew/Slew.cpp7
-rwxr-xr-xplugins/MacAU/Slew/Slew.exp2
-rwxr-xr-xplugins/MacAU/Slew/Slew.h25
-rwxr-xr-xplugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser76
-rwxr-xr-xplugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev348
-rwxr-xr-xplugins/MacAU/Slew2/Slew2.cpp8
-rwxr-xr-xplugins/MacAU/Slew2/Slew2.h2
-rwxr-xr-xplugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser55
-rwxr-xr-xplugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev356
-rwxr-xr-xplugins/MacAU/SlewOnly/SlewOnly.cpp8
-rwxr-xr-xplugins/MacAU/SlewOnly/SlewOnly.exp2
-rwxr-xr-xplugins/MacAU/SlewOnly/SlewOnly.h1
-rwxr-xr-xplugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser83
-rwxr-xr-xplugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev353
-rwxr-xr-xplugins/MacAU/Spiral/Spiral.cpp18
-rwxr-xr-xplugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser75
-rwxr-xr-xplugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev352
-rwxr-xr-xplugins/MacAU/Spiral2/Spiral2.cpp18
-rwxr-xr-xplugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser74
-rwxr-xr-xplugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/StarChild/StarChild.cpp44
-rwxr-xr-xplugins/MacAU/StarChild/StarChild.h13
-rwxr-xr-xplugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser59
-rwxr-xr-xplugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev352
-rwxr-xr-xplugins/MacAU/StereoFX/StereoFX.cpp39
-rwxr-xr-xplugins/MacAU/StereoFX/StereoFX.h6
-rwxr-xr-xplugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser53
-rwxr-xr-xplugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev356
-rwxr-xr-xplugins/MacAU/SubsOnly/SubsOnly.cpp9
-rwxr-xr-xplugins/MacAU/SubsOnly/SubsOnly.exp2
-rwxr-xr-xplugins/MacAU/SubsOnly/SubsOnly.h1
-rwxr-xr-xplugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser61
-rwxr-xr-xplugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev355
-rwxr-xr-xplugins/MacAU/Surge/Surge.cpp40
-rwxr-xr-xplugins/MacAU/Surge/Surge.h7
-rwxr-xr-xplugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser55
-rwxr-xr-xplugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev356
-rwxr-xr-xplugins/MacAU/SurgeMono/SurgeMono.cpp29
-rwxr-xr-xplugins/MacAU/SurgeMono/SurgeMono.h4
-rwxr-xr-xplugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev341
-rwxr-xr-xplugins/MacAU/SurgeTide/SurgeTide.cpp42
-rwxr-xr-xplugins/MacAU/SurgeTide/SurgeTide.h7
-rwxr-xr-xplugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser84
-rwxr-xr-xplugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev346
-rwxr-xr-xplugins/MacAU/SurgeTideMono/SurgeTideMono.cpp29
-rwxr-xr-xplugins/MacAU/SurgeTideMono/SurgeTideMono.h4
-rwxr-xr-xplugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser66
-rwxr-xr-xplugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev353
-rwxr-xr-xplugins/MacAU/Swell/Swell.cpp28
-rwxr-xr-xplugins/MacAU/Swell/Swell.h5
-rwxr-xr-xplugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser67
-rwxr-xr-xplugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev351
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser0
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/TapeDelay/TapeDelay.cpp18
-rwxr-xr-xplugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser69
-rwxr-xr-xplugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev336
-rwxr-xr-xplugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev330
-rwxr-xr-xplugins/MacAU/TapeDust/TapeDust.cpp27
-rwxr-xr-xplugins/MacAU/TapeDust/TapeDust.h3
-rwxr-xr-xplugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser66
-rwxr-xr-xplugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev359
-rwxr-xr-xplugins/MacAU/TapeFat/TapeFat.cpp18
-rwxr-xr-xplugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser80
-rwxr-xr-xplugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-xplugins/MacAU/Thunder/Thunder.cpp39
-rwxr-xr-xplugins/MacAU/Thunder/Thunder.h6
-rwxr-xr-xplugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser77
-rwxr-xr-xplugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev354
-rwxr-xr-xplugins/MacAU/ToTape5/ToTape5.cpp30
-rwxr-xr-xplugins/MacAU/ToTape5/ToTape5.h5
-rwxr-xr-xplugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser63
-rwxr-xr-xplugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev350
-rwxr-xr-xplugins/MacAU/ToVinyl4/ToVinyl4.cpp40
-rwxr-xr-xplugins/MacAU/ToVinyl4/ToVinyl4.h9
-rwxr-xr-xplugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser53
-rwxr-xr-xplugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev346
-rwxr-xr-xplugins/MacAU/ToneSlant/ToneSlant.cpp26
-rwxr-xr-xplugins/MacAU/ToneSlant/ToneSlant.h4
-rwxr-xr-xplugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-xplugins/MacAU/TransDesk/TransDesk.cpp27
-rwxr-xr-xplugins/MacAU/TransDesk/TransDesk.h4
-rwxr-xr-xplugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser54
-rwxr-xr-xplugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-xplugins/MacAU/Tremolo/Tremolo.cpp27
-rwxr-xr-xplugins/MacAU/Tremolo/Tremolo.h5
-rwxr-xr-xplugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser53
-rwxr-xr-xplugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev352
-rwxr-xr-xplugins/MacAU/TubeDesk/TubeDesk.cpp26
-rwxr-xr-xplugins/MacAU/TubeDesk/TubeDesk.h4
-rwxr-xr-xplugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser62
-rwxr-xr-xplugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev347
-rwxr-xr-xplugins/MacAU/UnBox/UnBox.cpp20
-rwxr-xr-xplugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser70
-rwxr-xr-xplugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev352
-rwxr-xr-xplugins/MacAU/VariMu/VariMu.cpp13
-rwxr-xr-xplugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser42
-rwxr-xr-xplugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev353
-rwxr-xr-xplugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp25
-rwxr-xr-xplugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h4
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v30
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser73
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev349
-rwxr-xr-x[-rw-r--r--]plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj0
-rwxr-xr-xplugins/MacAU/Wider/Wider.cpp39
-rwxr-xr-xplugins/MacAU/Wider/Wider.h7
-rwxr-xr-xplugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser73
-rwxr-xr-xplugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev346
-rwxr-xr-xplugins/MacAU/uLawDecode/uLawDecode.cpp18
-rwxr-xr-xplugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser61
-rwxr-xr-xplugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev348
-rwxr-xr-xplugins/MacAU/uLawEncode/uLawEncode.cpp18
-rwxr-xr-xplugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser64
-rwxr-xr-xplugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev357
529 files changed, 11437 insertions, 8692 deletions
diff --git a/plugins/MacAU/ADClip7/ADClip7.cpp b/plugins/MacAU/ADClip7/ADClip7.cpp
index 688c254..4835b0f 100755
--- a/plugins/MacAU/ADClip7/ADClip7.cpp
+++ b/plugins/MacAU/ADClip7/ADClip7.cpp
@@ -205,9 +205,7 @@ void ADClip7::ADClip7Kernel::Reset()
refclip = 0.99;
iirLowsA = 0.0;
iirLowsB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -225,7 +223,6 @@ void ADClip7::ADClip7Kernel::Process( const Float32 *inSourceP,
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
Float64 fpOld = 0.618033988749894848204586; //golden ratio!
Float64 fpNew = 1.0 - fpOld;
@@ -479,19 +476,11 @@ void ADClip7::ADClip7Kernel::Process( const Float32 *inSourceP,
if (inputSample < -refclip) inputSample = -refclip;
//final iron bar
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/ADClip7/ADClip7.h b/plugins/MacAU/ADClip7/ADClip7.h
index 5388f80..215cc2c 100755
--- a/plugins/MacAU/ADClip7/ADClip7.h
+++ b/plugins/MacAU/ADClip7/ADClip7.h
@@ -148,9 +148,7 @@ public:
Float64 iirLowsA;
Float64 iirLowsB;
long double refclip;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser
index 6d857bb..941868c 100755
--- a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.pbxuser
@@ -49,55 +49,45 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538004990;
- PBXWorkspaceStateSaveDate = 538004990;
+ PBXPerProjectTemplateStateSaveDate = 569587824;
+ PBXWorkspaceStateSaveDate = 569587824;
};
perUserProjectItems = {
- 8B79CD0220114E0500E8A187 /* PBXTextBookmark */ = 8B79CD0220114E0500E8A187 /* PBXTextBookmark */;
- 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */ = 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */;
- 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */ = 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */;
+ 8B79272821F33919006E9731 /* PBXTextBookmark */ = 8B79272821F33919006E9731 /* PBXTextBookmark */;
+ 8B79273321F33979006E9731 /* PBXTextBookmark */ = 8B79273321F33979006E9731 /* PBXTextBookmark */;
8BAC117C1F8245C00066CBCE /* PlistBookmark */ = 8BAC117C1F8245C00066CBCE /* PlistBookmark */;
+ 8BBB330321C4563C00825986 /* PBXTextBookmark */ = 8BBB330321C4563C00825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B79CD0220114E0500E8A187 /* PBXTextBookmark */ = {
+ 8B79272821F33919006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */;
- name = "ADClip7.h: 58";
- rLen = 0;
- rLoc = 2914;
- rType = 0;
- vrLen = 231;
- vrLoc = 2754;
- };
- 8B7B31211F8EA92200DC6305 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */;
- name = "ADClip7.h: 58";
- rLen = 0;
- rLoc = 2914;
+ fRef = 8BA05A660720730100365D66 /* ADClip7.cpp */;
+ name = "ADClip7.cpp: 205";
+ rLen = 7;
+ rLoc = 9006;
rType = 0;
- vrLen = 253;
- vrLoc = 2732;
+ vrLen = 261;
+ vrLoc = 9866;
};
- 8B80DAAF1F83179100B72A72 /* PBXTextBookmark */ = {
+ 8B79273321F33979006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ADClip7.cpp */;
name = "ADClip7.cpp: 205";
rLen = 7;
rLoc = 9006;
rType = 0;
- vrLen = 372;
- vrLoc = 9703;
+ vrLen = 215;
+ vrLoc = 9864;
};
8BA05A660720730100365D66 /* ADClip7.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {980, 7163}}";
- sepNavSelRange = "{18297, 0}";
- sepNavVisRange = "{17647, 1478}";
- sepNavWindowFrame = "{{335, 43}, {1027, 835}}";
+ sepNavIntBoundsRect = "{{0, 0}, {572, 6513}}";
+ sepNavSelRange = "{9006, 7}";
+ sepNavVisRange = "{9864, 215}";
+ sepNavWindowFrame = "{{327, 43}, {1027, 835}}";
};
};
8BA05A690720730100365D66 /* ADClip7Version.h */ = {
@@ -120,12 +110,22 @@
rLen = 0;
rLoc = 9223372036854775808;
};
+ 8BBB330321C4563C00825986 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* ADClip7.h */;
+ name = "ADClip7.h: 58";
+ rLen = 0;
+ rLoc = 2914;
+ rType = 0;
+ vrLen = 229;
+ vrLoc = 2756;
+ };
8BC6025B073B072D006C4272 /* ADClip7.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 2197}}";
- sepNavSelRange = "{2914, 0}";
- sepNavVisRange = "{2754, 231}";
- sepNavWindowFrame = "{{859, 43}, {1027, 835}}";
+ sepNavIntBoundsRect = "{{0, 0}, {980, 2132}}";
+ sepNavSelRange = "{5842, 0}";
+ sepNavVisRange = "{4309, 1634}";
+ sepNavWindowFrame = "{{413, 43}, {1027, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3
index 7b3b431..186a188 100755
--- a/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ADClip7/ADClip7.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 170 841 654 0 0 1440 878 </string>
+ <string>391 159 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>ADClip7.h</string>
+ <string>ADClip7.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,16 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>ADClip7.h</string>
+ <string>ADClip7.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B79CD0220114E0500E8A187</string>
+ <string>8B79273321F33979006E9731</string>
<key>history</key>
<array>
<string>8BAC117C1F8245C00066CBCE</string>
- <string>8B80DAAF1F83179100B72A72</string>
- <string>8B7B31211F8EA92200DC6305</string>
+ <string>8BBB330321C4563C00825986</string>
+ <string>8B79272821F33919006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 126}}</string>
+ <string>{{0, 0}, {531, 92}}</string>
<key>RubberWindowFrame</key>
- <string>599 170 841 654 0 0 1440 878 </string>
+ <string>391 159 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>126pt</string>
+ <string>92pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>482pt</string>
+ <string>516pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 455}}</string>
- <key>RubberWindowFrame</key>
- <string>599 170 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 489}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
+ <string>{{10, 27}, {531, 489}}</string>
+ <key>RubberWindowFrame</key>
+ <string>391 159 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B79CD0320114E0500E8A187</string>
+ <string>8B79273421F33979006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B79CD0420114E0500E8A187</string>
+ <string>8B79273521F33979006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B79CD0520114E0500E8A187</string>
+ <string>8B79273621F33979006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538004997.98427904</real>
+ <real>569588089.57457805</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,10 +674,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B79273721F33979006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ADClip7/ADClip7.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 170 841 654 0 0 1440 878 </string>
+ <string>391 159 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ADT/ADT.cpp b/plugins/MacAU/ADT/ADT.cpp
index b12c056..098adaa 100755
--- a/plugins/MacAU/ADT/ADT.cpp
+++ b/plugins/MacAU/ADT/ADT.cpp
@@ -317,23 +317,15 @@ void ADT::ADTKernel::Process( const Float32 *inSourceP,
if (output < 1.0) inputSample *= output;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser
index 2f05153..3d176d1 100755
--- a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.pbxuser
@@ -49,12 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561258474;
- PBXWorkspaceStateSaveDate = 561258474;
+ PBXPerProjectTemplateStateSaveDate = 569588119;
+ PBXWorkspaceStateSaveDate = 569588119;
};
perUserProjectItems = {
8B15DB8E21742E37007AD769 /* PlistBookmark */ = 8B15DB8E21742E37007AD769 /* PlistBookmark */;
- 8BE627BC215F0C7700E4E476 /* PlistBookmark */ = 8BE627BC215F0C7700E4E476 /* PlistBookmark */;
+ 8B79275021F339F0006E9731 /* PlistBookmark */ = 8B79275021F339F0006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -72,12 +72,24 @@
rLen = 0;
rLoc = 0;
};
+ 8B79275021F339F0006E9731 /* PlistBookmark */ = {
+ isa = PlistBookmark;
+ fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
+ fallbackIsa = PBXBookmark;
+ isK = 0;
+ kPath = (
+ CFBundleName,
+ );
+ name = /Users/christopherjohnson/Desktop/MacAU/ADT/Info.plist;
+ rLen = 0;
+ rLoc = 0;
+ };
8BA05A660720730100365D66 /* ADT.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {719, 4563}}";
- sepNavSelRange = "{14352, 0}";
- sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{701, 68}, {890, 810}}";
+ sepNavIntBoundsRect = "{{0, 0}, {843, 4654}}";
+ sepNavSelRange = "{13854, 0}";
+ sepNavVisRange = "{12187, 1670}";
+ sepNavWindowFrame = "{{396, 68}, {890, 810}}";
};
};
8BA05A690720730100365D66 /* ADTVersion.h */ = {
@@ -92,8 +104,8 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}";
sepNavSelRange = "{5711, 0}";
- sepNavVisRange = "{2516, 1388}";
- sepNavWindowFrame = "{{712, 68}, {890, 810}}";
+ sepNavVisRange = "{4340, 1557}";
+ sepNavWindowFrame = "{{550, 68}, {890, 810}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
@@ -110,18 +122,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BE627BC215F0C7700E4E476 /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/ADT/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775808;
- };
8D01CCC60486CAD60068D4B7 /* ADT */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3
index fb2f9be..4fab981 100755
--- a/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ADT/ADT.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>653</integer>
+ <integer>653</integer>
</array>
<key>Perspectives</key>
<array>
@@ -324,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>775 349 653 504 0 0 1440 878 </string>
+ <string>597 292 653 504 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B15DB8E21742E37007AD769</string>
+ <string>8B79275021F339F0006E9731</string>
<key>history</key>
<array>
- <string>8BE627BC215F0C7700E4E476</string>
+ <string>8B15DB8E21742E37007AD769</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,7 +371,7 @@
<key>Frame</key>
<string>{{0, 0}, {343, 0}}</string>
<key>RubberWindowFrame</key>
- <string>775 349 653 504 0 0 1440 878 </string>
+ <string>597 292 653 504 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -395,8 +395,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {343, 431}}</string>
- <key>RubberWindowFrame</key>
- <string>775 349 653 504 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {343, 431}}</string>
+ <key>RubberWindowFrame</key>
+ <string>597 292 653 504 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B15DB7F21741FEB007AD769</string>
+ <string>8B79274221F339AE006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B15DB8021741FEB007AD769</string>
+ <string>8B79274321F339AE006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B15DB8121741FEB007AD769</string>
+ <string>8B79274421F339AE006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -655,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561262135.87675905</real>
+ <real>569588208.91309297</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,7 +675,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/ADT/ADT.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>775 349 653 504 0 0 1440 878 </string>
+ <string>597 292 653 504 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp
index 9fbaade..8d93557 100755
--- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp
+++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.cpp
@@ -181,10 +181,7 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Reset()
iirSampleC = 0.0;
iirSampleD = 0.0;
flip = false;
- demotimer = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -227,9 +224,6 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP
Float64 outputSample;
bool clipOnset;
Float64 drySample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -430,21 +424,7 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP
inputSample += (((lastOutSample + lastOut2Sample + lastOut3Sample) / 3.6)*lpDepth);
}
if (lpDepth < 0.0) lpDepth = 0.0;
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output, hasn't been applied yet
-
+
inputSample *= (1.0-maxRecent);
inputSample += (passThrough * maxRecent);
//there's our raw signal, without antialiasing. Brings up low level stuff and softens more when hot
@@ -453,6 +433,11 @@ void AQuickVoiceClip::AQuickVoiceClipKernel::Process( const Float32 *inSourceP
if (inputSample < -cliplevel) inputSample = -cliplevel;
//final iron bar
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h
index ef284bd..5cb485a 100755
--- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h
+++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.h
@@ -158,11 +158,7 @@ public:
Float64 iirSampleC;
Float64 iirSampleD;
bool flip;
- int demotimer;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser
index f98240c..ec97115 100755
--- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.pbxuser
@@ -49,29 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421130;
- PBXWorkspaceStateSaveDate = 528421130;
+ PBXPerProjectTemplateStateSaveDate = 569588500;
+ PBXWorkspaceStateSaveDate = 569588500;
};
perUserProjectItems = {
- 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */ = 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */;
- 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */ = 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */;
+ 8B79277E21F33BC7006E9731 /* PBXTextBookmark */ = 8B79277E21F33BC7006E9731 /* PBXTextBookmark */;
8B9D72B61F7F1114007AB60F /* PBXTextBookmark */ = 8B9D72B61F7F1114007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B65E4DA1EFF50F700DF9573 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* AQuickVoiceClip.cpp */;
- name = "AQuickVoiceClip.cpp: 420";
- rLen = 0;
- rLoc = 16700;
- rType = 0;
- vrLen = 137;
- vrLoc = 14995;
- };
- 8B9D72231F7EFB95007AB60F /* PBXTextBookmark */ = {
+ 8B79277E21F33BC7006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* AQuickVoiceClipVersion.h */;
name = "AQuickVoiceClipVersion.h: 54";
@@ -93,9 +82,9 @@
};
8BA05A660720730100365D66 /* AQuickVoiceClip.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1468, 5785}}";
- sepNavSelRange = "{11331, 0}";
- sepNavVisRange = "{9752, 2750}";
+ sepNavIntBoundsRect = "{{0, 0}, {1104, 6604}}";
+ sepNavSelRange = "{16734, 0}";
+ sepNavVisRange = "{15329, 1491}";
sepNavWindowFrame = "{{175, 59}, {1151, 803}}";
};
};
@@ -109,9 +98,9 @@
};
8BC6025B073B072D006C4272 /* AQuickVoiceClip.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1104, 2236}}";
- sepNavSelRange = "{5418, 0}";
- sepNavVisRange = "{1999, 1702}";
+ sepNavIntBoundsRect = "{{0, 0}, {1104, 2392}}";
+ sepNavSelRange = "{5940, 0}";
+ sepNavVisRange = "{4794, 1256}";
sepNavWindowFrame = "{{16, 57}, {1151, 803}}";
};
};
diff --git a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3
index 278e871..e2f0f99 100755
--- a/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -352,11 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D72B61F7F1114007AB60F</string>
+ <string>8B79277E21F33BC7006E9731</string>
<key>history</key>
<array>
- <string>8B65E4DA1EFF50F700DF9573</string>
- <string>8B9D72231F7EFB95007AB60F</string>
+ <string>8B9D72B61F7F1114007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {567, 13}}</string>
+ <string>{{0, 0}, {567, 0}}</string>
<key>RubberWindowFrame</key>
<string>218 365 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>13pt</string>
+ <string>0pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>441pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {567, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>218 365 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {567, 414}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {567, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>218 365 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D72B71F7F1114007AB60F</string>
+ <string>8B79277F21F33BC7006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D72B81F7F1114007AB60F</string>
+ <string>8B79278021F33BC7006E9731</string>
<string>8B81AD171E85459D00889355</string>
- <string>8B9D72B91F7F1114007AB60F</string>
+ <string>8B79278121F33BC7006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421140.86927599</real>
+ <real>569588679.18826604</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,7 +650,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D72BA1F7F1114007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/AQuickVoiceClip/AQuickVoiceClip.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/Acceleration/Acceleration.cpp b/plugins/MacAU/Acceleration/Acceleration.cpp
index d389d62..3fe259b 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.cpp
+++ b/plugins/MacAU/Acceleration/Acceleration.cpp
@@ -170,9 +170,7 @@ void Acceleration::AccelerationKernel::Reset()
s1L = s2L = s3L = 0.0;
o1L = o2L = o3L = 0.0;
m1L = m2L = desL = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -190,9 +188,6 @@ void Acceleration::AccelerationKernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 intensity = pow(GetParameter( kParam_One ),3)*(32/overallscale);
Float64 wet = GetParameter( kParam_Two );
@@ -262,19 +257,11 @@ void Acceleration::AccelerationKernel::Process( const Float32 *inSourceP,
}
//Dry/Wet control, defaults to the last slider
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Acceleration/Acceleration.h b/plugins/MacAU/Acceleration/Acceleration.h
index 57d3b4b..ba5bfd4 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.h
+++ b/plugins/MacAU/Acceleration/Acceleration.h
@@ -138,9 +138,7 @@ public:
Float64 m1L;
Float64 m2L;
Float64 desL;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser
index f49c30b..0c19d54 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.pbxuser
@@ -49,28 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538705190;
- PBXWorkspaceStateSaveDate = 538705190;
+ PBXPerProjectTemplateStateSaveDate = 569587589;
+ PBXWorkspaceStateSaveDate = 569587589;
};
perUserProjectItems = {
- 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */ = 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */;
8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */ = 8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */;
- 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */ = 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */;
+ 8B79271221F3383E006E9731 /* PBXTextBookmark */ = 8B79271221F3383E006E9731 /* PBXTextBookmark */;
+ 8B79271721F3384E006E9731 /* PBXTextBookmark */ = 8B79271721F3384E006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4E5812201C02EE00B5DC2A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */;
- name = "Acceleration.cpp: 239";
- rLen = 0;
- rLoc = 10522;
- rType = 0;
- vrLen = 447;
- vrLoc = 10210;
- };
8B6FC0BF20114A1C003CA5F7 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -83,22 +73,32 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B79CCF320114DBD00E8A187 /* PBXTextBookmark */ = {
+ 8B79271221F3383E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */;
+ name = "Acceleration.cpp: 234";
+ rLen = 0;
+ rLoc = 10370;
+ rType = 0;
+ vrLen = 269;
+ vrLoc = 10290;
+ };
+ 8B79271721F3384E006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Acceleration.cpp */;
- name = "Acceleration.cpp: 239";
+ name = "Acceleration.cpp: 234";
rLen = 0;
- rLoc = 10522;
+ rLoc = 10370;
rType = 0;
- vrLen = 488;
- vrLoc = 10210;
+ vrLen = 269;
+ vrLoc = 10290;
};
8BA05A660720730100365D66 /* Acceleration.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 3718}}";
- sepNavSelRange = "{10522, 0}";
- sepNavVisRange = "{10210, 447}";
- sepNavWindowFrame = "{{537, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {684, 3666}}";
+ sepNavSelRange = "{10370, 0}";
+ sepNavVisRange = "{10290, 269}";
+ sepNavWindowFrame = "{{378, 39}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* AccelerationVersion.h */ = {
@@ -111,10 +111,10 @@
};
8BC6025B073B072D006C4272 /* Acceleration.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1950}}";
- sepNavSelRange = "{5229, 159}";
- sepNavVisRange = "{1351, 2063}";
- sepNavWindowFrame = "{{642, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
+ sepNavSelRange = "{5413, 0}";
+ sepNavVisRange = "{3998, 1517}";
+ sepNavWindowFrame = "{{545, 39}, {895, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3
index 2851941..f284420 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>583 224 841 654 0 0 1440 878 </string>
+ <string>354 224 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E5812201C02EE00B5DC2A</string>
+ <string>8B79271721F3384E006E9731</string>
<key>history</key>
<array>
<string>8B6FC0BF20114A1C003CA5F7</string>
- <string>8B79CCF320114DBD00E8A187</string>
+ <string>8B79271221F3383E006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
- <string>583 224 841 654 0 0 1440 878 </string>
+ <string>354 224 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>583 224 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>354 224 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5813201C02EE00B5DC2A</string>
+ <string>8B79271821F3384E006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5814201C02EE00B5DC2A</string>
+ <string>8B79271921F3384E006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E5815201C02EE00B5DC2A</string>
+ <string>8B79271A21F3384E006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538706670.20774806</real>
+ <real>569587790.455778</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4E5816201C02EE00B5DC2A</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Acceleration/Acceleration.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>583 224 841 654 0 0 1440 878 </string>
+ <string>354 224 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj
index 7755ccf..7755ccf 100644..100755
--- a/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/Acceleration/Acceleration.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/Air/Air.cpp b/plugins/MacAU/Air/Air.cpp
index 716f907..7ba3efe 100755
--- a/plugins/MacAU/Air/Air.cpp
+++ b/plugins/MacAU/Air/Air.cpp
@@ -222,11 +222,7 @@ void Air::AirKernel::Reset()
tripletC = 0.0;
tripletFactor = 0.0;
count = 1;
-
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
-
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -254,11 +250,6 @@ void Air::AirKernel::Process( const Float32 *inSourceP,
Float64 wet = GetParameter( kParam_Six );
Float64 dry = 1.0-wet;
-
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
- Float32 fpTemp;
-
long double inputSample;
Float64 drySample;
Float64 correction;
@@ -399,19 +390,11 @@ void Air::AirKernel::Process( const Float32 *inSourceP,
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
-
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
destP += inNumChannels;
diff --git a/plugins/MacAU/Air/Air.h b/plugins/MacAU/Air/Air.h
index 571b8ac..6dcd06c 100755
--- a/plugins/MacAU/Air/Air.h
+++ b/plugins/MacAU/Air/Air.h
@@ -164,12 +164,7 @@ public:
Float64 tripletC;
Float64 tripletFactor;
int count;
-
-
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
-
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser
index 2af057b..3a436a8 100755
--- a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.pbxuser
@@ -49,34 +49,34 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421060;
- PBXWorkspaceStateSaveDate = 528421060;
+ PBXPerProjectTemplateStateSaveDate = 569588293;
+ PBXWorkspaceStateSaveDate = 569588293;
};
perUserProjectItems = {
- 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */ = 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */;
- 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */ = 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */;
+ 8B79276221F33AB6006E9731 /* PBXTextBookmark */ = 8B79276221F33AB6006E9731 /* PBXTextBookmark */;
+ 8B79276821F33AE6006E9731 /* PBXTextBookmark */ = 8B79276821F33AE6006E9731 /* PBXTextBookmark */;
8B9F0C261EB403E000D3B900 /* PBXTextBookmark */ = 8B9F0C261EB403E000D3B900 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D72161F7EFB8B007AB60F /* PBXTextBookmark */ = {
+ 8B79276221F33AB6006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Air.cpp */;
- name = "Air.cpp: 397";
+ name = "Air.cpp: 394";
rLen = 0;
- rLoc = 15339;
+ rLoc = 15189;
rType = 0;
- vrLen = 94;
- vrLoc = 14078;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B9D72A71F7F10F4007AB60F /* PBXTextBookmark */ = {
+ 8B79276821F33AE6006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Air.cpp */;
- name = "Air.cpp: 398";
+ name = "Air.cpp: 389";
rLen = 0;
- rLoc = 15339;
+ rLoc = 15189;
rType = 0;
vrLen = 0;
vrLoc = 0;
@@ -86,17 +86,17 @@
fRef = 8BC6025B073B072D006C4272 /* Air.h */;
name = "Air.h: 169";
rLen = 0;
- rLoc = 6210;
+ rLoc = 6204;
rType = 0;
vrLen = 107;
vrLoc = 6071;
};
8BA05A660720730100365D66 /* Air.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 5512}}";
- sepNavSelRange = "{15339, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 5421}}";
+ sepNavSelRange = "{15189, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{255, 66}, {1145, 812}}";
+ sepNavWindowFrame = "{{152, 66}, {1145, 812}}";
};
};
8BA05A690720730100365D66 /* AirVersion.h */ = {
@@ -109,10 +109,10 @@
};
8BC6025B073B072D006C4272 /* Air.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 2574}}";
- sepNavSelRange = "{6210, 0}";
- sepNavVisRange = "{6071, 107}";
- sepNavWindowFrame = "{{505, 39}, {1053, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 2483}}";
+ sepNavSelRange = "{6190, 0}";
+ sepNavVisRange = "{5126, 1198}";
+ sepNavWindowFrame = "{{387, 39}, {1053, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3
index f7348cf..c4d0cd5 100755
--- a/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Air/Air.xcodeproj/christopherjohnson.perspectivev3
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D72A71F7F10F4007AB60F</string>
+ <string>8B79276821F33AE6006E9731</string>
<key>history</key>
<array>
<string>8B9F0C261EB403E000D3B900</string>
- <string>8B9D72161F7EFB8B007AB60F</string>
+ <string>8B79276221F33AB6006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 32}}</string>
+ <string>{{0, 0}, {603, 13}}</string>
<key>RubberWindowFrame</key>
<string>484 346 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>32pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>409pt</string>
+ <string>428pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 382}}</string>
- <key>RubberWindowFrame</key>
- <string>484 346 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 401}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
+ <key>RubberWindowFrame</key>
+ <string>484 346 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D72A81F7F10F4007AB60F</string>
+ <string>8B79276921F33AE6006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D72A91F7F10F4007AB60F</string>
+ <string>8B79276A21F33AE6006E9731</string>
<string>8BDB25A91EAA638A001F42B2</string>
- <string>8B9D72AA1F7F10F4007AB60F</string>
+ <string>8B79276B21F33AE6006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421108.41774899</real>
+ <real>569588454.36706197</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,7 +653,7 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D72AB1F7F10F4007AB60F</string>
+ <string>8B79276C21F33AE6006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Air/Air.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp
index 508cd06..c68d1ee 100755
--- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp
+++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.cpp
@@ -203,7 +203,6 @@ void AtmosphereBuss::AtmosphereBussKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
@@ -342,23 +341,15 @@ void AtmosphereBuss::AtmosphereBussKernel::Process( const Float32 *inSourceP,
lastSampleA = drySample;
//store the raw input sample again for use next time
- //noise shaping to 32-bit floating point
- fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for Atmosphere, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser
index 6387880..d3cdc9f 100755
--- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,48 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546563283;
- PBXWorkspaceStateSaveDate = 546563283;
+ PBXPerProjectTemplateStateSaveDate = 569588700;
+ PBXWorkspaceStateSaveDate = 569588700;
};
perUserProjectItems = {
+ 8B7927A021F33C4A006E9731 /* PBXTextBookmark */ = 8B7927A021F33C4A006E9731 /* PBXTextBookmark */;
+ 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */ = 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */;
+ 8B7927A221F33C4A006E9731 /* PBXTextBookmark */ = 8B7927A221F33C4A006E9731 /* PBXTextBookmark */;
8B7A85312054728D0074B00C /* PlistBookmark */ = 8B7A85312054728D0074B00C /* PlistBookmark */;
- 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */ = 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */;
- 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */ = 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7927A021F33C4A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* AtmosphereBuss.h */;
+ name = "AtmosphereBuss.h: 130";
+ rLen = 0;
+ rLoc = 5139;
+ rType = 0;
+ vrLen = 177;
+ vrLoc = 5070;
+ };
+ 8B7927A121F33C4A006E9731 /* XCBuildMessageTextBookmark */ = {
+ isa = PBXTextBookmark;
+ comments = "Unused variable 'fpTemp'";
+ fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */;
+ fallbackIsa = XCBuildMessageTextBookmark;
+ rLen = 1;
+ rLoc = 205;
+ rType = 1;
+ };
+ 8B7927A221F33C4A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */;
+ name = "AtmosphereBuss.cpp: 206";
+ rLen = 0;
+ rLoc = 8815;
+ rType = 0;
+ vrLen = 266;
+ vrLoc = 8708;
+ };
8B7A85312054728D0074B00C /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -75,10 +105,10 @@
};
8BA05A660720730100365D66 /* AtmosphereBuss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {677, 4914}}";
- sepNavSelRange = "{13285, 0}";
- sepNavVisRange = "{13794, 273}";
- sepNavWindowFrame = "{{815, 35}, {816, 832}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 4667}}";
+ sepNavSelRange = "{8815, 0}";
+ sepNavVisRange = "{8708, 266}";
+ sepNavWindowFrame = "{{378, 46}, {816, 832}}";
};
};
8BA05A690720730100365D66 /* AtmosphereBussVersion.h */ = {
@@ -89,31 +119,11 @@
sepNavWindowFrame = "{{692, 46}, {816, 832}}";
};
};
- 8BC5CF4A2093F4B70058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */;
- name = "AtmosphereBuss.cpp: 321";
- rLen = 0;
- rLoc = 13285;
- rType = 0;
- vrLen = 273;
- vrLoc = 13794;
- };
- 8BC5CF4B2093F4B70058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* AtmosphereBuss.cpp */;
- name = "AtmosphereBuss.cpp: 321";
- rLen = 0;
- rLoc = 13285;
- rType = 0;
- vrLen = 273;
- vrLoc = 13794;
- };
8BC6025B073B072D006C4272 /* AtmosphereBuss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2132}}";
+ sepNavIntBoundsRect = "{{0, 0}, {810, 2483}}";
sepNavSelRange = "{5139, 0}";
- sepNavVisRange = "{1894, 1791}";
+ sepNavVisRange = "{5070, 177}";
sepNavWindowFrame = "{{743, 46}, {816, 832}}";
};
};
diff --git a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3
index e3a1dec..b791cf4 100755
--- a/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -302,9 +300,6 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
- <integer>2</integer>
- <integer>1</integer>
<integer>0</integer>
</array>
</array>
@@ -326,7 +321,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>597 180 841 654 0 0 1440 878 </string>
+ <string>434 184 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,11 +349,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC5CF4B2093F4B70058B257</string>
+ <string>8B7927A221F33C4A006E9731</string>
<key>history</key>
<array>
<string>8B7A85312054728D0074B00C</string>
- <string>8BC5CF4A2093F4B70058B257</string>
+ <string>8B7927A021F33C4A006E9731</string>
+ <string>8B7927A121F33C4A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 142}}</string>
+ <string>{{0, 0}, {531, 126}}</string>
<key>RubberWindowFrame</key>
- <string>597 180 841 654 0 0 1440 878 </string>
+ <string>434 184 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>142pt</string>
+ <string>126pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>466pt</string>
+ <string>482pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 439}}</string>
- <key>RubberWindowFrame</key>
- <string>597 180 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 455}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 455}}</string>
+ <key>RubberWindowFrame</key>
+ <string>434 184 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5CF4C2093F4B70058B257</string>
+ <string>8B7927A321F33C4A006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5CF4D2093F4B70058B257</string>
+ <string>8B7927A421F33C4A006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BC5CF4E2093F4B70058B257</string>
+ <string>8B7927A521F33C4A006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546567351.06036103</real>
+ <real>569588810.27972102</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +671,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BC5CF4F2093F4B70058B257</string>
+ <string>8B7927A621F33C4A006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/AtmosphereBuss/AtmosphereBuss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>597 180 841 654 0 0 1440 878 </string>
+ <string>434 184 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp
index d0ca7aa..6ca9131 100755
--- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp
+++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.cpp
@@ -203,7 +203,6 @@ void AtmosphereChannel::AtmosphereChannelKernel::Process( const Float32 *inSou
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
@@ -339,23 +338,15 @@ void AtmosphereChannel::AtmosphereChannelKernel::Process( const Float32 *inSou
lastSampleA = drySample;
//store the raw input sample again for use next time
- //noise shaping to 32-bit floating point
- fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser
index d21e452..64fb8bb 100755
--- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546562903;
- PBXWorkspaceStateSaveDate = 546562903;
+ PBXPerProjectTemplateStateSaveDate = 569588835;
+ PBXWorkspaceStateSaveDate = 569588835;
};
perUserProjectItems = {
8B2BAFD320548396002C5203 /* PlistBookmark */ = 8B2BAFD320548396002C5203 /* PlistBookmark */;
- 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */;
- 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */;
- 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */ = 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */;
+ 8B7927B321F33C89006E9731 /* PBXTextBookmark */ = 8B7927B321F33C89006E9731 /* PBXTextBookmark */;
+ 8B7927B821F33C9F006E9731 /* PBXTextBookmark */ = 8B7927B821F33C9F006E9731 /* PBXTextBookmark */;
+ 8BFBE901209D18FF00E1438C /* PBXTextBookmark */ = 8BFBE901209D18FF00E1438C /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -74,12 +74,32 @@
rLen = 0;
rLoc = 9223372036854775808;
};
+ 8B7927B321F33C89006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */;
+ name = "AtmosphereChannel.cpp: 277";
+ rLen = 0;
+ rLoc = 11355;
+ rType = 0;
+ vrLen = 169;
+ vrLoc = 13693;
+ };
+ 8B7927B821F33C9F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */;
+ name = "AtmosphereChannel.cpp: 277";
+ rLen = 0;
+ rLoc = 11355;
+ rType = 0;
+ vrLen = 169;
+ vrLoc = 13693;
+ };
8BA05A660720730100365D66 /* AtmosphereChannel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {769, 5018}}";
- sepNavSelRange = "{14355, 349}";
- sepNavVisRange = "{12684, 2023}";
- sepNavWindowFrame = "{{624, 46}, {816, 832}}";
+ sepNavIntBoundsRect = "{{0, 0}, {482, 4654}}";
+ sepNavSelRange = "{11355, 0}";
+ sepNavVisRange = "{13693, 169}";
+ sepNavWindowFrame = "{{566, 46}, {816, 832}}";
};
};
8BA05A690720730100365D66 /* AtmosphereChannelVersion.h */ = {
@@ -90,42 +110,12 @@
sepNavWindowFrame = "{{726, 46}, {816, 832}}";
};
};
- 8BC5CF502093F4BA0058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* AtmosphereChannel.cpp */;
- name = "AtmosphereChannel.cpp: 277";
- rLen = 0;
- rLoc = 11372;
- rType = 0;
- vrLen = 304;
- vrLoc = 13659;
- };
- 8BC5CF512093F4BA0058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */;
- name = "AtmosphereChannel.h: 131";
- rLen = 713;
- rLoc = 5181;
- rType = 0;
- vrLen = 187;
- vrLoc = 5816;
- };
- 8BC5CF522093F4BA0058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */;
- name = "AtmosphereChannel.h: 131";
- rLen = 713;
- rLoc = 5181;
- rType = 0;
- vrLen = 187;
- vrLoc = 5816;
- };
8BC6025B073B072D006C4272 /* AtmosphereChannel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 2379}}";
- sepNavSelRange = "{5181, 713}";
- sepNavVisRange = "{5816, 187}";
- sepNavWindowFrame = "{{635, 25}, {816, 832}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2132}}";
+ sepNavSelRange = "{5129, 0}";
+ sepNavVisRange = "{4652, 1351}";
+ sepNavWindowFrame = "{{624, 39}, {816, 832}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
@@ -142,6 +132,16 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
+ 8BFBE901209D18FF00E1438C /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* AtmosphereChannel.h */;
+ name = "AtmosphereChannel.h: 131";
+ rLen = 713;
+ rLoc = 5181;
+ rType = 0;
+ vrLen = 181;
+ vrLoc = 5816;
+ };
8D01CCC60486CAD60068D4B7 /* AtmosphereChannel */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3
index 08b4968..f684856 100755
--- a/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 209 841 654 0 0 1440 878 </string>
+ <string>472 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>AtmosphereChannel.h</string>
+ <string>AtmosphereChannel.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,16 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>AtmosphereChannel.h</string>
+ <string>AtmosphereChannel.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC5CF522093F4BA0058B257</string>
+ <string>8B7927B821F33C9F006E9731</string>
<key>history</key>
<array>
<string>8B2BAFD320548396002C5203</string>
- <string>8BC5CF502093F4BA0058B257</string>
- <string>8BC5CF512093F4BA0058B257</string>
+ <string>8BFBE901209D18FF00E1438C</string>
+ <string>8B7927B321F33C89006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 158}}</string>
+ <string>{{0, 0}, {531, 92}}</string>
<key>RubberWindowFrame</key>
- <string>599 209 841 654 0 0 1440 878 </string>
+ <string>472 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>158pt</string>
+ <string>92pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>450pt</string>
+ <string>516pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 423}}</string>
- <key>RubberWindowFrame</key>
- <string>599 209 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 489}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 489}}</string>
+ <key>RubberWindowFrame</key>
+ <string>472 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5CF532093F4BA0058B257</string>
+ <string>8B7927B921F33C9F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5CF542093F4BA0058B257</string>
+ <string>8B7927BA21F33C9F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BC5CF552093F4BA0058B257</string>
+ <string>8B7927BB21F33C9F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546567354.06319106</real>
+ <real>569588895.18574297</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/AtmosphereChannel/AtmosphereChannel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 209 841 654 0 0 1440 878 </string>
+ <string>472 198 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Aura/Aura.cpp b/plugins/MacAU/Aura/Aura.cpp
index 93e1411..48fd283 100755
--- a/plugins/MacAU/Aura/Aura.cpp
+++ b/plugins/MacAU/Aura/Aura.cpp
@@ -169,9 +169,7 @@ void Aura::AuraKernel::Reset()
for(int count = 0; count < 21; count++) {b[count] = 0.0; f[count] = 0.0;}
lastSample = 0.0;
previousVelocity = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -186,11 +184,6 @@ void Aura::AuraKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
Float64 correction;
Float64 accumulatorSample;
Float64 velocity;
@@ -321,19 +314,11 @@ void Aura::AuraKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Aura/Aura.h b/plugins/MacAU/Aura/Aura.h
index 504b1fd..56ef492 100755
--- a/plugins/MacAU/Aura/Aura.h
+++ b/plugins/MacAU/Aura/Aura.h
@@ -131,9 +131,7 @@ public:
Float64 previousVelocity;
Float64 b[21];
Float64 f[21];
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser
index 8daaddf..16877c1 100755
--- a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.pbxuser
@@ -49,24 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546126137;
- PBXWorkspaceStateSaveDate = 546126137;
+ PBXPerProjectTemplateStateSaveDate = 569589029;
+ PBXWorkspaceStateSaveDate = 569589029;
};
perUserProjectItems = {
+ 8B7927C921F33D8C006E9731 /* PBXTextBookmark */ = 8B7927C921F33D8C006E9731 /* PBXTextBookmark */;
+ 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */ = 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */;
8BC5CC27208D3AE60058B257 /* PBXTextBookmark */ = 8BC5CC27208D3AE60058B257 /* PBXTextBookmark */;
- 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */ = 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */;
- 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */ = 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7927C921F33D8C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Aura.cpp */;
+ name = "Aura.cpp: 196";
+ rLen = 0;
+ rLoc = 8658;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
+ 8B7927CE21F33D9D006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Aura.cpp */;
+ name = "Aura.cpp: 196";
+ rLen = 0;
+ rLoc = 8658;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
8BA05A660720730100365D66 /* Aura.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {558, 4589}}";
- sepNavSelRange = "{8813, 0}";
- sepNavVisRange = "{8966, 228}";
- sepNavWindowFrame = "{{379, 63}, {932, 815}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 4446}}";
+ sepNavSelRange = "{8658, 0}";
+ sepNavVisRange = "{0, 0}";
+ sepNavWindowFrame = "{{5, 63}, {932, 815}}";
};
};
8BA05A670720730100365D66 /* Aura.exp */ = {
@@ -89,37 +109,18 @@
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Aura.h */;
name = "Aura.h: 135";
- rLen = 65;
+ rLen = 24;
rLoc = 5201;
rType = 0;
vrLen = 65;
vrLoc = 5232;
};
- 8BC5CCC3208D4FDB0058B257 /* XCBuildMessageTextBookmark */ = {
- isa = PBXTextBookmark;
- comments = "Unused variable 'wet'";
- fRef = 8BA05A660720730100365D66 /* Aura.cpp */;
- fallbackIsa = XCBuildMessageTextBookmark;
- rLen = 0;
- rLoc = 202;
- rType = 1;
- };
- 8BC5CEBB208D734C0058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Aura.cpp */;
- name = "Aura.cpp: 203";
- rLen = 0;
- rLoc = 8813;
- rType = 0;
- vrLen = 228;
- vrLoc = 8966;
- };
8BC6025B073B072D006C4272 /* Aura.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}";
- sepNavSelRange = "{5111, 0}";
- sepNavVisRange = "{3864, 1511}";
- sepNavWindowFrame = "{{504, 63}, {932, 815}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1794}}";
+ sepNavSelRange = "{5226, 0}";
+ sepNavVisRange = "{3752, 1576}";
+ sepNavWindowFrame = "{{340, 63}, {932, 815}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3
index ab104e0..55525f3 100755
--- a/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Aura/Aura.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>623 315 810 487 0 0 1440 878 </string>
+ <string>0 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC5CEBB208D734C0058B257</string>
+ <string>8B7927CE21F33D9D006E9731</string>
<key>history</key>
<array>
<string>8BC5CC27208D3AE60058B257</string>
- <string>8BC5CCC3208D4FDB0058B257</string>
+ <string>8B7927C921F33D8C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 13}}</string>
<key>RubberWindowFrame</key>
- <string>623 315 810 487 0 0 1440 878 </string>
+ <string>0 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>428pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,7 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -449,9 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
<key>RubberWindowFrame</key>
- <string>623 315 810 487 0 0 1440 878 </string>
+ <string>0 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5CC15208D39550058B257</string>
+ <string>8B7927CF21F33D9D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5CC16208D39550058B257</string>
+ <string>8B7927D021F33D9D006E9731</string>
<string>8B0C0F5D201157B700BC8782</string>
- <string>8BC5CC17208D39550058B257</string>
+ <string>8B7927D121F33D9D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546141004.69631898</real>
+ <real>569589149.88835204</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -656,7 +654,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Aura/Aura.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>623 315 810 487 0 0 1440 878 </string>
+ <string>0 312 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Average/Average.cpp b/plugins/MacAU/Average/Average.cpp
index 200aafa..d2ee078 100755
--- a/plugins/MacAU/Average/Average.cpp
+++ b/plugins/MacAU/Average/Average.cpp
@@ -170,9 +170,7 @@ void Average::AverageKernel::Reset()
{
register UInt32 count;
for(count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;}
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -221,10 +219,6 @@ void Average::AverageKernel::Process( const Float32 *inSourceP,
f[9] /= overallscale;
//and now it's neatly scaled, too
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -285,19 +279,11 @@ void Average::AverageKernel::Process( const Float32 *inSourceP,
//if it 'won't change anything' but our sample might be at a very different scaling
//in the floating point system.
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Average/Average.h b/plugins/MacAU/Average/Average.h
index a1d8e88..3ff5e3d 100755
--- a/plugins/MacAU/Average/Average.h
+++ b/plugins/MacAU/Average/Average.h
@@ -131,10 +131,7 @@ public:
private:
Float64 b[11];
Float64 f[11];
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser
index 59f35a8..cf424d9 100755
--- a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557438773;
- PBXWorkspaceStateSaveDate = 557438773;
+ PBXPerProjectTemplateStateSaveDate = 569589188;
+ PBXWorkspaceStateSaveDate = 569589188;
};
perUserProjectItems = {
+ 8B7927DA21F33DD5006E9731 /* PBXBookmark */ = 8B7927DA21F33DD5006E9731 /* PBXBookmark */;
+ 8B7927E321F33E0C006E9731 /* PBXTextBookmark */ = 8B7927E321F33E0C006E9731 /* PBXTextBookmark */;
+ 8B7927E921F33E0C006E9731 /* PBXTextBookmark */ = 8B7927E921F33E0C006E9731 /* PBXTextBookmark */;
8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */ = 8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */;
- 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */ = 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */;
8BFDB0072139DDE90079F90D /* PBXTextBookmark */ = 8BFDB0072139DDE90079F90D /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7927DA21F33DD5006E9731 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 8BA05A660720730100365D66 /* Average.cpp */;
+ };
+ 8B7927E321F33E0C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Average.cpp */;
+ name = "Average.cpp: 294";
+ rLen = 0;
+ rLoc = 13108;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
+ 8B7927E921F33E0C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Average.cpp */;
+ name = "Average.cpp: 222";
+ rLen = 0;
+ rLoc = 9886;
+ rType = 0;
+ vrLen = 2433;
+ vrLoc = 8388;
+ };
8B7BA53D1DAD4A33007C127E /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Average.h */;
@@ -71,22 +97,12 @@
vrLen = 248;
vrLoc = 2963;
};
- 8B9D72C51F7F1129007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Average.cpp */;
- name = "Average.cpp: 308";
- rLen = 0;
- rLoc = 13372;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
8BA05A660720730100365D66 /* Average.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 4082}}";
- sepNavSelRange = "{13372, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 4004}}";
+ sepNavSelRange = "{13108, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{531, 39}, {909, 838}}";
+ sepNavWindowFrame = "{{360, 40}, {909, 838}}";
};
};
8BA05A690720730100365D66 /* AverageVersion.h */ = {
@@ -99,10 +115,10 @@
};
8BC6025B073B072D006C4272 /* Average.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1200, 1872}}";
- sepNavSelRange = "{3020, 54}";
- sepNavVisRange = "{3923, 1499}";
- sepNavWindowFrame = "{{446, 61}, {1247, 817}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1200, 1807}}";
+ sepNavSelRange = "{5274, 0}";
+ sepNavVisRange = "{3744, 1632}";
+ sepNavWindowFrame = "{{193, 61}, {1247, 817}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
@@ -124,7 +140,7 @@
fRef = 8BA05A660720730100365D66 /* Average.cpp */;
name = "Average.cpp: 308";
rLen = 0;
- rLoc = 13372;
+ rLoc = 13108;
rType = 0;
vrLen = 0;
vrLoc = 0;
diff --git a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3
index cd90e95..e7dddb3 100755
--- a/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Average/Average.xcodeproj/christopherjohnson.perspectivev3
@@ -222,7 +222,48 @@
</dict>
</array>
<key>OpenEditors</key>
- <array/>
+ <array>
+ <dict>
+ <key>Content</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B7927E721F33E0C006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Average.cpp</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B7927E821F33E0C006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Average.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B7927E921F33E0C006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B7927DA21F33DD5006E9731</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>Geometry</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 20}, {909, 741}}</string>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <false/>
+ <key>RubberWindowFrame</key>
+ <string>360 96 909 782 0 0 1440 878 </string>
+ </dict>
+ </dict>
+ </array>
<key>PerspectiveWidths</key>
<array>
<integer>810</integer>
@@ -256,8 +297,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +363,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>612 196 810 487 0 0 1440 878 </string>
+ <string>456 228 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +391,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BFDB0072139DDE90079F90D</string>
+ <string>8B7927E321F33E0C006E9731</string>
<key>history</key>
<array>
<string>8B7BA53D1DAD4A33007C127E</string>
- <string>8B9D72C51F7F1129007AB60F</string>
+ <string>8BFDB0072139DDE90079F90D</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,7 +411,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>612 196 810 487 0 0 1440 878 </string>
+ <string>456 228 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -396,8 +435,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>612 196 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +488,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>456 228 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +518,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BFDB0082139DDE90079F90D</string>
+ <string>8B7927E421F33E0C006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BFDB0092139DDE90079F90D</string>
+ <string>8B7927E521F33E0C006E9731</string>
<string>8B9E5A3F1DAAD3C800A9546F</string>
- <string>8BFDB00A2139DDE90079F90D</string>
+ <string>8B7927E621F33E0C006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +675,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557440489.96798897</real>
+ <real>569589260.26626098</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +692,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BFDB00B2139DDE90079F90D</string>
+ <string>8B7927E721F33E0C006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Average/Average.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>612 196 810 487 0 0 1440 878 </string>
+ <string>456 228 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/BassKit/BassKit.cpp b/plugins/MacAU/BassKit/BassKit.cpp
index 6663d2c..da7a49f 100755
--- a/plugins/MacAU/BassKit/BassKit.cpp
+++ b/plugins/MacAU/BassKit/BassKit.cpp
@@ -453,19 +453,15 @@ OSStatus BassKit::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
bflip++;
if (bflip < 1 || bflip > 3) bflip = 1;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSampleL;
- fpNShapeL += (inputSampleL-fpTemp);
- inputSampleL += fpNShapeL;
- //if this confuses you look at the wordlength for fpTemp :)
- fpTemp = inputSampleR;
- fpNShapeR += (inputSampleR-fpTemp);
- inputSampleR += fpNShapeR;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
-
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
+
*outputL = inputSampleL;
*outputR = inputSampleR;
//direct stereo out
@@ -475,12 +471,6 @@ OSStatus BassKit::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
outputL += 1;
outputR += 1;
}
- fpNShapeL *= 0.999999;
- fpNShapeR *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
return noErr;
}
diff --git a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser
index 44f513a..9b210d0 100755
--- a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561548993;
- PBXWorkspaceStateSaveDate = 561548993;
+ PBXPerProjectTemplateStateSaveDate = 569589289;
+ PBXWorkspaceStateSaveDate = 569589289;
};
perUserProjectItems = {
- 8B15DC7821789307007AD769 /* PBXTextBookmark */ = 8B15DC7821789307007AD769 /* PBXTextBookmark */;
- 8B15DC7921789307007AD769 /* PBXTextBookmark */ = 8B15DC7921789307007AD769 /* PBXTextBookmark */;
+ 8B7927F821F33F7A006E9731 /* PBXTextBookmark */ = 8B7927F821F33F7A006E9731 /* PBXTextBookmark */;
+ 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */ = 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B15DC7821789307007AD769 /* PBXTextBookmark */ = {
+ 8B7927F821F33F7A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* BassKit.cpp */;
name = "BassKit.cpp: 325";
rLen = 0;
rLoc = 12649;
rType = 0;
- vrLen = 921;
+ vrLen = 816;
vrLoc = 14920;
};
- 8B15DC7921789307007AD769 /* PBXTextBookmark */ = {
+ 8B7927FD21F33F8B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* BassKit.cpp */;
name = "BassKit.cpp: 325";
rLen = 0;
rLoc = 12649;
rType = 0;
- vrLen = 921;
+ vrLen = 816;
vrLoc = 14920;
};
8BA05A660720730100365D66 /* BassKit.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {901, 5980}}";
+ sepNavIntBoundsRect = "{{0, 0}, {761, 5824}}";
sepNavSelRange = "{12649, 0}";
- sepNavVisRange = "{14920, 921}";
- sepNavWindowFrame = "{{548, 68}, {890, 810}}";
+ sepNavVisRange = "{14920, 816}";
+ sepNavWindowFrame = "{{357, 57}, {890, 810}}";
};
};
8BA05A690720730100365D66 /* BassKitVersion.h */ = {
diff --git a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3
index f21f89d..2a3cdcf 100755
--- a/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/BassKit/BassKit.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>609 213 752 636 0 0 1440 878 </string>
+ <string>401 223 752 636 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B15DC7921789307007AD769</string>
+ <string>8B7927FD21F33F8B006E9731</string>
<key>history</key>
<array>
- <string>8B15DC7821789307007AD769</string>
+ <string>8B7927F821F33F7A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {545, 162}}</string>
+ <string>{{0, 0}, {545, 131}}</string>
<key>RubberWindowFrame</key>
- <string>609 213 752 636 0 0 1440 878 </string>
+ <string>401 223 752 636 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>162pt</string>
+ <string>131pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>459pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {545, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>609 213 752 636 0 0 1440 878 </string>
+ <string>{{10, 27}, {545, 432}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {545, 386}}</string>
+ <string>{{10, 27}, {545, 432}}</string>
+ <key>RubberWindowFrame</key>
+ <string>401 223 752 636 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B15DC7A21789307007AD769</string>
+ <string>8B7927FE21F33F8B006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B15DC7B21789307007AD769</string>
+ <string>8B7927FF21F33F8B006E9731</string>
<string>8B2720742173B3CC00396442</string>
- <string>8B15DC7C21789307007AD769</string>
+ <string>8B79280021F33F8B006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561550087.85150504</real>
+ <real>569589643.413149</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B15DC7D21789307007AD769</string>
<string>/Users/christopherjohnson/Desktop/MacAU/BassKit/BassKit.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>609 213 752 636 0 0 1440 878 </string>
+ <string>401 223 752 636 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser
index c852a9c..d99aaa0 100755
--- a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553994320;
- PBXWorkspaceStateSaveDate = 553994320;
+ PBXPerProjectTemplateStateSaveDate = 569590014;
+ PBXWorkspaceStateSaveDate = 569590014;
};
perUserProjectItems = {
8B12BE4E210416FD00EB8D52 /* PBXTextBookmark */ = 8B12BE4E210416FD00EB8D52 /* PBXTextBookmark */;
- 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */ = 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */;
- 8BBD1982210557560015A233 /* PBXTextBookmark */ = 8BBD1982210557560015A233 /* PBXTextBookmark */;
+ 8B79282221F340F9006E9731 /* PBXTextBookmark */ = 8B79282221F340F9006E9731 /* PBXTextBookmark */;
+ 8B79283421F34111006E9731 /* PBXTextBookmark */ = 8B79283421F34111006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,21 +71,31 @@
vrLen = 85;
vrLoc = 12311;
};
- 8B12BE50210416FD00EB8D52 /* PBXTextBookmark */ = {
+ 8B79282221F340F9006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */;
name = "BitGlitterVersion.h: 54";
rLen = 0;
rLoc = 2897;
rType = 0;
- vrLen = 131;
- vrLoc = 2825;
+ vrLen = 0;
+ vrLoc = 0;
+ };
+ 8B79283421F34111006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */;
+ name = "BitGlitterVersion.h: 54";
+ rLen = 0;
+ rLoc = 2897;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
};
8BA05A660720730100365D66 /* BitGlitter.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {747, 4394}}";
+ sepNavIntBoundsRect = "{{0, 0}, {747, 4472}}";
sepNavSelRange = "{12683, 1}";
- sepNavVisRange = "{8715, 2103}";
+ sepNavVisRange = "{10076, 1544}";
sepNavWindowFrame = "{{637, 65}, {787, 813}}";
};
};
@@ -98,22 +108,12 @@
};
8BA05A690720730100365D66 /* BitGlitterVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 871}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 819}}";
sepNavSelRange = "{2897, 0}";
- sepNavVisRange = "{2825, 131}";
+ sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{15, 60}, {787, 813}}";
};
};
- 8BBD1982210557560015A233 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* BitGlitterVersion.h */;
- name = "BitGlitterVersion.h: 54";
- rLen = 0;
- rLoc = 2897;
- rType = 0;
- vrLen = 131;
- vrLoc = 2825;
- };
8BC6025B073B072D006C4272 /* BitGlitter.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1989}}";
diff --git a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3
index 31b4a91..ae27f4a 100755
--- a/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/BitGlitter/BitGlitter.xcodeproj/christopherjohnson.perspectivev3
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>586 327 810 487 0 0 1440 878 </string>
+ <string>490 321 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBD1982210557560015A233</string>
+ <string>8B79283421F34111006E9731</string>
<key>history</key>
<array>
<string>8B12BE4E210416FD00EB8D52</string>
- <string>8B12BE50210416FD00EB8D52</string>
+ <string>8B79282221F340F9006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 51}}</string>
+ <string>{{0, 0}, {603, 13}}</string>
<key>RubberWindowFrame</key>
- <string>586 327 810 487 0 0 1440 878 </string>
+ <string>490 321 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>51pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>390pt</string>
+ <string>428pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 363}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
<key>RubberWindowFrame</key>
- <string>586 327 810 487 0 0 1440 878 </string>
+ <string>490 321 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBD1983210557560015A233</string>
+ <string>8B79283521F34111006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBD1984210557560015A233</string>
+ <string>8B79283621F34111006E9731</string>
<string>8BB8B7DD2103C66400751000</string>
- <string>8BBD1985210557560015A233</string>
+ <string>8B79283721F34111006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553998166.45384705</real>
+ <real>569590033.70359504</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBD1986210557560015A233</string>
<string>/Users/christopherjohnson/Desktop/MacAU/BitGlitter/BitGlitter.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>586 327 810 487 0 0 1440 878 </string>
+ <string>490 321 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser
index 0c60c13..5c6dcd3 100644..100755
--- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.pbxuser
@@ -49,48 +49,48 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421239;
- PBXWorkspaceStateSaveDate = 528421239;
+ PBXPerProjectTemplateStateSaveDate = 569590058;
+ PBXWorkspaceStateSaveDate = 569590058;
};
perUserProjectItems = {
+ 8B79244F21F12F5D006E9731 /* PBXTextBookmark */ = 8B79244F21F12F5D006E9731 /* PBXTextBookmark */;
+ 8B79284721F34140006E9731 /* PBXTextBookmark */ = 8B79284721F34140006E9731 /* PBXTextBookmark */;
8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */;
- 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */ = 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */;
- 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */ = 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */;
8B9E7F221DDE37D5006035FA /* PlistBookmark */ = 8B9E7F221DDE37D5006035FA /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* BitShiftGain.h */;
- name = "BitShiftGain.h: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 1640;
- vrLoc = 0;
- };
- 8B9D636E1F7C82E9007AB60F /* PBXTextBookmark */ = {
+ 8B79244F21F12F5D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* BitShiftGain.cpp */;
name = "BitShiftGain.cpp: 175";
rLen = 48;
rLoc = 7996;
rType = 0;
- vrLen = 771;
- vrLoc = 8415;
+ vrLen = 675;
+ vrLoc = 8691;
};
- 8B9D72E51F7F11AB007AB60F /* PBXTextBookmark */ = {
+ 8B79284721F34140006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* BitShiftGain.cpp */;
name = "BitShiftGain.cpp: 175";
rLen = 48;
rLoc = 7996;
rType = 0;
- vrLen = 737;
- vrLoc = 8415;
+ vrLen = 644;
+ vrLoc = 8691;
+ };
+ 8B84C3201F06FE8A00F360EE /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* BitShiftGain.h */;
+ name = "BitShiftGain.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 1640;
+ vrLoc = 0;
};
8B9E7F221DDE37D5006035FA /* PlistBookmark */ = {
isa = PlistBookmark;
@@ -106,10 +106,10 @@
};
8BA05A660720730100365D66 /* BitShiftGain.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3042}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3068}}";
sepNavSelRange = "{7996, 48}";
- sepNavVisRange = "{8415, 737}";
- sepNavWindowFrame = "{{308, 43}, {679, 835}}";
+ sepNavVisRange = "{8691, 644}";
+ sepNavWindowFrame = "{{738, 43}, {679, 835}}";
};
};
8BA05A690720730100365D66 /* BitShiftGainVersion.h */ = {
diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3
index d55ef4a..4adf5a4 100644..100755
--- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>657 93 776 778 0 0 1440 878 </string>
+ <string>559 100 776 778 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,12 +353,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D72E51F7F11AB007AB60F</string>
+ <string>8B79284721F34140006E9731</string>
<key>history</key>
<array>
<string>8B9E7F221DDE37D5006035FA</string>
<string>8B84C3201F06FE8A00F360EE</string>
- <string>8B9D636E1F7C82E9007AB60F</string>
+ <string>8B79244F21F12F5D006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {466, 325}}</string>
+ <string>{{0, 0}, {466, 301}}</string>
<key>RubberWindowFrame</key>
- <string>657 93 776 778 0 0 1440 878 </string>
+ <string>559 100 776 778 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>325pt</string>
+ <string>301pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>407pt</string>
+ <string>431pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +397,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {466, 380}}</string>
+ <string>{{10, 27}, {466, 404}}</string>
<key>RubberWindowFrame</key>
- <string>657 93 776 778 0 0 1440 878 </string>
+ <string>559 100 776 778 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -481,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D72E61F7F11AB007AB60F</string>
+ <string>8B79284821F34140006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D72E71F7F11AB007AB60F</string>
+ <string>8B79284921F34140006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D72E81F7F11AB007AB60F</string>
+ <string>8B79284A21F34140006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421291.05933303</real>
+ <real>569590080.12127101</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +675,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D72E91F7F11AB007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/BitShiftGain/BitShiftGain.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>657 93 776 778 0 0 1440 878 </string>
+ <string>559 100 776 778 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj
index 707c9cb..707c9cb 100644..100755
--- a/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/BitShiftGain/BitShiftGain.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/Bite/Bite.cpp b/plugins/MacAU/Bite/Bite.cpp
index 99d3134..c34bb3d 100755
--- a/plugins/MacAU/Bite/Bite.cpp
+++ b/plugins/MacAU/Bite/Bite.cpp
@@ -175,10 +175,7 @@ void Bite::BiteKernel::Reset()
sampleG = 0.0;
sampleH = 0.0;
sampleI = 0.0;
-
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -203,10 +200,7 @@ void Bite::BiteKernel::Process( const Float32 *inSourceP,
Float64 midC;
Float64 midD;
Float64 trigger;
- Float64 result;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
- Float32 fpTemp;
+ long double result;
while (nSampleFrames-- > 0) {
sampleI = sampleH;
@@ -273,18 +267,11 @@ void Bite::BiteKernel::Process( const Float32 *inSourceP,
if (outputgain != 1.0) result *= outputgain;
- if (fpFlip) {
- fpTemp = result;
- fpNShapeA = (fpNShapeA*fpOld)+((result-fpTemp)*fpNew);
- result += fpNShapeA;
- }
- else {
- fpTemp = result;
- fpNShapeB = (fpNShapeB*fpOld)+((result-fpTemp)*fpNew);
- result += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)result, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ result += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = result;
//output.
diff --git a/plugins/MacAU/Bite/Bite.h b/plugins/MacAU/Bite/Bite.h
index c7a5b06..b36870b 100755
--- a/plugins/MacAU/Bite/Bite.h
+++ b/plugins/MacAU/Bite/Bite.h
@@ -138,10 +138,7 @@ public:
Float64 sampleG;
Float64 sampleH;
Float64 sampleI;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser
index f9c81c4..b8ac588 100755
--- a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421171;
- PBXWorkspaceStateSaveDate = 528421171;
+ PBXPerProjectTemplateStateSaveDate = 569589737;
+ PBXWorkspaceStateSaveDate = 569589737;
};
perUserProjectItems = {
- 8B9D63401F7C8264007AB60F /* PBXTextBookmark */ = 8B9D63401F7C8264007AB60F /* PBXTextBookmark */;
- 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */ = 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */;
+ 8B79281021F3405A006E9731 /* PBXTextBookmark */ = 8B79281021F3405A006E9731 /* PBXTextBookmark */;
+ 8B79281521F34076006E9731 /* PBXTextBookmark */ = 8B79281521F34076006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D63401F7C8264007AB60F /* PBXTextBookmark */ = {
+ 8B79281021F3405A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Bite.cpp */;
- name = "Bite.cpp: 289";
+ name = "Bite.cpp: 276";
rLen = 0;
- rLoc = 11935;
+ rLoc = 11735;
rType = 0;
- vrLen = 433;
- vrLoc = 10004;
+ vrLen = 155;
+ vrLoc = 10210;
};
- 8B9D72D41F7F114A007AB60F /* PBXTextBookmark */ = {
+ 8B79281521F34076006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Bite.cpp */;
- name = "Bite.cpp: 289";
+ name = "Bite.cpp: 276";
rLen = 0;
- rLoc = 11935;
+ rLoc = 11735;
rType = 0;
- vrLen = 402;
- vrLoc = 10035;
+ vrLen = 155;
+ vrLoc = 10210;
};
8BA05A660720730100365D66 /* Bite.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {677, 3913}}";
- sepNavSelRange = "{11935, 0}";
- sepNavVisRange = "{10035, 402}";
- sepNavWindowFrame = "{{295, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 3887}}";
+ sepNavSelRange = "{11735, 0}";
+ sepNavVisRange = "{10210, 155}";
+ sepNavWindowFrame = "{{170, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* Bite.exp */ = {
@@ -106,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* Bite.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1062, 1963}}";
- sepNavSelRange = "{5170, 171}";
- sepNavVisRange = "{3327, 1862}";
+ sepNavIntBoundsRect = "{{0, 0}, {1062, 1898}}";
+ sepNavSelRange = "{5360, 0}";
+ sepNavVisRange = "{3983, 1489}";
sepNavWindowFrame = "{{382, 39}, {1053, 839}}";
};
};
diff --git a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3
index 87e6588..4e2e4c6 100755
--- a/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Bite/Bite.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>612 285 810 487 0 0 1440 878 </string>
+ <string>476 284 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D72D41F7F114A007AB60F</string>
+ <string>8B79281521F34076006E9731</string>
<key>history</key>
<array>
- <string>8B9D63401F7C8264007AB60F</string>
+ <string>8B79281021F3405A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 102}}</string>
+ <string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
- <string>612 285 810 487 0 0 1440 878 </string>
+ <string>476 284 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>102pt</string>
+ <string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>339pt</string>
+ <string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 312}}</string>
- <key>RubberWindowFrame</key>
- <string>612 285 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 328}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 328}}</string>
+ <key>RubberWindowFrame</key>
+ <string>476 284 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D72D51F7F114A007AB60F</string>
+ <string>8B79281621F34076006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D72D61F7F114A007AB60F</string>
+ <string>8B79281721F34076006E9731</string>
<string>8BDB25E81EAA6D6E001F42B2</string>
- <string>8B9D72D71F7F114A007AB60F</string>
+ <string>8B79281821F34076006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421194.64885902</real>
+ <real>569589878.38768005</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D72D81F7F114A007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Bite/Bite.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>612 285 810 487 0 0 1440 878 </string>
+ <string>476 284 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser
index ae403e5..a8e22a5 100755
--- a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.pbxuser
@@ -49,12 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421301;
- PBXWorkspaceStateSaveDate = 528421301;
+ PBXPerProjectTemplateStateSaveDate = 569590151;
+ PBXWorkspaceStateSaveDate = 569590151;
};
perUserProjectItems = {
8B753DE91E4005E400347157 /* PlistBookmark */ = 8B753DE91E4005E400347157 /* PlistBookmark */;
- 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */ = 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */;
+ 8B79285A21F341B0006E9731 /* PBXTextBookmark */ = 8B79285A21F341B0006E9731 /* PBXTextBookmark */;
8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */ = 8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
@@ -73,14 +73,14 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D637D1F7C82F6007AB60F /* PBXTextBookmark */ = {
+ 8B79285A21F341B0006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* BuildATPDF.h */;
name = "BuildATPDF.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 652;
+ vrLen = 548;
vrLoc = 0;
};
8B9D72F41F7F11CA007AB60F /* PBXTextBookmark */ = {
@@ -95,9 +95,9 @@
};
8BA05A660720730100365D66 /* BuildATPDF.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {876, 4433}}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 4316}}";
sepNavSelRange = "{12469, 0}";
- sepNavVisRange = "{12387, 2186}";
+ sepNavVisRange = "{12444, 2132}";
sepNavWindowFrame = "{{496, 41}, {923, 837}}";
};
};
@@ -111,9 +111,9 @@
};
8BC6025B073B072D006C4272 /* BuildATPDF.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 2093}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 2106}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 550}";
+ sepNavVisRange = "{0, 548}";
sepNavWindowFrame = "{{517, 39}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3
index a9070a0..a6dd77a 100755
--- a/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/BuildATPDF/BuildATPDF.xcodeproj/christopherjohnson.perspectivev3
@@ -353,11 +353,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D72F41F7F11CA007AB60F</string>
+ <string>8B79285A21F341B0006E9731</string>
<key>history</key>
<array>
<string>8B753DE91E4005E400347157</string>
- <string>8B9D637D1F7C82F6007AB60F</string>
+ <string>8B9D72F41F7F11CA007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
<string>599 205 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,7 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
<key>RubberWindowFrame</key>
<string>599 205 841 654 0 0 1440 878 </string>
</dict>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D72F51F7F11CA007AB60F</string>
+ <string>8B79285B21F341B0006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D72F61F7F11CA007AB60F</string>
+ <string>8B79285C21F341B0006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D72F71F7F11CA007AB60F</string>
+ <string>8B79285D21F341B0006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421322.85982102</real>
+ <real>569590192.67660701</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +674,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D72F81F7F11CA007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/BuildATPDF/BuildATPDF.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/BussColors4/BussColors4.cpp b/plugins/MacAU/BussColors4/BussColors4.cpp
index 4b0c664..35f7931 100755
--- a/plugins/MacAU/BussColors4/BussColors4.cpp
+++ b/plugins/MacAU/BussColors4/BussColors4.cpp
@@ -227,9 +227,7 @@ void BussColors4::BussColors4Kernel::Reset()
control = 0;
gcount = 0;
slowdyn = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -263,9 +261,6 @@ void BussColors4::BussColors4Kernel::Process( const Float32 *inSourceP,
Float64 gain = 0.436;
Float64 outgain = 1.0;
Float64 bridgerectifier;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
int console = (int) GetParameter( kParam_One );
switch (console)
@@ -662,19 +657,11 @@ void BussColors4::BussColors4Kernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/BussColors4/BussColors4.h b/plugins/MacAU/BussColors4/BussColors4.h
index 799fbc6..321760e 100755
--- a/plugins/MacAU/BussColors4/BussColors4.h
+++ b/plugins/MacAU/BussColors4/BussColors4.h
@@ -160,9 +160,7 @@ public:
Float64 control;
int gcount;
Float64 slowdyn;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser
index 57c71c6..64acbeb 100755
--- a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421335;
- PBXWorkspaceStateSaveDate = 528421335;
+ PBXPerProjectTemplateStateSaveDate = 569590217;
+ PBXWorkspaceStateSaveDate = 569590217;
};
perUserProjectItems = {
8B48B64B1EE21C9100BCF3D0 /* PlistBookmark */ = 8B48B64B1EE21C9100BCF3D0 /* PlistBookmark */;
+ 8B79286B21F34214006E9731 /* PBXTextBookmark */ = 8B79286B21F34214006E9731 /* PBXTextBookmark */;
+ 8B79287021F3422D006E9731 /* PBXTextBookmark */ = 8B79287021F3422D006E9731 /* PBXTextBookmark */;
8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */;
- 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */;
- 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */ = 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -74,17 +74,7 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* BussColors4.h */;
- name = "BussColors4.h: 157";
- rLen = 0;
- rLoc = 6374;
- rType = 0;
- vrLen = 351;
- vrLoc = 3;
- };
- 8B9D73041F7F11E3007AB60F /* PBXTextBookmark */ = {
+ 8B79286B21F34214006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A670720730100365D66 /* BussColors4.exp */;
name = "BussColors4.exp: 1";
@@ -94,7 +84,7 @@
vrLen = 18;
vrLoc = 0;
};
- 8B9D73051F7F11E3007AB60F /* PBXTextBookmark */ = {
+ 8B79287021F3422D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A670720730100365D66 /* BussColors4.exp */;
name = "BussColors4.exp: 1";
@@ -104,17 +94,27 @@
vrLen = 18;
vrLoc = 0;
};
+ 8B9D73031F7F11E3007AB60F /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* BussColors4.h */;
+ name = "BussColors4.h: 157";
+ rLen = 0;
+ rLoc = 6374;
+ rType = 0;
+ vrLen = 351;
+ vrLoc = 3;
+ };
8BA05A660720730100365D66 /* BussColors4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {905, 9542}}";
- sepNavSelRange = "{12772, 0}";
- sepNavVisRange = "{11547, 2663}";
+ sepNavIntBoundsRect = "{{0, 0}, {905, 9672}}";
+ sepNavSelRange = "{11353, 0}";
+ sepNavVisRange = "{10026, 2482}";
sepNavWindowFrame = "{{394, 39}, {952, 839}}";
};
};
8BA05A670720730100365D66 /* BussColors4.exp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {367, 107}}";
+ sepNavIntBoundsRect = "{{0, 0}, {367, 92}}";
sepNavSelRange = "{0, 0}";
sepNavVisRange = "{0, 18}";
};
@@ -129,9 +129,9 @@
};
8BC6025B073B072D006C4272 /* BussColors4.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {530, 2236}}";
- sepNavSelRange = "{6374, 0}";
- sepNavVisRange = "{3, 351}";
+ sepNavIntBoundsRect = "{{0, 0}, {905, 2340}}";
+ sepNavSelRange = "{6519, 0}";
+ sepNavVisRange = "{4823, 1798}";
sepNavWindowFrame = "{{33, 39}, {952, 839}}";
};
};
diff --git a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3
index 1ccb652..c388d98 100755
--- a/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/BussColors4/BussColors4.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -353,12 +351,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D73051F7F11E3007AB60F</string>
+ <string>8B79287021F3422D006E9731</string>
<key>history</key>
<array>
<string>8B48B64B1EE21C9100BCF3D0</string>
<string>8B9D73031F7F11E3007AB60F</string>
- <string>8B9D73041F7F11E3007AB60F</string>
+ <string>8B79286B21F34214006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {416, 139}}</string>
+ <string>{{0, 0}, {416, 124}}</string>
<key>RubberWindowFrame</key>
<string>541 301 726 510 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>139pt</string>
+ <string>124pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>325pt</string>
+ <string>340pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {416, 298}}</string>
- <key>RubberWindowFrame</key>
- <string>541 301 726 510 0 0 1440 878 </string>
+ <string>{{10, 27}, {416, 313}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {416, 399}}</string>
+ <string>{{10, 27}, {416, 313}}</string>
+ <key>RubberWindowFrame</key>
+ <string>541 301 726 510 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D73061F7F11E3007AB60F</string>
+ <string>8B79287121F3422D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73071F7F11E3007AB60F</string>
+ <string>8B79287221F3422D006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D73081F7F11E3007AB60F</string>
+ <string>8B79287321F3422D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421347.61386502</real>
+ <real>569590317.82425797</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,7 +673,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D73091F7F11E3007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/BussColors4/BussColors4.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/ButterComp/ButterComp.cpp b/plugins/MacAU/ButterComp/ButterComp.cpp
index 612eb3c..5280a58 100755
--- a/plugins/MacAU/ButterComp/ButterComp.cpp
+++ b/plugins/MacAU/ButterComp/ButterComp.cpp
@@ -188,9 +188,6 @@ void ButterComp::ButterCompKernel::Process( const Float32 *inSourceP,
Float64 overallscale = 2.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 inputpos;
Float64 inputneg;
Float64 calcpos;
@@ -286,11 +283,11 @@ void ButterComp::ButterCompKernel::Process( const Float32 *inSourceP,
inputSample /= outputgain;
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet);
- //noise shaping to 32-bit floating point
- fpTemp = inputSample;
- fpNShape = (fpNShape*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShape;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser
index 0757b10..21b9158 100755
--- a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.pbxuser
@@ -51,24 +51,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 559509267;
- PBXWorkspaceStateSaveDate = 559509267;
+ PBXPerProjectTemplateStateSaveDate = 569590364;
+ PBXWorkspaceStateSaveDate = 569590364;
};
perUserProjectItems = {
+ 8B79288121F342AF006E9731 /* PBXTextBookmark */ = 8B79288121F342AF006E9731 /* PBXTextBookmark */;
+ 8B79288621F342C1006E9731 /* PBXTextBookmark */ = 8B79288621F342C1006E9731 /* PBXTextBookmark */;
8BE626A621596E0600E4E476 /* PBXTextBookmark */ = 8BE626A621596E0600E4E476 /* PBXTextBookmark */;
- 8BE626D221596F6E00E4E476 /* PBXTextBookmark */ = 8BE626D221596F6E00E4E476 /* PBXTextBookmark */;
- 8BE626D321596F6E00E4E476 /* PBXTextBookmark */ = 8BE626D321596F6E00E4E476 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79288121F342AF006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */;
+ name = "ButterComp.cpp: 266";
+ rLen = 0;
+ rLoc = 11774;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
+ 8B79288621F342C1006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */;
+ name = "ButterComp.cpp: 266";
+ rLen = 0;
+ rLoc = 11774;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
8BA05A660720730100365D66 /* ButterComp.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {579, 4004}}";
- sepNavSelRange = "{11891, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3965}}";
+ sepNavSelRange = "{11774, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{618, 69}, {834, 801}}";
+ sepNavWindowFrame = "{{405, 77}, {834, 801}}";
};
};
8BA05A670720730100365D66 /* ButterComp.exp */ = {
@@ -89,9 +109,9 @@
};
8BC6025B073B072D006C4272 /* ButterComp.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {698, 1885}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 1846}}";
sepNavSelRange = "{5162, 0}";
- sepNavVisRange = "{3553, 95}";
+ sepNavVisRange = "{3901, 1436}";
sepNavWindowFrame = "{{606, 77}, {834, 801}}";
};
};
@@ -119,26 +139,6 @@
vrLen = 95;
vrLoc = 3553;
};
- 8BE626D221596F6E00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */;
- name = "ButterComp.cpp: 269";
- rLen = 0;
- rLoc = 11891;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
- 8BE626D321596F6E00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* ButterComp.cpp */;
- name = "ButterComp.cpp: 269";
- rLen = 0;
- rLoc = 11891;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
8D01CCC60486CAD60068D4B7 /* ButterComp */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3
index 412b584..f0011a1 100755
--- a/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ButterComp/ButterComp.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>628 380 810 487 0 0 1440 878 </string>
+ <string>447 360 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BE626D321596F6E00E4E476</string>
+ <string>8B79288621F342C1006E9731</string>
<key>history</key>
<array>
<string>8BE626A621596E0600E4E476</string>
- <string>8BE626D221596F6E00E4E476</string>
+ <string>8B79288121F342AF006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 32}}</string>
+ <string>{{0, 0}, {603, 13}}</string>
<key>RubberWindowFrame</key>
- <string>628 380 810 487 0 0 1440 878 </string>
+ <string>447 360 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>32pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>409pt</string>
+ <string>428pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 382}}</string>
- <key>RubberWindowFrame</key>
- <string>628 380 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 401}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
+ <key>RubberWindowFrame</key>
+ <string>447 360 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BE626D421596F6E00E4E476</string>
+ <string>8B79288721F342C1006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BE626D521596F6E00E4E476</string>
+ <string>8B79288821F342C1006E9731</string>
<string>8B7FDBEA1F85C96D00A80060</string>
- <string>8BE626D621596F6E00E4E476</string>
+ <string>8B79288921F342C1006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>559509358.82003796</real>
+ <real>569590465.72403705</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +671,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BE626D721596F6E00E4E476</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ButterComp/ButterComp.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>628 380 810 487 0 0 1440 878 </string>
+ <string>447 360 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ButterComp2/ButterComp2.cpp b/plugins/MacAU/ButterComp2/ButterComp2.cpp
index e85626f..ec45914 100755
--- a/plugins/MacAU/ButterComp2/ButterComp2.cpp
+++ b/plugins/MacAU/ButterComp2/ButterComp2.cpp
@@ -317,23 +317,15 @@ void ButterComp2::ButterComp2Kernel::Process( const Float32 *inSourceP,
flip = !flip;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser
index e13714b..9bf558f 100755
--- a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 559960504;
- PBXWorkspaceStateSaveDate = 559960504;
+ PBXPerProjectTemplateStateSaveDate = 569590507;
+ PBXWorkspaceStateSaveDate = 569590507;
};
perUserProjectItems = {
8B42FD41216050B10092969A /* PBXTextBookmark */ = 8B42FD41216050B10092969A /* PBXTextBookmark */;
- 8B42FD83216056480092969A /* PBXTextBookmark */ = 8B42FD83216056480092969A /* PBXTextBookmark */;
- 8B42FD84216056480092969A /* PBXTextBookmark */ = 8B42FD84216056480092969A /* PBXTextBookmark */;
+ 8B79289621F34318006E9731 /* PBXTextBookmark */ = 8B79289621F34318006E9731 /* PBXTextBookmark */;
+ 8B79289B21F34328006E9731 /* PBXTextBookmark */ = 8B79289B21F34328006E9731 /* PBXTextBookmark */;
8BE6255F2157A02A00E4E476 /* PlistBookmark */ = 8BE6255F2157A02A00E4E476 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
@@ -72,32 +72,32 @@
vrLen = 214;
vrLoc = 5453;
};
- 8B42FD83216056480092969A /* PBXTextBookmark */ = {
+ 8B79289621F34318006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ButterComp2.cpp */;
name = "ButterComp2.cpp: 252";
rLen = 0;
rLoc = 10778;
rType = 0;
- vrLen = 265;
+ vrLen = 180;
vrLoc = 10712;
};
- 8B42FD84216056480092969A /* PBXTextBookmark */ = {
+ 8B79289B21F34328006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ButterComp2.cpp */;
name = "ButterComp2.cpp: 252";
rLen = 0;
rLoc = 10778;
rType = 0;
- vrLen = 265;
+ vrLen = 180;
vrLoc = 10712;
};
8BA05A660720730100365D66 /* ButterComp2.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {586, 4498}}";
+ sepNavIntBoundsRect = "{{0, 0}, {558, 4329}}";
sepNavSelRange = "{10778, 0}";
- sepNavVisRange = "{10712, 265}";
- sepNavWindowFrame = "{{864, 45}, {816, 833}}";
+ sepNavVisRange = "{10712, 180}";
+ sepNavWindowFrame = "{{496, 45}, {816, 833}}";
};
};
8BA05A690720730100365D66 /* ButterComp2Version.h */ = {
diff --git a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3
index c95d3a7..22a4926 100755
--- a/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ButterComp2/ButterComp2.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>662 164 841 654 0 0 1440 878 </string>
+ <string>456 186 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B42FD84216056480092969A</string>
+ <string>8B79289B21F34328006E9731</string>
<key>history</key>
<array>
<string>8BE6255F2157A02A00E4E476</string>
<string>8B42FD41216050B10092969A</string>
- <string>8B42FD83216056480092969A</string>
+ <string>8B79289621F34318006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 126}}</string>
+ <string>{{0, 0}, {531, 109}}</string>
<key>RubberWindowFrame</key>
- <string>662 164 841 654 0 0 1440 878 </string>
+ <string>456 186 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>126pt</string>
+ <string>109pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>482pt</string>
+ <string>499pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 455}}</string>
- <key>RubberWindowFrame</key>
- <string>662 164 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 472}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 393}}</string>
+ <string>{{10, 27}, {531, 472}}</string>
+ <key>RubberWindowFrame</key>
+ <string>456 186 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B42FD85216056480092969A</string>
+ <string>8B79289C21F34328006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B42FD86216056480092969A</string>
+ <string>8B79289D21F34328006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B42FD87216056480092969A</string>
+ <string>8B79289E21F34328006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>559961672.53862405</real>
+ <real>569590568.39095497</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B42FD88216056480092969A</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ButterComp2/ButterComp2.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>662 164 841 654 0 0 1440 878 </string>
+ <string>456 186 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.cpp b/plugins/MacAU/C5RawBuss/C5RawBuss.cpp
index 4f45ac0..9cca2dd 100755
--- a/plugins/MacAU/C5RawBuss/C5RawBuss.cpp
+++ b/plugins/MacAU/C5RawBuss/C5RawBuss.cpp
@@ -160,9 +160,7 @@ void C5RawBuss::C5RawBussKernel::Reset()
{
lastFXBuss = 0.0;
lastSampleBuss = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -177,9 +175,6 @@ void C5RawBuss::C5RawBussKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double centering = GetParameter( kParam_One ) * 0.5;
centering = 1.0 - pow(centering,5);
@@ -237,19 +232,11 @@ void C5RawBuss::C5RawBussKernel::Process( const Float32 *inSourceP,
//build new signal off what was present in output last time
//slew aspect
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.h b/plugins/MacAU/C5RawBuss/C5RawBuss.h
index b8a3a7c..1d3209e 100755
--- a/plugins/MacAU/C5RawBuss/C5RawBuss.h
+++ b/plugins/MacAU/C5RawBuss/C5RawBuss.h
@@ -127,9 +127,7 @@ public:
private:
Float64 lastFXBuss;
Float64 lastSampleBuss;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser
index b1e416f..cd94a9b 100755
--- a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.pbxuser
@@ -49,20 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538699005;
- PBXWorkspaceStateSaveDate = 538699005;
+ PBXPerProjectTemplateStateSaveDate = 569590602;
+ PBXWorkspaceStateSaveDate = 569590602;
};
perUserProjectItems = {
- 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */ = 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */;
- 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */ = 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */;
- 8B4E57B9201BF00900B5DC2A /* PlistBookmark */ = 8B4E57B9201BF00900B5DC2A /* PlistBookmark */;
- 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */ = 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */;
+ 8B7928AC21F343AD006E9731 /* PlistBookmark */ = 8B7928AC21F343AD006E9731 /* PlistBookmark */;
+ 8B7928B121F343BF006E9731 /* PlistBookmark */ = 8B7928B121F343BF006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4E55B3201BC48D00B5DC2A /* PlistBookmark */ = {
+ 8B7928AC21F343AD006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,15 +68,11 @@
kPath = (
CFBundleName,
);
- name = /Users/christopherjohnson/Desktop/C5RawBuss/Info.plist;
+ name = /Users/christopherjohnson/Desktop/MacAU/C5RawBuss/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
- };
- 8B4E57B0201BE78F00B5DC2A /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* C5RawBuss.cpp */;
+ rLoc = 9223372036854775807;
};
- 8B4E57B9201BF00900B5DC2A /* PlistBookmark */ = {
+ 8B7928B121F343BF006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -87,25 +81,15 @@
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/MacAU/C5RawBuss/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775807;
- };
- 8B4E57BC201BF00900B5DC2A /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* C5RawBuss.cpp */;
- name = "C5RawBuss.cpp: 220";
- rLen = 762;
- rLoc = 9965;
- rType = 0;
- vrLen = 1877;
- vrLoc = 9307;
+ rLen = 26;
+ rLoc = 0;
};
8BA05A660720730100365D66 /* C5RawBuss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {876, 3380}}";
- sepNavSelRange = "{9965, 762}";
- sepNavVisRange = "{9307, 1877}";
- sepNavWindowFrame = "{{-64, 50}, {923, 828}}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 3419}}";
+ sepNavSelRange = "{10825, 0}";
+ sepNavVisRange = "{7481, 2627}";
+ sepNavWindowFrame = "{{369, 50}, {923, 828}}";
};
};
8BA05A690720730100365D66 /* C5RawBussVersion.h */ = {
@@ -118,9 +102,9 @@
};
8BC6025B073B072D006C4272 /* C5RawBuss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}";
- sepNavSelRange = "{5077, 48}";
- sepNavVisRange = "{2715, 1805}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}";
+ sepNavSelRange = "{5147, 0}";
+ sepNavVisRange = "{3528, 1724}";
sepNavWindowFrame = "{{517, 50}, {923, 828}}";
};
};
diff --git a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3
index dc4bb99..a043097 100755
--- a/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/C5RawBuss/C5RawBuss.xcodeproj/christopherjohnson.perspectivev3
@@ -222,52 +222,11 @@
</dict>
</array>
<key>OpenEditors</key>
- <array>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8B4E57BA201BF00900B5DC2A</string>
- <key>PBXProjectModuleLabel</key>
- <string>C5RawBuss.cpp</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8B4E57BB201BF00900B5DC2A</string>
- <key>PBXProjectModuleLabel</key>
- <string>C5RawBuss.cpp</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>8B4E57BC201BF00900B5DC2A</string>
- <key>history</key>
- <array>
- <string>8B4E57B0201BE78F00B5DC2A</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {923, 731}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>-64 106 923 772 0 0 1440 878 </string>
- </dict>
- </dict>
- </array>
+ <array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>682</integer>
+ <integer>682</integer>
</array>
<key>Perspectives</key>
<array>
@@ -297,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -367,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>719 408 682 464 0 0 1440 878 </string>
+ <string>598 397 682 464 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -395,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E57B9201BF00900B5DC2A</string>
+ <string>8B7928B121F343BF006E9731</string>
<key>history</key>
<array>
- <string>8B4E55B3201BC48D00B5DC2A</string>
+ <string>8B7928AC21F343AD006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -412,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {372, 39}}</string>
+ <string>{{0, 0}, {372, 20}}</string>
<key>RubberWindowFrame</key>
- <string>719 408 682 464 0 0 1440 878 </string>
+ <string>598 397 682 464 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>39pt</string>
+ <string>20pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>398pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -437,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {372, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>719 408 682 464 0 0 1440 878 </string>
+ <string>{{10, 27}, {372, 371}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -493,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {372, 371}}</string>
+ <key>RubberWindowFrame</key>
+ <string>598 397 682 464 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -521,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5791201BE4FE00B5DC2A</string>
+ <string>8B7928B221F343BF006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5792201BE4FE00B5DC2A</string>
+ <string>8B7928B321F343BF006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E5793201BE4FE00B5DC2A</string>
+ <string>8B7928B421F343BF006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -698,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538701833.475577</real>
+ <real>569590719.21111</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -715,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4E57BA201BF00900B5DC2A</string>
<string>/Users/christopherjohnson/Desktop/MacAU/C5RawBuss/C5RawBuss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>719 408 682 464 0 0 1440 878 </string>
+ <string>598 397 682 464 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.cpp b/plugins/MacAU/C5RawChannel/C5RawChannel.cpp
index 15d4f7a..2b2eb79 100755
--- a/plugins/MacAU/C5RawChannel/C5RawChannel.cpp
+++ b/plugins/MacAU/C5RawChannel/C5RawChannel.cpp
@@ -160,9 +160,7 @@ void C5RawChannel::C5RawChannelKernel::Reset()
{
lastFXChannel = 0.0;
lastSampleChannel = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -177,9 +175,6 @@ void C5RawChannel::C5RawChannelKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double centering = GetParameter( kParam_One ) * 0.5;
centering = 1.0 - pow(centering,5);
@@ -238,19 +233,11 @@ void C5RawChannel::C5RawChannelKernel::Process( const Float32 *inSourceP,
inputSample = sin(inputSample);
//amplitude aspect
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.h b/plugins/MacAU/C5RawChannel/C5RawChannel.h
index 1f3735e..c0bc730 100755
--- a/plugins/MacAU/C5RawChannel/C5RawChannel.h
+++ b/plugins/MacAU/C5RawChannel/C5RawChannel.h
@@ -127,9 +127,7 @@ public:
private:
Float64 lastSampleChannel;
Float64 lastFXChannel;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser
index 9e28f23..fe95427 100755
--- a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 542412635;
- PBXWorkspaceStateSaveDate = 542412635;
+ PBXPerProjectTemplateStateSaveDate = 569590745;
+ PBXWorkspaceStateSaveDate = 569590745;
};
perUserProjectItems = {
8B44C16D20548F6200B1360B /* PlistBookmark */ = 8B44C16D20548F6200B1360B /* PlistBookmark */;
- 8B44C16E20548F6200B1360B /* PBXBookmark */ = 8B44C16E20548F6200B1360B /* PBXBookmark */;
- 8B44C16F20548F6200B1360B /* PBXTextBookmark */ = 8B44C16F20548F6200B1360B /* PBXTextBookmark */;
+ 8B7928C221F3441D006E9731 /* PBXTextBookmark */ = 8B7928C221F3441D006E9731 /* PBXTextBookmark */;
+ 8B7928C721F3442D006E9731 /* PBXTextBookmark */ = 8B7928C721F3442D006E9731 /* PBXTextBookmark */;
+ 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */ = 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,27 +72,33 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/C5RawChannel/Info.plist;
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 9223372036854775808;
};
- 8B44C16E20548F6200B1360B /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */;
+ 8B7928C221F3441D006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* C5RawChannel.h */;
+ name = "C5RawChannel.h: 59";
+ rLen = 0;
+ rLoc = 2944;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B44C16F20548F6200B1360B /* PBXTextBookmark */ = {
+ 8B7928C721F3442D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */;
- name = "C5RawChannel.cpp: 220";
- rLen = 792;
- rLoc = 10043;
+ fRef = 8BC6025B073B072D006C4272 /* C5RawChannel.h */;
+ name = "C5RawChannel.h: 59";
+ rLen = 0;
+ rLoc = 2944;
rType = 0;
- vrLen = 1;
- vrLoc = 10043;
+ vrLen = 0;
+ vrLoc = 0;
};
8BA05A660720730100365D66 /* C5RawChannel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {677, 3601}}";
- sepNavSelRange = "{10043, 792}";
- sepNavVisRange = "{10043, 1}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 3445}}";
+ sepNavSelRange = "{10933, 0}";
+ sepNavVisRange = "{6542, 2174}";
sepNavWindowFrame = "{{434, 50}, {923, 828}}";
};
};
@@ -105,9 +112,9 @@
};
8BC6025B073B072D006C4272 /* C5RawChannel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1638}}";
+ sepNavIntBoundsRect = "{{0, 0}, {335, 1833}}";
sepNavSelRange = "{2944, 0}";
- sepNavVisRange = "{2680, 1548}";
+ sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{15, 45}, {923, 828}}";
};
};
@@ -125,6 +132,16 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
+ 8BE625CC2157ABD800E4E476 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* C5RawChannel.cpp */;
+ name = "C5RawChannel.cpp: 220";
+ rLen = 792;
+ rLoc = 9891;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
+ };
8D01CCC60486CAD60068D4B7 /* C5RawChannel */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3
index 54a9bef..ee92352 100755
--- a/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/C5RawChannel/C5RawChannel.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>694</integer>
+ <integer>694</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -302,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>721 122 694 488 0 0 1440 878 </string>
+ <string>490 149 694 488 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>C5RawChannel.cpp</string>
+ <string>C5RawChannel.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,15 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>C5RawChannel.cpp</string>
+ <string>C5RawChannel.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B44C16F20548F6200B1360B</string>
+ <string>8B7928C721F3442D006E9731</string>
<key>history</key>
<array>
<string>8B44C16D20548F6200B1360B</string>
- <string>8B44C16E20548F6200B1360B</string>
+ <string>8BE625CC2157ABD800E4E476</string>
+ <string>8B7928C221F3441D006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {384, 45}}</string>
+ <string>{{0, 0}, {384, 6}}</string>
<key>RubberWindowFrame</key>
- <string>721 122 694 488 0 0 1440 878 </string>
+ <string>490 149 694 488 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>45pt</string>
+ <string>6pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>397pt</string>
+ <string>436pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {384, 370}}</string>
- <key>RubberWindowFrame</key>
- <string>721 122 694 488 0 0 1440 878 </string>
+ <string>{{10, 27}, {384, 409}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {384, 409}}</string>
+ <key>RubberWindowFrame</key>
+ <string>490 149 694 488 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B44C17020548F6200B1360B</string>
+ <string>8B7928C821F3442D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B44C17120548F6200B1360B</string>
+ <string>8B7928C921F3442D006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B44C17220548F6200B1360B</string>
+ <string>8B7928CA21F3442D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>542412642.174927</real>
+ <real>569590829.86194801</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B44C17320548F6200B1360B</string>
<string>/Users/christopherjohnson/Desktop/MacAU/C5RawChannel/C5RawChannel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>721 122 694 488 0 0 1440 878 </string>
+ <string>490 149 694 488 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/CStrip/CStrip.cpp b/plugins/MacAU/CStrip/CStrip.cpp
index 78b3c31..494d6b5 100755
--- a/plugins/MacAU/CStrip/CStrip.cpp
+++ b/plugins/MacAU/CStrip/CStrip.cpp
@@ -257,9 +257,7 @@ ComponentResult CStrip::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void CStrip::CStripKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
lastSample = 0.0;
last2Sample = 0.0;
@@ -347,9 +345,8 @@ void CStrip::CStripKernel::Process( const Float32 *inSourceP,
overallscale = GetSampleRate();
compscale = compscale * overallscale;
//compscale is the one that's 1 or something like 2.2 for 96K rates
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
+ long double fpOld = 0.618033988749894848204586; //golden ratio!
+ long double fpNew = 1.0 - fpOld;
Float64 inputSample;
Float64 highSample = 0.0;
@@ -767,19 +764,11 @@ void CStrip::CStripKernel::Process( const Float32 *inSourceP,
//built in output trim and dry/wet if desired
if (outputgain != 1.0) inputSample *= outputgain;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/CStrip/CStrip.h b/plugins/MacAU/CStrip/CStrip.h
index 750ef35..f12b4c8 100755
--- a/plugins/MacAU/CStrip/CStrip.h
+++ b/plugins/MacAU/CStrip/CStrip.h
@@ -162,9 +162,7 @@ public:
virtual void Reset();
private:
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
Float64 lastSample;
Float64 last2Sample;
diff --git a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser
index 22fd68a..d0297d0 100755
--- a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.pbxuser
@@ -49,23 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 559506724;
- PBXWorkspaceStateSaveDate = 559506724;
+ PBXPerProjectTemplateStateSaveDate = 569595746;
+ PBXWorkspaceStateSaveDate = 569595746;
};
perUserProjectItems = {
- 8BE626742159682E00E4E476 /* PBXTextBookmark */ = 8BE626742159682E00E4E476 /* PBXTextBookmark */;
- 8BE626752159682E00E4E476 /* PBXTextBookmark */ = 8BE626752159682E00E4E476 /* PBXTextBookmark */;
+ 8B792A1221F357B8006E9731 /* PBXTextBookmark */ = 8B792A1221F357B8006E9731 /* PBXTextBookmark */;
+ 8B792A1C21F357E5006E9731 /* PBXTextBookmark */ = 8B792A1C21F357E5006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792A1221F357B8006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* CStrip.h */;
+ name = "CStrip.h: 167";
+ rLen = 45;
+ rLoc = 6671;
+ rType = 0;
+ vrLen = 136;
+ vrLoc = 6648;
+ };
+ 8B792A1C21F357E5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* CStrip.h */;
+ name = "CStrip.h: 167";
+ rLen = 45;
+ rLoc = 6671;
+ rType = 0;
+ vrLen = 136;
+ vrLoc = 6648;
+ };
8BA05A660720730100365D66 /* CStrip.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {989, 10972}}";
- sepNavSelRange = "{12483, 39}";
- sepNavVisRange = "{16317, 1951}";
- sepNavWindowFrame = "{{618, 70}, {1036, 808}}";
+ sepNavIntBoundsRect = "{{0, 0}, {989, 10543}}";
+ sepNavSelRange = "{14732, 0}";
+ sepNavVisRange = "{13582, 1981}";
+ sepNavWindowFrame = "{{305, 65}, {1036, 808}}";
};
};
8BA05A680720730100365D66 /* CStrip.r */ = {
@@ -86,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* CStrip.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 3445}}";
- sepNavSelRange = "{6708, 45}";
- sepNavVisRange = "{6648, 121}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3289}}";
+ sepNavSelRange = "{6671, 45}";
+ sepNavVisRange = "{6648, 136}";
sepNavWindowFrame = "{{686, 40}, {754, 805}}";
};
};
@@ -106,26 +126,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BE626742159682E00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* CStrip.h */;
- name = "CStrip.h: 169";
- rLen = 45;
- rLoc = 6708;
- rType = 0;
- vrLen = 121;
- vrLoc = 6648;
- };
- 8BE626752159682E00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* CStrip.h */;
- name = "CStrip.h: 169";
- rLen = 45;
- rLoc = 6708;
- rType = 0;
- vrLen = 121;
- vrLoc = 6648;
- };
8D01CCC60486CAD60068D4B7 /* CStrip */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3
index 02abfef..045b469 100755
--- a/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/CStrip/CStrip.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>619 317 810 487 0 0 1440 878 </string>
+ <string>471 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BE626752159682E00E4E476</string>
+ <string>8B792A1C21F357E5006E9731</string>
<key>history</key>
<array>
- <string>8BE626742159682E00E4E476</string>
+ <string>8B792A1221F357B8006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 132}}</string>
+ <string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
- <string>619 317 810 487 0 0 1440 878 </string>
+ <string>471 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>132pt</string>
+ <string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>309pt</string>
+ <string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
- <key>RubberWindowFrame</key>
- <string>619 317 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 297}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
+ <key>RubberWindowFrame</key>
+ <string>471 312 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BE626762159682E00E4E476</string>
+ <string>8B792A1D21F357E5006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BE626772159682E00E4E476</string>
+ <string>8B792A1E21F357E5006E9731</string>
<string>8BB5DCD21FBCB6E7008B4570</string>
- <string>8BE626782159682E00E4E476</string>
+ <string>8B792A1F21F357E5006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>559507502.89647996</real>
+ <real>569595877.85073602</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,10 +650,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792A2021F357E5006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/CStrip/CStrip.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>619 317 810 487 0 0 1440 878 </string>
+ <string>471 312 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Capacitor/Capacitor.cpp b/plugins/MacAU/Capacitor/Capacitor.cpp
index f810f0e..bfe38c2 100755
--- a/plugins/MacAU/Capacitor/Capacitor.cpp
+++ b/plugins/MacAU/Capacitor/Capacitor.cpp
@@ -196,9 +196,7 @@ void Capacitor::CapacitorKernel::Reset()
lastLowpass = 1000.0;
lastHighpass = 1000.0;
lastWet = 1000.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -229,9 +227,6 @@ void Capacitor::CapacitorKernel::Process( const Float32 *inSourceP,
Float64 invLowpass;
Float64 invHighpass;
Float64 dry;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSample;
Float32 drySample;
@@ -324,19 +319,11 @@ void Capacitor::CapacitorKernel::Process( const Float32 *inSourceP,
inputSample = (drySample * dry) + (inputSample * wet);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Capacitor/Capacitor.h b/plugins/MacAU/Capacitor/Capacitor.h
index 92ca84a..7608462 100755
--- a/plugins/MacAU/Capacitor/Capacitor.h
+++ b/plugins/MacAU/Capacitor/Capacitor.h
@@ -158,9 +158,7 @@ public:
Float64 lastHighpass;
Float64 lastWet;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser
index 2351b87..3c205e0 100755
--- a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.pbxuser
@@ -51,13 +51,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 531742140;
- PBXWorkspaceStateSaveDate = 531742140;
+ PBXPerProjectTemplateStateSaveDate = 569590853;
+ PBXWorkspaceStateSaveDate = 569590853;
};
perUserProjectItems = {
8B558E341E54FD3900D04D0B /* PlistBookmark */ = 8B558E341E54FD3900D04D0B /* PlistBookmark */;
- 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */ = 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */;
- 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */ = 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */;
+ 8B7928D921F344BA006E9731 /* PBXTextBookmark */ = 8B7928D921F344BA006E9731 /* PBXTextBookmark */;
+ 8B7928DE21F344CC006E9731 /* PBXTextBookmark */ = 8B7928DE21F344CC006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -75,32 +75,32 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B6692B51FB1BDCA007B3434 /* PBXTextBookmark */ = {
+ 8B7928D921F344BA006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Capacitor.cpp */;
- name = "Capacitor.cpp: 238";
+ name = "Capacitor.cpp: 233";
rLen = 0;
- rLoc = 10065;
+ rLoc = 9913;
rType = 0;
- vrLen = 80;
- vrLoc = 10017;
+ vrLen = 141;
+ vrLoc = 9914;
};
- 8B6692B61FB1BDCA007B3434 /* PBXTextBookmark */ = {
+ 8B7928DE21F344CC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Capacitor.cpp */;
- name = "Capacitor.cpp: 238";
+ name = "Capacitor.cpp: 233";
rLen = 0;
- rLoc = 10065;
+ rLoc = 9913;
rType = 0;
- vrLen = 80;
- vrLoc = 10017;
+ vrLen = 141;
+ vrLoc = 9914;
};
8BA05A660720730100365D66 /* Capacitor.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {544, 4628}}";
- sepNavSelRange = "{10065, 0}";
- sepNavVisRange = "{10017, 80}";
- sepNavWindowFrame = "{{512, 39}, {923, 837}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4472}}";
+ sepNavSelRange = "{9913, 0}";
+ sepNavVisRange = "{9914, 141}";
+ sepNavWindowFrame = "{{401, 32}, {923, 837}}";
};
};
8BA05A690720730100365D66 /* CapacitorVersion.h */ = {
@@ -113,9 +113,9 @@
};
8BC6025B073B072D006C4272 /* Capacitor.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2158}}";
- sepNavSelRange = "{5829, 65}";
- sepNavVisRange = "{3949, 1667}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2353}}";
+ sepNavSelRange = "{5854, 0}";
+ sepNavVisRange = "{4764, 1192}";
sepNavWindowFrame = "{{517, 41}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3
index 53f7a19..079d4c2 100755
--- a/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Capacitor/Capacitor.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>841</integer>
+ <integer>841</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -301,7 +299,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>573 188 841 654 0 0 1440 878 </string>
+ <string>493 190 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B6692B61FB1BDCA007B3434</string>
+ <string>8B7928DE21F344CC006E9731</string>
<key>history</key>
<array>
<string>8B558E341E54FD3900D04D0B</string>
- <string>8B6692B51FB1BDCA007B3434</string>
+ <string>8B7928D921F344BA006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 92}}</string>
+ <string>{{0, 0}, {531, 74}}</string>
<key>RubberWindowFrame</key>
- <string>573 188 841 654 0 0 1440 878 </string>
+ <string>493 190 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>92pt</string>
+ <string>74pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>516pt</string>
+ <string>534pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 489}}</string>
- <key>RubberWindowFrame</key>
- <string>573 188 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 507}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {531, 507}}</string>
+ <key>RubberWindowFrame</key>
+ <string>493 190 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B6692B71FB1BDCA007B3434</string>
+ <string>8B7928DF21F344CC006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B6692B81FB1BDCA007B3434</string>
+ <string>8B7928E021F344CC006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B6692B91FB1BDCA007B3434</string>
+ <string>8B7928E121F344CC006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>531742154.04575902</real>
+ <real>569590988.98670805</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B6692BA1FB1BDCA007B3434</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Capacitor/Capacitor.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>573 188 841 654 0 0 1440 878 </string>
+ <string>493 190 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Channel6/Channel6.cpp b/plugins/MacAU/Channel6/Channel6.cpp
index a0e543c..160b961 100755
--- a/plugins/MacAU/Channel6/Channel6.cpp
+++ b/plugins/MacAU/Channel6/Channel6.cpp
@@ -284,22 +284,15 @@ void Channel6::Channel6Kernel::Process( const Float32 *inSourceP,
{
inputSample *= output;
}
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
-} \ No newline at end of file
+}
diff --git a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser
index 108e0b5..46650ee 100755
--- a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.pbxuser
@@ -49,19 +49,39 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553993498;
- PBXWorkspaceStateSaveDate = 553993498;
+ PBXPerProjectTemplateStateSaveDate = 569591253;
+ PBXWorkspaceStateSaveDate = 569591253;
};
perUserProjectItems = {
+ 8B79290F21F3460C006E9731 /* PBXTextBookmark */ = 8B79290F21F3460C006E9731 /* PBXTextBookmark */;
+ 8B79291421F3461E006E9731 /* PBXTextBookmark */ = 8B79291421F3461E006E9731 /* PBXTextBookmark */;
8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */ = 8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */;
8BB8B7512103B13800751000 /* PlistBookmark */ = 8BB8B7512103B13800751000 /* PlistBookmark */;
- 8BBD18BF2105439F0015A233 /* PBXTextBookmark */ = 8BBD18BF2105439F0015A233 /* PBXTextBookmark */;
- 8BBD18F5210547560015A233 /* PBXTextBookmark */ = 8BBD18F5210547560015A233 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79290F21F3460C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Channel6.cpp */;
+ name = "Channel6.cpp: 216";
+ rLen = 0;
+ rLoc = 9427;
+ rType = 0;
+ vrLen = 338;
+ vrLoc = 9262;
+ };
+ 8B79291421F3461E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Channel6.cpp */;
+ name = "Channel6.cpp: 216";
+ rLen = 0;
+ rLoc = 9427;
+ rType = 0;
+ vrLen = 338;
+ vrLoc = 9262;
+ };
8B97541F2103D42D00A4FFA3 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Channel6.h */;
@@ -74,10 +94,10 @@
};
8BA05A660720730100365D66 /* Channel6.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 4030}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3874}}";
sepNavSelRange = "{9427, 0}";
- sepNavVisRange = "{9225, 393}";
- sepNavWindowFrame = "{{659, 57}, {850, 821}}";
+ sepNavVisRange = "{9262, 338}";
+ sepNavWindowFrame = "{{442, 57}, {850, 821}}";
};
};
8BA05A670720730100365D66 /* Channel6.exp */ = {
@@ -108,32 +128,12 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BBD18BF2105439F0015A233 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Channel6.cpp */;
- name = "Channel6.cpp: 216";
- rLen = 0;
- rLoc = 9427;
- rType = 0;
- vrLen = 439;
- vrLoc = 9182;
- };
- 8BBD18F5210547560015A233 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Channel6.cpp */;
- name = "Channel6.cpp: 216";
- rLen = 0;
- rLoc = 9427;
- rType = 0;
- vrLen = 393;
- vrLoc = 9225;
- };
8BC6025B073B072D006C4272 /* Channel6.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2015}}";
- sepNavSelRange = "{5615, 0}";
- sepNavVisRange = "{2424, 1290}";
- sepNavWindowFrame = "{{600, 57}, {850, 821}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1989}}";
+ sepNavSelRange = "{5497, 0}";
+ sepNavVisRange = "{4141, 1596}";
+ sepNavWindowFrame = "{{590, 57}, {850, 821}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3
index 42ecf8f..ffc3590 100755
--- a/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Channel6/Channel6.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>592 182 841 654 0 0 1440 878 </string>
+ <string>463 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBD18F5210547560015A233</string>
+ <string>8B79291421F3461E006E9731</string>
<key>history</key>
<array>
<string>8BB8B7512103B13800751000</string>
<string>8B97541F2103D42D00A4FFA3</string>
- <string>8BBD18BF2105439F0015A233</string>
+ <string>8B79290F21F3460C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {531, 142}}</string>
<key>RubberWindowFrame</key>
- <string>592 182 841 654 0 0 1440 878 </string>
+ <string>463 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>142pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>466pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
- <key>RubberWindowFrame</key>
- <string>592 182 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 439}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 439}}</string>
+ <key>RubberWindowFrame</key>
+ <string>463 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBD18F6210547560015A233</string>
+ <string>8B79291521F3461E006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBD18F7210547560015A233</string>
+ <string>8B79291621F3461E006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBD18F8210547560015A233</string>
+ <string>8B79291721F3461E006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553994070.73831797</real>
+ <real>569591326.09985697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBD18F9210547560015A233</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Channel6/Channel6.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>592 182 841 654 0 0 1440 878 </string>
+ <string>463 218 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Chorus/Chorus.cpp b/plugins/MacAU/Chorus/Chorus.cpp
index c82a9f8..6a4eb69 100755
--- a/plugins/MacAU/Chorus/Chorus.cpp
+++ b/plugins/MacAU/Chorus/Chorus.cpp
@@ -181,9 +181,8 @@ void Chorus::ChorusKernel::Reset()
airEven = 0.0;
airOdd = 0.0;
airFactor = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
+ fpFlip = false;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -214,10 +213,6 @@ void Chorus::ChorusKernel::Process( const Float32 *inSourceP,
Float64 tupi = 3.141592653589793238 * 2.0;
Float64 offset;
//this is a double buffer so we will be splitting it in two
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSample;
Float64 drySample;
@@ -282,19 +277,11 @@ void Chorus::ChorusKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
destP += inNumChannels;
diff --git a/plugins/MacAU/Chorus/Chorus.h b/plugins/MacAU/Chorus/Chorus.h
index e25e995..ff1fdf2 100755
--- a/plugins/MacAU/Chorus/Chorus.h
+++ b/plugins/MacAU/Chorus/Chorus.h
@@ -139,9 +139,8 @@ public:
Float64 airEven;
Float64 airOdd;
Float64 airFactor;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
+ bool fpFlip;
};
};
diff --git a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser
index 3cae981..f61c3d3 100755
--- a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.pbxuser
@@ -49,44 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 529841844;
- PBXWorkspaceStateSaveDate = 529841844;
+ PBXPerProjectTemplateStateSaveDate = 569591348;
+ PBXWorkspaceStateSaveDate = 569591348;
};
perUserProjectItems = {
- 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */ = 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */;
- 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */ = 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */;
+ 8B79292521F34676006E9731 /* PBXTextBookmark */ = 8B79292521F34676006E9731 /* PBXTextBookmark */;
+ 8B79293221F346AC006E9731 /* PBXTextBookmark */ = 8B79293221F346AC006E9731 /* PBXTextBookmark */;
8BCF321C1F4E492C00632CB6 /* PBXTextBookmark */ = 8BCF321C1F4E492C00632CB6 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B36C9E21F94D13C003BE0C9 /* PBXTextBookmark */ = {
+ 8B79292521F34676006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Chorus.cpp */;
- name = "Chorus.cpp: 269";
+ name = "Chorus.cpp: 263";
rLen = 0;
- rLoc = 11881;
+ rLoc = 11745;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
- 8B9D733F1F7F1245007AB60F /* PBXTextBookmark */ = {
+ 8B79293221F346AC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Chorus.cpp */;
- name = "Chorus.cpp: 269";
+ name = "Chorus.cpp: 264";
rLen = 0;
- rLoc = 11881;
+ rLoc = 11745;
rType = 0;
- vrLen = 65;
- vrLoc = 10659;
+ vrLen = 0;
+ vrLoc = 0;
};
8BA05A660720730100365D66 /* Chorus.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 4004}}";
- sepNavSelRange = "{11881, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3887}}";
+ sepNavSelRange = "{11745, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{784, 39}, {1024, 839}}";
+ sepNavWindowFrame = "{{257, 39}, {1024, 839}}";
};
};
8BA05A670720730100365D66 /* Chorus.exp */ = {
@@ -107,9 +107,9 @@
};
8BC6025B073B072D006C4272 /* Chorus.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 1963}}";
- sepNavSelRange = "{5229, 0}";
- sepNavVisRange = "{4125, 1457}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 1937}}";
+ sepNavSelRange = "{5444, 0}";
+ sepNavVisRange = "{4046, 1502}";
sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
};
};
diff --git a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3
index ecf0b5a..4dc6f92 100755
--- a/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Chorus/Chorus.xcodeproj/christopherjohnson.perspectivev3
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 329 810 487 0 0 1440 878 </string>
+ <string>473 332 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B36C9E21F94D13C003BE0C9</string>
+ <string>8B79293221F346AC006E9731</string>
<key>history</key>
<array>
<string>8BCF321C1F4E492C00632CB6</string>
- <string>8B9D733F1F7F1245007AB60F</string>
+ <string>8B79292521F34676006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 32}}</string>
+ <string>{{0, 0}, {603, 13}}</string>
<key>RubberWindowFrame</key>
- <string>630 329 810 487 0 0 1440 878 </string>
+ <string>473 332 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>32pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>409pt</string>
+ <string>428pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 382}}</string>
- <key>RubberWindowFrame</key>
- <string>630 329 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 401}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 401}}</string>
+ <key>RubberWindowFrame</key>
+ <string>473 332 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B36C9E31F94D13C003BE0C9</string>
+ <string>8B79293321F346AC006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B36C9E41F94D13C003BE0C9</string>
+ <string>8B79293421F346AC006E9731</string>
<string>8BCFBD371E6DE48D0046F93B</string>
- <string>8B36C9E51F94D13C003BE0C9</string>
+ <string>8B79293521F346AC006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>529846588.24690598</real>
+ <real>569591468.25551903</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B36C9E61F94D13C003BE0C9</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Chorus/Chorus.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 329 810 487 0 0 1440 878 </string>
+ <string>473 332 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp
index 8caed8c..4cc8f36 100755
--- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp
+++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.cpp
@@ -181,9 +181,8 @@ void ChorusEnsemble::ChorusEnsembleKernel::Reset()
airEven = 0.0;
airOdd = 0.0;
airFactor = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
+ fpFlip = false;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -215,10 +214,6 @@ void ChorusEnsemble::ChorusEnsembleKernel::Process( const Float32 *inSourceP,
Float64 offset;
Float64 start[4];
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
long double inputSample;
Float64 drySample;
//now we'll precalculate some stuff that needn't be in every sample
@@ -312,19 +307,11 @@ void ChorusEnsemble::ChorusEnsembleKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
destP += inNumChannels;
diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h
index 6b2b8ed..7012d58 100755
--- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h
+++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.h
@@ -139,9 +139,8 @@ public:
Float64 airEven;
Float64 airOdd;
Float64 airFactor;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
+ bool fpFlip;
};
};
diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser
index 338f1c0..6b1f825 100755
--- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.pbxuser
@@ -49,61 +49,50 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528421453;
- PBXWorkspaceStateSaveDate = 528421453;
+ PBXPerProjectTemplateStateSaveDate = 569591494;
+ PBXWorkspaceStateSaveDate = 569591494;
};
perUserProjectItems = {
+ 8B79294D21F34765006E9731 /* PBXTextBookmark */ = 8B79294D21F34765006E9731 /* PBXTextBookmark */;
8B8847291F206D6800E13453 /* PBXTextBookmark */ = 8B8847291F206D6800E13453 /* PBXTextBookmark */;
- 8B88472A1F206D6800E13453 /* PBXTextBookmark */ = 8B88472A1F206D6800E13453 /* PBXTextBookmark */;
- 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */ = 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B8847291F206D6800E13453 /* PBXTextBookmark */ = {
+ 8B79294D21F34765006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A670720730100365D66 /* ChorusEnsemble.exp */;
name = "ChorusEnsemble.exp: 2";
rLen = 0;
rLoc = 21;
rType = 0;
- vrLen = 21;
+ vrLen = 0;
vrLoc = 0;
};
- 8B88472A1F206D6800E13453 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* ChorusEnsemble.h */;
- name = "ChorusEnsemble.h: 58";
- rLen = 0;
- rLoc = 2939;
- rType = 0;
- vrLen = 239;
- vrLoc = 2754;
- };
- 8B9D734E1F7F1296007AB60F /* PBXTextBookmark */ = {
+ 8B8847291F206D6800E13453 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* ChorusEnsemble.h */;
- name = "ChorusEnsemble.h: 58";
+ fRef = 8BA05A670720730100365D66 /* ChorusEnsemble.exp */;
+ name = "ChorusEnsemble.exp: 2";
rLen = 0;
- rLoc = 2939;
+ rLoc = 21;
rType = 0;
- vrLen = 0;
+ vrLen = 21;
vrLoc = 0;
};
8BA05A660720730100365D66 /* ChorusEnsemble.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {521, 4407}}";
- sepNavSelRange = "{11914, 0}";
- sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{295, 65}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 4368}}";
+ sepNavSelRange = "{8495, 0}";
+ sepNavVisRange = "{7989, 1986}";
+ sepNavWindowFrame = "{{147, 42}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* ChorusEnsemble.exp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 100}}";
+ sepNavIntBoundsRect = "{{0, 0}, {521, 26}}";
sepNavSelRange = "{21, 0}";
- sepNavVisRange = "{0, 21}";
+ sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{15, 39}, {1005, 839}}";
};
};
@@ -117,7 +106,7 @@
};
8BC6025B073B072D006C4272 /* ChorusEnsemble.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {719, 2197}}";
+ sepNavIntBoundsRect = "{{0, 0}, {521, 1937}}";
sepNavSelRange = "{2939, 0}";
sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
diff --git a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3
index 71d07ef..d35aa7f 100755
--- a/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj/christopherjohnson.perspectivev3
@@ -326,7 +326,7 @@
<real>218</real>
</array>
<key>RubberWindowFrame</key>
- <string>616 217 810 487 0 0 1440 878 </string>
+ <string>457 305 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +342,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B8847271F206D6800E13453</string>
<key>PBXProjectModuleLabel</key>
- <string>ChorusEnsemble.h</string>
+ <string>ChorusEnsemble.exp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,15 +350,14 @@
<key>PBXProjectModuleGUID</key>
<string>8B8847281F206D6800E13453</string>
<key>PBXProjectModuleLabel</key>
- <string>ChorusEnsemble.h</string>
+ <string>ChorusEnsemble.exp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D734E1F7F1296007AB60F</string>
+ <string>8B79294D21F34765006E9731</string>
<key>history</key>
<array>
<string>8B8847291F206D6800E13453</string>
- <string>8B88472A1F206D6800E13453</string>
</array>
</dict>
<key>SplitCount</key>
@@ -374,7 +373,7 @@
<key>Frame</key>
<string>{{0, 0}, {570, 0}}</string>
<key>RubberWindowFrame</key>
- <string>616 217 810 487 0 0 1440 878 </string>
+ <string>457 305 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -398,8 +397,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {570, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>616 217 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {570, 312}}</string>
+ <string>{{10, 27}, {570, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>457 305 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D734F1F7F1296007AB60F</string>
+ <string>8B79294E21F34765006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73501F7F1296007AB60F</string>
+ <string>8B79294F21F34765006E9731</string>
<string>8B8847271F206D6800E13453</string>
- <string>8B9D73511F7F1296007AB60F</string>
+ <string>8B79295021F34765006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -638,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528421526.378672</real>
+ <real>569591653.62024701</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -655,11 +654,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D73521F7F1296007AB60F</string>
+ <string>8B79295121F34765006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ChorusEnsemble/ChorusEnsemble.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>616 217 810 487 0 0 1440 878 </string>
+ <string>457 305 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser
index a51396a..6f6145c 100755
--- a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.pbxuser
@@ -51,13 +51,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 529441914;
- PBXWorkspaceStateSaveDate = 529441914;
+ PBXPerProjectTemplateStateSaveDate = 569591684;
+ PBXWorkspaceStateSaveDate = 569591684;
};
perUserProjectItems = {
8B1E10641D87858F0016BF5B /* PBXTextBookmark */ = 8B1E10641D87858F0016BF5B /* PBXTextBookmark */;
8B1E10651D87858F0016BF5B /* PBXTextBookmark */ = 8B1E10651D87858F0016BF5B /* PBXTextBookmark */;
- 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */ = 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */;
+ 8B79296121F347C4006E9731 /* PBXTextBookmark */ = 8B79296121F347C4006E9731 /* PBXTextBookmark */;
8BCA0F671D87688800A4EFAF /* PlistBookmark */ = 8BCA0F671D87688800A4EFAF /* PlistBookmark */;
8BE9F8701F8EA4A0009702A4 /* PBXTextBookmark */ = 8BE9F8701F8EA4A0009702A4 /* PBXTextBookmark */;
};
@@ -85,21 +85,21 @@
vrLen = 354;
vrLoc = 2596;
};
- 8B9D735D1F7F9736007AB60F /* PBXTextBookmark */ = {
+ 8B79296121F347C4006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* ClipOnly.h */;
name = "ClipOnly.h: 125";
rLen = 60;
rLoc = 4934;
rType = 0;
- vrLen = 402;
+ vrLen = 308;
vrLoc = 4693;
};
8BA05A660720730100365D66 /* ClipOnly.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 3354}}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 3250}}";
sepNavSelRange = "{10288, 28}";
- sepNavVisRange = "{8363, 2011}";
+ sepNavVisRange = "{8312, 2062}";
sepNavWindowFrame = "{{545, 59}, {895, 819}}";
};
};
@@ -115,7 +115,7 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1911}}";
sepNavSelRange = "{4934, 60}";
- sepNavVisRange = "{4693, 309}";
+ sepNavVisRange = "{4693, 308}";
sepNavWindowFrame = "{{15, 54}, {895, 819}}";
};
};
diff --git a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3
index 567a3d2..1b24ce5 100755
--- a/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ClipOnly/ClipOnly.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>586 185 841 654 0 0 1440 878 </string>
+ <string>513 205 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,13 +353,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BE9F8701F8EA4A0009702A4</string>
+ <string>8B79296121F347C4006E9731</string>
<key>history</key>
<array>
<string>8BCA0F671D87688800A4EFAF</string>
<string>8B1E10641D87858F0016BF5B</string>
<string>8B1E10651D87858F0016BF5B</string>
- <string>8B9D735D1F7F9736007AB60F</string>
+ <string>8BE9F8701F8EA4A0009702A4</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +373,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
- <string>586 185 841 654 0 0 1440 878 </string>
+ <string>513 205 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +398,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
<key>RubberWindowFrame</key>
- <string>586 185 841 654 0 0 1440 878 </string>
+ <string>513 205 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -482,11 +482,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BE9F8711F8EA4A0009702A4</string>
+ <string>8B79296221F347C4006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BE9F8721F8EA4A0009702A4</string>
+ <string>8B79296321F347C4006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BE9F8731F8EA4A0009702A4</string>
+ <string>8B79296421F347C4006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +659,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>529441952.39161801</real>
+ <real>569591748.91110599</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +676,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BE9F8741F8EA4A0009702A4</string>
+ <string>8B79296521F347C4006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ClipOnly/ClipOnly.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>586 185 841 654 0 0 1440 878 </string>
+ <string>513 205 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Console4Buss/Console4Buss.cpp b/plugins/MacAU/Console4Buss/Console4Buss.cpp
index d263fe8..a37a7c5 100755
--- a/plugins/MacAU/Console4Buss/Console4Buss.cpp
+++ b/plugins/MacAU/Console4Buss/Console4Buss.cpp
@@ -162,10 +162,7 @@ void Console4Buss::Console4BussKernel::Reset()
gainchase = -90.0;
settingchase = -90.0;
chasespeed = 350.0;
- demotimer = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -187,9 +184,6 @@ void Console4Buss::Console4BussKernel::Process( const Float32 *inSourceP,
overallscale /= 44100.0;
// 1 for CD rate, more if it's a high sample rate
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSample;
long double half;
long double falf;
@@ -264,19 +258,11 @@ void Console4Buss::Console4BussKernel::Process( const Float32 *inSourceP,
//this is the inverse processing for Console: boosts but not so much if there's slew.
//is this too subtle an effect?
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Console4Buss/Console4Buss.h b/plugins/MacAU/Console4Buss/Console4Buss.h
index 87b1a17..dc7e15f 100755
--- a/plugins/MacAU/Console4Buss/Console4Buss.h
+++ b/plugins/MacAU/Console4Buss/Console4Buss.h
@@ -131,10 +131,7 @@ public:
Float64 gainchase;
Float64 settingchase;
Float64 chasespeed;
- int demotimer;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser
index 8a1c58c..0ed4251 100755
--- a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.pbxuser
@@ -49,48 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 533150868;
- PBXWorkspaceStateSaveDate = 533150868;
+ PBXPerProjectTemplateStateSaveDate = 569592284;
+ PBXWorkspaceStateSaveDate = 569592284;
};
perUserProjectItems = {
- 8B484E281FC73D0300977397 /* PBXTextBookmark */ = 8B484E281FC73D0300977397 /* PBXTextBookmark */;
- 8B484E291FC73D0300977397 /* PBXBookmark */ = 8B484E291FC73D0300977397 /* PBXBookmark */;
- 8B484E2A1FC73D0300977397 /* PBXTextBookmark */ = 8B484E2A1FC73D0300977397 /* PBXTextBookmark */;
+ 8B79297721F34A6E006E9731 /* PBXTextBookmark */ = 8B79297721F34A6E006E9731 /* PBXTextBookmark */;
+ 8B79297821F34A6E006E9731 /* PBXTextBookmark */ = 8B79297821F34A6E006E9731 /* PBXTextBookmark */;
+ 8B79297D21F34A7F006E9731 /* PBXTextBookmark */ = 8B79297D21F34A7F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B484E281FC73D0300977397 /* PBXTextBookmark */ = {
+ 8B79297721F34A6E006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */;
- name = "Console4Buss.h: 138";
+ fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */;
+ name = "Console4Buss.cpp: 213";
rLen = 0;
- rLoc = 5276;
+ rLoc = 9086;
rType = 0;
- vrLen = 85;
- vrLoc = 48;
+ vrLen = 173;
+ vrLoc = 10045;
};
- 8B484E291FC73D0300977397 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */;
+ 8B79297821F34A6E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */;
+ name = "Console4Buss.h: 135";
+ rLen = 0;
+ rLoc = 5226;
+ rType = 0;
+ vrLen = 66;
+ vrLoc = 67;
};
- 8B484E2A1FC73D0300977397 /* PBXTextBookmark */ = {
+ 8B79297D21F34A7F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Console4Buss.cpp */;
- name = "Console4Buss.cpp: 213";
+ fRef = 8BC6025B073B072D006C4272 /* Console4Buss.h */;
+ name = "Console4Buss.h: 135";
rLen = 0;
- rLoc = 9245;
+ rLoc = 5226;
rType = 0;
- vrLen = 232;
- vrLoc = 10045;
+ vrLen = 66;
+ vrLoc = 67;
};
8BA05A660720730100365D66 /* Console4Buss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 3913}}";
- sepNavSelRange = "{9245, 0}";
- sepNavVisRange = "{10045, 232}";
- sepNavWindowFrame = "{{545, 39}, {895, 831}}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 3783}}";
+ sepNavSelRange = "{11405, 0}";
+ sepNavVisRange = "{9653, 1840}";
+ sepNavWindowFrame = "{{183, 47}, {895, 831}}";
};
};
8BA05A690720730100365D66 /* Console4BussVersion.h */ = {
@@ -103,10 +109,10 @@
};
8BC6025B073B072D006C4272 /* Console4Buss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
- sepNavSelRange = "{5135, 67}";
- sepNavVisRange = "{3839, 1546}";
- sepNavWindowFrame = "{{621, 47}, {895, 831}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 1885}}";
+ sepNavSelRange = "{5226, 0}";
+ sepNavVisRange = "{67, 66}";
+ sepNavWindowFrame = "{{545, 47}, {895, 831}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3
index 3a90e01..d66b6f6 100755
--- a/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Console4Buss/Console4Buss.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>631 363 810 487 0 0 1440 878 </string>
+ <string>470 336 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B049F931D109A8900F78DCA</string>
<key>PBXProjectModuleLabel</key>
- <string>Console4Buss.cpp</string>
+ <string>Console4Buss.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,15 +346,15 @@
<key>PBXProjectModuleGUID</key>
<string>8B049F941D109A8900F78DCA</string>
<key>PBXProjectModuleLabel</key>
- <string>Console4Buss.cpp</string>
+ <string>Console4Buss.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B484E2A1FC73D0300977397</string>
+ <string>8B79297D21F34A7F006E9731</string>
<key>history</key>
<array>
- <string>8B484E281FC73D0300977397</string>
- <string>8B484E291FC73D0300977397</string>
+ <string>8B79297721F34A6E006E9731</string>
+ <string>8B79297821F34A6E006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
- <string>631 363 810 487 0 0 1440 878 </string>
+ <string>470 336 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>631 363 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 363}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>470 336 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B484E2B1FC73D0300977397</string>
+ <string>8B79296E21F349E0006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B484E2C1FC73D0300977397</string>
+ <string>8B79296F21F349E0006E9731</string>
<string>8B049F931D109A8900F78DCA</string>
- <string>8B484E2D1FC73D0300977397</string>
+ <string>8B79297021F349E0006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>533150979.70890802</real>
+ <real>569592447.53790605</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -656,7 +654,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Console4Buss/Console4Buss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>631 363 810 487 0 0 1440 878 </string>
+ <string>470 336 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Console4Channel/Console4Channel.cpp b/plugins/MacAU/Console4Channel/Console4Channel.cpp
index a357629..865b3b0 100755
--- a/plugins/MacAU/Console4Channel/Console4Channel.cpp
+++ b/plugins/MacAU/Console4Channel/Console4Channel.cpp
@@ -161,10 +161,7 @@ void Console4Channel::Console4ChannelKernel::Reset()
gainchase = -90.0;
settingchase = -90.0;
chasespeed = 350.0;
- demotimer = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -182,9 +179,6 @@ void Console4Channel::Console4ChannelKernel::Process( const Float32 *inSourceP
long double inputSample;
long double half;
long double falf;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
Float64 inputgain = GetParameter( kParam_One );
if (settingchase != inputgain) {
chasespeed *= 2.0;
@@ -243,19 +237,11 @@ void Console4Channel::Console4ChannelKernel::Process( const Float32 *inSourceP
//this is part of the Purest line: stuff that is on every track
//needs to be DAMN LOW ON MATH srsly guys
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
//force 80 bit into 32 bit output
diff --git a/plugins/MacAU/Console4Channel/Console4Channel.h b/plugins/MacAU/Console4Channel/Console4Channel.h
index 0d447d4..665d892 100755
--- a/plugins/MacAU/Console4Channel/Console4Channel.h
+++ b/plugins/MacAU/Console4Channel/Console4Channel.h
@@ -129,10 +129,7 @@ public:
Float64 gainchase;
Float64 settingchase;
Float64 chasespeed;
- int demotimer;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser
index 038b3b3..3aa3959 100755
--- a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.pbxuser
@@ -49,15 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 533424844;
- PBXWorkspaceStateSaveDate = 533424844;
+ PBXPerProjectTemplateStateSaveDate = 569592470;
+ PBXWorkspaceStateSaveDate = 569592470;
};
perUserProjectItems = {
8B484F0F1FCB69BE00977397 /* PBXTextBookmark */ = 8B484F0F1FCB69BE00977397 /* PBXTextBookmark */;
8B484F1F1FCB6ADC00977397 /* PBXTextBookmark */ = 8B484F1F1FCB6ADC00977397 /* PBXTextBookmark */;
- 8B484F201FCB6ADC00977397 /* PBXTextBookmark */ = 8B484F201FCB6ADC00977397 /* PBXTextBookmark */;
- 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */ = 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */;
8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */;
+ 8B79298C21F34AE6006E9731 /* PBXTextBookmark */ = 8B79298C21F34AE6006E9731 /* PBXTextBookmark */;
+ 8B79299121F34AF7006E9731 /* PBXTextBookmark */ = 8B79299121F34AF7006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -83,42 +83,42 @@
vrLen = 43;
vrLoc = 32;
};
- 8B484F201FCB6ADC00977397 /* PBXTextBookmark */ = {
+ 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */;
- name = "Console4Channel.h: 1";
+ fRef = 8BA05A680720730100365D66 /* Console4Channel.r */;
+ name = "Console4Channel.r: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 106;
- vrLoc = 30;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B6F9B891D4A8A2400B449D5 /* PBXTextBookmark */ = {
+ 8B79298C21F34AE6006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */;
name = "Console4Channel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 22;
- vrLoc = 48;
+ vrLen = 40;
+ vrLoc = 30;
};
- 8B6F9BCA1D4A913400B449D5 /* PBXTextBookmark */ = {
+ 8B79299121F34AF7006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A680720730100365D66 /* Console4Channel.r */;
- name = "Console4Channel.r: 1";
+ fRef = 8BC6025B073B072D006C4272 /* Console4Channel.h */;
+ name = "Console4Channel.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 40;
+ vrLoc = 30;
};
8BA05A660720730100365D66 /* Console4Channel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 3289}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{7711, 2420}";
- sepNavWindowFrame = "{{545, 47}, {895, 831}}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 3380}}";
+ sepNavSelRange = "{8218, 0}";
+ sepNavVisRange = "{7422, 2528}";
+ sepNavWindowFrame = "{{384, 47}, {895, 831}}";
};
};
8BA05A680720730100365D66 /* Console4Channel.r */ = {
@@ -138,9 +138,9 @@
};
8BC6025B073B072D006C4272 /* Console4Channel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 1924}}";
+ sepNavIntBoundsRect = "{{0, 0}, {740, 1885}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{30, 106}";
+ sepNavVisRange = "{30, 40}";
sepNavWindowFrame = "{{545, 39}, {895, 831}}";
};
};
diff --git a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3
index 39bab7a..cde33b3 100755
--- a/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Console4Channel/Console4Channel.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>199</real>
</array>
<key>RubberWindowFrame</key>
- <string>629 366 810 487 0 0 1440 878 </string>
+ <string>484 362 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,13 +350,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B484F201FCB6ADC00977397</string>
+ <string>8B79299121F34AF7006E9731</string>
<key>history</key>
<array>
<string>8B6F9BCA1D4A913400B449D5</string>
<string>8B484F0F1FCB69BE00977397</string>
<string>8B484F1F1FCB6ADC00977397</string>
- <string>8B6F9B891D4A8A2400B449D5</string>
+ <string>8B79298C21F34AE6006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {589, 96}}</string>
+ <string>{{0, 0}, {589, 80}}</string>
<key>RubberWindowFrame</key>
- <string>629 366 810 487 0 0 1440 878 </string>
+ <string>484 362 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>96pt</string>
+ <string>80pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>345pt</string>
+ <string>361pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {589, 318}}</string>
- <key>RubberWindowFrame</key>
- <string>629 366 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {589, 334}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {589, 334}}</string>
+ <key>RubberWindowFrame</key>
+ <string>484 362 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B484F211FCB6ADC00977397</string>
+ <string>8B79299221F34AF7006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B484F221FCB6ADC00977397</string>
+ <string>8B79299321F34AF7006E9731</string>
<string>8B049F641D108FA800F78DCA</string>
- <string>8B484F231FCB6ADC00977397</string>
+ <string>8B79299421F34AF7006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -638,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>533424860.76372099</real>
+ <real>569592567.96526098</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -658,7 +656,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Console4Channel/Console4Channel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>629 366 810 487 0 0 1440 878 </string>
+ <string>484 362 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Console5Buss/Console5Buss.cpp b/plugins/MacAU/Console5Buss/Console5Buss.cpp
index 13008f9..3c1c845 100755
--- a/plugins/MacAU/Console5Buss/Console5Buss.cpp
+++ b/plugins/MacAU/Console5Buss/Console5Buss.cpp
@@ -165,9 +165,7 @@ void Console5Buss::Console5BussKernel::Reset()
settingchase = -90.0;
chasespeed = 350.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -185,9 +183,6 @@ void Console5Buss::Console5BussKernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 inputgain = GetParameter( kParam_One );
Float64 difference;
@@ -278,19 +273,11 @@ void Console5Buss::Console5BussKernel::Process( const Float32 *inSourceP,
lastFXBuss *= (1.0 - (nearZero * bassTrim));
//this cuts back the DC offset directly, relative to how near zero we are
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Console5Buss/Console5Buss.h b/plugins/MacAU/Console5Buss/Console5Buss.h
index 51cd70c..c7f1638 100755
--- a/plugins/MacAU/Console5Buss/Console5Buss.h
+++ b/plugins/MacAU/Console5Buss/Console5Buss.h
@@ -132,9 +132,7 @@ public:
Float64 settingchase;
Float64 chasespeed;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser
index 77bac7c..d93ee0d 100755
--- a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.pbxuser
@@ -49,55 +49,55 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538690007;
- PBXWorkspaceStateSaveDate = 538690007;
+ PBXPerProjectTemplateStateSaveDate = 569593643;
+ PBXWorkspaceStateSaveDate = 569593643;
};
perUserProjectItems = {
- 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */ = 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */;
- 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */ = 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */;
- 8B95A7D820006AC3007183A2 /* PBXTextBookmark */ = 8B95A7D820006AC3007183A2 /* PBXTextBookmark */;
+ 8B7929A221F34F6F006E9731 /* PBXTextBookmark */ = 8B7929A221F34F6F006E9731 /* PBXTextBookmark */;
+ 8B7929A321F34F6F006E9731 /* PBXTextBookmark */ = 8B7929A321F34F6F006E9731 /* PBXTextBookmark */;
+ 8B7929A821F34F7F006E9731 /* PBXTextBookmark */ = 8B7929A821F34F7F006E9731 /* PBXTextBookmark */;
8BBE44D71FE5EAC70022E6F7 /* PlistBookmark */ = 8BBE44D71FE5EAC70022E6F7 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4E5566201BC09200B5DC2A /* PBXTextBookmark */ = {
+ 8B7929A221F34F6F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Console5Buss.cpp */;
name = "Console5Buss.cpp: 197";
rLen = 0;
- rLoc = 8561;
+ rLoc = 8409;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 272;
+ vrLoc = 3;
};
- 8B4E5591201BC43400B5DC2A /* PBXTextBookmark */ = {
+ 8B7929A321F34F6F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Console5Buss.cpp */;
- name = "Console5Buss.cpp: 197";
+ fRef = 8BC6025B073B072D006C4272 /* Console5Buss.h */;
+ name = "Console5Buss.h: 128";
rLen = 0;
- rLoc = 8561;
+ rLoc = 5111;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 149;
+ vrLoc = 5032;
};
- 8B95A7D820006AC3007183A2 /* PBXTextBookmark */ = {
+ 8B7929A821F34F7F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Console5Buss.h */;
name = "Console5Buss.h: 128";
rLen = 0;
rLoc = 5111;
rType = 0;
- vrLen = 63;
- vrLoc = 5096;
+ vrLen = 149;
+ vrLoc = 5032;
};
8BA05A660720730100365D66 /* Console5Buss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {346, 3991}}";
- sepNavSelRange = "{8561, 0}";
- sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{519, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 4043}}";
+ sepNavSelRange = "{12118, 0}";
+ sepNavVisRange = "{10187, 2019}";
+ sepNavWindowFrame = "{{422, 39}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* Console5BussVersion.h */ = {
@@ -122,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* Console5Buss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
- sepNavSelRange = "{2819, 272}";
- sepNavVisRange = "{1789, 1938}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 2002}}";
+ sepNavSelRange = "{5111, 0}";
+ sepNavVisRange = "{5032, 149}";
sepNavWindowFrame = "{{545, 39}, {895, 839}}";
};
};
diff --git a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3
index 71675a6..9aef77c 100755
--- a/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Console5Buss/Console5Buss.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>705</integer>
+ <integer>705</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>710 433 705 445 0 0 1440 878 </string>
+ <string>539 403 705 445 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Console5Buss.cpp</string>
+ <string>Console5Buss.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,16 +347,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Console5Buss.cpp</string>
+ <string>Console5Buss.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E5591201BC43400B5DC2A</string>
+ <string>8B7929A821F34F7F006E9731</string>
<key>history</key>
<array>
<string>8BBE44D71FE5EAC70022E6F7</string>
- <string>8B95A7D820006AC3007183A2</string>
- <string>8B4E5566201BC09200B5DC2A</string>
+ <string>8B7929A221F34F6F006E9731</string>
+ <string>8B7929A321F34F6F006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {395, 0}}</string>
+ <string>{{0, 0}, {395, 120}}</string>
<key>RubberWindowFrame</key>
- <string>710 433 705 445 0 0 1440 878 </string>
+ <string>539 403 705 445 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>120pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>399pt</string>
+ <string>279pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {395, 372}}</string>
- <key>RubberWindowFrame</key>
- <string>710 433 705 445 0 0 1440 878 </string>
+ <string>{{10, 27}, {395, 252}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {395, 252}}</string>
+ <key>RubberWindowFrame</key>
+ <string>539 403 705 445 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5592201BC43400B5DC2A</string>
+ <string>8B7929A921F34F7F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5593201BC43400B5DC2A</string>
+ <string>8B7929AA21F34F7F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E5594201BC43400B5DC2A</string>
+ <string>8B7929AB21F34F7F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538690612.183846</real>
+ <real>569593727.64458299</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -678,7 +676,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Console5Buss/Console5Buss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>710 433 705 445 0 0 1440 878 </string>
+ <string>539 403 705 445 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Console5Channel/Console5Channel.cpp b/plugins/MacAU/Console5Channel/Console5Channel.cpp
index 795c960..356f347 100755
--- a/plugins/MacAU/Console5Channel/Console5Channel.cpp
+++ b/plugins/MacAU/Console5Channel/Console5Channel.cpp
@@ -165,9 +165,7 @@ void Console5Channel::Console5ChannelKernel::Reset()
settingchase = -90.0;
chasespeed = 350.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -185,9 +183,6 @@ void Console5Channel::Console5ChannelKernel::Process( const Float32 *inSourceP
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 inputgain = GetParameter( kParam_One );
Float64 difference;
@@ -279,19 +274,11 @@ void Console5Channel::Console5ChannelKernel::Process( const Float32 *inSourceP
inputSample = sin(inputSample);
//amplitude aspect
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Console5Channel/Console5Channel.h b/plugins/MacAU/Console5Channel/Console5Channel.h
index 8c9f293..3b4104e 100755
--- a/plugins/MacAU/Console5Channel/Console5Channel.h
+++ b/plugins/MacAU/Console5Channel/Console5Channel.h
@@ -131,9 +131,7 @@ public:
Float64 settingchase;
Float64 chasespeed;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser
index b2bdf5a..34f20bd 100755
--- a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 544914744;
- PBXWorkspaceStateSaveDate = 544914744;
+ PBXPerProjectTemplateStateSaveDate = 569594770;
+ PBXWorkspaceStateSaveDate = 569594770;
};
perUserProjectItems = {
8B050BAA206487EB00700365 /* PlistBookmark */ = 8B050BAA206487EB00700365 /* PlistBookmark */;
- 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */ = 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */;
- 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */ = 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */;
+ 8B7929B921F353D1006E9731 /* PBXTextBookmark */ = 8B7929B921F353D1006E9731 /* PBXTextBookmark */;
+ 8B7929BE21F353E2006E9731 /* PBXTextBookmark */ = 8B7929BE21F353E2006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,32 +73,32 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B8D6A18207ABF300029B7B0 /* PBXTextBookmark */ = {
+ 8B7929B921F353D1006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Console5Channel.cpp */;
- name = "Console5Channel.cpp: 234";
+ name = "Console5Channel.cpp: 229";
rLen = 380;
- rLoc = 10265;
+ rLoc = 10113;
rType = 0;
- vrLen = 46;
- vrLoc = 10265;
+ vrLen = 66;
+ vrLoc = 10205;
};
- 8B8D6A19207ABF300029B7B0 /* PBXTextBookmark */ = {
+ 8B7929BE21F353E2006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Console5Channel.cpp */;
- name = "Console5Channel.cpp: 234";
+ name = "Console5Channel.cpp: 229";
rLen = 380;
- rLoc = 10265;
+ rLoc = 10113;
rType = 0;
- vrLen = 46;
- vrLoc = 10265;
+ vrLen = 66;
+ vrLoc = 10205;
};
8BA05A660720730100365D66 /* Console5Channel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {537, 3978}}";
- sepNavSelRange = "{10265, 380}";
- sepNavVisRange = "{10265, 46}";
- sepNavWindowFrame = "{{484, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {509, 3874}}";
+ sepNavSelRange = "{10113, 380}";
+ sepNavVisRange = "{10205, 66}";
+ sepNavWindowFrame = "{{459, 39}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* Console5ChannelVersion.h */ = {
@@ -111,9 +111,9 @@
};
8BC6025B073B072D006C4272 /* Console5Channel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}";
- sepNavSelRange = "{5229, 65}";
- sepNavVisRange = "{3844, 1559}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
+ sepNavSelRange = "{5254, 0}";
+ sepNavVisRange = "{3765, 1597}";
sepNavWindowFrame = "{{479, 39}, {895, 839}}";
};
};
diff --git a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3
index 37dc046..fbe9f3f 100755
--- a/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Console5Channel/Console5Channel.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>817</integer>
+ <integer>817</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>596 381 817 431 0 0 1440 878 </string>
+ <string>533 389 817 431 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B8D6A19207ABF300029B7B0</string>
+ <string>8B7929BE21F353E2006E9731</string>
<key>history</key>
<array>
<string>8B050BAA206487EB00700365</string>
- <string>8B8D6A18207ABF300029B7B0</string>
+ <string>8B7929B921F353D1006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {507, 53}}</string>
+ <string>{{0, 0}, {507, 35}}</string>
<key>RubberWindowFrame</key>
- <string>596 381 817 431 0 0 1440 878 </string>
+ <string>533 389 817 431 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>53pt</string>
+ <string>35pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>332pt</string>
+ <string>350pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {507, 305}}</string>
- <key>RubberWindowFrame</key>
- <string>596 381 817 431 0 0 1440 878 </string>
+ <string>{{10, 27}, {507, 323}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {507, 323}}</string>
+ <key>RubberWindowFrame</key>
+ <string>533 389 817 431 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B8D6A1A207ABF300029B7B0</string>
+ <string>8B7929BF21F353E2006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B8D6A1B207ABF300029B7B0</string>
+ <string>8B7929C021F353E2006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B8D6A1C207ABF300029B7B0</string>
+ <string>8B7929C121F353E2006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>544915248.23002303</real>
+ <real>569594850.24200404</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -677,7 +675,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Console5Channel/Console5Channel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>596 381 817 431 0 0 1440 878 </string>
+ <string>533 389 817 431 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp b/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp
index 2ad03c3..4b1cefd 100755
--- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp
+++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.cpp
@@ -165,9 +165,7 @@ void Console5DarkCh::Console5DarkChKernel::Reset()
settingchase = -90.0;
chasespeed = 350.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -184,11 +182,7 @@ void Console5DarkCh::Console5DarkChKernel::Process( const Float32 *inSourceP,
Float32 *destP = inDestP;
long double overallscale = 1.0;
overallscale /= 44100.0;
- overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ overallscale *= GetSampleRate();
Float64 inputgain = GetParameter( kParam_One );
Float64 difference;
Float64 nearZero;
@@ -279,19 +273,11 @@ void Console5DarkCh::Console5DarkChKernel::Process( const Float32 *inSourceP,
inputSample = sin(inputSample);
//amplitude aspect
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.h b/plugins/MacAU/Console5DarkCh/Console5DarkCh.h
index 8bb2126..157ad9b 100755
--- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.h
+++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.h
@@ -131,9 +131,7 @@ public:
Float64 settingchase;
Float64 chasespeed;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser
index 4adcf1e..0562b0f 100755
--- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 537050873;
- PBXWorkspaceStateSaveDate = 537050873;
+ PBXPerProjectTemplateStateSaveDate = 569594878;
+ PBXWorkspaceStateSaveDate = 569594878;
};
perUserProjectItems = {
- 8B4D27592002BF690051360A /* PlistBookmark */ = 8B4D27592002BF690051360A /* PlistBookmark */;
- 8B95A7E020006AC9007183A2 /* PlistBookmark */ = 8B95A7E020006AC9007183A2 /* PlistBookmark */;
+ 8B7929CF21F3543F006E9731 /* PlistBookmark */ = 8B7929CF21F3543F006E9731 /* PlistBookmark */;
+ 8B7929D421F35450006E9731 /* PlistBookmark */ = 8B7929D421F35450006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4D27592002BF690051360A /* PlistBookmark */ = {
+ 8B7929CF21F3543F006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -72,7 +72,7 @@
rLen = 0;
rLoc = 9223372036854775807;
};
- 8B95A7E020006AC9007183A2 /* PlistBookmark */ = {
+ 8B7929D421F35450006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -80,15 +80,15 @@
kPath = (
CFBundleName,
);
- name = /Users/christopherjohnson/Desktop/Console5DarkCh/Info.plist;
+ name = /Users/christopherjohnson/Desktop/MacAU/Console5DarkCh/Info.plist;
rLen = 26;
rLoc = 0;
};
8BA05A660720730100365D66 /* Console5DarkCh.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 4160}}";
- sepNavSelRange = "{10956, 0}";
- sepNavVisRange = "{10771, 1848}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 3991}}";
+ sepNavSelRange = "{12259, 0}";
+ sepNavVisRange = "{10314, 2033}";
sepNavWindowFrame = "{{29, 39}, {895, 839}}";
};
};
@@ -102,10 +102,10 @@
};
8BC6025B073B072D006C4272 /* Console5DarkCh.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}";
- sepNavSelRange = "{5389, 0}";
- sepNavVisRange = "{3832, 1557}";
- sepNavWindowFrame = "{{579, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
+ sepNavSelRange = "{5240, 0}";
+ sepNavVisRange = "{3753, 1595}";
+ sepNavWindowFrame = "{{329, 39}, {895, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3
index 91ebb9c..8b9ecd1 100755
--- a/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>20 224 841 654 0 0 1440 878 </string>
+ <string>55 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4D27592002BF690051360A</string>
+ <string>8B7929D421F35450006E9731</string>
<key>history</key>
<array>
- <string>8B95A7E020006AC9007183A2</string>
+ <string>8B7929CF21F3543F006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 216}}</string>
<key>RubberWindowFrame</key>
- <string>20 224 841 654 0 0 1440 878 </string>
+ <string>55 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>216pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>392pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>20 224 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 365}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 365}}</string>
+ <key>RubberWindowFrame</key>
+ <string>55 218 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4D275A2002BF690051360A</string>
+ <string>8B7929D521F35450006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4D275B2002BF690051360A</string>
+ <string>8B7929D621F35450006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4D275C2002BF690051360A</string>
+ <string>8B7929D721F35450006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>537050985.45516396</real>
+ <real>569594960.15694499</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4D275D2002BF690051360A</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Console5DarkCh/Console5DarkCh.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>20 224 841 654 0 0 1440 878 </string>
+ <string>55 218 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp
index 847c101..be4cd10 100755
--- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp
+++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.cpp
@@ -177,9 +177,7 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Reset()
bMidPrev = 0.0;
cMidPrev = 0.0;
dMidPrev = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -193,11 +191,7 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Process( const Float32 *inSou
{
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
- Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ Float32 *destP = inDestP;
Float64 overallscale = (pow(GetParameter( kParam_One ),2)*19.0)+1.0;
Float64 gain = overallscale;
//mid groove wear
@@ -450,19 +444,11 @@ void CrunchyGrooveWear::CrunchyGrooveWearKernel::Process( const Float32 *inSou
inputSample = (inputSample * dWet) + (drySample * dDry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h
index a1d9fc8..07db5c7 100755
--- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h
+++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.h
@@ -138,9 +138,7 @@ public:
Float64 cMidPrev;
Float64 dMidPrev;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser
index 3479d30..af3720e 100755
--- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541894646;
- PBXWorkspaceStateSaveDate = 541894646;
+ PBXPerProjectTemplateStateSaveDate = 569595525;
+ PBXWorkspaceStateSaveDate = 569595525;
};
perUserProjectItems = {
8B181BD6204CA7CC00516BEE /* PlistBookmark */ = 8B181BD6204CA7CC00516BEE /* PlistBookmark */;
- 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */ = 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */;
- 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */ = 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */;
+ 8B7929E621F356D5006E9731 /* PBXTextBookmark */ = 8B7929E621F356D5006E9731 /* PBXTextBookmark */;
+ 8B7929EB21F356E6006E9731 /* PBXTextBookmark */ = 8B7929EB21F356E6006E9731 /* PBXTextBookmark */;
+ 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */ = 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,32 +74,42 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B181BD8204CA7CC00516BEE /* PBXTextBookmark */ = {
+ 8B7929E621F356D5006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */;
- name = "CrunchyGrooveWear.h: 56";
- rLen = 0;
- rLoc = 2856;
+ fRef = 8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */;
+ name = "CrunchyGrooveWear.cpp: 349";
+ rLen = 875;
+ rLoc = 16513;
rType = 0;
- vrLen = 229;
- vrLoc = 2728;
+ vrLen = 316;
+ vrLoc = 19570;
};
- 8B1A6DF8204CA7FC009DEEA1 /* PBXTextBookmark */ = {
+ 8B7929EB21F356E6006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */;
+ name = "CrunchyGrooveWear.cpp: 349";
+ rLen = 875;
+ rLoc = 16513;
+ rType = 0;
+ vrLen = 316;
+ vrLoc = 19570;
+ };
+ 8B9D5E35207AB7DF00C332E2 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */;
name = "CrunchyGrooveWear.h: 56";
rLen = 0;
rLoc = 2856;
rType = 0;
- vrLen = 228;
- vrLoc = 2729;
+ vrLen = 178;
+ vrLoc = 2730;
};
8BA05A660720730100365D66 /* CrunchyGrooveWear.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {769, 6084}}";
- sepNavSelRange = "{12165, 581}";
- sepNavVisRange = "{11798, 2704}";
- sepNavWindowFrame = "{{528, 46}, {816, 832}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 6058}}";
+ sepNavSelRange = "{16513, 875}";
+ sepNavVisRange = "{19570, 316}";
+ sepNavWindowFrame = "{{500, 44}, {816, 832}}";
};
};
8BA05A670720730100365D66 /* CrunchyGrooveWear.exp */ = {
@@ -119,10 +130,10 @@
};
8BC6025B073B072D006C4272 /* CrunchyGrooveWear.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 1963}}";
- sepNavSelRange = "{2856, 0}";
- sepNavVisRange = "{2729, 228}";
- sepNavWindowFrame = "{{15, 41}, {816, 832}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}";
+ sepNavSelRange = "{5501, 0}";
+ sepNavVisRange = "{4045, 1558}";
+ sepNavWindowFrame = "{{451, 39}, {816, 832}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3
index 5152037..e829e94 100755
--- a/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>476 182 841 654 0 0 1440 878 </string>
+ <string>398 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>CrunchyGrooveWear.h</string>
+ <string>CrunchyGrooveWear.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,15 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>CrunchyGrooveWear.h</string>
+ <string>CrunchyGrooveWear.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B1A6DF8204CA7FC009DEEA1</string>
+ <string>8B7929EB21F356E6006E9731</string>
<key>history</key>
<array>
<string>8B181BD6204CA7CC00516BEE</string>
- <string>8B181BD8204CA7CC00516BEE</string>
+ <string>8B9D5E35207AB7DF00C332E2</string>
+ <string>8B7929E621F356D5006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 158}}</string>
+ <string>{{0, 0}, {531, 109}}</string>
<key>RubberWindowFrame</key>
- <string>476 182 841 654 0 0 1440 878 </string>
+ <string>398 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>158pt</string>
+ <string>109pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>450pt</string>
+ <string>499pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 423}}</string>
- <key>RubberWindowFrame</key>
- <string>476 182 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 472}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
+ <string>{{10, 27}, {531, 472}}</string>
+ <key>RubberWindowFrame</key>
+ <string>398 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B1A6DF5204CA7FC009DEEA1</string>
+ <string>8B7929EC21F356E6006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B1A6DF6204CA7FC009DEEA1</string>
+ <string>8B7929ED21F356E6006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B1A6DF7204CA7FC009DEEA1</string>
+ <string>8B7929EE21F356E6006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541894652.77613103</real>
+ <real>569595622.14955699</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -678,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/CrunchyGrooveWear/CrunchyGrooveWear.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>476 182 841 654 0 0 1440 878 </string>
+ <string>398 187 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Crystal/Crystal.cpp b/plugins/MacAU/Crystal/Crystal.cpp
index f57a72e..9ca3fba 100755
--- a/plugins/MacAU/Crystal/Crystal.cpp
+++ b/plugins/MacAU/Crystal/Crystal.cpp
@@ -302,23 +302,15 @@ void Crystal::CrystalKernel::Process( const Float32 *inSourceP,
//when current and old samples are different from each other, otherwise you can't tell it's there.
//This is not only during silence but the tops of low frequency waves: it scales down to affect lows more gently.
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser
index 7ed81d1..9bee97b 100755
--- a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.pbxuser
@@ -49,34 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 566521916;
- PBXWorkspaceStateSaveDate = 566521916;
+ PBXPerProjectTemplateStateSaveDate = 569595657;
+ PBXWorkspaceStateSaveDate = 569595657;
};
perUserProjectItems = {
- 8BBB31EA21BDBFE700825986 /* PlistBookmark */ = 8BBB31EA21BDBFE700825986 /* PlistBookmark */;
- 8BBB350621C472FB00825986 /* PlistBookmark */ = 8BBB350621C472FB00825986 /* PlistBookmark */;
+ 8B7929FC21F35738006E9731 /* PlistBookmark */ = 8B7929FC21F35738006E9731 /* PlistBookmark */;
+ 8B792A0121F35748006E9731 /* PlistBookmark */ = 8B792A0121F35748006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8BA05A660720730100365D66 /* Crystal.cpp */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1082, 4225}}";
- sepNavSelRange = "{15530, 0}";
- sepNavVisRange = "{9843, 3243}";
- sepNavWindowFrame = "{{457, 44}, {1129, 834}}";
- };
- };
- 8BA05A690720730100365D66 /* CrystalVersion.h */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1082, 767}}";
- sepNavSelRange = "{2880, 0}";
- sepNavVisRange = "{32, 2911}";
- sepNavWindowFrame = "{{15, 39}, {1129, 834}}";
- };
- };
- 8BBB31EA21BDBFE700825986 /* PlistBookmark */ = {
+ 8B7929FC21F35738006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -84,11 +68,11 @@
kPath = (
CFBundleName,
);
- name = /Users/christopherjohnson/Desktop/Crystal/Info.plist;
+ name = /Users/christopherjohnson/Desktop/MacAU/Crystal/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8BBB350621C472FB00825986 /* PlistBookmark */ = {
+ 8B792A0121F35748006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -97,15 +81,31 @@
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/MacAU/Crystal/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775807;
+ rLen = 26;
+ rLoc = 0;
+ };
+ 8BA05A660720730100365D66 /* Crystal.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1082, 3952}}";
+ sepNavSelRange = "{15755, 0}";
+ sepNavVisRange = "{12294, 3464}";
+ sepNavWindowFrame = "{{208, 44}, {1129, 834}}";
+ };
+ };
+ 8BA05A690720730100365D66 /* CrystalVersion.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1082, 767}}";
+ sepNavSelRange = "{2880, 0}";
+ sepNavVisRange = "{32, 2911}";
+ sepNavWindowFrame = "{{15, 39}, {1129, 834}}";
+ };
};
8BC6025B073B072D006C4272 /* Crystal.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1082, 1911}}";
sepNavSelRange = "{5476, 0}";
- sepNavVisRange = "{2711, 1740}";
- sepNavWindowFrame = "{{731, 44}, {1129, 834}}";
+ sepNavVisRange = "{3946, 1714}";
+ sepNavWindowFrame = "{{224, 44}, {1129, 834}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3
index 0364ddc..1b41ecc 100755
--- a/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Crystal/Crystal.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>708 184 841 654 0 0 1440 878 </string>
+ <string>463 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBB350621C472FB00825986</string>
+ <string>8B792A0121F35748006E9731</string>
<key>history</key>
<array>
- <string>8BBB31EA21BDBFE700825986</string>
+ <string>8B7929FC21F35738006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 216}}</string>
<key>RubberWindowFrame</key>
- <string>708 184 841 654 0 0 1440 878 </string>
+ <string>463 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>216pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>392pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>708 184 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 365}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 365}}</string>
+ <key>RubberWindowFrame</key>
+ <string>463 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBB350721C472FC00825986</string>
+ <string>8B792A0221F35748006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBB350821C472FC00825986</string>
+ <string>8B792A0321F35748006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBB350921C472FC00825986</string>
+ <string>8B792A0421F35748006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>566522619.99816501</real>
+ <real>569595720.77537096</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBB350A21C472FC00825986</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Crystal/Crystal.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>708 184 841 654 0 0 1440 878 </string>
+ <string>463 195 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser
index dcc937e..080021a 100755
--- a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.pbxuser
@@ -49,11 +49,11 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528455539;
- PBXWorkspaceStateSaveDate = 528455539;
+ PBXPerProjectTemplateStateSaveDate = 569597377;
+ PBXWorkspaceStateSaveDate = 569597377;
};
perUserProjectItems = {
- 8B9D64111F7C844B007AB60F /* PBXTextBookmark */ = 8B9D64111F7C844B007AB60F /* PBXTextBookmark */;
+ 8B792A3021F35DE0006E9731 /* PBXTextBookmark */ = 8B792A3021F35DE0006E9731 /* PBXTextBookmark */;
8B9D738A1F7F978A007AB60F /* PBXTextBookmark */ = 8B9D738A1F7F978A007AB60F /* PBXTextBookmark */;
8BD4F5F01E6E13CD00288155 /* PlistBookmark */ = 8BD4F5F01E6E13CD00288155 /* PlistBookmark */;
8BD4F6011E6E155D00288155 /* PBXTextBookmark */ = 8BD4F6011E6E155D00288155 /* PBXTextBookmark */;
@@ -63,14 +63,14 @@
userBuildSettings = {
};
};
- 8B9D64111F7C844B007AB60F /* PBXTextBookmark */ = {
+ 8B792A3021F35DE0006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* DCVoltage.cpp */;
name = "DCVoltage.cpp: 178";
rLen = 0;
rLoc = 7961;
rType = 0;
- vrLen = 509;
+ vrLen = 506;
vrLoc = 7573;
};
8B9D738A1F7F978A007AB60F /* PBXTextBookmark */ = {
@@ -85,9 +85,9 @@
};
8BA05A660720730100365D66 /* DCVoltage.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 2535}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 2548}}";
sepNavSelRange = "{7961, 0}";
- sepNavVisRange = "{7573, 508}";
+ sepNavVisRange = "{7573, 506}";
sepNavWindowFrame = "{{194, 39}, {1024, 839}}";
};
};
@@ -101,9 +101,9 @@
};
8BC6025B073B072D006C4272 /* DCVoltage.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}";
+ sepNavIntBoundsRect = "{{0, 0}, {977, 1742}}";
sepNavSelRange = "{5068, 0}";
- sepNavVisRange = "{2673, 325}";
+ sepNavVisRange = "{3419, 1758}";
sepNavWindowFrame = "{{15, 39}, {1024, 839}}";
};
};
diff --git a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3
index 7d3cd83..49602fc 100755
--- a/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DCVoltage/DCVoltage.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>592 163 841 654 0 0 1440 878 </string>
+ <string>481 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,13 +353,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D738A1F7F978A007AB60F</string>
+ <string>8B792A3021F35DE0006E9731</string>
<key>history</key>
<array>
<string>8BD4F5F01E6E13CD00288155</string>
<string>8BD4F6011E6E155D00288155</string>
<string>8BD4F6021E6E155D00288155</string>
- <string>8B9D64111F7C844B007AB60F</string>
+ <string>8B9D738A1F7F978A007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +373,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
- <string>592 163 841 654 0 0 1440 878 </string>
+ <string>481 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +398,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
<key>RubberWindowFrame</key>
- <string>592 163 841 654 0 0 1440 878 </string>
+ <string>481 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -482,11 +482,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D738B1F7F978A007AB60F</string>
+ <string>8B792A3121F35DE0006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D738C1F7F978A007AB60F</string>
+ <string>8B792A3221F35DE0006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D738D1F7F978A007AB60F</string>
+ <string>8B792A3321F35DE0006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +659,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528455562.74837202</real>
+ <real>569597408.43308794</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +676,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D738E1F7F978A007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DCVoltage/DCVoltage.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>592 163 841 654 0 0 1440 878 </string>
+ <string>481 181 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DeEss/DeEss.cpp b/plugins/MacAU/DeEss/DeEss.cpp
index 1858308..bf85e76 100755
--- a/plugins/MacAU/DeEss/DeEss.cpp
+++ b/plugins/MacAU/DeEss/DeEss.cpp
@@ -276,23 +276,15 @@ void DeEss::DeEssKernel::Process( const Float32 *inSourceP,
flip = !flip;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser
index e135353..fe46618 100755
--- a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.pbxuser
@@ -51,18 +51,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561683701;
- PBXWorkspaceStateSaveDate = 561683701;
+ PBXPerProjectTemplateStateSaveDate = 569597430;
+ PBXWorkspaceStateSaveDate = 569597430;
};
perUserProjectItems = {
- 8B15DCF1217AA138007AD769 /* PlistBookmark */ = 8B15DCF1217AA138007AD769 /* PlistBookmark */;
- 8B42FC5121604F050092969A /* PlistBookmark */ = 8B42FC5121604F050092969A /* PlistBookmark */;
+ 8B792A4121F35E2C006E9731 /* PlistBookmark */ = 8B792A4121F35E2C006E9731 /* PlistBookmark */;
+ 8B792A4621F35E3B006E9731 /* PlistBookmark */ = 8B792A4621F35E3B006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B15DCF1217AA138007AD769 /* PlistBookmark */ = {
+ 8B792A4121F35E2C006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -74,7 +74,7 @@
rLen = 0;
rLoc = 9223372036854775807;
};
- 8B42FC5121604F050092969A /* PlistBookmark */ = {
+ 8B792A4621F35E3B006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -83,15 +83,15 @@
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/MacAU/DeEss/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775808;
+ rLen = 26;
+ rLoc = 0;
};
8BA05A660720730100365D66 /* DeEss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {843, 4056}}";
- sepNavSelRange = "{10679, 1381}";
- sepNavVisRange = "{10978, 1915}";
- sepNavWindowFrame = "{{550, 67}, {890, 810}}";
+ sepNavIntBoundsRect = "{{0, 0}, {843, 3900}}";
+ sepNavSelRange = "{12395, 0}";
+ sepNavVisRange = "{8626, 2352}";
+ sepNavWindowFrame = "{{356, 68}, {890, 810}}";
};
};
8BA05A670720730100365D66 /* DeEss.exp */ = {
@@ -114,8 +114,8 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 2145}}";
sepNavSelRange = "{5669, 0}";
- sepNavVisRange = "{2589, 1459}";
- sepNavWindowFrame = "{{843, 68}, {890, 810}}";
+ sepNavVisRange = "{4790, 1025}";
+ sepNavWindowFrame = "{{550, 68}, {890, 810}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3
index 83b64e1..3c8c7b4 100755
--- a/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DeEss/DeEss.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>700</integer>
+ <integer>700</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>807 197 700 649 0 0 1440 878 </string>
+ <string>562 202 700 649 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B15DCF1217AA138007AD769</string>
+ <string>8B792A4621F35E3B006E9731</string>
<key>history</key>
<array>
- <string>8B42FC5121604F050092969A</string>
+ <string>8B792A4121F35E2C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {390, 197}}</string>
+ <string>{{0, 0}, {390, 183}}</string>
<key>RubberWindowFrame</key>
- <string>807 197 700 649 0 0 1440 878 </string>
+ <string>562 202 700 649 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>197pt</string>
+ <string>183pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {390, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>807 197 700 649 0 0 1440 878 </string>
+ <string>{{10, 27}, {390, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
+ <string>{{10, 27}, {390, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>562 202 700 649 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B15DCC9217A9CFD007AD769</string>
+ <string>8B792A4721F35E3B006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B15DCCA217A9CFD007AD769</string>
+ <string>8B792A4821F35E3B006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B15DCCB217A9CFD007AD769</string>
+ <string>8B792A4921F35E3B006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561684792.65047503</real>
+ <real>569597499.49246502</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -677,7 +675,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/DeEss/DeEss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>807 197 700 649 0 0 1440 878 </string>
+ <string>562 202 700 649 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DeRez/DeRez.cpp b/plugins/MacAU/DeRez/DeRez.cpp
index 4bc3ee4..e2f3829 100755
--- a/plugins/MacAU/DeRez/DeRez.cpp
+++ b/plugins/MacAU/DeRez/DeRez.cpp
@@ -171,9 +171,7 @@ void DeRez::DeRezKernel::Reset()
position = 0.0;
incrementA = 0.0;
incrementB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -200,10 +198,7 @@ void DeRez::DeRezKernel::Process( const Float32 *inSourceP,
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- targetA /= overallscale;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ targetA /= overallscale;
while (nSampleFrames-- > 0) {
long double inputSample = *sourceP;
@@ -265,18 +260,11 @@ void DeRez::DeRezKernel::Process( const Float32 *inSourceP,
inputSample *= (1.0 - incrementB);
}
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- if (fpFlip) {
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
lastSample = drySample;
diff --git a/plugins/MacAU/DeRez/DeRez.h b/plugins/MacAU/DeRez/DeRez.h
index 55cc562..e592bcb 100755
--- a/plugins/MacAU/DeRez/DeRez.h
+++ b/plugins/MacAU/DeRez/DeRez.h
@@ -133,9 +133,7 @@ public:
Float64 position;
Float64 incrementA;
Float64 incrementB;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser
index 78a1751..359639f 100755
--- a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,38 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553899071;
- PBXWorkspaceStateSaveDate = 553899071;
+ PBXPerProjectTemplateStateSaveDate = 569597675;
+ PBXWorkspaceStateSaveDate = 569597675;
};
perUserProjectItems = {
+ 8B792A7321F35F66006E9731 /* PBXTextBookmark */ = 8B792A7321F35F66006E9731 /* PBXTextBookmark */;
+ 8B792A7821F35F77006E9731 /* PBXTextBookmark */ = 8B792A7821F35F77006E9731 /* PBXTextBookmark */;
8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */ = 8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */;
- 8B9754332103D44500A4FFA3 /* PBXTextBookmark */ = 8B9754332103D44500A4FFA3 /* PBXTextBookmark */;
- 8BB8B6DD21039A3300751000 /* PBXTextBookmark */ = 8BB8B6DD21039A3300751000 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792A7321F35F66006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DeRez.cpp */;
+ name = "DeRez.cpp: 199";
+ rLen = 0;
+ rLoc = 8817;
+ rType = 0;
+ vrLen = 87;
+ vrLoc = 8817;
+ };
+ 8B792A7821F35F77006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DeRez.cpp */;
+ name = "DeRez.cpp: 199";
+ rLen = 0;
+ rLoc = 8817;
+ rType = 0;
+ vrLen = 87;
+ vrLoc = 8817;
+ };
8B7E3E4320A68C5B00482CB5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* DeRezVersion.h */;
@@ -71,22 +91,12 @@
vrLen = 166;
vrLoc = 3288;
};
- 8B9754332103D44500A4FFA3 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DeRez.cpp */;
- name = "DeRez.cpp: 201";
- rLen = 0;
- rLoc = 8852;
- rType = 0;
- vrLen = 177;
- vrLoc = 8761;
- };
8BA05A660720730100365D66 /* DeRez.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 3861}}";
- sepNavSelRange = "{8852, 0}";
- sepNavVisRange = "{8761, 177}";
- sepNavWindowFrame = "{{433, 59}, {1007, 819}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3783}}";
+ sepNavSelRange = "{8817, 0}";
+ sepNavVisRange = "{8817, 87}";
+ sepNavWindowFrame = "{{303, 48}, {1007, 819}}";
};
};
8BA05A670720730100365D66 /* DeRez.exp */ = {
@@ -104,21 +114,11 @@
sepNavVisRange = "{3288, 166}";
};
};
- 8BB8B6DD21039A3300751000 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DeRez.cpp */;
- name = "DeRez.cpp: 201";
- rLen = 0;
- rLoc = 8852;
- rType = 0;
- vrLen = 277;
- vrLoc = 8761;
- };
8BC6025B073B072D006C4272 /* DeRez.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1062, 1677}}";
- sepNavSelRange = "{3000, 0}";
- sepNavVisRange = "{1247, 2041}";
+ sepNavIntBoundsRect = "{{0, 0}, {1062, 1807}}";
+ sepNavSelRange = "{5245, 0}";
+ sepNavVisRange = "{3769, 1578}";
sepNavWindowFrame = "{{433, 48}, {1007, 819}}";
};
};
diff --git a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3
index 78a77d9..a77fdf8 100755
--- a/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DeRez/DeRez.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>614 318 810 487 0 0 1440 878 </string>
+ <string>516 329 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9754332103D44500A4FFA3</string>
+ <string>8B792A7821F35F77006E9731</string>
<key>history</key>
<array>
<string>8B7E3E4320A68C5B00482CB5</string>
- <string>8BB8B6DD21039A3300751000</string>
+ <string>8B792A7321F35F66006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {603, 69}}</string>
<key>RubberWindowFrame</key>
- <string>614 318 810 487 0 0 1440 878 </string>
+ <string>516 329 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>69pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>372pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>614 318 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 345}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 312}}</string>
+ <string>{{10, 27}, {603, 345}}</string>
+ <key>RubberWindowFrame</key>
+ <string>516 329 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9754342103D44500A4FFA3</string>
+ <string>8B792A7921F35F77006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9754352103D44500A4FFA3</string>
+ <string>8B792A7A21F35F77006E9731</string>
<string>8B8D69E4207ABD0F0029B7B0</string>
- <string>8B9754362103D44500A4FFA3</string>
+ <string>8B792A7B21F35F77006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553899077.362046</real>
+ <real>569597815.38705599</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +651,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9754372103D44500A4FFA3</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DeRez/DeRez.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>614 318 810 487 0 0 1440 878 </string>
+ <string>516 329 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Density/Density.cpp b/plugins/MacAU/Density/Density.cpp
index 68c3828..7edf12b 100755
--- a/plugins/MacAU/Density/Density.cpp
+++ b/plugins/MacAU/Density/Density.cpp
@@ -184,8 +184,7 @@ void Density::DensityKernel::Reset()
{
iirSampleA = 0.0;
iirSampleB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -220,9 +219,6 @@ void Density::DensityKernel::Process( const Float32 *inSourceP,
Float64 out = fabs(density);
density = density * fabs(density);
Float64 count;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -291,20 +287,13 @@ void Density::DensityKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet);
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Density/Density.exp b/plugins/MacAU/Density/Density.exp
index 8d6e23b..85300f6 100755
--- a/plugins/MacAU/Density/Density.exp
+++ b/plugins/MacAU/Density/Density.exp
@@ -1 +1 @@
-_DensityEntry \ No newline at end of file
+_DensityEntry
diff --git a/plugins/MacAU/Density/Density.h b/plugins/MacAU/Density/Density.h
index ac8d445..0d9af29 100755
--- a/plugins/MacAU/Density/Density.h
+++ b/plugins/MacAU/Density/Density.h
@@ -138,8 +138,7 @@ public:
private:
Float64 iirSampleA;
Float64 iirSampleB;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser
index bbb10da..76445ad 100755
--- a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.pbxuser
@@ -49,33 +49,51 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553737317;
- PBXWorkspaceStateSaveDate = 553737317;
+ PBXPerProjectTemplateStateSaveDate = 569597523;
+ PBXWorkspaceStateSaveDate = 569597523;
};
perUserProjectItems = {
- 8B241C8921015F29001BBF7E /* PBXTextBookmark */ = 8B241C8921015F29001BBF7E /* PBXTextBookmark */;
- 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */ = 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */;
+ 8B792A5721F35EBB006E9731 /* PBXTextBookmark */ = 8B792A5721F35EBB006E9731 /* PBXTextBookmark */;
+ 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */ = 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B241C8921015F29001BBF7E /* PBXTextBookmark */ = {
+ 8B792A5721F35EBB006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Density.cpp */;
- name = "Density.cpp: 290";
+ name = "Density.cpp: 286";
rLen = 68;
- rLoc = 12813;
+ rLoc = 12685;
rType = 0;
- vrLen = 106;
- vrLoc = 27;
+ vrLen = 91;
+ vrLoc = 42;
+ };
+ 8B792A5D21F35ED5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Density.cpp */;
+ name = "Density.cpp: 286";
+ rLen = 68;
+ rLoc = 12685;
+ rType = 0;
+ vrLen = 91;
+ vrLoc = 42;
};
8BA05A660720730100365D66 /* Density.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4108}}";
- sepNavSelRange = "{12813, 68}";
- sepNavVisRange = "{27, 106}";
- sepNavWindowFrame = "{{545, 59}, {895, 819}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 4069}}";
+ sepNavSelRange = "{12685, 68}";
+ sepNavVisRange = "{42, 91}";
+ sepNavWindowFrame = "{{414, 59}, {895, 819}}";
+ };
+ };
+ 8BA05A670720730100365D66 /* Density.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{14, 0}";
+ sepNavVisRange = "{0, 14}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
};
};
8BA05A690720730100365D66 /* DensityVersion.h */ = {
@@ -86,21 +104,11 @@
sepNavWindowFrame = "{{15, 38}, {731, 835}}";
};
};
- 8BC5CD4B208D59FB0058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Density.cpp */;
- name = "Density.cpp: 290";
- rLen = 68;
- rLoc = 12813;
- rType = 0;
- vrLen = 109;
- vrLoc = 24;
- };
8BC6025B073B072D006C4272 /* Density.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {856, 1950}}";
- sepNavSelRange = "{5537, 44}";
- sepNavVisRange = "{4519, 1228}";
+ sepNavIntBoundsRect = "{{0, 0}, {856, 2158}}";
+ sepNavSelRange = "{5604, 0}";
+ sepNavVisRange = "{4448, 1275}";
sepNavWindowFrame = "{{537, 146}, {903, 692}}";
};
};
diff --git a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3
index 8c57043..affa75d 100755
--- a/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Density/Density.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>619 361 810 487 0 0 1440 878 </string>
+ <string>482 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B241C8921015F29001BBF7E</string>
+ <string>8B792A5D21F35ED5006E9731</string>
<key>history</key>
<array>
- <string>8BC5CD4B208D59FB0058B257</string>
+ <string>8B792A5721F35EBB006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 102}}</string>
+ <string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
- <string>619 361 810 487 0 0 1440 878 </string>
+ <string>482 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>102pt</string>
+ <string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>339pt</string>
+ <string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 312}}</string>
- <key>RubberWindowFrame</key>
- <string>619 361 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 328}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 328}}</string>
+ <key>RubberWindowFrame</key>
+ <string>482 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B241C8A21015F29001BBF7E</string>
+ <string>8B792A5E21F35ED5006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B241C8B21015F29001BBF7E</string>
+ <string>8B792A5F21F35ED5006E9731</string>
<string>8BE3FF9D1DAAD40200A5AAF5</string>
- <string>8B241C8C21015F29001BBF7E</string>
+ <string>8B792A6021F35ED5006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553738025.40924096</real>
+ <real>569597652.99950302</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,10 +652,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792A6121F35ED5006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Density/Density.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>619 361 810 487 0 0 1440 878 </string>
+ <string>482 370 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Desk/Desk.cpp b/plugins/MacAU/Desk/Desk.cpp
index d9bdb53..69dcf98 100755
--- a/plugins/MacAU/Desk/Desk.cpp
+++ b/plugins/MacAU/Desk/Desk.cpp
@@ -152,9 +152,7 @@ void Desk::DeskKernel::Reset()
lastSample = 0.0;
lastOutSample = 0.0;
lastSlew = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -184,11 +182,7 @@ void Desk::DeskKernel::Process( const Float32 *inSourceP,
Float64 bridgerectifier;
Float64 combSample;
long double inputSample;
- long double drySample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
+ long double drySample;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -251,19 +245,11 @@ void Desk::DeskKernel::Process( const Float32 *inSourceP,
//drive section
inputSample /= gain;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Desk/Desk.h b/plugins/MacAU/Desk/Desk.h
index de63d97..1193995 100755
--- a/plugins/MacAU/Desk/Desk.h
+++ b/plugins/MacAU/Desk/Desk.h
@@ -120,9 +120,7 @@ public:
long double lastSample;
long double lastOutSample;
Float64 lastSlew;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser
index 88a6471..de343e4 100755
--- a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.pbxuser
@@ -49,42 +49,42 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528455712;
- PBXWorkspaceStateSaveDate = 528455712;
+ PBXPerProjectTemplateStateSaveDate = 569597840;
+ PBXWorkspaceStateSaveDate = 569597840;
};
perUserProjectItems = {
- 8B9D64341F7C8495007AB60F /* PBXTextBookmark */ = 8B9D64341F7C8495007AB60F /* PBXTextBookmark */;
- 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */ = 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */;
+ 8B792A8921F35FDB006E9731 /* PBXTextBookmark */ = 8B792A8921F35FDB006E9731 /* PBXTextBookmark */;
+ 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */ = 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D64341F7C8495007AB60F /* PBXTextBookmark */ = {
+ 8B792A8921F35FDB006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Desk.cpp */;
- name = "Desk.cpp: 252";
+ name = "Desk.cpp: 247";
rLen = 0;
- rLoc = 10568;
+ rLoc = 10424;
rType = 0;
- vrLen = 149;
- vrLoc = 7870;
+ vrLen = 57;
+ vrLoc = 7909;
};
- 8B9D73AA1F7F984A007AB60F /* PBXTextBookmark */ = {
+ 8B792A8E21F35FEC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Desk.cpp */;
- name = "Desk.cpp: 253";
+ name = "Desk.cpp: 247";
rLen = 0;
- rLoc = 10568;
+ rLoc = 10424;
rType = 0;
- vrLen = 102;
- vrLoc = 7917;
+ vrLen = 57;
+ vrLoc = 7909;
};
8BA05A660720730100365D66 /* Desk.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 3692}}";
- sepNavSelRange = "{10568, 0}";
- sepNavVisRange = "{7917, 102}";
+ sepNavIntBoundsRect = "{{0, 0}, {684, 3536}}";
+ sepNavSelRange = "{10424, 0}";
+ sepNavVisRange = "{7909, 57}";
sepNavWindowFrame = "{{244, 43}, {932, 815}}";
};
};
@@ -106,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* Desk.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {885, 1716}}";
- sepNavSelRange = "{4798, 57}";
- sepNavVisRange = "{3480, 1484}";
+ sepNavIntBoundsRect = "{{0, 0}, {885, 1690}}";
+ sepNavSelRange = "{4821, 0}";
+ sepNavVisRange = "{3419, 1512}";
sepNavWindowFrame = "{{508, 59}, {932, 815}}";
};
};
diff --git a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3
index d3824ff..f7cdd23 100755
--- a/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Desk/Desk.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>531 308 810 487 0 0 1440 878 </string>
+ <string>516 308 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D73AA1F7F984A007AB60F</string>
+ <string>8B792A8E21F35FEC006E9731</string>
<key>history</key>
<array>
- <string>8B9D64341F7C8495007AB60F</string>
+ <string>8B792A8921F35FDB006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
- <string>531 308 810 487 0 0 1440 878 </string>
+ <string>516 308 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>531 308 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 363}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>516 308 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D73AB1F7F984A007AB60F</string>
+ <string>8B792A8F21F35FEC006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73AC1F7F984A007AB60F</string>
+ <string>8B792A9021F35FEC006E9731</string>
<string>8B3ED5371DDE6344004F9D64</string>
- <string>8B9D73AD1F7F984A007AB60F</string>
+ <string>8B792A9121F35FEC006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528455754.98853803</real>
+ <real>569597932.88541305</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D73AE1F7F984A007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Desk/Desk.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>531 308 810 487 0 0 1440 878 </string>
+ <string>516 308 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Desk4/Desk4.cpp b/plugins/MacAU/Desk4/Desk4.cpp
index 58dc36f..1fbdca1 100755
--- a/plugins/MacAU/Desk4/Desk4.cpp
+++ b/plugins/MacAU/Desk4/Desk4.cpp
@@ -204,9 +204,7 @@ void Desk4::Desk4Kernel::Reset()
lastSample = 0.0;
lastOutSample = 0.0;
lastSlew = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -224,9 +222,6 @@ void Desk4::Desk4Kernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 gain = (pow(GetParameter( kParam_One ),2)*10)+0.0001;
Float64 gaintrim = (pow(GetParameter( kParam_One ),2)*2)+1.0;
@@ -354,20 +349,11 @@ void Desk4::Desk4Kernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Desk4/Desk4.h b/plugins/MacAU/Desk4/Desk4.h
index a9cc924..8cd0193 100755
--- a/plugins/MacAU/Desk4/Desk4.h
+++ b/plugins/MacAU/Desk4/Desk4.h
@@ -146,9 +146,7 @@ public:
Float64 lastSample;
Float64 lastOutSample;
Float64 lastSlew;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser
index 298344e..6ee8f8f 100755
--- a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528455766;
- PBXWorkspaceStateSaveDate = 528455766;
+ PBXPerProjectTemplateStateSaveDate = 569597965;
+ PBXWorkspaceStateSaveDate = 569597965;
};
perUserProjectItems = {
- 8B9D64451F7C84BA007AB60F /* PlistBookmark */ = 8B9D64451F7C84BA007AB60F /* PlistBookmark */;
- 8B9D73B91F7F9867007AB60F /* PlistBookmark */ = 8B9D73B91F7F9867007AB60F /* PlistBookmark */;
+ 8B792A9F21F36063006E9731 /* PlistBookmark */ = 8B792A9F21F36063006E9731 /* PlistBookmark */;
+ 8B792AA421F36073006E9731 /* PlistBookmark */ = 8B792AA421F36073006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D64451F7C84BA007AB60F /* PlistBookmark */ = {
+ 8B792A9F21F36063006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,9 +70,9 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/Desk4/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8B9D73B91F7F9867007AB60F /* PlistBookmark */ = {
+ 8B792AA421F36073006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -81,15 +81,15 @@
CFBundleName,
);
name = /Users/christopherjohnson/Desktop/MacAU/Desk4/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775807;
+ rLen = 26;
+ rLoc = 0;
};
8BA05A660720730100365D66 /* Desk4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 5005}}";
- sepNavSelRange = "{11418, 0}";
- sepNavVisRange = "{11164, 2245}";
- sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 5057}}";
+ sepNavSelRange = "{14871, 0}";
+ sepNavVisRange = "{13633, 1574}";
+ sepNavWindowFrame = "{{330, 39}, {1005, 839}}";
};
};
8BA05A690720730100365D66 /* Desk4Version.h */ = {
@@ -103,9 +103,9 @@
8BC6025B073B072D006C4272 /* Desk4.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {958, 2054}}";
- sepNavSelRange = "{5655, 120}";
- sepNavVisRange = "{1885, 1865}";
- sepNavWindowFrame = "{{725, 39}, {1005, 839}}";
+ sepNavSelRange = "{5798, 0}";
+ sepNavVisRange = "{4297, 1611}";
+ sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3
index e8d84b4..b050245 100755
--- a/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Desk4/Desk4.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>487 206 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +351,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D73B91F7F9867007AB60F</string>
+ <string>8B792AA421F36073006E9731</string>
<key>history</key>
<array>
- <string>8B9D64451F7C84BA007AB60F</string>
+ <string>8B792A9F21F36063006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 188}}</string>
+ <string>{{0, 0}, {531, 173}}</string>
<key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>487 206 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>188pt</string>
+ <string>173pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>420pt</string>
+ <string>435pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 393}}</string>
- <key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 408}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 408}}</string>
+ <key>RubberWindowFrame</key>
+ <string>487 206 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D73BA1F7F9867007AB60F</string>
+ <string>8B792AA521F36073006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73BB1F7F9867007AB60F</string>
+ <string>8B792AA621F36073006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D73BC1F7F9867007AB60F</string>
+ <string>8B792AA721F36073006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528455783.26185501</real>
+ <real>569598067.29641104</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +671,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D73BD1F7F9867007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Desk4/Desk4.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>487 206 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Distance/Distance.cpp b/plugins/MacAU/Distance/Distance.cpp
index 72c9e27..35c0a22 100755
--- a/plugins/MacAU/Distance/Distance.cpp
+++ b/plugins/MacAU/Distance/Distance.cpp
@@ -169,9 +169,7 @@ void Distance::DistanceKernel::Reset()
{
thirdresult = prevresult = lastclamp = clamp = change = last = 0.0;
//just an example
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -204,10 +202,6 @@ void Distance::DistanceKernel::Process( const Float32 *inSourceP,
Float64 wet = GetParameter( kParam_Two );
Float64 dry = 1.0-wet;
Float64 bridgerectifier;
-
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
Float64 inputSample;
Float64 drySample;
@@ -262,19 +256,11 @@ void Distance::DistanceKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Distance/Distance.exp b/plugins/MacAU/Distance/Distance.exp
index d74c02c..f4b0e52 100755
--- a/plugins/MacAU/Distance/Distance.exp
+++ b/plugins/MacAU/Distance/Distance.exp
@@ -1 +1 @@
-_DistanceEntry \ No newline at end of file
+_DistanceEntry
diff --git a/plugins/MacAU/Distance/Distance.h b/plugins/MacAU/Distance/Distance.h
index e1c5af3..cade7a5 100755
--- a/plugins/MacAU/Distance/Distance.h
+++ b/plugins/MacAU/Distance/Distance.h
@@ -137,10 +137,7 @@ public:
Float64 thirdresult;
Float64 prevresult;
Float64 last;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser
index bb0c98b..1979f1e 100755
--- a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.pbxuser
@@ -49,54 +49,62 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547638606;
- PBXWorkspaceStateSaveDate = 547638606;
+ PBXPerProjectTemplateStateSaveDate = 569598091;
+ PBXWorkspaceStateSaveDate = 569598091;
};
perUserProjectItems = {
+ 8B792AB521F360EC006E9731 /* PBXTextBookmark */ = 8B792AB521F360EC006E9731 /* PBXTextBookmark */;
+ 8B792ABB21F36103006E9731 /* PBXTextBookmark */ = 8B792ABB21F36103006E9731 /* PBXTextBookmark */;
8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */;
- 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */ = 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */;
- 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */ = 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = {
+ 8B792AB521F360EC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Distance.h */;
- name = "Distance.h: 134";
+ fRef = 8BA05A660720730100365D66 /* Distance.cpp */;
+ name = "Distance.cpp: 255";
rLen = 0;
- rLoc = 5367;
+ rLoc = 11375;
rType = 0;
- vrLen = 50;
- vrLoc = 5335;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B904D1020A44D87008CBAD8 /* PBXTextBookmark */ = {
+ 8B792ABB21F36103006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Distance.cpp */;
- name = "Distance.cpp: 261";
+ name = "Distance.cpp: 255";
rLen = 0;
- rLoc = 11520;
+ rLoc = 11375;
rType = 0;
- vrLen = 97;
- vrLoc = 10123;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B904D1120A44D87008CBAD8 /* PBXTextBookmark */ = {
+ 8B904CF820A44C4B008CBAD8 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Distance.cpp */;
- name = "Distance.cpp: 261";
+ fRef = 8BC6025B073B072D006C4272 /* Distance.h */;
+ name = "Distance.h: 134";
rLen = 0;
- rLoc = 11520;
+ rLoc = 5367;
rType = 0;
- vrLen = 97;
- vrLoc = 10123;
+ vrLen = 50;
+ vrLoc = 5335;
};
8BA05A660720730100365D66 /* Distance.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 3783}}";
- sepNavSelRange = "{11520, 0}";
- sepNavVisRange = "{10123, 97}";
- sepNavWindowFrame = "{{492, 53}, {948, 825}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3705}}";
+ sepNavSelRange = "{11375, 0}";
+ sepNavVisRange = "{0, 0}";
+ sepNavWindowFrame = "{{394, 53}, {948, 825}}";
+ };
+ };
+ 8BA05A670720730100365D66 /* Distance.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{15, 0}";
+ sepNavVisRange = "{0, 15}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
};
};
8BA05A690720730100365D66 /* DistanceVersion.h */ = {
@@ -109,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* Distance.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 1950}}";
- sepNavSelRange = "{5367, 0}";
- sepNavVisRange = "{2035, 1667}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 1937}}";
+ sepNavSelRange = "{5487, 0}";
+ sepNavVisRange = "{4077, 1522}";
sepNavWindowFrame = "{{295, 66}, {1145, 812}}";
};
};
diff --git a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3
index d80f812..2054453 100755
--- a/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Distance/Distance.xcodeproj/christopherjohnson.perspectivev3
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 345 810 487 0 0 1440 878 </string>
+ <string>493 340 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B904D1120A44D87008CBAD8</string>
+ <string>8B792ABB21F36103006E9731</string>
<key>history</key>
<array>
<string>8B904CF820A44C4B008CBAD8</string>
- <string>8B904D1020A44D87008CBAD8</string>
+ <string>8B792AB521F360EC006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 51}}</string>
+ <string>{{0, 0}, {603, 32}}</string>
<key>RubberWindowFrame</key>
- <string>630 345 810 487 0 0 1440 878 </string>
+ <string>493 340 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>51pt</string>
+ <string>32pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>390pt</string>
+ <string>409pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 363}}</string>
- <key>RubberWindowFrame</key>
- <string>630 345 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 382}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 382}}</string>
+ <key>RubberWindowFrame</key>
+ <string>493 340 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B904D1220A44D87008CBAD8</string>
+ <string>8B792ABC21F36103006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B904D1320A44D87008CBAD8</string>
+ <string>8B792ABD21F36103006E9731</string>
<string>8BC5212E1DB3E2E500E72CD6</string>
- <string>8B904D1420A44D87008CBAD8</string>
+ <string>8B792ABE21F36103006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547638663.51005495</real>
+ <real>569598211.72343302</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +653,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B904D1520A44D87008CBAD8</string>
+ <string>8B792ABF21F36103006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Distance/Distance.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 345 810 487 0 0 1440 878 </string>
+ <string>493 340 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Distance2/Distance2.cpp b/plugins/MacAU/Distance2/Distance2.cpp
index d9101d7..ddafb82 100755
--- a/plugins/MacAU/Distance2/Distance2.cpp
+++ b/plugins/MacAU/Distance2/Distance2.cpp
@@ -359,23 +359,15 @@ void Distance2::Distance2Kernel::Process( const Float32 *inSourceP,
}
//Dry/Wet control, defaults to the last slider
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser
index 3d24615..6b4a4a7 100755
--- a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.pbxuser
@@ -49,20 +49,40 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547768382;
- PBXWorkspaceStateSaveDate = 547768382;
+ PBXPerProjectTemplateStateSaveDate = 569598233;
+ PBXWorkspaceStateSaveDate = 569598233;
};
perUserProjectItems = {
+ 8B792ACD21F3615C006E9731 /* PBXTextBookmark */ = 8B792ACD21F3615C006E9731 /* PBXTextBookmark */;
+ 8B792AD221F3616C006E9731 /* PBXTextBookmark */ = 8B792AD221F3616C006E9731 /* PBXTextBookmark */;
8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */;
8B7E3D4320A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4320A64FFD00482CB5 /* PBXTextBookmark */;
- 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */ = 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */;
- 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */ = 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */;
8B904DA120A465EC008CBAD8 /* PlistBookmark */ = 8B904DA120A465EC008CBAD8 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792ACD21F3615C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Distance2.cpp */;
+ name = "Distance2.cpp: 176";
+ rLen = 0;
+ rLoc = 8084;
+ rType = 0;
+ vrLen = 420;
+ vrLoc = 10855;
+ };
+ 8B792AD221F3616C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Distance2.cpp */;
+ name = "Distance2.cpp: 176";
+ rLen = 0;
+ rLoc = 8084;
+ rType = 0;
+ vrLen = 420;
+ vrLoc = 10855;
+ };
8B7E3D4220A64FFD00482CB5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* Distance2Version.h */;
@@ -83,20 +103,6 @@
vrLen = 375;
vrLoc = 2714;
};
- 8B7E3D4420A64FFD00482CB5 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* Distance2.cpp */;
- };
- 8B7E3D4520A64FFD00482CB5 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Distance2.cpp */;
- name = "Distance2.cpp: 176";
- rLen = 0;
- rLoc = 8084;
- rType = 0;
- vrLen = 476;
- vrLoc = 10855;
- };
8B904DA120A465EC008CBAD8 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -111,10 +117,10 @@
};
8BA05A660720730100365D66 /* Distance2.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {642, 4979}}";
+ sepNavIntBoundsRect = "{{0, 0}, {572, 4875}}";
sepNavSelRange = "{8084, 0}";
- sepNavVisRange = "{10855, 476}";
- sepNavWindowFrame = "{{561, 47}, {877, 831}}";
+ sepNavVisRange = "{10855, 420}";
+ sepNavWindowFrame = "{{432, 47}, {877, 831}}";
};
};
8BA05A670720730100365D66 /* Distance2.exp */ = {
@@ -135,10 +141,10 @@
};
8BC6025B073B072D006C4272 /* Distance2.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 2210}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2223}}";
sepNavSelRange = "{2966, 0}";
- sepNavVisRange = "{2714, 375}";
- sepNavWindowFrame = "{{786, 47}, {877, 831}}";
+ sepNavVisRange = "{4877, 1321}";
+ sepNavWindowFrame = "{{563, 47}, {877, 831}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3
index 5d06e6f..deed33a 100755
--- a/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Distance2/Distance2.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>576 144 841 654 0 0 1440 878 </string>
+ <string>487 174 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,13 +352,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B7E3D4520A64FFD00482CB5</string>
+ <string>8B792AD221F3616C006E9731</string>
<key>history</key>
<array>
<string>8B904DA120A465EC008CBAD8</string>
<string>8B7E3D4220A64FFD00482CB5</string>
<string>8B7E3D4320A64FFD00482CB5</string>
- <string>8B7E3D4420A64FFD00482CB5</string>
+ <string>8B792ACD21F3615C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -374,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
- <string>576 144 841 654 0 0 1440 878 </string>
+ <string>487 174 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -399,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>576 144 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -455,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>487 174 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -483,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B7E3D4620A64FFD00482CB5</string>
+ <string>8B792AD321F3616C006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B7E3D4720A64FFD00482CB5</string>
+ <string>8B792AD421F3616C006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B7E3D4820A64FFD00482CB5</string>
+ <string>8B792AD521F3616C006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -660,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547770365.68357301</real>
+ <real>569598316.742221</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -680,7 +678,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Distance2/Distance2.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>576 144 841 654 0 0 1440 878 </string>
+ <string>487 174 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.cpp b/plugins/MacAU/DitherFloat/DitherFloat.cpp
new file mode 100755
index 0000000..7939fbe
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.cpp
@@ -0,0 +1,255 @@
+/*
+* File: DitherFloat.cpp
+*
+* Version: 1.0
+*
+* Created: 1/11/19
+*
+* Copyright: Copyright © 2019 Airwindows, All Rights Reserved
+*
+* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
+* consideration of your agreement to the following terms, and your use, installation, modification
+* or redistribution of this Apple software constitutes acceptance of these terms. If you do
+* not agree with these terms, please do not use, install, modify or redistribute this Apple
+* software.
+*
+* In consideration of your agreement to abide by the following terms, and subject to these terms,
+* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
+* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
+* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
+* redistribute the Apple Software in its entirety and without modifications, you must retain this
+* notice and the following text and disclaimers in all such redistributions of the Apple Software.
+* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
+* endorse or promote products derived from the Apple Software without specific prior written
+* permission from Apple. Except as expressly stated in this notice, no other rights or
+* licenses, express or implied, are granted by Apple herein, including but not limited to any
+* patent rights that may be infringed by your derivative works or by other works in which the
+* Apple Software may be incorporated.
+*
+* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
+* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
+* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
+* OR IN COMBINATION WITH YOUR PRODUCTS.
+*
+* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
+* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
+* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
+* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
+* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+/*=============================================================================
+ DitherFloat.cpp
+
+=============================================================================*/
+#include "DitherFloat.h"
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+COMPONENT_ENTRY(DitherFloat)
+
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::DitherFloat
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+DitherFloat::DitherFloat(AudioUnit component)
+ : AUEffectBase(component)
+{
+ CreateElements();
+ Globals()->UseIndexedParameters(kNumberOfParameters);
+ SetParameter(kParam_One, kDefaultValue_ParamOne );
+ SetParameter(kParam_Two, kDefaultValue_ParamTwo );
+
+#if AU_DEBUG_DISPATCHER
+ mDebugDispatcher = new AUDebugDispatcher (this);
+#endif
+
+}
+
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::GetParameterValueStrings
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ComponentResult DitherFloat::GetParameterValueStrings(AudioUnitScope inScope,
+ AudioUnitParameterID inParameterID,
+ CFArrayRef * outStrings)
+{
+
+ return kAudioUnitErr_InvalidProperty;
+}
+
+
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::GetParameterInfo
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ComponentResult DitherFloat::GetParameterInfo(AudioUnitScope inScope,
+ AudioUnitParameterID inParameterID,
+ AudioUnitParameterInfo &outParameterInfo )
+{
+ ComponentResult result = noErr;
+
+ outParameterInfo.flags = kAudioUnitParameterFlag_IsWritable
+ | kAudioUnitParameterFlag_IsReadable;
+
+ if (inScope == kAudioUnitScope_Global) {
+ switch(inParameterID)
+ {
+ case kParam_One:
+ AUBase::FillInParameterName (outParameterInfo, kParameterOneName, false);
+ outParameterInfo.unit = kAudioUnitParameterUnit_Indexed;
+ outParameterInfo.minValue = 0.0;
+ outParameterInfo.maxValue = 32.0;
+ outParameterInfo.defaultValue = kDefaultValue_ParamOne;
+ break;
+ case kParam_Two:
+ AUBase::FillInParameterName (outParameterInfo, kParameterTwoName, false);
+ outParameterInfo.unit = kAudioUnitParameterUnit_Generic;
+ outParameterInfo.minValue = 0.0;
+ outParameterInfo.maxValue = 1.0;
+ outParameterInfo.defaultValue = kDefaultValue_ParamTwo;
+ break;
+ default:
+ result = kAudioUnitErr_InvalidParameter;
+ break;
+ }
+ } else {
+ result = kAudioUnitErr_InvalidParameter;
+ }
+
+
+
+ return result;
+}
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::GetPropertyInfo
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ComponentResult DitherFloat::GetPropertyInfo (AudioUnitPropertyID inID,
+ AudioUnitScope inScope,
+ AudioUnitElement inElement,
+ UInt32 & outDataSize,
+ Boolean & outWritable)
+{
+ return AUEffectBase::GetPropertyInfo (inID, inScope, inElement, outDataSize, outWritable);
+}
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::GetProperty
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ComponentResult DitherFloat::GetProperty( AudioUnitPropertyID inID,
+ AudioUnitScope inScope,
+ AudioUnitElement inElement,
+ void * outData )
+{
+ return AUEffectBase::GetProperty (inID, inScope, inElement, outData);
+}
+
+// DitherFloat::Initialize
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ComponentResult DitherFloat::Initialize()
+{
+ ComponentResult result = AUEffectBase::Initialize();
+ if (result == noErr)
+ Reset(kAudioUnitScope_Global, 0);
+ return result;
+}
+
+#pragma mark ____DitherFloatEffectKernel
+
+
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::DitherFloatKernel::Reset()
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+void DitherFloat::DitherFloatKernel::Reset()
+{
+ fpNShape = 0.0;
+}
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+// DitherFloat::DitherFloatKernel::Process
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+void DitherFloat::DitherFloatKernel::Process( const Float32 *inSourceP,
+ Float32 *inDestP,
+ UInt32 inFramesToProcess,
+ UInt32 inNumChannels,
+ bool &ioSilence )
+{
+ UInt32 nSampleFrames = inFramesToProcess;
+ const Float32 *sourceP = inSourceP;
+ Float32 *destP = inDestP;
+ long double overallscale = 1.0;
+ overallscale /= 44100.0;
+ overallscale *= GetSampleRate();
+
+ int floatOffset = GetParameter( kParam_One );
+ long double blend = GetParameter( kParam_Two );
+
+ long double gain = 0;
+
+ switch (floatOffset)
+ {
+ case 0: gain = 1.0; break;
+ case 1: gain = 2.0; break;
+ case 2: gain = 4.0; break;
+ case 3: gain = 8.0; break;
+ case 4: gain = 16.0; break;
+ case 5: gain = 32.0; break;
+ case 6: gain = 64.0; break;
+ case 7: gain = 128.0; break;
+ case 8: gain = 256.0; break;
+ case 9: gain = 512.0; break;
+ case 10: gain = 1024.0; break;
+ case 11: gain = 2048.0; break;
+ case 12: gain = 4096.0; break;
+ case 13: gain = 8192.0; break;
+ case 14: gain = 16384.0; break;
+ case 15: gain = 32768.0; break;
+ case 16: gain = 65536.0; break;
+ case 17: gain = 131072.0; break;
+ case 18: gain = 262144.0; break;
+ case 19: gain = 524288.0; break;
+ case 20: gain = 1048576.0; break;
+ case 21: gain = 2097152.0; break;
+ case 22: gain = 4194304.0; break;
+ case 23: gain = 8388608.0; break;
+ case 24: gain = 16777216.0; break;
+ case 25: gain = 33554432.0; break;
+ case 26: gain = 67108864.0; break;
+ case 27: gain = 134217728.0; break;
+ case 28: gain = 268435456.0; break;
+ case 29: gain = 536870912.0; break;
+ case 30: gain = 1073741824.0; break;
+ case 31: gain = 2147483648.0; break;
+ case 32: gain = 4294967296.0; break;
+ }
+ //we are directly punching in the gain values rather than calculating them
+
+ while (nSampleFrames-- > 0) {
+ long double inputSample = *sourceP + (gain-1); //this offsets the float into total truncation-land.
+
+
+
+
+
+
+ //begin 32 bit floating point dither
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62) * blend; //remove 'blend' for real use, it's for the demo
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit floating point dither
+
+
+
+
+
+ inputSample = (Float32)inputSample; //equivalent of 'floor' for 32 bit floating point
+ //We do that separately, we're truncating to floating point WHILE heavily offset.
+
+ *destP = inputSample - (gain-1); //this de-offsets the float.
+ sourceP += inNumChannels; destP += inNumChannels;
+ }
+}
+
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.exp b/plugins/MacAU/DitherFloat/DitherFloat.exp
new file mode 100755
index 0000000..3dcb049
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.exp
@@ -0,0 +1 @@
+_DitherFloatEntry
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.h b/plugins/MacAU/DitherFloat/DitherFloat.h
new file mode 100755
index 0000000..0eea62e
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.h
@@ -0,0 +1,138 @@
+/*
+* File: DitherFloat.h
+*
+* Version: 1.0
+*
+* Created: 1/11/19
+*
+* Copyright: Copyright © 2019 Airwindows, All Rights Reserved
+*
+* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
+* consideration of your agreement to the following terms, and your use, installation, modification
+* or redistribution of this Apple software constitutes acceptance of these terms. If you do
+* not agree with these terms, please do not use, install, modify or redistribute this Apple
+* software.
+*
+* In consideration of your agreement to abide by the following terms, and subject to these terms,
+* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
+* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
+* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
+* redistribute the Apple Software in its entirety and without modifications, you must retain this
+* notice and the following text and disclaimers in all such redistributions of the Apple Software.
+* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
+* endorse or promote products derived from the Apple Software without specific prior written
+* permission from Apple. Except as expressly stated in this notice, no other rights or
+* licenses, express or implied, are granted by Apple herein, including but not limited to any
+* patent rights that may be infringed by your derivative works or by other works in which the
+* Apple Software may be incorporated.
+*
+* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
+* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
+* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
+* OR IN COMBINATION WITH YOUR PRODUCTS.
+*
+* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
+* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
+* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
+* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
+* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+#include "AUEffectBase.h"
+#include "DitherFloatVersion.h"
+
+#if AU_DEBUG_DISPATCHER
+ #include "AUDebugDispatcher.h"
+#endif
+
+
+#ifndef __DitherFloat_h__
+#define __DitherFloat_h__
+
+
+#pragma mark ____DitherFloat Parameters
+
+// parameters
+static const float kDefaultValue_ParamOne = 0.0;
+static const float kDefaultValue_ParamTwo = 1.0;
+
+static CFStringRef kParameterOneName = CFSTR("Float Offset");
+static CFStringRef kParameterTwoName = CFSTR("Dither Engage");
+//Alter the name if desired, but using the plugin name is a start
+
+enum {
+ kParam_One =0,
+ kParam_Two =1,
+ //Add your parameters here...
+ kNumberOfParameters=2
+};
+
+#pragma mark ____DitherFloat
+class DitherFloat : public AUEffectBase
+{
+public:
+ DitherFloat(AudioUnit component);
+#if AU_DEBUG_DISPATCHER
+ virtual ~DitherFloat () { delete mDebugDispatcher; }
+#endif
+
+ virtual AUKernelBase * NewKernel() { return new DitherFloatKernel(this); }
+
+ virtual ComponentResult GetParameterValueStrings(AudioUnitScope inScope,
+ AudioUnitParameterID inParameterID,
+ CFArrayRef * outStrings);
+
+ virtual ComponentResult GetParameterInfo(AudioUnitScope inScope,
+ AudioUnitParameterID inParameterID,
+ AudioUnitParameterInfo &outParameterInfo);
+
+ virtual ComponentResult GetPropertyInfo(AudioUnitPropertyID inID,
+ AudioUnitScope inScope,
+ AudioUnitElement inElement,
+ UInt32 & outDataSize,
+ Boolean & outWritable );
+
+ virtual ComponentResult GetProperty(AudioUnitPropertyID inID,
+ AudioUnitScope inScope,
+ AudioUnitElement inElement,
+ void * outData);
+
+ virtual ComponentResult Initialize();
+ virtual bool SupportsTail () { return true; }
+ virtual Float64 GetTailTime() {return (1.0/GetSampleRate())*0.0;} //in SECONDS! gsr * a number = in samples
+ virtual Float64 GetLatency() {return (1.0/GetSampleRate())*0.0;} // in SECONDS! gsr * a number = in samples
+
+ /*! @method Version */
+ virtual ComponentResult Version() { return kDitherFloatVersion; }
+
+
+
+protected:
+ class DitherFloatKernel : public AUKernelBase // most of the real work happens here
+ {
+public:
+ DitherFloatKernel(AUEffectBase *inAudioUnit )
+ : AUKernelBase(inAudioUnit)
+ {
+ }
+
+ // *Required* overides for the process method for this effect
+ // processes one channel of interleaved samples
+ virtual void Process( const Float32 *inSourceP,
+ Float32 *inDestP,
+ UInt32 inFramesToProcess,
+ UInt32 inNumChannels,
+ bool &ioSilence);
+
+ virtual void Reset();
+
+ private:
+ long double fpNShape;
+ };
+};
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+#endif \ No newline at end of file
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.r b/plugins/MacAU/DitherFloat/DitherFloat.r
new file mode 100755
index 0000000..89170e0
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.r
@@ -0,0 +1,61 @@
+/*
+* File: DitherFloat.r
+*
+* Version: 1.0
+*
+* Created: 1/11/19
+*
+* Copyright: Copyright © 2019 Airwindows, All Rights Reserved
+*
+* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
+* consideration of your agreement to the following terms, and your use, installation, modification
+* or redistribution of this Apple software constitutes acceptance of these terms. If you do
+* not agree with these terms, please do not use, install, modify or redistribute this Apple
+* software.
+*
+* In consideration of your agreement to abide by the following terms, and subject to these terms,
+* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
+* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
+* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
+* redistribute the Apple Software in its entirety and without modifications, you must retain this
+* notice and the following text and disclaimers in all such redistributions of the Apple Software.
+* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
+* endorse or promote products derived from the Apple Software without specific prior written
+* permission from Apple. Except as expressly stated in this notice, no other rights or
+* licenses, express or implied, are granted by Apple herein, including but not limited to any
+* patent rights that may be infringed by your derivative works or by other works in which the
+* Apple Software may be incorporated.
+*
+* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
+* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
+* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
+* OR IN COMBINATION WITH YOUR PRODUCTS.
+*
+* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
+* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
+* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
+* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
+* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+#include <AudioUnit/AudioUnit.r>
+
+#include "DitherFloatVersion.h"
+
+// Note that resource IDs must be spaced 2 apart for the 'STR ' name and description
+#define kAudioUnitResID_DitherFloat 1000
+
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ DitherFloat~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+#define RES_ID kAudioUnitResID_DitherFloat
+#define COMP_TYPE kAudioUnitType_Effect
+#define COMP_SUBTYPE DitherFloat_COMP_SUBTYPE
+#define COMP_MANUF DitherFloat_COMP_MANF
+
+#define VERSION kDitherFloatVersion
+#define NAME "Airwindows: DitherFloat"
+#define DESCRIPTION "DitherFloat AU"
+#define ENTRY_POINT "DitherFloatEntry"
+
+#include "AUResources.r" \ No newline at end of file
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3
new file mode 100755
index 0000000..f301be9
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.mode1v3
@@ -0,0 +1,1358 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>DefaultDescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>mode1v3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8BD3CCBC148831C90062E48C</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.mode1v3</string>
+ <key>MajorVersion</key>
+ <integer>33</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Default</string>
+ <key>Notifications</key>
+ <array/>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>-1</integer>
+ <integer>-1</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>build</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>get-info</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProjectWithEditor</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>089C166AFE841209C02AAC07</string>
+ <string>08FB77ADFE841716C02AAC07</string>
+ <string>8BA05AEB0720742700365D66</string>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>20</integer>
+ <integer>19</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 445}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 463}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>203 321 788 504 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>203pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20306471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>MyNewFile14.java</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20406471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>MyNewFile14.java</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {580, 269}}</string>
+ <key>RubberWindowFrame</key>
+ <string>203 321 788 504 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>269pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B20506471E060097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 274}, {580, 189}}</string>
+ <key>RubberWindowFrame</key>
+ <string>203 321 788 504 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>189pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>580pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>8B563EC9161B5E170067FE32</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>8B563ECA161B5E170067FE32</string>
+ <string>1CE0B20306471E060097A5F4</string>
+ <string>1CE0B20506471E060097A5F4</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.morph</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C08E77C0454961000C914BD</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>186</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>29B97314FDCFA39411CA2CEA</string>
+ <string>1C37FABC05509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {186, 337}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>1</integer>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.GFSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {203, 355}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>186</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>373 269 690 397 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Morph</string>
+ <key>PreferredWidth</key>
+ <integer>300</integer>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>11E0B1FE06471DED0097A5F4</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.default.shortV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <false/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecificationMode1.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>0.0</real>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>2</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string>The Default Workspace in this version of Xcode now includes support to hide and show the detail view (what has been referred to as the "Metro-Morph" feature). You must discard your current Default Workspace settings and update to the latest Default Workspace in order to gain this feature. Do you wish to update to the latest Workspace defaults for project '%@'?</string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>8BD3CCBD148831C90062E48C</string>
+ <string>/Developer/Library/Xcode/Project Templates/System Plug-in/Audio Unit Effect/Audio Unit Effect/StarterAU.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>203 321 788 504 0 0 1440 878 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string></string>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {500, 218}}</string>
+ <key>RubberWindowFrame</key>
+ <string>668 222 500 500 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>218pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1021</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1011</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 223}, {500, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>668 222 500 500 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>459pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TableOfContents</key>
+ <array>
+ <string>8BD3CCBD148831C90062E48C</string>
+ <string>8B563ECB161B5E170067FE32</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowContentMinSize</key>
+ <string>486 300</string>
+ <key>WindowString</key>
+ <string>668 222 500 500 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>8BD3CCBD148831C90062E48C</string>
+ <key>WindowToolIsVisible</key>
+ <false/>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {317, 164}}</string>
+ <string>{{317, 0}, {377, 164}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 164}}</string>
+ <string>{{0, 164}, {694, 216}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 380}}</string>
+ <key>RubberWindowFrame</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>1C0AD2AB069F1E9B00FABCE6</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>1C0AD2AC069F1E9B00FABCE6</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>MENUSEPARATOR</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {650, 250}}</string>
+ <key>RubberWindowFrame</key>
+ <string>516 632 650 250 0 0 1680 1027 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>209pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAAD065D492600B07095</string>
+ <string>1C78EAAE065D492600B07095</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>650 41 650 250 0 0 1280 1002 </string>
+ <key>WindowToolGUID</key>
+ <string>1C78EAAD065D492600B07095</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.0950012207031</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scm</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {374, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {630, 331}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {374, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>97</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>332pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <string>1C0AD2B0069F1E9B00FABCE6</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>385 179 630 352 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C0AD2AF069F1E9B00FABCE6</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser
new file mode 100755
index 0000000..b851c08
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.pbxuser
@@ -0,0 +1,131 @@
+// !$*UTF8*$!
+{
+ 089C1669FE841209C02AAC07 /* Project object */ = {
+ activeBuildConfigurationName = Release;
+ activeTarget = 8D01CCC60486CAD60068D4B7 /* DitherFloat */;
+ codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
+ perUserDictionary = {
+ PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 292,
+ 20,
+ 48,
+ 43,
+ 43,
+ 20,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ PBXFileDataSource_Target_ColumnID,
+ );
+ };
+ PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = {
+ PBXFileTableDataSourceColumnSortingDirectionKey = "-1";
+ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
+ PBXFileTableDataSourceColumnWidthsKey = (
+ 20,
+ 252,
+ 60,
+ 20,
+ 48,
+ 43,
+ 43,
+ );
+ PBXFileTableDataSourceColumnsKey = (
+ PBXFileDataSource_FiletypeID,
+ PBXFileDataSource_Filename_ColumnID,
+ PBXTargetDataSource_PrimaryAttribute,
+ PBXFileDataSource_Built_ColumnID,
+ PBXFileDataSource_ObjectSize_ColumnID,
+ PBXFileDataSource_Errors_ColumnID,
+ PBXFileDataSource_Warnings_ColumnID,
+ );
+ };
+ PBXPerProjectTemplateStateSaveDate = 569802726;
+ PBXWorkspaceStateSaveDate = 569802726;
+ };
+ perUserProjectItems = {
+ 8BEF85AB21F6801300FEF113 /* PlistBookmark */ = 8BEF85AB21F6801300FEF113 /* PlistBookmark */;
+ 8BEF85AC21F6801300FEF113 /* PBXBookmark */ = 8BEF85AC21F6801300FEF113 /* PBXBookmark */;
+ 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */ = 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */;
+ };
+ sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
+ userBuildSettings = {
+ };
+ };
+ 8BA05A660720730100365D66 /* DitherFloat.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1048, 3588}}";
+ sepNavSelRange = "{10182, 58}";
+ sepNavVisRange = "{9784, 862}";
+ sepNavWindowFrame = "{{643, 56}, {1300, 822}}";
+ };
+ };
+ 8BA05A690720730100365D66 /* DitherFloatVersion.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 767}}";
+ sepNavSelRange = "{2908, 0}";
+ sepNavVisRange = "{54, 2917}";
+ sepNavWindowFrame = "{{498, 23}, {1300, 822}}";
+ };
+ };
+ 8BC6025B073B072D006C4272 /* DitherFloat.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 1794}}";
+ sepNavSelRange = "{3211, 0}";
+ sepNavVisRange = "{2595, 1482}";
+ sepNavWindowFrame = "{{717, 56}, {1300, 822}}";
+ };
+ };
+ 8BD3CCB8148830B20062E48C /* Source Control */ = {
+ isa = PBXSourceControlManager;
+ fallbackIsa = XCSourceControlManager;
+ isSCMEnabled = 0;
+ scmConfiguration = {
+ repositoryNamesForRoots = {
+ "" = "";
+ };
+ };
+ };
+ 8BD3CCB9148830B20062E48C /* Code sense */ = {
+ isa = PBXCodeSenseManager;
+ indexTemplatePath = "";
+ };
+ 8BEF85AB21F6801300FEF113 /* PlistBookmark */ = {
+ isa = PlistBookmark;
+ fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
+ fallbackIsa = PBXBookmark;
+ isK = 0;
+ kPath = (
+ CFBundleName,
+ );
+ name = /Users/christopherjohnson/Desktop/MacAU/DitherFloat/Info.plist;
+ rLen = 0;
+ rLoc = 9223372036854775807;
+ };
+ 8BEF85AC21F6801300FEF113 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */;
+ };
+ 8BEF85AD21F6801300FEF113 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */;
+ name = "DitherFloat.cpp: 240";
+ rLen = 58;
+ rLoc = 10182;
+ rType = 0;
+ vrLen = 862;
+ vrLoc = 9784;
+ };
+ 8D01CCC60486CAD60068D4B7 /* DitherFloat */ = {
+ activeExec = 0;
+ };
+}
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3
new file mode 100755
index 0000000..c05c55f
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/christopherjohnson.perspectivev3
@@ -0,0 +1,1506 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActivePerspectiveName</key>
+ <string>Project</string>
+ <key>AllowedModules</key>
+ <array>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Name</key>
+ <string>Groups and Files Outline View</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Name</key>
+ <string>Editor</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCTaskListModule</string>
+ <key>Name</key>
+ <string>Task List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Name</key>
+ <string>File and Smart Group Detail Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Name</key>
+ <string>Detailed Build Results Viewer</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Name</key>
+ <string>Project Batch Find Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Name</key>
+ <string>Project Format Conflicts List</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Name</key>
+ <string>Bookmarks Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Name</key>
+ <string>Class Browser</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Name</key>
+ <string>Source Code Control Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXDebugBreakpointsModule</string>
+ <key>Name</key>
+ <string>Debug Breakpoints Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCDockableInspector</string>
+ <key>Name</key>
+ <string>Inspector</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>PBXOpenQuicklyModule</string>
+ <key>Name</key>
+ <string>Open Quickly Tool</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Name</key>
+ <string>Debugger</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>1</string>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Name</key>
+ <string>Debug Console</string>
+ </dict>
+ <dict>
+ <key>BundleLoadPath</key>
+ <string></string>
+ <key>MaxInstances</key>
+ <string>n</string>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Name</key>
+ <string>Snapshots Tool</string>
+ </dict>
+ </array>
+ <key>BundlePath</key>
+ <string>/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources</string>
+ <key>Description</key>
+ <string>AIODescriptionKey</string>
+ <key>DockingSystemVisible</key>
+ <false/>
+ <key>Extension</key>
+ <string>perspectivev3</string>
+ <key>FavBarConfig</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8BD7274F1D46E5A5000176F0</string>
+ <key>XCBarModuleItemNames</key>
+ <dict/>
+ <key>XCBarModuleItems</key>
+ <array/>
+ </dict>
+ <key>FirstTimeWindowDisplayed</key>
+ <false/>
+ <key>Identifier</key>
+ <string>com.apple.perspectives.project.defaultV3</string>
+ <key>MajorVersion</key>
+ <integer>34</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>All-In-One</string>
+ <key>Notifications</key>
+ <array>
+ <dict>
+ <key>XCObserverAutoDisconnectKey</key>
+ <true/>
+ <key>XCObserverDefintionKey</key>
+ <dict>
+ <key>PBXStatusErrorsKey</key>
+ <integer>0</integer>
+ </dict>
+ <key>XCObserverFactoryKey</key>
+ <string>XCPerspectivesSpecificationIdentifier</string>
+ <key>XCObserverGUIDKey</key>
+ <string>XCObserverProjectIdentifier</string>
+ <key>XCObserverNotificationKey</key>
+ <string>PBXStatusBuildStateMessageNotification</string>
+ <key>XCObserverTargetKey</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>XCObserverTriggerKey</key>
+ <string>awakenModuleWithObserver:</string>
+ <key>XCObserverValidationKey</key>
+ <dict>
+ <key>PBXStatusErrorsKey</key>
+ <integer>2</integer>
+ </dict>
+ </dict>
+ </array>
+ <key>OpenEditors</key>
+ <array/>
+ <key>PerspectiveWidths</key>
+ <array>
+ <integer>841</integer>
+ <integer>841</integer>
+ </array>
+ <key>Perspectives</key>
+ <array>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>action</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>get-info</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>com.apple.pbx.toolbar.searchfield</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string></string>
+ <key>IconName</key>
+ <string>WindowOfProject</string>
+ <key>Identifier</key>
+ <string>perspective.project</string>
+ <key>IsVertical</key>
+ <false/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C37FBAC04509CD000000102</string>
+ <string>1C37FAAC04509CD000000102</string>
+ <string>1C37FABC05509CD000000102</string>
+ <string>1C37FABC05539CD112110102</string>
+ <string>E2644B35053B69B200211256</string>
+ <string>1C37FABC04509CD000100104</string>
+ <string>1CC0EA4004350EF90044410B</string>
+ <string>1CC0EA4004350EF90041110B</string>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23ED40692098700951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>yes</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>288</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>089C166AFE841209C02AAC07</string>
+ <string>08FB77ADFE841716C02AAC07</string>
+ <string>8BA05A56072072A900365D66</string>
+ <string>089C167CFE841241C02AAC07</string>
+ <string>1C37FBAC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>4</integer>
+ <integer>2</integer>
+ <integer>1</integer>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {288, 595}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <false/>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {305, 613}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>288</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>566 208 841 654 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>305pt</string>
+ </dict>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <true/>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8BD7274A1D46E5A5000176F0</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>DitherFloat.cpp</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8BD7274B1D46E5A5000176F0</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>DitherFloat.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8BEF85AD21F6801300FEF113</string>
+ <key>history</key>
+ <array>
+ <string>8BEF85AB21F6801300FEF113</string>
+ <string>8BEF85AC21F6801300FEF113</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ <key>XCSharingToken</key>
+ <string>com.apple.Xcode.CommonNavigatorGroupSharingToken</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {531, 413}}</string>
+ <key>RubberWindowFrame</key>
+ <string>566 208 841 654 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>413pt</string>
+ </dict>
+ <dict>
+ <key>Proportion</key>
+ <string>195pt</string>
+ <key>Tabs</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EDF0692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 27}, {531, 168}}</string>
+ <key>RubberWindowFrame</key>
+ <string>566 208 841 654 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EE00692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 31}, {603, 297}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXCVSModuleFilterTypeKey</key>
+ <integer>1032</integer>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA23EE10692099D00951B8B</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM Results</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 31}, {603, 297}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</string>
+ <key>XCBuildResultsTrigger_Collapse</key>
+ <integer>1023</integer>
+ <key>XCBuildResultsTrigger_Open</key>
+ <integer>1012</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{10, 27}, {531, 365}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ </dict>
+ </array>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>531pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCModuleDock</string>
+ <string>PBXNavigatorGroup</string>
+ <string>XCDockableTabModule</string>
+ <string>XCDetailModule</string>
+ <string>PBXProjectFindModule</string>
+ <string>PBXCVSModule</string>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>8BEF85AE21F6801300FEF113</string>
+ <string>1CA23ED40692098700951B8B</string>
+ <string>8BEF85AF21F6801300FEF113</string>
+ <string>8BD7274A1D46E5A5000176F0</string>
+ <string>8BEF85B021F6801300FEF113</string>
+ <string>1CA23EDF0692099D00951B8B</string>
+ <string>1CA23EE00692099D00951B8B</string>
+ <string>1CA23EE10692099D00951B8B</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.defaultV3</string>
+ </dict>
+ <dict>
+ <key>ChosenToolbarItems</key>
+ <array>
+ <string>XCToolbarPerspectiveControl</string>
+ <string>NSToolbarSeparatorItem</string>
+ <string>active-combo-popup</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>debugger-enable-breakpoints</string>
+ <string>build-and-go</string>
+ <string>com.apple.ide.PBXToolbarStopButton</string>
+ <string>debugger-restart-executable</string>
+ <string>debugger-pause</string>
+ <string>debugger-step-over</string>
+ <string>debugger-step-into</string>
+ <string>debugger-step-out</string>
+ <string>NSToolbarFlexibleSpaceItem</string>
+ <string>servicesModulebreakpoints</string>
+ <string>debugger-show-console-window</string>
+ </array>
+ <key>ControllerClassBaseName</key>
+ <string>PBXDebugSessionModule</string>
+ <key>IconName</key>
+ <string>DebugTabIcon</string>
+ <key>Identifier</key>
+ <string>perspective.debug</string>
+ <key>IsVertical</key>
+ <true/>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CCC7628064C1048000F2A68</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {424, 270}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>270pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {395, 214}}</string>
+ <string>{{395, 0}, {415, 214}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {810, 214}}</string>
+ <string>{{0, 214}, {810, 227}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CCC7629064C1048000F2A68</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 5}, {810, 441}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>185</real>
+ </array>
+ <key>Frame</key>
+ <string>{{395, 0}, {415, 214}}</string>
+ </dict>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>441pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCModuleDock</string>
+ <string>PBXDebugCLIModule</string>
+ <string>PBXDebugSessionModule</string>
+ <string>PBXDebugProcessAndThreadModule</string>
+ <string>PBXDebugProcessViewModule</string>
+ <string>PBXDebugThreadViewModule</string>
+ <string>PBXDebugStackFrameViewModule</string>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>TableOfContents</key>
+ <array>
+ <string>8B79259B21F28381006E9731</string>
+ <string>1CCC7628064C1048000F2A68</string>
+ <string>1CCC7629064C1048000F2A68</string>
+ <string>8B79259C21F28381006E9731</string>
+ <string>8B79259D21F28381006E9731</string>
+ <string>8B79259E21F28381006E9731</string>
+ <string>8B79259F21F28381006E9731</string>
+ <string>8B7925A021F28381006E9731</string>
+ </array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ </dict>
+ </array>
+ <key>PerspectivesBarVisible</key>
+ <true/>
+ <key>ShelfIsVisible</key>
+ <false/>
+ <key>SourceDescription</key>
+ <string>file at '/Developer/Library/PrivateFrameworks/DevToolsInterface.framework/Resources/XCPerspectivesSpecification.xcperspec'</string>
+ <key>StatusbarIsVisible</key>
+ <true/>
+ <key>TimeStamp</key>
+ <real>569802771.16773605</real>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
+ <key>ToolbarDisplayMode</key>
+ <integer>1</integer>
+ <key>ToolbarIsVisible</key>
+ <true/>
+ <key>ToolbarSizeMode</key>
+ <integer>2</integer>
+ <key>Type</key>
+ <string>Perspectives</string>
+ <key>UpdateMessage</key>
+ <string></string>
+ <key>WindowJustification</key>
+ <integer>5</integer>
+ <key>WindowOrderList</key>
+ <array>
+ <string>/Users/christopherjohnson/Desktop/MacAU/DitherFloat/DitherFloat.xcodeproj</string>
+ </array>
+ <key>WindowString</key>
+ <string>566 208 841 654 0 0 1440 878 </string>
+ <key>WindowToolsV3</key>
+ <array>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugger</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>Debugger</key>
+ <dict>
+ <key>HorizontalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {317, 164}}</string>
+ <string>{{317, 0}, {377, 164}}</string>
+ </array>
+ </dict>
+ <key>VerticalSplitView</key>
+ <dict>
+ <key>_collapsingFrameDimension</key>
+ <real>0.0</real>
+ <key>_indexOfCollapsedView</key>
+ <integer>0</integer>
+ <key>_percentageOfCollapsedView</key>
+ <real>0.0</real>
+ <key>isCollapsed</key>
+ <string>yes</string>
+ <key>sizes</key>
+ <array>
+ <string>{{0, 0}, {694, 164}}</string>
+ <string>{{0, 164}, {694, 216}}</string>
+ </array>
+ </dict>
+ </dict>
+ <key>LauncherConfigVersion</key>
+ <string>8</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C162984064C10D400B95A72</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debug - GLUTExamples (Underwater)</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>DebugConsoleDrawerSize</key>
+ <string>{100, 120}</string>
+ <key>DebugConsoleVisible</key>
+ <string>None</string>
+ <key>DebugConsoleWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>DebugSTDIOWindowFrame</key>
+ <string>{{200, 200}, {500, 300}}</string>
+ <key>Frame</key>
+ <string>{{0, 0}, {694, 380}}</string>
+ <key>RubberWindowFrame</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugSessionModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugSessionModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <string>1C0AD2AB069F1E9B00FABCE6</string>
+ <string>1C162984064C10D400B95A72</string>
+ <string>1C0AD2AC069F1E9B00FABCE6</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugV3</string>
+ <key>WindowString</key>
+ <string>321 238 694 422 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CD10A99069EF8BA00B06720</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.build</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528F0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052900623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {500, 215}}</string>
+ <key>RubberWindowFrame</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>218pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>XCMainBuildResultsModuleGUID</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Build Results</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 222}, {500, 236}}</string>
+ <key>RubberWindowFrame</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXBuildResultsModule</string>
+ <key>Proportion</key>
+ <string>236pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>458pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Build Results</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBuildResultsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAA5065D492600B07095</string>
+ <string>1C78EAA6065D492600B07095</string>
+ <string>1CD0528F0623707200166675</string>
+ <string>XCMainBuildResultsModuleGUID</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.buildV3</string>
+ <key>WindowString</key>
+ <string>192 257 500 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.find</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CDD528C0622207200134675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528D0623707200166675</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {781, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>781pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD0528E0623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Project Find</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{8, 0}, {773, 254}}</string>
+ <key>RubberWindowFrame</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXProjectFindModule</string>
+ <key>Proportion</key>
+ <string>50%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>428pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Find</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXProjectFindModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <string>1C530D58069F1CE1000CFCEE</string>
+ <string>1C530D59069F1CE1000CFCEE</string>
+ <string>1CDD528C0622207200134675</string>
+ <string>1C530D5A069F1CE1000CFCEE</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CD0528E0623707200166675</string>
+ </array>
+ <key>WindowString</key>
+ <string>62 385 781 470 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D57069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.snapshots</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCSnapshotModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Snapshots</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCSnapshotModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <string>Yes</string>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.snapshots</string>
+ <key>WindowString</key>
+ <string>315 824 300 550 0 0 1440 878 </string>
+ <key>WindowToolIsVisible</key>
+ <string>Yes</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debuggerConsole</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAAC065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Debugger Console</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {700, 358}}</string>
+ <key>RubberWindowFrame</key>
+ <string>149 87 700 400 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXDebugCLIModule</string>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>358pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debugger Console</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXDebugCLIModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C530D5B069F1CE1000CFCEE</string>
+ <string>1C530D5C069F1CE1000CFCEE</string>
+ <string>1C78EAAC065D492600B07095</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.consoleV3</string>
+ <key>WindowString</key>
+ <string>149 87 440 400 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1C530D5B069F1CE1000CFCEE</string>
+ <key>WindowToolIsVisible</key>
+ <integer>0</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.scm</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB2065D492600B07095</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>&lt;No Editor&gt;</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1C78EAB3065D492600B07095</string>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <integer>1</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {452, 0}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>0pt</string>
+ </dict>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CD052920623707200166675</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>SCM</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ConsoleFrame</key>
+ <string>{{0, 259}, {452, 0}}</string>
+ <key>Frame</key>
+ <string>{{0, 7}, {452, 259}}</string>
+ <key>RubberWindowFrame</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ <key>TableConfiguration</key>
+ <array>
+ <string>Status</string>
+ <real>30</real>
+ <string>FileName</string>
+ <real>199</real>
+ <string>Path</string>
+ <real>197.09500122070312</real>
+ </array>
+ <key>TableFrame</key>
+ <string>{{0, 0}, {452, 250}}</string>
+ </dict>
+ <key>Module</key>
+ <string>PBXCVSModule</string>
+ <key>Proportion</key>
+ <string>262pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>266pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>SCM</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXCVSModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EAB4065D492600B07095</string>
+ <string>1C78EAB5065D492600B07095</string>
+ <string>1C78EAB2065D492600B07095</string>
+ <string>1CD052920623707200166675</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.scmV3</string>
+ <key>WindowString</key>
+ <string>743 379 452 308 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.breakpoints</string>
+ <key>IsVertical</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXBottomSmartGroupGIDs</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Files</string>
+ <key>PBXProjectStructureProvided</key>
+ <string>no</string>
+ <key>PBXSmartGroupTreeModuleColumnData</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
+ <array>
+ <real>168</real>
+ </array>
+ <key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
+ <array>
+ <string>MainColumn</string>
+ </array>
+ </dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateKey_v7</key>
+ <dict>
+ <key>PBXSmartGroupTreeModuleOutlineStateExpansionKey</key>
+ <array>
+ <string>1C77FABC04509CD000000102</string>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
+ <array>
+ <array>
+ <integer>0</integer>
+ </array>
+ </array>
+ <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
+ <string>{{0, 0}, {168, 350}}</string>
+ </dict>
+ <key>PBXTopSmartGroupGIDs</key>
+ <array/>
+ <key>XCIncludePerspectivesSwitch</key>
+ <integer>0</integer>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 0}, {185, 368}}</string>
+ <key>GroupTreeTableConfiguration</key>
+ <array>
+ <string>MainColumn</string>
+ <real>168</real>
+ </array>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXSmartGroupTreeModule</string>
+ <key>Proportion</key>
+ <string>185pt</string>
+ </dict>
+ <dict>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA1AED706398EBD00589147</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Detail</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{190, 0}, {554, 368}}</string>
+ <key>RubberWindowFrame</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ </dict>
+ <key>Module</key>
+ <string>XCDetailModule</string>
+ <key>Proportion</key>
+ <string>554pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>368pt</string>
+ </dict>
+ </array>
+ <key>MajorVersion</key>
+ <integer>3</integer>
+ <key>MinorVersion</key>
+ <integer>0</integer>
+ <key>Name</key>
+ <string>Breakpoints</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXSmartGroupTreeModule</string>
+ <string>XCDetailModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <string>1CDDB66907F98D9800BB5817</string>
+ <string>1CE0B1FE06471DED0097A5F4</string>
+ <string>1CA1AED706398EBD00589147</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.breakpointsV3</string>
+ <key>WindowString</key>
+ <string>315 424 744 409 0 0 1440 878 </string>
+ <key>WindowToolGUID</key>
+ <string>1CDDB66807F98D9800BB5817</string>
+ <key>WindowToolIsVisible</key>
+ <integer>1</integer>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.debugAnimator</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXNavigatorGroup</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Debug Visualizer</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXNavigatorGroup</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>1</integer>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.debugAnimatorV3</string>
+ <key>WindowString</key>
+ <string>100 100 700 500 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.bookmarks</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>PBXBookmarksModule</string>
+ <key>Proportion</key>
+ <string>166pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>166pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Bookmarks</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXBookmarksModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowString</key>
+ <string>538 42 401 187 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.projectFormatConflicts</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>Module</key>
+ <string>XCProjectFormatConflictsModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Project Format Conflicts</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCProjectFormatConflictsModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>WindowContentMinSize</key>
+ <string>450 300</string>
+ <key>WindowString</key>
+ <string>50 850 472 307 0 0 1440 877</string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.classBrowser</string>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>ContentConfiguration</key>
+ <dict>
+ <key>OptionsSetName</key>
+ <string>Hierarchy, all classes</string>
+ <key>PBXProjectModuleGUID</key>
+ <string>1CA6456E063B45B4001379D8</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>Class Browser - NSObject</string>
+ </dict>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>ClassesFrame</key>
+ <string>{{0, 0}, {369, 96}}</string>
+ <key>ClassesTreeTableConfiguration</key>
+ <array>
+ <string>PBXClassNameColumnIdentifier</string>
+ <real>208</real>
+ <string>PBXClassBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>Frame</key>
+ <string>{{0, 0}, {616, 353}}</string>
+ <key>MembersFrame</key>
+ <string>{{0, 105}, {369, 395}}</string>
+ <key>MembersTreeTableConfiguration</key>
+ <array>
+ <string>PBXMemberTypeIconColumnIdentifier</string>
+ <real>22</real>
+ <string>PBXMemberNameColumnIdentifier</string>
+ <real>216</real>
+ <string>PBXMemberTypeColumnIdentifier</string>
+ <real>94</real>
+ <string>PBXMemberBookColumnIdentifier</string>
+ <real>22</real>
+ </array>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <integer>1</integer>
+ <key>RubberWindowFrame</key>
+ <string>597 125 616 374 0 0 1280 1002 </string>
+ </dict>
+ <key>Module</key>
+ <string>PBXClassBrowserModule</string>
+ <key>Proportion</key>
+ <string>354pt</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>354pt</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Class Browser</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>PBXClassBrowserModule</string>
+ </array>
+ <key>StatusbarIsVisible</key>
+ <integer>0</integer>
+ <key>TableOfContents</key>
+ <array>
+ <string>1C78EABA065D492600B07095</string>
+ <string>1C78EABB065D492600B07095</string>
+ <string>1CA6456E063B45B4001379D8</string>
+ </array>
+ <key>ToolbarConfiguration</key>
+ <string>xcode.toolbar.config.classbrowser</string>
+ <key>WindowString</key>
+ <string>597 125 616 374 0 0 1280 1002 </string>
+ </dict>
+ <dict>
+ <key>Identifier</key>
+ <string>windowTool.refactoring</string>
+ <key>IncludeInToolsMenu</key>
+ <integer>0</integer>
+ <key>Layout</key>
+ <array>
+ <dict>
+ <key>Dock</key>
+ <array>
+ <dict>
+ <key>BecomeActive</key>
+ <integer>1</integer>
+ <key>GeometryConfiguration</key>
+ <dict>
+ <key>Frame</key>
+ <string>{0, 0}, {500, 335}</string>
+ <key>RubberWindowFrame</key>
+ <string>{0, 0}, {500, 335}</string>
+ </dict>
+ <key>Module</key>
+ <string>XCRefactoringModule</string>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Proportion</key>
+ <string>100%</string>
+ </dict>
+ </array>
+ <key>Name</key>
+ <string>Refactoring</string>
+ <key>ServiceClasses</key>
+ <array>
+ <string>XCRefactoringModule</string>
+ </array>
+ <key>WindowString</key>
+ <string>200 200 500 356 0 0 1920 1200 </string>
+ </dict>
+ </array>
+</dict>
+</plist>
diff --git a/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj
new file mode 100755
index 0000000..e97226a
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloat.xcodeproj/project.pbxproj
@@ -0,0 +1,490 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 45;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */; };
+ 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */; };
+ 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */; };
+ 8B4119B70749654200361ABE /* DitherFloat.r in Rez */ = {isa = PBXBuildFile; fileRef = 8BA05A680720730100365D66 /* DitherFloat.r */; };
+ 8BA05A6B0720730100365D66 /* DitherFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A660720730100365D66 /* DitherFloat.cpp */; };
+ 8BA05A6E0720730100365D66 /* DitherFloatVersion.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A690720730100365D66 /* DitherFloatVersion.h */; };
+ 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A7F072073D200365D66 /* AUBase.cpp */; };
+ 8BA05AAF072073D300365D66 /* AUBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A80072073D200365D66 /* AUBase.h */; };
+ 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A81072073D200365D66 /* AUDispatch.cpp */; };
+ 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A82072073D200365D66 /* AUDispatch.h */; };
+ 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A83072073D200365D66 /* AUInputElement.cpp */; };
+ 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A84072073D200365D66 /* AUInputElement.h */; };
+ 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A85072073D200365D66 /* AUOutputElement.cpp */; };
+ 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A86072073D200365D66 /* AUOutputElement.h */; };
+ 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A88072073D200365D66 /* AUScopeElement.cpp */; };
+ 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A89072073D200365D66 /* AUScopeElement.h */; };
+ 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A8A072073D200365D66 /* ComponentBase.cpp */; };
+ 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A8B072073D200365D66 /* ComponentBase.h */; };
+ 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */; };
+ 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05A9B072073D200365D66 /* AUEffectBase.h */; };
+ 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA7072073D200365D66 /* AUBuffer.cpp */; };
+ 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AA8072073D200365D66 /* AUBuffer.h */; };
+ 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */; };
+ 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */; };
+ 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */; };
+ 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */; };
+ 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */; };
+ 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */; };
+ 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */; };
+ 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE10720742100365D66 /* CAMutex.cpp */; };
+ 8BA05AE80720742100365D66 /* CAMutex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE20720742100365D66 /* CAMutex.h */; };
+ 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */; };
+ 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */; };
+ 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AF9072074E100365D66 /* AudioToolbox.framework */; };
+ 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05AFA072074E100365D66 /* AudioUnit.framework */; };
+ 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8BA05B01072074F900365D66 /* CoreServices.framework */; };
+ 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8BA05B050720754400365D66 /* CAAUParameter.cpp */; };
+ 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BA05B060720754400365D66 /* CAAUParameter.h */; };
+ 8BC6025C073B072D006C4272 /* DitherFloat.h in Headers */ = {isa = PBXBuildFile; fileRef = 8BC6025B073B072D006C4272 /* DitherFloat.h */; };
+ 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C167DFE841241C02AAC07 /* InfoPlist.strings */; };
+ F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */; };
+ F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */ = {isa = PBXBuildFile; fileRef = F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 089C167EFE841241C02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAVectorUnit.cpp; sourceTree = "<group>"; };
+ 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnit.h; sourceTree = "<group>"; };
+ 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAVectorUnitTypes.h; sourceTree = "<group>"; };
+ 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = /System/Library/Frameworks/CoreAudio.framework; sourceTree = "<absolute>"; };
+ 8BA05A660720730100365D66 /* DitherFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = DitherFloat.cpp; sourceTree = "<group>"; };
+ 8BA05A670720730100365D66 /* DitherFloat.exp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.exports; path = DitherFloat.exp; sourceTree = "<group>"; };
+ 8BA05A680720730100365D66 /* DitherFloat.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = DitherFloat.r; sourceTree = "<group>"; };
+ 8BA05A690720730100365D66 /* DitherFloatVersion.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DitherFloatVersion.h; sourceTree = "<group>"; };
+ 8BA05A7F072073D200365D66 /* AUBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBase.cpp; sourceTree = "<group>"; };
+ 8BA05A80072073D200365D66 /* AUBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBase.h; sourceTree = "<group>"; };
+ 8BA05A81072073D200365D66 /* AUDispatch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDispatch.cpp; sourceTree = "<group>"; };
+ 8BA05A82072073D200365D66 /* AUDispatch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDispatch.h; sourceTree = "<group>"; };
+ 8BA05A83072073D200365D66 /* AUInputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUInputElement.cpp; sourceTree = "<group>"; };
+ 8BA05A84072073D200365D66 /* AUInputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputElement.h; sourceTree = "<group>"; };
+ 8BA05A85072073D200365D66 /* AUOutputElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUOutputElement.cpp; sourceTree = "<group>"; };
+ 8BA05A86072073D200365D66 /* AUOutputElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUOutputElement.h; sourceTree = "<group>"; };
+ 8BA05A87072073D200365D66 /* AUResources.r */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.rez; path = AUResources.r; sourceTree = "<group>"; };
+ 8BA05A88072073D200365D66 /* AUScopeElement.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUScopeElement.cpp; sourceTree = "<group>"; };
+ 8BA05A89072073D200365D66 /* AUScopeElement.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUScopeElement.h; sourceTree = "<group>"; };
+ 8BA05A8A072073D200365D66 /* ComponentBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = ComponentBase.cpp; sourceTree = "<group>"; };
+ 8BA05A8B072073D200365D66 /* ComponentBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = ComponentBase.h; sourceTree = "<group>"; };
+ 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUEffectBase.cpp; sourceTree = "<group>"; };
+ 8BA05A9B072073D200365D66 /* AUEffectBase.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUEffectBase.h; sourceTree = "<group>"; };
+ 8BA05AA7072073D200365D66 /* AUBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUBuffer.cpp; sourceTree = "<group>"; };
+ 8BA05AA8072073D200365D66 /* AUBuffer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUBuffer.h; sourceTree = "<group>"; };
+ 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = AUDebugDispatcher.cpp; sourceTree = "<group>"; };
+ 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUDebugDispatcher.h; sourceTree = "<group>"; };
+ 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUInputFormatConverter.h; sourceTree = "<group>"; };
+ 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUSilentTimeout.h; sourceTree = "<group>"; };
+ 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = AUTimestampGenerator.h; sourceTree = "<group>"; };
+ 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAudioChannelLayout.cpp; sourceTree = "<group>"; };
+ 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAudioChannelLayout.h; sourceTree = "<group>"; };
+ 8BA05AE10720742100365D66 /* CAMutex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAMutex.cpp; sourceTree = "<group>"; };
+ 8BA05AE20720742100365D66 /* CAMutex.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAMutex.h; sourceTree = "<group>"; };
+ 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAStreamBasicDescription.cpp; sourceTree = "<group>"; };
+ 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAStreamBasicDescription.h; sourceTree = "<group>"; };
+ 8BA05AF9072074E100365D66 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; };
+ 8BA05AFA072074E100365D66 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = /System/Library/Frameworks/AudioUnit.framework; sourceTree = "<absolute>"; };
+ 8BA05B01072074F900365D66 /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
+ 8BA05B050720754400365D66 /* CAAUParameter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CAAUParameter.cpp; sourceTree = "<group>"; };
+ 8BA05B060720754400365D66 /* CAAUParameter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CAAUParameter.h; sourceTree = "<group>"; };
+ 8BC6025B073B072D006C4272 /* DitherFloat.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DitherFloat.h; sourceTree = "<group>"; };
+ 8D01CCD10486CAD60068D4B7 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
+ 8D01CCD20486CAD60068D4B7 /* DitherFloat.component */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DitherFloat.component; sourceTree = BUILT_PRODUCTS_DIR; };
+ F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AUBaseHelper.cpp; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.cpp; sourceTree = SYSTEM_DEVELOPER_DIR; };
+ F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AUBaseHelper.h; path = Extras/CoreAudio/AudioUnits/AUPublic/Utility/AUBaseHelper.h; sourceTree = SYSTEM_DEVELOPER_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 8D01CCCD0486CAD60068D4B7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8BA05AFC072074E100365D66 /* AudioToolbox.framework in Frameworks */,
+ 8BA05AFD072074E100365D66 /* AudioUnit.framework in Frameworks */,
+ 8BA05B02072074F900365D66 /* CoreServices.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 089C166AFE841209C02AAC07 /* DitherFloat */ = {
+ isa = PBXGroup;
+ children = (
+ 08FB77ADFE841716C02AAC07 /* Source */,
+ 089C167CFE841241C02AAC07 /* Resources */,
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */,
+ 19C28FB4FE9D528D11CA2CBB /* Products */,
+ );
+ name = DitherFloat;
+ sourceTree = "<group>";
+ };
+ 089C1671FE841209C02AAC07 /* External Frameworks and Libraries */ = {
+ isa = PBXGroup;
+ children = (
+ 8B5C7FBF076FB2C200A15F61 /* CoreAudio.framework */,
+ 8BA05B01072074F900365D66 /* CoreServices.framework */,
+ 8BA05AF9072074E100365D66 /* AudioToolbox.framework */,
+ 8BA05AFA072074E100365D66 /* AudioUnit.framework */,
+ );
+ name = "External Frameworks and Libraries";
+ sourceTree = "<group>";
+ };
+ 089C167CFE841241C02AAC07 /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 8D01CCD10486CAD60068D4B7 /* Info.plist */,
+ 089C167DFE841241C02AAC07 /* InfoPlist.strings */,
+ );
+ name = Resources;
+ sourceTree = "<group>";
+ };
+ 08FB77ADFE841716C02AAC07 /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 8BA05A56072072A900365D66 /* AU Source */,
+ 8BA05AEB0720742700365D66 /* PublicUtility */,
+ 8BA05A7D072073D200365D66 /* AUPublic */,
+ );
+ name = Source;
+ sourceTree = "<group>";
+ };
+ 19C28FB4FE9D528D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 8D01CCD20486CAD60068D4B7 /* DitherFloat.component */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 8BA05A56072072A900365D66 /* AU Source */ = {
+ isa = PBXGroup;
+ children = (
+ 8BC6025B073B072D006C4272 /* DitherFloat.h */,
+ 8BA05A660720730100365D66 /* DitherFloat.cpp */,
+ 8BA05A670720730100365D66 /* DitherFloat.exp */,
+ 8BA05A680720730100365D66 /* DitherFloat.r */,
+ 8BA05A690720730100365D66 /* DitherFloatVersion.h */,
+ );
+ name = "AU Source";
+ sourceTree = "<group>";
+ };
+ 8BA05A7D072073D200365D66 /* AUPublic */ = {
+ isa = PBXGroup;
+ children = (
+ 8BA05A7E072073D200365D66 /* AUBase */,
+ 8BA05A99072073D200365D66 /* OtherBases */,
+ 8BA05AA6072073D200365D66 /* Utility */,
+ );
+ name = AUPublic;
+ path = Extras/CoreAudio/AudioUnits/AUPublic;
+ sourceTree = SYSTEM_DEVELOPER_DIR;
+ };
+ 8BA05A7E072073D200365D66 /* AUBase */ = {
+ isa = PBXGroup;
+ children = (
+ 8BA05A7F072073D200365D66 /* AUBase.cpp */,
+ 8BA05A80072073D200365D66 /* AUBase.h */,
+ 8BA05A81072073D200365D66 /* AUDispatch.cpp */,
+ 8BA05A82072073D200365D66 /* AUDispatch.h */,
+ 8BA05A83072073D200365D66 /* AUInputElement.cpp */,
+ 8BA05A84072073D200365D66 /* AUInputElement.h */,
+ 8BA05A85072073D200365D66 /* AUOutputElement.cpp */,
+ 8BA05A86072073D200365D66 /* AUOutputElement.h */,
+ 8BA05A87072073D200365D66 /* AUResources.r */,
+ 8BA05A88072073D200365D66 /* AUScopeElement.cpp */,
+ 8BA05A89072073D200365D66 /* AUScopeElement.h */,
+ 8BA05A8A072073D200365D66 /* ComponentBase.cpp */,
+ 8BA05A8B072073D200365D66 /* ComponentBase.h */,
+ );
+ path = AUBase;
+ sourceTree = "<group>";
+ };
+ 8BA05A99072073D200365D66 /* OtherBases */ = {
+ isa = PBXGroup;
+ children = (
+ 8BA05A9A072073D200365D66 /* AUEffectBase.cpp */,
+ 8BA05A9B072073D200365D66 /* AUEffectBase.h */,
+ );
+ path = OtherBases;
+ sourceTree = "<group>";
+ };
+ 8BA05AA6072073D200365D66 /* Utility */ = {
+ isa = PBXGroup;
+ children = (
+ F7C347EE0ECE5AF8008ADFB6 /* AUBaseHelper.cpp */,
+ F7C347EF0ECE5AF8008ADFB6 /* AUBaseHelper.h */,
+ 8BA05AA7072073D200365D66 /* AUBuffer.cpp */,
+ 8BA05AA8072073D200365D66 /* AUBuffer.h */,
+ 8BA05AA9072073D200365D66 /* AUDebugDispatcher.cpp */,
+ 8BA05AAA072073D200365D66 /* AUDebugDispatcher.h */,
+ 8BA05AAB072073D200365D66 /* AUInputFormatConverter.h */,
+ 8BA05AAC072073D200365D66 /* AUSilentTimeout.h */,
+ 8BA05AAD072073D200365D66 /* AUTimestampGenerator.h */,
+ );
+ path = Utility;
+ sourceTree = "<group>";
+ };
+ 8BA05AEB0720742700365D66 /* PublicUtility */ = {
+ isa = PBXGroup;
+ children = (
+ 8BA05B050720754400365D66 /* CAAUParameter.cpp */,
+ 8BA05B060720754400365D66 /* CAAUParameter.h */,
+ 8BA05ADF0720742100365D66 /* CAAudioChannelLayout.cpp */,
+ 8BA05AE00720742100365D66 /* CAAudioChannelLayout.h */,
+ 8BA05AE10720742100365D66 /* CAMutex.cpp */,
+ 8BA05AE20720742100365D66 /* CAMutex.h */,
+ 8BA05AE30720742100365D66 /* CAStreamBasicDescription.cpp */,
+ 8BA05AE40720742100365D66 /* CAStreamBasicDescription.h */,
+ 3EEA126D089847F5002C6BFC /* CAVectorUnitTypes.h */,
+ 3EEA126B089847F5002C6BFC /* CAVectorUnit.cpp */,
+ 3EEA126C089847F5002C6BFC /* CAVectorUnit.h */,
+ );
+ name = PublicUtility;
+ path = Extras/CoreAudio/PublicUtility;
+ sourceTree = SYSTEM_DEVELOPER_DIR;
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 8D01CCC70486CAD60068D4B7 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8BA05A6E0720730100365D66 /* DitherFloatVersion.h in Headers */,
+ 8BA05AAF072073D300365D66 /* AUBase.h in Headers */,
+ 8BA05AB1072073D300365D66 /* AUDispatch.h in Headers */,
+ 8BA05AB3072073D300365D66 /* AUInputElement.h in Headers */,
+ 8BA05AB5072073D300365D66 /* AUOutputElement.h in Headers */,
+ 8BA05AB8072073D300365D66 /* AUScopeElement.h in Headers */,
+ 8BA05ABA072073D300365D66 /* ComponentBase.h in Headers */,
+ 8BA05AC7072073D300365D66 /* AUEffectBase.h in Headers */,
+ 8BA05AD3072073D300365D66 /* AUBuffer.h in Headers */,
+ 8BA05AD5072073D300365D66 /* AUDebugDispatcher.h in Headers */,
+ 8BA05AD6072073D300365D66 /* AUInputFormatConverter.h in Headers */,
+ 8BA05AD7072073D300365D66 /* AUSilentTimeout.h in Headers */,
+ 8BA05AD8072073D300365D66 /* AUTimestampGenerator.h in Headers */,
+ 8BA05AE60720742100365D66 /* CAAudioChannelLayout.h in Headers */,
+ 8BA05AE80720742100365D66 /* CAMutex.h in Headers */,
+ 8BA05AEA0720742100365D66 /* CAStreamBasicDescription.h in Headers */,
+ 8BA05B080720754400365D66 /* CAAUParameter.h in Headers */,
+ 8BC6025C073B072D006C4272 /* DitherFloat.h in Headers */,
+ 3EEA126F089847F5002C6BFC /* CAVectorUnit.h in Headers */,
+ 3EEA1270089847F5002C6BFC /* CAVectorUnitTypes.h in Headers */,
+ F7C347F10ECE5AF8008ADFB6 /* AUBaseHelper.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 8D01CCC60486CAD60068D4B7 /* DitherFloat */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "DitherFloat" */;
+ buildPhases = (
+ 8D01CCC70486CAD60068D4B7 /* Headers */,
+ 8D01CCC90486CAD60068D4B7 /* Resources */,
+ 8D01CCCB0486CAD60068D4B7 /* Sources */,
+ 8D01CCCD0486CAD60068D4B7 /* Frameworks */,
+ 8D01CCCF0486CAD60068D4B7 /* Rez */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = DitherFloat;
+ productInstallPath = "$(HOME)/Library/Bundles";
+ productName = DitherFloat;
+ productReference = 8D01CCD20486CAD60068D4B7 /* DitherFloat.component */;
+ productType = "com.apple.product-type.bundle";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 089C1669FE841209C02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ buildConfigurationList = 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "DitherFloat" */;
+ compatibilityVersion = "Xcode 3.1";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ );
+ mainGroup = 089C166AFE841209C02AAC07 /* DitherFloat */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 8D01CCC60486CAD60068D4B7 /* DitherFloat */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 8D01CCC90486CAD60068D4B7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8D01CCCA0486CAD60068D4B7 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXRezBuildPhase section */
+ 8D01CCCF0486CAD60068D4B7 /* Rez */ = {
+ isa = PBXRezBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8B4119B70749654200361ABE /* DitherFloat.r in Rez */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXRezBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 8D01CCCB0486CAD60068D4B7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8BA05A6B0720730100365D66 /* DitherFloat.cpp in Sources */,
+ 8BA05AAE072073D300365D66 /* AUBase.cpp in Sources */,
+ 8BA05AB0072073D300365D66 /* AUDispatch.cpp in Sources */,
+ 8BA05AB2072073D300365D66 /* AUInputElement.cpp in Sources */,
+ 8BA05AB4072073D300365D66 /* AUOutputElement.cpp in Sources */,
+ 8BA05AB7072073D300365D66 /* AUScopeElement.cpp in Sources */,
+ 8BA05AB9072073D300365D66 /* ComponentBase.cpp in Sources */,
+ 8BA05AC6072073D300365D66 /* AUEffectBase.cpp in Sources */,
+ 8BA05AD2072073D300365D66 /* AUBuffer.cpp in Sources */,
+ 8BA05AD4072073D300365D66 /* AUDebugDispatcher.cpp in Sources */,
+ 8BA05AE50720742100365D66 /* CAAudioChannelLayout.cpp in Sources */,
+ 8BA05AE70720742100365D66 /* CAMutex.cpp in Sources */,
+ 8BA05AE90720742100365D66 /* CAStreamBasicDescription.cpp in Sources */,
+ 8BA05B070720754400365D66 /* CAAUParameter.cpp in Sources */,
+ 3EEA126E089847F5002C6BFC /* CAVectorUnit.cpp in Sources */,
+ F7C347F00ECE5AF8008ADFB6 /* AUBaseHelper.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 089C167DFE841241C02AAC07 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 089C167EFE841241C02AAC07 /* English */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 3E4BA244089833B7007656EC /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ EXPORTED_SYMBOLS_FILE = DitherFloat.exp;
+ GCC_ENABLE_FIX_AND_CONTINUE = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GENERATE_PKGINFO_FILE = YES;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
+ LIBRARY_STYLE = Bundle;
+ OTHER_LDFLAGS = "-bundle";
+ OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d ppc64_$ppc64 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
+ PRODUCT_NAME = DitherFloat;
+ WRAPPER_EXTENSION = component;
+ };
+ name = Debug;
+ };
+ 3E4BA245089833B7007656EC /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = (
+ ppc,
+ i386,
+ x86_64,
+ );
+ EXPORTED_SYMBOLS_FILE = DitherFloat.exp;
+ GCC_ENABLE_FIX_AND_CONTINUE = NO;
+ GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
+ GENERATE_PKGINFO_FILE = YES;
+ INFOPLIST_FILE = Info.plist;
+ INSTALL_PATH = "$(HOME)/Library/Audio/Plug-Ins/Components/";
+ LIBRARY_STYLE = Bundle;
+ MACOSX_DEPLOYMENT_TARGET = 10.4;
+ OTHER_LDFLAGS = "-bundle";
+ OTHER_REZFLAGS = "-d ppc_$ppc -d i386_$i386 -d x86_64_$x86_64 -I /System/Library/Frameworks/CoreServices.framework/Frameworks/CarbonCore.framework/Versions/A/Headers -I \"$(DEVELOPER_DIR)/Examples/CoreAudio/AudioUnits/AUPublic/AUBase\"";
+ PRODUCT_NAME = DitherFloat;
+ SDKROOT = macosx10.5;
+ STRIP_INSTALLED_PRODUCT = YES;
+ STRIP_STYLE = all;
+ WRAPPER_EXTENSION = component;
+ };
+ name = Release;
+ };
+ 3E4BA248089833B7007656EC /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ SDKROOT = macosx10.6;
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ };
+ name = Debug;
+ };
+ 3E4BA249089833B7007656EC /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_64_BIT)";
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ SDKROOT = macosx10.6;
+ WARNING_CFLAGS = (
+ "-Wmost",
+ "-Wno-four-char-constants",
+ "-Wno-unknown-pragmas",
+ );
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 3E4BA243089833B7007656EC /* Build configuration list for PBXNativeTarget "DitherFloat" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3E4BA244089833B7007656EC /* Debug */,
+ 3E4BA245089833B7007656EC /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 3E4BA247089833B7007656EC /* Build configuration list for PBXProject "DitherFloat" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3E4BA248089833B7007656EC /* Debug */,
+ 3E4BA249089833B7007656EC /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 089C1669FE841209C02AAC07 /* Project object */;
+}
diff --git a/plugins/MacAU/DitherFloat/DitherFloatVersion.h b/plugins/MacAU/DitherFloat/DitherFloatVersion.h
new file mode 100755
index 0000000..b9f4b9b
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/DitherFloatVersion.h
@@ -0,0 +1,58 @@
+/*
+* File: DitherFloatVersion.h
+*
+* Version: 1.0
+*
+* Created: 1/11/19
+*
+* Copyright: Copyright © 2019 Airwindows, All Rights Reserved
+*
+* Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Computer, Inc. ("Apple") in
+* consideration of your agreement to the following terms, and your use, installation, modification
+* or redistribution of this Apple software constitutes acceptance of these terms. If you do
+* not agree with these terms, please do not use, install, modify or redistribute this Apple
+* software.
+*
+* In consideration of your agreement to abide by the following terms, and subject to these terms,
+* Apple grants you a personal, non-exclusive license, under Apple's copyrights in this
+* original Apple software (the "Apple Software"), to use, reproduce, modify and redistribute the
+* Apple Software, with or without modifications, in source and/or binary forms; provided that if you
+* redistribute the Apple Software in its entirety and without modifications, you must retain this
+* notice and the following text and disclaimers in all such redistributions of the Apple Software.
+* Neither the name, trademarks, service marks or logos of Apple Computer, Inc. may be used to
+* endorse or promote products derived from the Apple Software without specific prior written
+* permission from Apple. Except as expressly stated in this notice, no other rights or
+* licenses, express or implied, are granted by Apple herein, including but not limited to any
+* patent rights that may be infringed by your derivative works or by other works in which the
+* Apple Software may be incorporated.
+*
+* The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO WARRANTIES, EXPRESS OR
+* IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY
+* AND FITNESS FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE
+* OR IN COMBINATION WITH YOUR PRODUCTS.
+*
+* IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR CONSEQUENTIAL
+* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE,
+* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER
+* UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN
+* IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+#ifndef __DitherFloatVersion_h__
+#define __DitherFloatVersion_h__
+
+
+#ifdef DEBUG
+ #define kDitherFloatVersion 0xFFFFFFFF
+#else
+ #define kDitherFloatVersion 0x00010000
+#endif
+
+//~~~~~~~~~~~~~~ Change!!! ~~~~~~~~~~~~~~~~~~~~~//
+#define DitherFloat_COMP_MANF 'Dthr'
+#define DitherFloat_COMP_SUBTYPE 'dthf'
+//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+
+#endif
+
diff --git a/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings b/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings
new file mode 100755
index 0000000..bb9c5d5
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/English.lproj/InfoPlist.strings
Binary files differ
diff --git a/plugins/MacAU/DitherFloat/Info.plist b/plugins/MacAU/DitherFloat/Info.plist
new file mode 100755
index 0000000..01dc683
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/Info.plist
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string></string>
+ <key>CFBundleIdentifier</key>
+ <string>com.airwindows.audiounit.${PRODUCT_NAME:identifier}</string>
+ <key>CFBundleName</key>
+ <string>${PROJECTNAMEASIDENTIFIER}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>BNDL</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleSignature</key>
+ <string>DthX</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>CSResourcesFileMapped</key>
+ <true/>
+</dict>
+</plist>
diff --git a/plugins/MacAU/DitherFloat/version.plist b/plugins/MacAU/DitherFloat/version.plist
new file mode 100755
index 0000000..11edf8a
--- /dev/null
+++ b/plugins/MacAU/DitherFloat/version.plist
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>BuildVersion</key>
+ <string>3</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1.0</string>
+ <key>ProjectName</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>SourceVersion</key>
+ <string>590000</string>
+</dict>
+</plist>
diff --git a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser
index ae10e21..e01742c 100755
--- a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.pbxuser
@@ -49,24 +49,34 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 566513740;
- PBXWorkspaceStateSaveDate = 566513740;
+ PBXPerProjectTemplateStateSaveDate = 569599304;
+ PBXWorkspaceStateSaveDate = 569599304;
};
perUserProjectItems = {
- 8BBB304421B70E5D00825986 /* PBXTextBookmark */ = 8BBB304421B70E5D00825986 /* PBXTextBookmark */;
- 8BBB329D21C4508800825986 /* PlistBookmark */ = 8BBB329D21C4508800825986 /* PlistBookmark */;
+ 8B792AF321F36563006E9731 /* PlistBookmark */ = 8B792AF321F36563006E9731 /* PlistBookmark */;
8BBB32A221C4509A00825986 /* PlistBookmark */ = 8BBB32A221C4509A00825986 /* PlistBookmark */;
- 8BBB32A621C4509A00825986 /* PBXTextBookmark */ = 8BBB32A621C4509A00825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792AF321F36563006E9731 /* PlistBookmark */ = {
+ isa = PlistBookmark;
+ fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
+ fallbackIsa = PBXBookmark;
+ isK = 0;
+ kPath = (
+ CFBundleName,
+ );
+ name = /Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/Info.plist;
+ rLen = 0;
+ rLoc = 9223372036854775807;
+ };
8BA05A660720730100365D66 /* DitherMeDiskers.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1082, 2964}}";
- sepNavSelRange = "{8372, 0}";
- sepNavVisRange = "{6754, 1793}";
+ sepNavIntBoundsRect = "{{0, 0}, {1082, 2938}}";
+ sepNavSelRange = "{7589, 0}";
+ sepNavVisRange = "{6703, 1843}";
sepNavWindowFrame = "{{15, 39}, {1129, 834}}";
};
};
@@ -78,28 +88,6 @@
sepNavWindowFrame = "{{15, 39}, {1129, 834}}";
};
};
- 8BBB304421B70E5D00825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DitherMeDiskers.cpp */;
- name = "DitherMeDiskers.cpp: 187";
- rLen = 0;
- rLoc = 8466;
- rType = 0;
- vrLen = 1811;
- vrLoc = 6559;
- };
- 8BBB329D21C4508800825986 /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775807;
- };
8BBB32A221C4509A00825986 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -112,16 +100,6 @@
rLen = 26;
rLoc = 0;
};
- 8BBB32A621C4509A00825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DitherMeDiskers.cpp */;
- name = "DitherMeDiskers.cpp: 192";
- rLen = 0;
- rLoc = 8372;
- rType = 0;
- vrLen = 1793;
- vrLoc = 6754;
- };
8BC6025B073B072D006C4272 /* DitherMeDiskers.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1082, 1664}}";
diff --git a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3
index 663d212..214721f 100755
--- a/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj/christopherjohnson.perspectivev3
@@ -222,48 +222,7 @@
</dict>
</array>
<key>OpenEditors</key>
- <array>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8BBB303C21B70E4F00825986</string>
- <key>PBXProjectModuleLabel</key>
- <string>DitherMeDiskers.cpp</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8BBB303D21B70E4F00825986</string>
- <key>PBXProjectModuleLabel</key>
- <string>DitherMeDiskers.cpp</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>8BBB32A621C4509A00825986</string>
- <key>history</key>
- <array>
- <string>8BBB304421B70E5D00825986</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {1129, 737}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>15 95 1129 778 0 0 1440 878 </string>
- </dict>
- </dict>
- </array>
+ <array/>
<key>PerspectiveWidths</key>
<array>
<integer>841</integer>
@@ -297,6 +256,8 @@
<key>Layout</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -365,7 +326,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>67 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -393,10 +354,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBB32A221C4509A00825986</string>
+ <string>8B792AF321F36563006E9731</string>
<key>history</key>
<array>
- <string>8BBB329D21C4508800825986</string>
+ <string>8BBB32A221C4509A00825986</string>
</array>
</dict>
<key>SplitCount</key>
@@ -410,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 216}}</string>
<key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>67 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>216pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>392pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -435,7 +396,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
+ <string>{{10, 27}, {531, 365}}</string>
+ <key>RubberWindowFrame</key>
+ <string>67 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -490,8 +453,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -519,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBB32A321C4509A00825986</string>
+ <string>8B792AF421F36563006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBB32A421C4509A00825986</string>
+ <string>8B792AF521F36563006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBB32A521C4509A00825986</string>
+ <string>8B792AF621F36563006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -696,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>566513818.26343</real>
+ <real>569599331.99398303</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -713,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBB303C21B70E4F00825986</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DitherMeDiskers/DitherMeDiskers.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>67 204 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
index a9c5963..7651fda 100755
--- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
+++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.cpp
@@ -177,10 +177,10 @@ void DitherMeTimbers::DitherMeTimbersKernel::Process( const Float32 *inSourceP
if ((lastSample+lastSample) >= (inputSample+lastSample2)) outputSample = floor(lastSample);
else outputSample = floor(lastSample+1.0); //round down or up based on whether it softens treble angles
-
+
lastSample2 = lastSample;
lastSample = inputSample; //we retain three samples in a row
-
+
noiseShaping += outputSample;
noiseShaping -= lastSample;
@@ -199,6 +199,3 @@ void DitherMeTimbers::DitherMeTimbersKernel::Process( const Float32 *inSourceP
destP += inNumChannels;
}
}
-
-
-
diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h
index 28c3eb4..abc959d 100755
--- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h
+++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.h
@@ -119,8 +119,8 @@ public:
private:
long double noiseShaping;
- Float64 lastSample;
- Float64 lastSample2;
+ long double lastSample;
+ long double lastSample2;
};
};
diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser
index 7f19694..45e9d2e 100755
--- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.pbxuser
@@ -51,13 +51,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 566513924;
- PBXWorkspaceStateSaveDate = 566513924;
+ PBXPerProjectTemplateStateSaveDate = 569599350;
+ PBXWorkspaceStateSaveDate = 569599350;
};
perUserProjectItems = {
8B416D5621B6000500DD5013 /* PlistBookmark */ = 8B416D5621B6000500DD5013 /* PlistBookmark */;
- 8BBB329121C4504400825986 /* PBXTextBookmark */ = 8BBB329121C4504400825986 /* PBXTextBookmark */;
- 8BBB32D021C4524300825986 /* PBXTextBookmark */ = 8BBB32D021C4524300825986 /* PBXTextBookmark */;
+ 8B792B0221F3657A006E9731 /* PBXTextBookmark */ = 8B792B0221F3657A006E9731 /* PBXTextBookmark */;
+ 8B792B0821F365A0006E9731 /* PBXTextBookmark */ = 8B792B0821F365A0006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -75,11 +75,31 @@
rLen = 0;
rLoc = 9223372036854775808;
};
+ 8B792B0221F3657A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */;
+ name = "DitherMeTimbers.cpp: 202";
+ rLen = 0;
+ rLoc = 8558;
+ rType = 0;
+ vrLen = 152;
+ vrLoc = 8165;
+ };
+ 8B792B0821F365A0006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */;
+ name = "DitherMeTimbers.cpp: 202";
+ rLen = 0;
+ rLoc = 8558;
+ rType = 0;
+ vrLen = 335;
+ vrLoc = 7733;
+ };
8BA05A660720730100365D66 /* DitherMeTimbers.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {789, 2808}}";
- sepNavSelRange = "{8279, 0}";
- sepNavVisRange = "{8161, 245}";
+ sepNavIntBoundsRect = "{{0, 0}, {789, 2834}}";
+ sepNavSelRange = "{8558, 0}";
+ sepNavVisRange = "{7733, 335}";
sepNavWindowFrame = "{{311, 44}, {1129, 834}}";
};
};
@@ -91,31 +111,11 @@
sepNavWindowFrame = "{{311, 44}, {1129, 834}}";
};
};
- 8BBB329121C4504400825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */;
- name = "DitherMeTimbers.cpp: 188";
- rLen = 0;
- rLoc = 8279;
- rType = 0;
- vrLen = 252;
- vrLoc = 8161;
- };
- 8BBB32D021C4524300825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DitherMeTimbers.cpp */;
- name = "DitherMeTimbers.cpp: 188";
- rLen = 0;
- rLoc = 8279;
- rType = 0;
- vrLen = 245;
- vrLoc = 8161;
- };
8BC6025B073B072D006C4272 /* DitherMeTimbers.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1082, 1690}}";
- sepNavSelRange = "{4971, 45}";
- sepNavVisRange = "{2662, 1719}";
+ sepNavSelRange = "{4943, 81}";
+ sepNavVisRange = "{3376, 1757}";
sepNavWindowFrame = "{{311, 44}, {1129, 834}}";
};
};
diff --git a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3
index 349f556..f9c57cc 100755
--- a/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DitherMeTimbers/DitherMeTimbers.xcodeproj/christopherjohnson.perspectivev3
@@ -302,7 +302,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -354,11 +354,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBB32D021C4524300825986</string>
+ <string>8B792B0821F365A0006E9731</string>
<key>history</key>
<array>
<string>8B416D5621B6000500DD5013</string>
- <string>8BBB329121C4504400825986</string>
+ <string>8B792B0221F3657A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 158}}</string>
+ <string>{{0, 0}, {531, 109}}</string>
<key>RubberWindowFrame</key>
<string>594 193 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>158pt</string>
+ <string>109pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>450pt</string>
+ <string>499pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 423}}</string>
- <key>RubberWindowFrame</key>
- <string>594 193 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 472}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
+ <string>{{10, 27}, {531, 472}}</string>
+ <key>RubberWindowFrame</key>
+ <string>594 193 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBB32D121C4524300825986</string>
+ <string>8B792B0921F365A0006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBB32D221C4524300825986</string>
+ <string>8B792B0A21F365A0006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBB32D321C4524300825986</string>
+ <string>8B792B0B21F365A0006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>566514243.55308604</real>
+ <real>569599392.67723703</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
diff --git a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser
index 3c31d7a..bb2bf83 100755
--- a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.pbxuser
@@ -51,18 +51,28 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557696136;
- PBXWorkspaceStateSaveDate = 557696136;
+ PBXPerProjectTemplateStateSaveDate = 569598344;
+ PBXWorkspaceStateSaveDate = 569598344;
};
perUserProjectItems = {
+ 8B792AE321F361B2006E9731 /* PBXTextBookmark */ = 8B792AE321F361B2006E9731 /* PBXTextBookmark */;
8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */ = 8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */;
- 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */ = 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */;
8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */ = 8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792AE321F361B2006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */;
+ name = "Ditherbox.h: 216";
+ rLen = 0;
+ rLoc = 8486;
+ rType = 0;
+ vrLen = 206;
+ vrLoc = 132;
+ };
8B913FA3213DBD2F00BA6EEC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Ditherbox.cpp */;
@@ -73,16 +83,6 @@
vrLen = 342;
vrLoc = 10516;
};
- 8B913FE1213DC54C00BA6EEC /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */;
- name = "Ditherbox.h: 216";
- rLen = 0;
- rLoc = 8486;
- rType = 0;
- vrLen = 209;
- vrLoc = 129;
- };
8B913FEB213DC5A500BA6EEC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Ditherbox.h */;
@@ -95,9 +95,9 @@
};
8BA05A660720730100365D66 /* Ditherbox.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {978, 11076}}";
+ sepNavIntBoundsRect = "{{0, 0}, {978, 10829}}";
sepNavSelRange = "{11237, 0}";
- sepNavVisRange = "{1680, 2418}";
+ sepNavVisRange = "{29519, 1747}";
sepNavWindowFrame = "{{471, 45}, {816, 833}}";
};
};
@@ -127,9 +127,9 @@
};
8BC6025B073B072D006C4272 /* Ditherbox.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 3003}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 2990}}";
sepNavSelRange = "{8486, 0}";
- sepNavVisRange = "{129, 209}";
+ sepNavVisRange = "{132, 206}";
sepNavWindowFrame = "{{419, 78}, {1021, 800}}";
};
};
diff --git a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3
index efe3540..2486243 100755
--- a/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Ditherbox/Ditherbox.xcodeproj/christopherjohnson.perspectivev3
@@ -256,6 +256,8 @@
<key>Layout</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -350,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B913FEB213DC5A500BA6EEC</string>
+ <string>8B792AE321F361B2006E9731</string>
<key>history</key>
<array>
<string>8B913FA3213DBD2F00BA6EEC</string>
- <string>8B913FE1213DC54C00BA6EEC</string>
+ <string>8B913FEB213DC5A500BA6EEC</string>
</array>
</dict>
<key>SplitCount</key>
@@ -368,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
<string>468 237 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -393,7 +395,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>468 237 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -448,8 +452,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>468 237 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -477,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B913FB1213DC48A00BA6EEC</string>
+ <string>8B792AE421F361B2006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B913FB2213DC48A00BA6EEC</string>
+ <string>8B792AE521F361B2006E9731</string>
<string>8B9E7EE61DDE28AC006035FA</string>
- <string>8B913FB3213DC48A00BA6EEC</string>
+ <string>8B792AE621F361B2006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -634,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557696421.06510198</real>
+ <real>569598386.47118104</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
diff --git a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser
index 76f3628..0076005 100755
--- a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.pbxuser
@@ -49,15 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528455820;
- PBXWorkspaceStateSaveDate = 528455820;
+ PBXPerProjectTemplateStateSaveDate = 569599414;
+ PBXWorkspaceStateSaveDate = 569599414;
};
perUserProjectItems = {
8B753DD21E4005B300347157 /* PlistBookmark */ = 8B753DD21E4005B300347157 /* PlistBookmark */;
- 8B9D64691F7C8512007AB60F /* PBXTextBookmark */ = 8B9D64691F7C8512007AB60F /* PBXTextBookmark */;
- 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */ = 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */;
+ 8B792B1921F365CE006E9731 /* PBXTextBookmark */ = 8B792B1921F365CE006E9731 /* PBXTextBookmark */;
+ 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */ = 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */;
+ 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */ = 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */;
8BB6DE001E5A8BDB00F3CD1D /* PBXTextBookmark */ = 8BB6DE001E5A8BDB00F3CD1D /* PBXTextBookmark */;
- 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */ = 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -75,39 +75,49 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D64691F7C8512007AB60F /* PBXTextBookmark */ = {
+ 8B792B1921F365CE006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* DoublePaulVersion.h */;
- name = "DoublePaulVersion.h: 54";
+ fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */;
+ name = "DoublePaul.cpp: 219";
rLen = 0;
- rLoc = 2901;
+ rLoc = 9846;
rType = 0;
- vrLen = 357;
- vrLoc = 2598;
+ vrLen = 152;
+ vrLoc = 9879;
};
- 8B9D73DB1F7F98B0007AB60F /* PBXTextBookmark */ = {
+ 8B913F30213DB8AA00BA6EEC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* DoublePaulVersion.h */;
name = "DoublePaulVersion.h: 54";
rLen = 0;
rLoc = 2901;
rType = 0;
- vrLen = 354;
- vrLoc = 2601;
+ vrLen = 290;
+ vrLoc = 2665;
+ };
+ 8B913FCD213DC4EE00BA6EEC /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */;
+ name = "DoublePaul.cpp: 219";
+ rLen = 0;
+ rLoc = 9846;
+ rType = 0;
+ vrLen = 474;
+ vrLoc = 8093;
};
8BA05A660720730100365D66 /* DoublePaul.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {876, 3159}}";
- sepNavSelRange = "{7552, 0}";
- sepNavVisRange = "{6507, 2681}";
- sepNavWindowFrame = "{{517, 41}, {923, 837}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 3068}}";
+ sepNavSelRange = "{9846, 0}";
+ sepNavVisRange = "{9879, 152}";
+ sepNavWindowFrame = "{{42, 39}, {923, 837}}";
};
};
8BA05A690720730100365D66 /* DoublePaulVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 819}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 858}}";
sepNavSelRange = "{2901, 0}";
- sepNavVisRange = "{2601, 354}";
+ sepNavVisRange = "{2665, 290}";
sepNavWindowFrame = "{{15, 39}, {923, 837}}";
};
};
@@ -121,22 +131,12 @@
vrLen = 412;
vrLoc = 4667;
};
- 8BB6DE011E5A8BDB00F3CD1D /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DoublePaul.cpp */;
- name = "DoublePaul.cpp: 193";
- rLen = 0;
- rLoc = 9846;
- rType = 0;
- vrLen = 595;
- vrLoc = 8025;
- };
8BC6025B073B072D006C4272 /* DoublePaul.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}";
sepNavSelRange = "{4958, 19}";
- sepNavVisRange = "{1786, 1948}";
- sepNavWindowFrame = "{{509, 12}, {923, 837}}";
+ sepNavVisRange = "{3359, 1727}";
+ sepNavWindowFrame = "{{38, 12}, {923, 837}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3
index a45f5ce..9124a10 100755
--- a/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DoublePaul/DoublePaul.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>328 180 841 654 0 0 1440 878 </string>
+ <string>19 213 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,7 +341,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>DoublePaulVersion.h</string>
+ <string>DoublePaul.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,17 +349,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>DoublePaulVersion.h</string>
+ <string>DoublePaul.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D73DB1F7F98B0007AB60F</string>
+ <string>8B792B1921F365CE006E9731</string>
<key>history</key>
<array>
<string>8B753DD21E4005B300347157</string>
<string>8BB6DE001E5A8BDB00F3CD1D</string>
- <string>8BB6DE011E5A8BDB00F3CD1D</string>
- <string>8B9D64691F7C8512007AB60F</string>
+ <string>8B913F30213DB8AA00BA6EEC</string>
+ <string>8B913FCD213DC4EE00BA6EEC</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +373,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {531, 158}}</string>
<key>RubberWindowFrame</key>
- <string>328 180 841 654 0 0 1440 878 </string>
+ <string>19 213 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>158pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>450pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +398,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
+ <string>{{10, 27}, {531, 423}}</string>
<key>RubberWindowFrame</key>
- <string>328 180 841 654 0 0 1440 878 </string>
+ <string>19 213 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -482,11 +482,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D73DC1F7F98B0007AB60F</string>
+ <string>8B792B1A21F365CE006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73DD1F7F98B0007AB60F</string>
+ <string>8B792B1B21F365CE006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D73DE1F7F98B0007AB60F</string>
+ <string>8B792B1C21F365CE006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +659,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528455856.515679</real>
+ <real>569599438.68596196</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +676,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D73DF1F7F98B0007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DoublePaul/DoublePaul.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>328 180 841 654 0 0 1440 878 </string>
+ <string>19 213 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Drive/Drive.cpp b/plugins/MacAU/Drive/Drive.cpp
index 179d9ae..ab3c0bc 100755
--- a/plugins/MacAU/Drive/Drive.cpp
+++ b/plugins/MacAU/Drive/Drive.cpp
@@ -184,8 +184,7 @@ void Drive::DriveKernel::Reset()
{
iirSampleA = 0.0;
iirSampleB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -220,10 +219,6 @@ void Drive::DriveKernel::Process( const Float32 *inSourceP,
Float64 glitch = 0.60;
Float64 out;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -282,20 +277,13 @@ void Drive::DriveKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet);
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Drive/Drive.exp b/plugins/MacAU/Drive/Drive.exp
index f23aad0..caa6fe9 100755
--- a/plugins/MacAU/Drive/Drive.exp
+++ b/plugins/MacAU/Drive/Drive.exp
@@ -1 +1 @@
-_DriveEntry \ No newline at end of file
+_DriveEntry
diff --git a/plugins/MacAU/Drive/Drive.h b/plugins/MacAU/Drive/Drive.h
index 83be2b2..0e4af2a 100755
--- a/plugins/MacAU/Drive/Drive.h
+++ b/plugins/MacAU/Drive/Drive.h
@@ -139,8 +139,7 @@ public:
private:
Float64 iirSampleA;
Float64 iirSampleB;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser
index 948474f..8cd024d 100755
--- a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 559395484;
- PBXWorkspaceStateSaveDate = 559395484;
+ PBXPerProjectTemplateStateSaveDate = 569599476;
+ PBXWorkspaceStateSaveDate = 569599476;
};
perUserProjectItems = {
8B3D790A1DB4057D00247AD5 /* PBXTextBookmark */ = 8B3D790A1DB4057D00247AD5 /* PBXTextBookmark */;
- 8BE626152157B2BF00E4E476 /* PBXTextBookmark */ = 8BE626152157B2BF00E4E476 /* PBXTextBookmark */;
- 8BE626162157B2BF00E4E476 /* PBXTextBookmark */ = 8BE626162157B2BF00E4E476 /* PBXTextBookmark */;
+ 8B792B2A21F36661006E9731 /* PBXTextBookmark */ = 8B792B2A21F36661006E9731 /* PBXTextBookmark */;
+ 8B792B3021F36679006E9731 /* PBXTextBookmark */ = 8B792B3021F36679006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,12 +71,40 @@
vrLen = 59;
vrLoc = 0;
};
+ 8B792B2A21F36661006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Drive.cpp */;
+ name = "Drive.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 64;
+ vrLoc = 0;
+ };
+ 8B792B3021F36679006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Drive.cpp */;
+ name = "Drive.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 64;
+ vrLoc = 0;
+ };
8BA05A660720730100365D66 /* Drive.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4056}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 3991}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 127}";
- sepNavWindowFrame = "{{537, 59}, {895, 819}}";
+ sepNavVisRange = "{0, 64}";
+ sepNavWindowFrame = "{{423, 59}, {895, 819}}";
+ };
+ };
+ 8BA05A670720730100365D66 /* Drive.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{12, 0}";
+ sepNavVisRange = "{0, 12}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
};
};
8BA05A690720730100365D66 /* DriveVersion.h */ = {
@@ -89,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* Drive.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {856, 1963}}";
- sepNavSelRange = "{5553, 57}";
- sepNavVisRange = "{4498, 1221}";
+ sepNavIntBoundsRect = "{{0, 0}, {856, 2184}}";
+ sepNavSelRange = "{5576, 0}";
+ sepNavVisRange = "{4496, 1205}";
sepNavWindowFrame = "{{517, 162}, {903, 692}}";
};
};
@@ -109,26 +137,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BE626152157B2BF00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Drive.cpp */;
- name = "Drive.cpp: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 127;
- vrLoc = 0;
- };
- 8BE626162157B2BF00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Drive.cpp */;
- name = "Drive.cpp: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 127;
- vrLoc = 0;
- };
8D01CCC60486CAD60068D4B7 /* Drive */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3
index 09b8cfc..a684ee9 100755
--- a/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Drive/Drive.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>624 381 810 487 0 0 1440 878 </string>
+ <string>511 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BE626162157B2BF00E4E476</string>
+ <string>8B792B3021F36679006E9731</string>
<key>history</key>
<array>
<string>8B3D790A1DB4057D00247AD5</string>
- <string>8BE626152157B2BF00E4E476</string>
+ <string>8B792B2A21F36661006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 132}}</string>
+ <string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
- <string>624 381 810 487 0 0 1440 878 </string>
+ <string>511 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>132pt</string>
+ <string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>309pt</string>
+ <string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
- <key>RubberWindowFrame</key>
- <string>624 381 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 297}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
+ <key>RubberWindowFrame</key>
+ <string>511 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BE626172157B2BF00E4E476</string>
+ <string>8B792B3121F36679006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BE626182157B2BF00E4E476</string>
+ <string>8B792B3221F36679006E9731</string>
<string>8BE3FFB51DAAD42E00A5AAF5</string>
- <string>8BE626192157B2BF00E4E476</string>
+ <string>8B792B3321F36679006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>559395519.27228796</real>
+ <real>569599609.11398804</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,10 +651,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792B3421F36679006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Drive/Drive.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>624 381 810 487 0 0 1440 878 </string>
+ <string>511 370 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DrumSlam/DrumSlam.cpp b/plugins/MacAU/DrumSlam/DrumSlam.cpp
index 50053f3..8002ede 100755
--- a/plugins/MacAU/DrumSlam/DrumSlam.cpp
+++ b/plugins/MacAU/DrumSlam/DrumSlam.cpp
@@ -183,9 +183,8 @@ void DrumSlam::DrumSlamKernel::Reset()
iirSampleG = 0.0;
iirSampleH = 0.0;
lastSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
+ fpFlip = false;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -216,8 +215,6 @@ void DrumSlam::DrumSlamKernel::Process( const Float32 *inSourceP,
Float64 out = GetParameter( kParam_Two );
Float64 wet = GetParameter( kParam_Three );
Float64 dry = 1.0 - wet;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
long double inputSample = *sourceP;
@@ -320,21 +317,13 @@ void DrumSlam::DrumSlamKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) {
inputSample = (drySample * dry)+(inputSample*wet);
}
-
- //noise shaping to 32-bit floating point
- Float32 fpTemp;
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/DrumSlam/DrumSlam.h b/plugins/MacAU/DrumSlam/DrumSlam.h
index 2222f01..99d3058 100755
--- a/plugins/MacAU/DrumSlam/DrumSlam.h
+++ b/plugins/MacAU/DrumSlam/DrumSlam.h
@@ -140,8 +140,7 @@ public:
Float64 iirSampleG;
Float64 iirSampleH;
Float64 lastSample;
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser
index 549e398..fed09c8 100755
--- a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.pbxuser
@@ -49,54 +49,65 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547825387;
- PBXWorkspaceStateSaveDate = 547825387;
+ PBXPerProjectTemplateStateSaveDate = 569599635;
+ PBXWorkspaceStateSaveDate = 569599635;
};
perUserProjectItems = {
+ 8B792B4421F36707006E9731 /* PBXTextBookmark */ = 8B792B4421F36707006E9731 /* PBXTextBookmark */;
+ 8B792B4521F36707006E9731 /* PBXTextBookmark */ = 8B792B4521F36707006E9731 /* PBXTextBookmark */;
+ 8B792B5221F36735006E9731 /* PBXTextBookmark */ = 8B792B5221F36735006E9731 /* PBXTextBookmark */;
8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */;
- 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */;
- 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */ = 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = {
+ 8B792B4421F36707006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* DrumSlamVersion.h */;
- name = "DrumSlamVersion.h: 1";
+ fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */;
+ name = "DrumSlam.cpp: 314";
rLen = 0;
- rLoc = 0;
+ rLoc = 13827;
rType = 0;
- vrLen = 397;
- vrLoc = 3021;
+ vrLen = 237;
+ vrLoc = 13982;
};
- 8B7E3F2F20A72F9500482CB5 /* PBXTextBookmark */ = {
+ 8B792B4521F36707006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */;
- name = "DrumSlam.cpp: 329";
+ fRef = 8BC6025B073B072D006C4272 /* DrumSlam.h */;
+ name = "DrumSlam.h: 143";
rLen = 0;
- rLoc = 13944;
+ rLoc = 5485;
rType = 0;
- vrLen = 318;
- vrLoc = 13904;
+ vrLen = 119;
+ vrLoc = 5359;
};
- 8B7E3F3020A72F9500482CB5 /* PBXTextBookmark */ = {
+ 8B792B5221F36735006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* DrumSlam.cpp */;
- name = "DrumSlam.cpp: 318";
+ fRef = 8BC6025B073B072D006C4272 /* DrumSlam.h */;
+ name = "DrumSlam.h: 144";
rLen = 0;
- rLoc = 13944;
+ rLoc = 5485;
rType = 0;
- vrLen = 201;
- vrLoc = 14073;
+ vrLen = 131;
+ vrLoc = 5359;
+ };
+ 8B7E3F2E20A72F9500482CB5 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A690720730100365D66 /* DrumSlamVersion.h */;
+ name = "DrumSlamVersion.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 397;
+ vrLoc = 3021;
};
8BA05A660720730100365D66 /* DrumSlam.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {852, 4810}}";
- sepNavSelRange = "{13944, 0}";
- sepNavVisRange = "{14073, 201}";
- sepNavWindowFrame = "{{291, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 4472}}";
+ sepNavSelRange = "{13975, 0}";
+ sepNavVisRange = "{12035, 1944}";
+ sepNavWindowFrame = "{{208, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* DrumSlam.exp */ = {
@@ -116,10 +127,10 @@
};
8BC6025B073B072D006C4272 /* DrumSlam.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {960, 1976}}";
- sepNavSelRange = "{5249, 198}";
- sepNavVisRange = "{1784, 1800}";
- sepNavWindowFrame = "{{673, 59}, {1007, 819}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 2132}}";
+ sepNavSelRange = "{5485, 0}";
+ sepNavVisRange = "{5359, 131}";
+ sepNavWindowFrame = "{{433, 59}, {1007, 819}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3
index 5b5c6ba..882f5c2 100755
--- a/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DrumSlam/DrumSlam.xcodeproj/christopherjohnson.perspectivev3
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>618 344 810 487 0 0 1440 878 </string>
+ <string>526 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BBDB99F208BFC67006F0D04</string>
<key>PBXProjectModuleLabel</key>
- <string>DrumSlam.cpp</string>
+ <string>DrumSlam.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,15 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BBDB9A0208BFC67006F0D04</string>
<key>PBXProjectModuleLabel</key>
- <string>DrumSlam.cpp</string>
+ <string>DrumSlam.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B7E3F3020A72F9500482CB5</string>
+ <string>8B792B5221F36735006E9731</string>
<key>history</key>
<array>
<string>8B7E3F2E20A72F9500482CB5</string>
- <string>8B7E3F2F20A72F9500482CB5</string>
+ <string>8B792B4421F36707006E9731</string>
+ <string>8B792B4521F36707006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 132}}</string>
+ <string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
- <string>618 344 810 487 0 0 1440 878 </string>
+ <string>526 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>132pt</string>
+ <string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>309pt</string>
+ <string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
- <key>RubberWindowFrame</key>
- <string>618 344 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 297}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
+ <key>RubberWindowFrame</key>
+ <string>526 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B7E3F3120A72F9500482CB5</string>
+ <string>8B792B4721F36707006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B7E3F3220A72F9500482CB5</string>
+ <string>8B792B4821F36707006E9731</string>
<string>8BBDB99F208BFC67006F0D04</string>
- <string>8B7E3F3320A72F9500482CB5</string>
+ <string>8B792B4921F36707006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547827605.06235003</real>
+ <real>569599797.07027304</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -656,7 +657,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/DrumSlam/DrumSlam.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>618 344 810 487 0 0 1440 878 </string>
+ <string>526 350 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DubCenter/DubCenter.cpp b/plugins/MacAU/DubCenter/DubCenter.cpp
index e0bfcae..397d118 100755
--- a/plugins/MacAU/DubCenter/DubCenter.cpp
+++ b/plugins/MacAU/DubCenter/DubCenter.cpp
@@ -608,18 +608,14 @@ OSStatus DubCenter::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
bflip++;
if (bflip < 1 || bflip > 3) bflip = 1;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSampleL;
- fpNShapeL += (inputSampleL-fpTemp);
- inputSampleL += fpNShapeL;
- //if this confuses you look at the wordlength for fpTemp :)
- fpTemp = inputSampleR;
- fpNShapeR += (inputSampleR-fpTemp);
- inputSampleR += fpNShapeR;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
@@ -630,12 +626,6 @@ OSStatus DubCenter::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
outputL += 1;
outputR += 1;
}
- fpNShapeL *= 0.999999;
- fpNShapeR *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
return noErr;
}
diff --git a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser
index 7ca3e9a..92a76a9 100755
--- a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.pbxuser
@@ -49,50 +49,50 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561682686;
- PBXWorkspaceStateSaveDate = 561682686;
+ PBXPerProjectTemplateStateSaveDate = 569601995;
+ PBXWorkspaceStateSaveDate = 569601995;
};
perUserProjectItems = {
- 8B15DBE021788E16007AD769 /* PBXTextBookmark */ = 8B15DBE021788E16007AD769 /* PBXTextBookmark */;
- 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */ = 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */;
+ 8B792B6021F37032006E9731 /* PBXTextBookmark */ = 8B792B6021F37032006E9731 /* PBXTextBookmark */;
+ 8B792B6521F37044006E9731 /* PBXTextBookmark */ = 8B792B6521F37044006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B15DBE021788E16007AD769 /* PBXTextBookmark */ = {
+ 8B792B6021F37032006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* DubCenterVersion.h */;
name = "DubCenterVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 138;
+ vrLen = 72;
vrLoc = 0;
};
- 8B15DC9D217A9A34007AD769 /* PBXTextBookmark */ = {
+ 8B792B6521F37044006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* DubCenterVersion.h */;
name = "DubCenterVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 75;
+ vrLen = 72;
vrLoc = 0;
};
8BA05A660720730100365D66 /* DubCenter.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {843, 8515}}";
- sepNavSelRange = "{21662, 0}";
- sepNavVisRange = "{18060, 2145}";
- sepNavWindowFrame = "{{524, 68}, {890, 810}}";
+ sepNavIntBoundsRect = "{{0, 0}, {843, 8710}}";
+ sepNavSelRange = "{25766, 0}";
+ sepNavVisRange = "{12612, 2162}";
+ sepNavWindowFrame = "{{418, 60}, {890, 810}}";
};
};
8BA05A690720730100365D66 /* DubCenterVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {803, 845}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 75}";
+ sepNavVisRange = "{0, 72}";
sepNavWindowFrame = "{{15, 63}, {890, 810}}";
};
};
@@ -106,9 +106,9 @@
8BC6025B073B072D006C4272 /* DubCenter.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 2626}}";
- sepNavSelRange = "{6309, 802}";
- sepNavVisRange = "{1890, 2172}";
- sepNavWindowFrame = "{{743, 68}, {890, 810}}";
+ sepNavSelRange = "{6647, 0}";
+ sepNavVisRange = "{6253, 1011}";
+ sepNavWindowFrame = "{{550, 68}, {890, 810}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3
index 9e4deb2..db80a2d 100755
--- a/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DubCenter/DubCenter.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>824 324 573 517 0 0 1440 878 </string>
+ <string>506 318 573 517 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B15DC9D217A9A34007AD769</string>
+ <string>8B792B6521F37044006E9731</string>
<key>history</key>
<array>
- <string>8B15DBE021788E16007AD769</string>
+ <string>8B792B6021F37032006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {366, 119}}</string>
+ <string>{{0, 0}, {366, 103}}</string>
<key>RubberWindowFrame</key>
- <string>824 324 573 517 0 0 1440 878 </string>
+ <string>506 318 573 517 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>119pt</string>
+ <string>103pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>352pt</string>
+ <string>368pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {366, 325}}</string>
- <key>RubberWindowFrame</key>
- <string>824 324 573 517 0 0 1440 878 </string>
+ <string>{{10, 27}, {366, 341}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {366, 282}}</string>
+ <string>{{10, 27}, {366, 341}}</string>
+ <key>RubberWindowFrame</key>
+ <string>506 318 573 517 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B15DC9E217A9A34007AD769</string>
+ <string>8B792B6621F37044006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B15DC9F217A9A34007AD769</string>
+ <string>8B792B6721F37044006E9731</string>
<string>8B27205C2173B3A600396442</string>
- <string>8B15DCA0217A9A34007AD769</string>
+ <string>8B792B6821F37044006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561682996.86381996</real>
+ <real>569602116.17734897</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -655,7 +653,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/DubCenter/DubCenter.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>824 324 573 517 0 0 1440 878 </string>
+ <string>506 318 573 517 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DubSub/DubSub.cpp b/plugins/MacAU/DubSub/DubSub.cpp
index 3d375c7..49a371b 100755
--- a/plugins/MacAU/DubSub/DubSub.cpp
+++ b/plugins/MacAU/DubSub/DubSub.cpp
@@ -523,23 +523,14 @@ void DubSub::DubSubKernel::Process( const Float32 *inSourceP,
bflip++;
if (bflip < 1 || bflip > 3) bflip = 1;
-
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser
index 1b78563..0bf9966 100755
--- a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 560565055;
- PBXWorkspaceStateSaveDate = 560565055;
+ PBXPerProjectTemplateStateSaveDate = 569602135;
+ PBXWorkspaceStateSaveDate = 569602135;
};
perUserProjectItems = {
- 8B42FE3E21698BC50092969A /* PBXTextBookmark */ = 8B42FE3E21698BC50092969A /* PBXTextBookmark */;
- 8B42FE3F21698BC50092969A /* PBXTextBookmark */ = 8B42FE3F21698BC50092969A /* PBXTextBookmark */;
+ 8B792B7521F3708C006E9731 /* PBXTextBookmark */ = 8B792B7521F3708C006E9731 /* PBXTextBookmark */;
+ 8B792B7A21F3709C006E9731 /* PBXTextBookmark */ = 8B792B7A21F3709C006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B42FE3E21698BC50092969A /* PBXTextBookmark */ = {
+ 8B792B7521F3708C006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* DubSub.cpp */;
name = "DubSub.cpp: 521";
rLen = 0;
rLoc = 22045;
rType = 0;
- vrLen = 160;
- vrLoc = 21949;
+ vrLen = 68;
+ vrLoc = 21996;
};
- 8B42FE3F21698BC50092969A /* PBXTextBookmark */ = {
+ 8B792B7A21F3709C006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* DubSub.cpp */;
name = "DubSub.cpp: 521";
rLen = 0;
rLoc = 22045;
rType = 0;
- vrLen = 160;
- vrLoc = 21915;
+ vrLen = 68;
+ vrLoc = 21996;
};
8BA05A660720730100365D66 /* DubSub.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {663, 7241}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 7072}}";
sepNavSelRange = "{22045, 0}";
- sepNavVisRange = "{21915, 160}";
- sepNavWindowFrame = "{{749, 66}, {1145, 812}}";
+ sepNavVisRange = "{21996, 68}";
+ sepNavWindowFrame = "{{1, 41}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* DubSub.exp */ = {
@@ -108,16 +108,16 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {1098, 767}}";
sepNavSelRange = "{2869, 0}";
- sepNavVisRange = "{68, 2869}";
+ sepNavVisRange = "{49, 2888}";
sepNavWindowFrame = "{{295, 66}, {1145, 812}}";
};
};
8BC6025B073B072D006C4272 /* DubSub.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 2392}}";
- sepNavSelRange = "{3332, 0}";
- sepNavVisRange = "{2519, 1677}";
- sepNavWindowFrame = "{{832, 72}, {608, 806}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 2756}}";
+ sepNavSelRange = "{6097, 1035}";
+ sepNavVisRange = "{6232, 1033}";
+ sepNavWindowFrame = "{{26, 54}, {608, 806}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3
index 5e22a02..b95829d 100755
--- a/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DubSub/DubSub.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>625 371 810 487 0 0 1440 878 </string>
+ <string>412 359 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B42FE3F21698BC50092969A</string>
+ <string>8B792B7A21F3709C006E9731</string>
<key>history</key>
<array>
- <string>8B42FE3E21698BC50092969A</string>
+ <string>8B792B7521F3708C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 69}}</string>
<key>RubberWindowFrame</key>
- <string>625 371 810 487 0 0 1440 878 </string>
+ <string>412 359 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>69pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>372pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>625 371 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 345}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 345}}</string>
+ <key>RubberWindowFrame</key>
+ <string>412 359 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B42FE4021698BC50092969A</string>
+ <string>8B792B7B21F3709C006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B42FE4121698BC50092969A</string>
+ <string>8B792B7C21F3709C006E9731</string>
<string>8BE6256A2157A03900E4E476</string>
- <string>8B42FE4221698BC50092969A</string>
+ <string>8B792B7D21F3709C006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>560565189.36784196</real>
+ <real>569602204.74752998</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B42FE4321698BC50092969A</string>
+ <string>8B792B7E21F3709C006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DubSub/DubSub.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>625 371 810 487 0 0 1440 878 </string>
+ <string>412 359 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/DustBunny/DustBunny.cpp b/plugins/MacAU/DustBunny/DustBunny.cpp
index 84ac4f6..28418d4 100755
--- a/plugins/MacAU/DustBunny/DustBunny.cpp
+++ b/plugins/MacAU/DustBunny/DustBunny.cpp
@@ -164,7 +164,7 @@ void DustBunny::DustBunnyKernel::Reset()
ataUpsampleHighTweak = 0.0414213562373095048801688; //more adds treble to upsampling
ataDecay = 0.915965594177219015; //Catalan's constant, more adds focus and clarity
ataFlip = false; //end reset of antialias parameters
- demotimer = 0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -242,6 +242,12 @@ void DustBunny::DustBunnyKernel::Process( const Float32 *inSourceP,
ataPrevDiffSample = ataDiffSample / 2.0;
//apply processing as difference to non-oversampled raw input
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
//built in output trim and dry/wet by default
diff --git a/plugins/MacAU/DustBunny/DustBunny.h b/plugins/MacAU/DustBunny/DustBunny.h
index 942ef4a..ce73aa5 100755
--- a/plugins/MacAU/DustBunny/DustBunny.h
+++ b/plugins/MacAU/DustBunny/DustBunny.h
@@ -140,7 +140,7 @@ public:
Float32 ataDiffSample;
Float32 ataPrevDiffSample;
bool ataFlip; //end defining of antialiasing variables
- int demotimer;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser
index f043578..aed040a 100755
--- a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528455970;
- PBXWorkspaceStateSaveDate = 528455970;
+ PBXPerProjectTemplateStateSaveDate = 569602226;
+ PBXWorkspaceStateSaveDate = 569602226;
};
perUserProjectItems = {
- 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */ = 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */;
+ 8B792B8D21F37127006E9731 /* PBXTextBookmark */ = 8B792B8D21F37127006E9731 /* PBXTextBookmark */;
8B9D73FD1F7F9959007AB60F /* PBXTextBookmark */ = 8B9D73FD1F7F9959007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D648D1F7C8584007AB60F /* PBXTextBookmark */ = {
+ 8B792B8D21F37127006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A670720730100365D66 /* DustBunny.exp */;
name = "DustBunny.exp: 2";
@@ -82,15 +82,15 @@
};
8BA05A660720730100365D66 /* DustBunny.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1027, 3315}}";
- sepNavSelRange = "{8604, 0}";
- sepNavVisRange = "{8097, 2779}";
- sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 3536}}";
+ sepNavSelRange = "{7726, 0}";
+ sepNavVisRange = "{5884, 2552}";
+ sepNavWindowFrame = "{{329, 39}, {1005, 839}}";
};
};
8BA05A670720730100365D66 /* DustBunny.exp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 70}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 54}}";
sepNavSelRange = "{16, 0}";
sepNavVisRange = "{0, 16}";
sepNavWindowFrame = "{{15, 39}, {1005, 839}}";
@@ -106,10 +106,10 @@
};
8BC6025B073B072D006C4272 /* DustBunny.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 1950}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{4064, 1467}";
- sepNavWindowFrame = "{{435, 39}, {1005, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 1898}}";
+ sepNavSelRange = "{5428, 0}";
+ sepNavVisRange = "{3922, 1609}";
+ sepNavWindowFrame = "{{166, 39}, {1005, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3
index dc5427b..0cf4cf6 100755
--- a/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/DustBunny/DustBunny.xcodeproj/christopherjohnson.perspectivev3
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 291 810 487 0 0 1440 878 </string>
+ <string>444 300 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D73FD1F7F9959007AB60F</string>
+ <string>8B792B8D21F37127006E9731</string>
<key>history</key>
<array>
- <string>8B9D648D1F7C8584007AB60F</string>
+ <string>8B9D73FD1F7F9959007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 102}}</string>
+ <string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
- <string>630 291 810 487 0 0 1440 878 </string>
+ <string>444 300 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>102pt</string>
+ <string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>339pt</string>
+ <string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +394,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 312}}</string>
+ <string>{{10, 27}, {603, 328}}</string>
<key>RubberWindowFrame</key>
- <string>630 291 810 487 0 0 1440 878 </string>
+ <string>444 300 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -478,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D73FE1F7F9959007AB60F</string>
+ <string>8B792B8E21F37127006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D73FF1F7F9959007AB60F</string>
+ <string>8B792B8F21F37127006E9731</string>
<string>8BAC230D1F1EA30C009C635C</string>
- <string>8B9D74001F7F9959007AB60F</string>
+ <string>8B792B9021F37127006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456025.40104002</real>
+ <real>569602343.09456503</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74011F7F9959007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/DustBunny/DustBunny.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 291 810 487 0 0 1440 878 </string>
+ <string>444 300 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/EQ/EQ.cpp b/plugins/MacAU/EQ/EQ.cpp
index eecaa38..4b2d40b 100755
--- a/plugins/MacAU/EQ/EQ.cpp
+++ b/plugins/MacAU/EQ/EQ.cpp
@@ -222,9 +222,7 @@ ComponentResult EQ::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void EQ::EQKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
iirHighSampleA = 0.0;
iirHighSampleB = 0.0;
@@ -285,10 +283,6 @@ void EQ::EQKernel::Process( const Float32 *inSourceP,
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
Float64 overallscale = GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
Float64 inputSample;
Float64 highSample = 0.0;
Float64 midSample = 0.0;
@@ -354,7 +348,7 @@ void EQ::EQKernel::Process( const Float32 *inSourceP,
last2Sample = lastSample;
lastSample = inputSample;
- flip = not flip;
+ flip = !flip;
flipthree++;
if (flipthree < 1 || flipthree > 3) flipthree = 1;
//counters
@@ -522,19 +516,11 @@ void EQ::EQKernel::Process( const Float32 *inSourceP,
//built in output trim and dry/wet if desired
if (outputgain != 1.0) inputSample *= outputgain;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/EQ/EQ.h b/plugins/MacAU/EQ/EQ.h
index bfe6e51..a3b0194 100755
--- a/plugins/MacAU/EQ/EQ.h
+++ b/plugins/MacAU/EQ/EQ.h
@@ -197,9 +197,7 @@ public:
Float64 lastSample;
Float64 last2Sample;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser
index bcc2261..0385b92 100755
--- a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.pbxuser
@@ -49,8 +49,8 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541887565;
- PBXWorkspaceStateSaveDate = 541887565;
+ PBXPerProjectTemplateStateSaveDate = 569643969;
+ PBXWorkspaceStateSaveDate = 569643969;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -58,9 +58,9 @@
};
8BA05A660720730100365D66 /* EQ.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {787, 7306}}";
- sepNavSelRange = "{11544, 0}";
- sepNavVisRange = "{9924, 1260}";
+ sepNavIntBoundsRect = "{{0, 0}, {787, 7280}}";
+ sepNavSelRange = "{12231, 0}";
+ sepNavVisRange = "{11723, 2294}";
sepNavWindowFrame = "{{25, 65}, {834, 813}}";
};
};
@@ -81,9 +81,9 @@
};
8BC6025B073B072D006C4272 /* EQ.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2717}}";
- sepNavSelRange = "{7129, 0}";
- sepNavVisRange = "{2030, 1998}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 3133}}";
+ sepNavSelRange = "{7155, 0}";
+ sepNavVisRange = "{6104, 1153}";
sepNavWindowFrame = "{{561, 65}, {834, 813}}";
};
};
diff --git a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3
index bfd1346..91f367e 100755
--- a/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/EQ/EQ.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>626 361 810 487 0 0 1440 878 </string>
+ <string>497 289 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -363,7 +363,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>626 361 810 487 0 0 1440 878 </string>
+ <string>497 289 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -387,8 +387,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>626 361 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +440,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>497 289 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +470,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B181AEC204C940200516BEE</string>
+ <string>8B792BFF21F41480006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B181AED204C940200516BEE</string>
+ <string>8B792C0021F41480006E9731</string>
<string>8BCA70302027EDF000D92BAD</string>
- <string>8B181AEE204C940200516BEE</string>
+ <string>8B792C0121F41480006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +627,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541889538.11759806</real>
+ <real>569644160.89823198</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,10 +644,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792C0221F41480006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/EQ/EQ.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>626 361 810 487 0 0 1440 878 </string>
+ <string>497 289 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/EdIsDim/EdIsDim.cpp b/plugins/MacAU/EdIsDim/EdIsDim.cpp
index 164f8df..e9d2e23 100755
--- a/plugins/MacAU/EdIsDim/EdIsDim.cpp
+++ b/plugins/MacAU/EdIsDim/EdIsDim.cpp
@@ -171,11 +171,8 @@ ComponentResult EdIsDim::Initialize()
// this is called the reset the DSP state (clear buffers, reset counters, etc.)
ComponentResult EdIsDim::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeLA = 0.0;
- fpNShapeLB = 0.0;
- fpNShapeRA = 0.0;
- fpNShapeRB = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -194,10 +191,6 @@ OSStatus EdIsDim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
@@ -256,25 +249,14 @@ OSStatus EdIsDim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
mid = (inputSampleL+inputSampleR)/2.0;
side = (inputSampleL-inputSampleR)/2.0;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = mid;
- fpNShapeLA = (fpNShapeLA*fpOld)+((mid-fpTemp)*fpNew);
- mid += fpNShapeLA;
- fpTemp = side;
- fpNShapeRA = (fpNShapeRA*fpOld)+((side-fpTemp)*fpNew);
- side += fpNShapeRA;
- }
- else {
- fpTemp = mid;
- fpNShapeLB = (fpNShapeLB*fpOld)+((mid-fpTemp)*fpNew);
- mid += fpNShapeLB;
- fpTemp = side;
- fpNShapeRB = (fpNShapeRB*fpOld)+((side-fpTemp)*fpNew);
- side += fpNShapeRB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)mid, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ mid += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)side, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ side += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = mid;
*outputR = side;
diff --git a/plugins/MacAU/EdIsDim/EdIsDim.h b/plugins/MacAU/EdIsDim/EdIsDim.h
index 6646778..e5d5e46 100755
--- a/plugins/MacAU/EdIsDim/EdIsDim.h
+++ b/plugins/MacAU/EdIsDim/EdIsDim.h
@@ -111,11 +111,8 @@ public:
virtual ComponentResult Version() { return kEdIsDimVersion; }
private:
- long double fpNShapeLA;
- long double fpNShapeLB;
- long double fpNShapeRA;
- long double fpNShapeRB;
- bool fpFlip;
+ long double fpNShapeL;
+ long double fpNShapeR;
//default stuff
};
diff --git a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser
index dd54e22..0eaeffc 100755
--- a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456036;
- PBXWorkspaceStateSaveDate = 528456036;
+ PBXPerProjectTemplateStateSaveDate = 569602369;
+ PBXWorkspaceStateSaveDate = 569602369;
};
perUserProjectItems = {
- 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */ = 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */;
- 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */ = 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */;
+ 8B792B9E21F371C6006E9731 /* PBXTextBookmark */ = 8B792B9E21F371C6006E9731 /* PBXTextBookmark */;
+ 8B792BA321F371D7006E9731 /* PBXTextBookmark */ = 8B792BA321F371D7006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D649D1F7C85BA007AB60F /* PBXTextBookmark */ = {
+ 8B792B9E21F371C6006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EdIsDim.cpp */;
- name = "EdIsDim.cpp: 253";
- rLen = 710;
- rLoc = 10830;
+ name = "EdIsDim.cpp: 260";
+ rLen = 0;
+ rLoc = 11194;
rType = 0;
- vrLen = 437;
- vrLoc = 8933;
+ vrLen = 150;
+ vrLoc = 9250;
};
- 8B9D740C1F7F99CD007AB60F /* PBXTextBookmark */ = {
+ 8B792BA321F371D7006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EdIsDim.cpp */;
- name = "EdIsDim.cpp: 253";
- rLen = 710;
- rLoc = 10830;
+ name = "EdIsDim.cpp: 260";
+ rLen = 0;
+ rLoc = 11194;
rType = 0;
- vrLen = 382;
- vrLoc = 8988;
+ vrLen = 150;
+ vrLoc = 9250;
};
8BA05A660720730100365D66 /* EdIsDim.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 3770}}";
- sepNavSelRange = "{10830, 710}";
- sepNavVisRange = "{8988, 382}";
- sepNavWindowFrame = "{{370, 39}, {1070, 811}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3640}}";
+ sepNavSelRange = "{11194, 0}";
+ sepNavVisRange = "{9250, 150}";
+ sepNavWindowFrame = "{{182, 67}, {1070, 811}}";
};
};
8BA05A670720730100365D66 /* EdIsDim.exp */ = {
@@ -106,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* EdIsDim.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {922, 1638}}";
- sepNavSelRange = "{2966, 8}";
- sepNavVisRange = "{3189, 1845}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 1599}}";
+ sepNavSelRange = "{4844, 0}";
+ sepNavVisRange = "{3126, 1842}";
sepNavWindowFrame = "{{376, 41}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3
index 500b578..187be5c 100755
--- a/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/EdIsDim/EdIsDim.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>622 330 810 487 0 0 1440 878 </string>
+ <string>457 331 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D740C1F7F99CD007AB60F</string>
+ <string>8B792BA321F371D7006E9731</string>
<key>history</key>
<array>
- <string>8B9D649D1F7C85BA007AB60F</string>
+ <string>8B792B9E21F371C6006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {603, 69}}</string>
<key>RubberWindowFrame</key>
- <string>622 330 810 487 0 0 1440 878 </string>
+ <string>457 331 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>69pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>372pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>622 330 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 345}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 345}}</string>
+ <key>RubberWindowFrame</key>
+ <string>457 331 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D740D1F7F99CD007AB60F</string>
+ <string>8B792BA421F371D7006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D740E1F7F99CD007AB60F</string>
+ <string>8B792BA521F371D7006E9731</string>
<string>8B753E4E1E40210F00347157</string>
- <string>8B9D740F1F7F99CD007AB60F</string>
+ <string>8B792BA621F371D7006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456141.63520998</real>
+ <real>569602519.02649903</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74101F7F99CD007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/EdIsDim/EdIsDim.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>622 330 810 487 0 0 1440 878 </string>
+ <string>457 331 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ElectroHat/ElectroHat.cpp b/plugins/MacAU/ElectroHat/ElectroHat.cpp
index 6fd2b29..cfdf411 100755
--- a/plugins/MacAU/ElectroHat/ElectroHat.cpp
+++ b/plugins/MacAU/ElectroHat/ElectroHat.cpp
@@ -214,9 +214,7 @@ void ElectroHat::ElectroHatKernel::Reset()
tik = 3746926;
lok = 0;
flip = true;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -270,9 +268,6 @@ void ElectroHat::ElectroHatKernel::Process( const Float32 *inSourceP,
int posE = fosE;
int posF = fosF;
int posG = posF*posE*posD*posC*posB; //factorial
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
@@ -317,19 +312,11 @@ void ElectroHat::ElectroHatKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
//moving average combats that near-Nyquist stuff
diff --git a/plugins/MacAU/ElectroHat/ElectroHat.h b/plugins/MacAU/ElectroHat/ElectroHat.h
index 7592a4c..6d3525e 100755
--- a/plugins/MacAU/ElectroHat/ElectroHat.h
+++ b/plugins/MacAU/ElectroHat/ElectroHat.h
@@ -156,9 +156,7 @@ public:
int tik;
int lok;
bool flip;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser
index 9605e3d..6e8da0d 100755
--- a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.pbxuser
@@ -49,12 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541288564;
- PBXWorkspaceStateSaveDate = 541288564;
+ PBXPerProjectTemplateStateSaveDate = 569602542;
+ PBXWorkspaceStateSaveDate = 569602542;
};
perUserProjectItems = {
- 8BC009F220436BB300304BC7 /* PBXTextBookmark */ = 8BC009F220436BB300304BC7 /* PBXTextBookmark */;
- 8BC009F320436BB300304BC7 /* PBXTextBookmark */ = 8BC009F320436BB300304BC7 /* PBXTextBookmark */;
+ 8B792BB621F37247006E9731 /* PBXTextBookmark */ = 8B792BB621F37247006E9731 /* PBXTextBookmark */;
+ 8B792BBB21F37261006E9731 /* PBXTextBookmark */ = 8B792BBB21F37261006E9731 /* PBXTextBookmark */;
8BCEFB832042DD54002E8187 /* PBXTextBookmark */ = 8BCEFB832042DD54002E8187 /* PBXTextBookmark */;
8BCEFBA32043656D002E8187 /* PBXTextBookmark */ = 8BCEFBA32043656D002E8187 /* PBXTextBookmark */;
};
@@ -62,11 +62,31 @@
userBuildSettings = {
};
};
+ 8B792BB621F37247006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */;
+ name = "ElectroHat.cpp: 303";
+ rLen = 31;
+ rLoc = 12605;
+ rType = 0;
+ vrLen = 524;
+ vrLoc = 12283;
+ };
+ 8B792BBB21F37261006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */;
+ name = "ElectroHat.cpp: 303";
+ rLen = 31;
+ rLoc = 12605;
+ rType = 0;
+ vrLen = 226;
+ vrLoc = 12283;
+ };
8BA05A660720730100365D66 /* ElectroHat.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {712, 4667}}";
- sepNavSelRange = "{12748, 31}";
- sepNavVisRange = "{12105, 736}";
+ sepNavIntBoundsRect = "{{0, 0}, {712, 4472}}";
+ sepNavSelRange = "{12605, 31}";
+ sepNavVisRange = "{12283, 226}";
sepNavWindowFrame = "{{252, 40}, {997, 838}}";
};
};
@@ -78,31 +98,11 @@
sepNavWindowFrame = "{{15, 40}, {909, 838}}";
};
};
- 8BC009F220436BB300304BC7 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */;
- name = "ElectroHat.cpp: 145";
- rLen = 0;
- rLoc = 6799;
- rType = 0;
- vrLen = 926;
- vrLoc = 9949;
- };
- 8BC009F320436BB300304BC7 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* ElectroHat.cpp */;
- name = "ElectroHat.cpp: 308";
- rLen = 31;
- rLoc = 12748;
- rType = 0;
- vrLen = 736;
- vrLoc = 12105;
- };
8BC6025B073B072D006C4272 /* ElectroHat.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 2002}}";
- sepNavSelRange = "{3208, 0}";
- sepNavVisRange = "{2134, 1985}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2301}}";
+ sepNavSelRange = "{6281, 0}";
+ sepNavVisRange = "{4808, 1583}";
sepNavWindowFrame = "{{630, 50}, {810, 826}}";
};
};
diff --git a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3
index f67a203..2f7bc15 100755
--- a/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ElectroHat/ElectroHat.xcodeproj/christopherjohnson.perspectivev3
@@ -333,8 +333,6 @@
<key>Dock</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -352,12 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC009F320436BB300304BC7</string>
+ <string>8B792BBB21F37261006E9731</string>
<key>history</key>
<array>
<string>8BCEFB832042DD54002E8187</string>
<string>8BCEFBA32043656D002E8187</string>
- <string>8BC009F220436BB300304BC7</string>
+ <string>8B792BB621F37247006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 306}}</string>
+ <string>{{0, 0}, {603, 94}}</string>
<key>RubberWindowFrame</key>
<string>442 380 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>306pt</string>
+ <string>94pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>135pt</string>
+ <string>347pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 108}}</string>
- <key>RubberWindowFrame</key>
- <string>442 380 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 114}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 320}}</string>
+ <key>RubberWindowFrame</key>
+ <string>442 380 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC009F420436BB300304BC7</string>
+ <string>8B792BBC21F37261006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC009F520436BB300304BC7</string>
+ <string>8B792BBD21F37261006E9731</string>
<string>8BCA6F152027DB6B00D92BAD</string>
- <string>8BC009F620436BB300304BC7</string>
+ <string>8B792BBE21F37261006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541289395.77599096</real>
+ <real>569602657.83772898</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
diff --git a/plugins/MacAU/Energy/Energy.cpp b/plugins/MacAU/Energy/Energy.cpp
index e3b3354..3e9d4cb 100755
--- a/plugins/MacAU/Energy/Energy.cpp
+++ b/plugins/MacAU/Energy/Energy.cpp
@@ -733,22 +733,14 @@ void Energy::EnergyKernel::Process( const Float32 *inSourceP,
//we don't need a drySample because we never touched inputSample
//so, this provides the inv/dry/wet control all by itself
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
} \ No newline at end of file
diff --git a/plugins/MacAU/Energy/Energy.h b/plugins/MacAU/Energy/Energy.h
index 2ea7b28..62648f2 100755
--- a/plugins/MacAU/Energy/Energy.h
+++ b/plugins/MacAU/Energy/Energy.h
@@ -225,7 +225,7 @@ public:
Float64 PrevB;
Float64 PrevA;
- Float64 fpNShape;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser
index 4d5f878..ea6a47e 100755
--- a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.pbxuser
@@ -49,19 +49,39 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547787625;
- PBXWorkspaceStateSaveDate = 547787625;
+ PBXPerProjectTemplateStateSaveDate = 569602677;
+ PBXWorkspaceStateSaveDate = 569602677;
};
perUserProjectItems = {
+ 8B792BCC21F372B8006E9731 /* PBXTextBookmark */ = 8B792BCC21F372B8006E9731 /* PBXTextBookmark */;
+ 8B792BD121F372CE006E9731 /* PBXTextBookmark */ = 8B792BD121F372CE006E9731 /* PBXTextBookmark */;
8B7E3EE120A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE120A720D100482CB5 /* PBXTextBookmark */;
8B7E3EE220A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE220A720D100482CB5 /* PBXTextBookmark */;
- 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */;
- 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */ = 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792BCC21F372B8006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Energy.h */;
+ name = "Energy.h: 229";
+ rLen = 0;
+ rLoc = 7165;
+ rType = 0;
+ vrLen = 64;
+ vrLoc = 7106;
+ };
+ 8B792BD121F372CE006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Energy.h */;
+ name = "Energy.h: 229";
+ rLen = 0;
+ rLoc = 7165;
+ rType = 0;
+ vrLen = 64;
+ vrLoc = 7106;
+ };
8B7E3EE120A720D100482CB5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Energy.cpp */;
@@ -82,32 +102,12 @@
vrLen = 265;
vrLoc = 3189;
};
- 8B7E3EE320A720D100482CB5 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Energy.h */;
- name = "Energy.h: 229";
- rLen = 0;
- rLoc = 7161;
- rType = 0;
- vrLen = 63;
- vrLoc = 7106;
- };
- 8B7E3EE420A720D100482CB5 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Energy.h */;
- name = "Energy.h: 229";
- rLen = 0;
- rLoc = 7161;
- rType = 0;
- vrLen = 63;
- vrLoc = 7106;
- };
8BA05A660720730100365D66 /* Energy.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {740, 10985}}";
- sepNavSelRange = "{13885, 8875}";
- sepNavVisRange = "{22057, 1537}";
- sepNavWindowFrame = "{{653, 65}, {787, 813}}";
+ sepNavIntBoundsRect = "{{0, 0}, {740, 10309}}";
+ sepNavSelRange = "{23013, 0}";
+ sepNavVisRange = "{21843, 1256}";
+ sepNavWindowFrame = "{{504, 65}, {787, 813}}";
};
};
8BA05A670720730100365D66 /* Energy.exp */ = {
@@ -128,10 +128,10 @@
};
8BC6025B073B072D006C4272 /* Energy.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3263}}";
- sepNavSelRange = "{7161, 0}";
- sepNavVisRange = "{7106, 63}";
- sepNavWindowFrame = "{{796, 53}, {863, 813}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3211}}";
+ sepNavSelRange = "{7165, 0}";
+ sepNavVisRange = "{7106, 64}";
+ sepNavWindowFrame = "{{577, 53}, {863, 813}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3
index b8eeb52..951b9b4 100755
--- a/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Energy/Energy.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>618 342 810 487 0 0 1440 878 </string>
+ <string>475 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,12 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B7E3EE420A720D100482CB5</string>
+ <string>8B792BD121F372CE006E9731</string>
<key>history</key>
<array>
<string>8B7E3EE120A720D100482CB5</string>
<string>8B7E3EE220A720D100482CB5</string>
- <string>8B7E3EE320A720D100482CB5</string>
+ <string>8B792BCC21F372B8006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 102}}</string>
<key>RubberWindowFrame</key>
- <string>618 342 810 487 0 0 1440 878 </string>
+ <string>475 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>102pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>339pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>618 342 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>475 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B7E3EE520A720D100482CB5</string>
+ <string>8B792BD221F372CE006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B7E3EE620A720D100482CB5</string>
+ <string>8B792BD321F372CE006E9731</string>
<string>8B7E3C2F20A5148000482CB5</string>
- <string>8B7E3EE720A720D100482CB5</string>
+ <string>8B792BD421F372CE006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547823825.49813604</real>
+ <real>569602766.40819299</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -657,7 +655,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Energy/Energy.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>618 342 810 487 0 0 1440 878 </string>
+ <string>475 322 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Ensemble/Ensemble.cpp b/plugins/MacAU/Ensemble/Ensemble.cpp
index dec69cb..cdb1f4c 100755
--- a/plugins/MacAU/Ensemble/Ensemble.cpp
+++ b/plugins/MacAU/Ensemble/Ensemble.cpp
@@ -190,8 +190,7 @@ void Ensemble::EnsembleKernel::Reset()
airEven = 0.0;
airOdd = 0.0;
airFactor = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -229,11 +228,6 @@ void Ensemble::EnsembleKernel::Process( const Float32 *inSourceP,
int count;
int ensemble;
Float64 temp;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
long double inputSample;
Float64 drySample;
//now we'll precalculate some stuff that needn't be in every sample
@@ -308,20 +302,13 @@ void Ensemble::EnsembleKernel::Process( const Float32 *inSourceP,
if (wet !=1.0) {
inputSample = (inputSample * wet) + (drySample * dry);
}
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
destP += inNumChannels;
diff --git a/plugins/MacAU/Ensemble/Ensemble.h b/plugins/MacAU/Ensemble/Ensemble.h
index 356e30e..af1c3aa 100755
--- a/plugins/MacAU/Ensemble/Ensemble.h
+++ b/plugins/MacAU/Ensemble/Ensemble.h
@@ -143,9 +143,8 @@ public:
Float64 airEven;
Float64 airOdd;
Float64 airFactor;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
+ bool fpFlip;
};
};
diff --git a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser
index c4a1875..2fdaf52 100755
--- a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 529850403;
- PBXWorkspaceStateSaveDate = 529850403;
+ PBXPerProjectTemplateStateSaveDate = 569602943;
+ PBXWorkspaceStateSaveDate = 569602943;
};
perUserProjectItems = {
- 8B4C96551F94E0EC00064452 /* PBXTextBookmark */ = 8B4C96551F94E0EC00064452 /* PBXTextBookmark */;
- 8B4C96561F94E0EC00064452 /* PBXTextBookmark */ = 8B4C96561F94E0EC00064452 /* PBXTextBookmark */;
+ 8B792BE321F373ED006E9731 /* PBXTextBookmark */ = 8B792BE321F373ED006E9731 /* PBXTextBookmark */;
+ 8B792BE821F37401006E9731 /* PBXTextBookmark */ = 8B792BE821F37401006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4C96551F94E0EC00064452 /* PBXTextBookmark */ = {
+ 8B792BE321F373ED006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Ensemble.cpp */;
- name = "Ensemble.cpp: 278";
+ name = "Ensemble.cpp: 272";
rLen = 0;
- rLoc = 12211;
+ rLoc = 12071;
rType = 0;
- vrLen = 310;
- vrLoc = 7547;
+ vrLen = 162;
+ vrLoc = 7695;
};
- 8B4C96561F94E0EC00064452 /* PBXTextBookmark */ = {
+ 8B792BE821F37401006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Ensemble.cpp */;
- name = "Ensemble.cpp: 278";
+ name = "Ensemble.cpp: 272";
rLen = 0;
- rLoc = 12211;
+ rLoc = 12071;
rType = 0;
- vrLen = 310;
- vrLoc = 7547;
+ vrLen = 162;
+ vrLoc = 7695;
};
8BA05A660720730100365D66 /* Ensemble.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {677, 4303}}";
- sepNavSelRange = "{12211, 0}";
- sepNavVisRange = "{7547, 310}";
- sepNavWindowFrame = "{{770, 63}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 4277}}";
+ sepNavSelRange = "{12071, 0}";
+ sepNavVisRange = "{7695, 162}";
+ sepNavWindowFrame = "{{179, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* Ensemble.exp */ = {
@@ -107,9 +107,9 @@
8BC6025B073B072D006C4272 /* Ensemble.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {980, 2015}}";
- sepNavSelRange = "{5506, 0}";
- sepNavVisRange = "{1439, 2148}";
- sepNavWindowFrame = "{{659, 41}, {1027, 835}}";
+ sepNavSelRange = "{5659, 0}";
+ sepNavVisRange = "{4251, 1512}";
+ sepNavWindowFrame = "{{238, 39}, {1027, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3
index 90acbb9..91e64e9 100755
--- a/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Ensemble/Ensemble.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>618 373 810 487 0 0 1440 878 </string>
+ <string>501 374 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4C96561F94E0EC00064452</string>
+ <string>8B792BE821F37401006E9731</string>
<key>history</key>
<array>
- <string>8B4C96551F94E0EC00064452</string>
+ <string>8B792BE321F373ED006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {603, 69}}</string>
<key>RubberWindowFrame</key>
- <string>618 373 810 487 0 0 1440 878 </string>
+ <string>501 374 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>69pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>372pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>618 373 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 345}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 345}}</string>
+ <key>RubberWindowFrame</key>
+ <string>501 374 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4C96571F94E0EC00064452</string>
+ <string>8B792BE921F37401006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4C96581F94E0EC00064452</string>
+ <string>8B792BEA21F37401006E9731</string>
<string>8B7FDBCE1F85C8E400A80060</string>
- <string>8B4C96591F94E0EC00064452</string>
+ <string>8B792BEB21F37401006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>529850604.37639201</real>
+ <real>569603073.27928698</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4C965A1F94E0EC00064452</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Ensemble/Ensemble.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>618 373 810 487 0 0 1440 878 </string>
+ <string>501 374 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/EveryTrim/EveryTrim.cpp b/plugins/MacAU/EveryTrim/EveryTrim.cpp
index 94f854e..550a23a 100755
--- a/plugins/MacAU/EveryTrim/EveryTrim.cpp
+++ b/plugins/MacAU/EveryTrim/EveryTrim.cpp
@@ -203,11 +203,8 @@ ComponentResult EveryTrim::Initialize()
// this is called the reset the DSP state (clear buffers, reset counters, etc.)
ComponentResult EveryTrim::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeLA = 0.0;
- fpNShapeLB = 0.0;
- fpNShapeRA = 0.0;
- fpNShapeRB = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -226,11 +223,7 @@ OSStatus EveryTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+
long double inputSampleL;
long double inputSampleR;
long double mid;
@@ -296,25 +289,14 @@ OSStatus EveryTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
inputSampleR = (mid-side) * rightgain;
//contains mastergain and the gain trim fixing the mid/side
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSampleL;
- fpNShapeLA = (fpNShapeLA*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeLA;
- fpTemp = inputSampleR;
- fpNShapeRA = (fpNShapeRA*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeRA;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeLB = (fpNShapeLB*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeLB;
- fpTemp = inputSampleR;
- fpNShapeRB = (fpNShapeRB*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeRB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/EveryTrim/EveryTrim.h b/plugins/MacAU/EveryTrim/EveryTrim.h
index dfb8b69..58ffc72 100755
--- a/plugins/MacAU/EveryTrim/EveryTrim.h
+++ b/plugins/MacAU/EveryTrim/EveryTrim.h
@@ -121,12 +121,8 @@ public:
virtual ComponentResult Version() { return kEveryTrimVersion; }
private:
- long double fpNShapeLA;
- long double fpNShapeLB;
- long double fpNShapeRA;
- long double fpNShapeRB;
- bool fpFlip;
- //default stuff
+ long double fpNShapeL;
+ long double fpNShapeR;
};
diff --git a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser
index 9bc4e8a..bd0016f 100755
--- a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.pbxuser
@@ -49,32 +49,42 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557257719;
- PBXWorkspaceStateSaveDate = 557257719;
+ PBXPerProjectTemplateStateSaveDate = 569644212;
+ PBXWorkspaceStateSaveDate = 569644212;
};
perUserProjectItems = {
- 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */ = 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */;
- 8BFDAF84213714150079F90D /* PBXTextBookmark */ = 8BFDAF84213714150079F90D /* PBXTextBookmark */;
+ 8B792C1021F4152A006E9731 /* PBXTextBookmark */ = 8B792C1021F4152A006E9731 /* PBXTextBookmark */;
+ 8B792C1621F41559006E9731 /* PBXTextBookmark */ = 8B792C1621F41559006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B67C6D91FA1721B008C64D6 /* PBXTextBookmark */ = {
+ 8B792C1021F4152A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */;
- name = "EveryTrim.cpp: 208";
+ name = "EveryTrim.cpp: 207";
rLen = 0;
- rLoc = 9439;
+ rLoc = 9418;
rType = 0;
- vrLen = 105;
- vrLoc = 29;
+ vrLen = 69;
+ vrLoc = 65;
+ };
+ 8B792C1621F41559006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */;
+ name = "EveryTrim.cpp: 207";
+ rLen = 0;
+ rLoc = 9418;
+ rType = 0;
+ vrLen = 69;
+ vrLoc = 65;
};
8BA05A660720730100365D66 /* EveryTrim.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4407}}";
- sepNavSelRange = "{9439, 0}";
- sepNavVisRange = "{44, 90}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 4238}}";
+ sepNavSelRange = "{9418, 0}";
+ sepNavVisRange = "{65, 69}";
sepNavWindowFrame = "{{170, 67}, {1070, 811}}";
};
};
@@ -96,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* EveryTrim.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1023, 1768}}";
- sepNavSelRange = "{5173, 131}";
- sepNavVisRange = "{3570, 1835}";
+ sepNavIntBoundsRect = "{{0, 0}, {1023, 1716}}";
+ sepNavSelRange = "{5221, 0}";
+ sepNavVisRange = "{3522, 1806}";
sepNavWindowFrame = "{{370, 67}, {1070, 811}}";
};
};
@@ -116,16 +126,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BFDAF84213714150079F90D /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* EveryTrim.cpp */;
- name = "EveryTrim.cpp: 208";
- rLen = 0;
- rLoc = 9439;
- rType = 0;
- vrLen = 90;
- vrLoc = 44;
- };
8D01CCC60486CAD60068D4B7 /* EveryTrim */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3
index 3937f74..afd4e1f 100755
--- a/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/EveryTrim/EveryTrim.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -325,7 +325,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>507 328 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +353,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BFDAF84213714150079F90D</string>
+ <string>8B792C1621F41559006E9731</string>
<key>history</key>
<array>
- <string>8B67C6D91FA1721B008C64D6</string>
+ <string>8B792C1021F4152A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {603, 69}}</string>
<key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>507 328 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>69pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>372pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 345}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 345}}</string>
+ <key>RubberWindowFrame</key>
+ <string>507 328 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BFDAF85213714150079F90D</string>
+ <string>8B792C1721F41559006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BFDAF86213714150079F90D</string>
+ <string>8B792C1821F41559006E9731</string>
<string>8B753E6F1E40231800347157</string>
- <string>8BFDAF87213714150079F90D</string>
+ <string>8B792C1921F41559006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557257749.03621697</real>
+ <real>569644377.55946004</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,10 +653,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792C1A21F41559006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/EveryTrim/EveryTrim.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>507 328 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/FathomFive/FathomFive.cpp b/plugins/MacAU/FathomFive/FathomFive.cpp
index dd2bd98..b2746ae 100755
--- a/plugins/MacAU/FathomFive/FathomFive.cpp
+++ b/plugins/MacAU/FathomFive/FathomFive.cpp
@@ -188,6 +188,7 @@ void FathomFive::FathomFiveKernel::Reset()
iirSampleB = 0.0;
iirSampleC = 0.0;
iirSampleD = 0.0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -274,6 +275,11 @@ void FathomFive::FathomFiveKernel::Process( const Float32 *inSourceP,
//to make it easier to understand for when these are open sourced.
//FathomFive is the original Airwindows deep bass booster algorithm:
//further ones work to rein in that DC offset issue.
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)outputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ outputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
sourceP += inNumChannels;
*destP = outputSample;
diff --git a/plugins/MacAU/FathomFive/FathomFive.h b/plugins/MacAU/FathomFive/FathomFive.h
index 8cc656c..4d0b2f1 100755
--- a/plugins/MacAU/FathomFive/FathomFive.h
+++ b/plugins/MacAU/FathomFive/FathomFive.h
@@ -140,6 +140,7 @@ public:
Float64 iirSampleB;
Float64 iirSampleC;
Float64 iirSampleD;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser
index 8f8248b..7d4e84c 100755
--- a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456153;
- PBXWorkspaceStateSaveDate = 528456153;
+ PBXPerProjectTemplateStateSaveDate = 569644406;
+ PBXWorkspaceStateSaveDate = 569644406;
};
perUserProjectItems = {
8B5E540B1D629899009FEF76 /* PBXTextBookmark */ = 8B5E540B1D629899009FEF76 /* PBXTextBookmark */;
- 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */ = 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */;
- 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */ = 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */;
+ 8B792C2821F416B3006E9731 /* PBXTextBookmark */ = 8B792C2821F416B3006E9731 /* PBXTextBookmark */;
+ 8B792C2D21F416C5006E9731 /* PBXTextBookmark */ = 8B792C2D21F416C5006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,32 +71,32 @@
vrLen = 177;
vrLoc = 3318;
};
- 8B9D64B81F7C86FC007AB60F /* PBXTextBookmark */ = {
+ 8B792C2821F416B3006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* FathomFive.h */;
name = "FathomFive.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 148;
- vrLoc = 4091;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B9D741B1F7F99FC007AB60F /* PBXTextBookmark */ = {
+ 8B792C2D21F416C5006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* FathomFive.h */;
name = "FathomFive.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 107;
- vrLoc = 4091;
+ vrLen = 0;
+ vrLoc = 0;
};
8BA05A660720730100365D66 /* FathomFive.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {964, 3926}}";
- sepNavSelRange = "{11859, 0}";
- sepNavVisRange = "{9798, 2175}";
- sepNavWindowFrame = "{{568, 49}, {872, 829}}";
+ sepNavIntBoundsRect = "{{0, 0}, {964, 3939}}";
+ sepNavSelRange = "{12693, 0}";
+ sepNavVisRange = "{10879, 1966}";
+ sepNavWindowFrame = "{{427, 49}, {872, 829}}";
};
};
8BA05A670720730100365D66 /* FathomFive.exp */ = {
@@ -116,9 +116,9 @@
};
8BC6025B073B072D006C4272 /* FathomFive.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {649, 1963}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 1976}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{4091, 107}";
+ sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{568, 49}, {872, 829}}";
};
};
diff --git a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3
index 1b9c6b6..16aca64 100755
--- a/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/FathomFive/FathomFive.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>506 355 810 487 0 0 1440 878 </string>
+ <string>457 343 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D741B1F7F99FC007AB60F</string>
+ <string>8B792C2D21F416C5006E9731</string>
<key>history</key>
<array>
<string>8B5E540B1D629899009FEF76</string>
- <string>8B9D64B81F7C86FC007AB60F</string>
+ <string>8B792C2821F416B3006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 51}}</string>
+ <string>{{0, 0}, {603, 32}}</string>
<key>RubberWindowFrame</key>
- <string>506 355 810 487 0 0 1440 878 </string>
+ <string>457 343 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>51pt</string>
+ <string>32pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>390pt</string>
+ <string>409pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 363}}</string>
- <key>RubberWindowFrame</key>
- <string>506 355 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 382}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
+ <string>{{10, 27}, {603, 382}}</string>
+ <key>RubberWindowFrame</key>
+ <string>457 343 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D741C1F7F99FC007AB60F</string>
+ <string>8B792C2E21F416C5006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D741D1F7F99FC007AB60F</string>
+ <string>8B792C2F21F416C5006E9731</string>
<string>8B5E54091D629899009FEF76</string>
- <string>8B9D741E1F7F99FC007AB60F</string>
+ <string>8B792C3021F416C5006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456188.63718599</real>
+ <real>569644741.719468</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D741F1F7F99FC007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/FathomFive/FathomFive.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>506 355 810 487 0 0 1440 878 </string>
+ <string>457 343 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Floor/Floor.cpp b/plugins/MacAU/Floor/Floor.cpp
index db0dbe5..fefa12e 100755
--- a/plugins/MacAU/Floor/Floor.cpp
+++ b/plugins/MacAU/Floor/Floor.cpp
@@ -346,23 +346,15 @@ void Floor::FloorKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample*wet);
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser
index c955700..6a349bf 100755
--- a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.pbxuser
@@ -49,34 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561685575;
- PBXWorkspaceStateSaveDate = 561685575;
+ PBXPerProjectTemplateStateSaveDate = 569644795;
+ PBXWorkspaceStateSaveDate = 569644795;
};
perUserProjectItems = {
- 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */ = 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */;
+ 8B792C3E21F4179E006E9731 /* PBXTextBookmark */ = 8B792C3E21F4179E006E9731 /* PBXTextBookmark */;
+ 8B792C4321F4194B006E9731 /* PBXTextBookmark */ = 8B792C4321F4194B006E9731 /* PBXTextBookmark */;
8BE625F22157B1F000E4E476 /* PBXTextBookmark */ = 8BE625F22157B1F000E4E476 /* PBXTextBookmark */;
- 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */ = 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B15DD2C217AA6B4007AD769 /* PBXTextBookmark */ = {
+ 8B792C3E21F4179E006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Floor.h */;
name = "Floor.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 63;
+ vrLen = 60;
+ vrLoc = 0;
+ };
+ 8B792C4321F4194B006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Floor.h */;
+ name = "Floor.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 60;
vrLoc = 0;
};
8BA05A660720730100365D66 /* Floor.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {843, 4901}}";
- sepNavSelRange = "{10441, 3168}";
- sepNavVisRange = "{10017, 1785}";
- sepNavWindowFrame = "{{550, 56}, {890, 810}}";
+ sepNavIntBoundsRect = "{{0, 0}, {843, 5096}}";
+ sepNavSelRange = "{13928, 0}";
+ sepNavVisRange = "{10975, 1602}";
+ sepNavWindowFrame = "{{413, 68}, {890, 810}}";
};
};
8BA05A670720730100365D66 /* Floor.exp */ = {
@@ -99,8 +109,8 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {740, 2015}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 63}";
- sepNavWindowFrame = "{{743, 68}, {890, 810}}";
+ sepNavVisRange = "{0, 60}";
+ sepNavWindowFrame = "{{550, 68}, {890, 810}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
@@ -127,16 +137,6 @@
vrLen = 133;
vrLoc = 0;
};
- 8BE6261E2157B2E800E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Floor.h */;
- name = "Floor.h: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 126;
- vrLoc = 0;
- };
8D01CCC60486CAD60068D4B7 /* Floor */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3
index 51cf855..d5526e2 100755
--- a/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Floor/Floor.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>745 315 810 487 0 0 1440 878 </string>
+ <string>517 310 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B15DD2C217AA6B4007AD769</string>
+ <string>8B792C4321F4194B006E9731</string>
<key>history</key>
<array>
<string>8BE625F22157B1F000E4E476</string>
- <string>8BE6261E2157B2E800E4E476</string>
+ <string>8B792C3E21F4179E006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 102}}</string>
<key>RubberWindowFrame</key>
- <string>745 315 810 487 0 0 1440 878 </string>
+ <string>517 310 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>102pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>339pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>745 315 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>517 310 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B15DD08217AA44C007AD769</string>
+ <string>8B792C4421F4194B006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B15DD09217AA44C007AD769</string>
+ <string>8B792C4521F4194B006E9731</string>
<string>8BE625F02157B1F000E4E476</string>
- <string>8B15DD0A217AA44C007AD769</string>
+ <string>8B792C4621F4194B006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561686196.25954103</real>
+ <real>569645387.98353899</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -656,7 +654,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Floor/Floor.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>745 315 810 487 0 0 1440 878 </string>
+ <string>517 310 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Fracture/Fracture.cpp b/plugins/MacAU/Fracture/Fracture.cpp
index f6a7186..4818270 100755
--- a/plugins/MacAU/Fracture/Fracture.cpp
+++ b/plugins/MacAU/Fracture/Fracture.cpp
@@ -182,9 +182,7 @@ ComponentResult Fracture::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Fracture::FractureKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -211,11 +209,7 @@ void Fracture::FractureKernel::Process( const Float32 *inSourceP,
Float64 wet = GetParameter( kParam_Four );
Float64 dry = 1.0-wet;
Float64 bridgerectifier;
- density = density * fabs(density);
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
+ density = density * fabs(density);
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -261,19 +255,11 @@ void Fracture::FractureKernel::Process( const Float32 *inSourceP,
inputSample = (drySample * dry)+(inputSample*wet);
//that simple.
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Fracture/Fracture.exp b/plugins/MacAU/Fracture/Fracture.exp
index b485428..9eb17a5 100755
--- a/plugins/MacAU/Fracture/Fracture.exp
+++ b/plugins/MacAU/Fracture/Fracture.exp
@@ -1 +1 @@
-_FractureEntry \ No newline at end of file
+_FractureEntry
diff --git a/plugins/MacAU/Fracture/Fracture.h b/plugins/MacAU/Fracture/Fracture.h
index aa9a6f5..1dccb92 100755
--- a/plugins/MacAU/Fracture/Fracture.h
+++ b/plugins/MacAU/Fracture/Fracture.h
@@ -134,9 +134,7 @@ public:
virtual void Reset();
private:
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser
index 9e2cdb2..4efb520 100755
--- a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.pbxuser
@@ -49,19 +49,51 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456201;
- PBXWorkspaceStateSaveDate = 528456201;
+ PBXPerProjectTemplateStateSaveDate = 569645423;
+ PBXWorkspaceStateSaveDate = 569645423;
+ };
+ perUserProjectItems = {
+ 8B792C5521F41A58006E9731 /* PBXTextBookmark */ = 8B792C5521F41A58006E9731 /* PBXTextBookmark */;
+ 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */ = 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792C5521F41A58006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Fracture.cpp */;
+ name = "Fracture.cpp: 248";
+ rLen = 0;
+ rLoc = 11543;
+ rType = 0;
+ vrLen = 312;
+ vrLoc = 11562;
+ };
+ 8B792C5B21F41AB6006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Fracture.cpp */;
+ name = "Fracture.cpp: 248";
+ rLen = 0;
+ rLoc = 11543;
+ rType = 0;
+ vrLen = 312;
+ vrLoc = 11562;
+ };
8BA05A660720730100365D66 /* Fracture.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {964, 3913}}";
- sepNavSelRange = "{11687, 0}";
- sepNavVisRange = "{9717, 2345}";
- sepNavWindowFrame = "{{517, 41}, {923, 837}}";
+ sepNavIntBoundsRect = "{{0, 0}, {621, 3718}}";
+ sepNavSelRange = "{11543, 0}";
+ sepNavVisRange = "{11562, 312}";
+ sepNavWindowFrame = "{{365, 41}, {923, 837}}";
+ };
+ };
+ 8BA05A670720730100365D66 /* Fracture.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{15, 0}";
+ sepNavVisRange = "{0, 15}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
};
};
8BA05A690720730100365D66 /* FractureVersion.h */ = {
@@ -74,9 +106,9 @@
};
8BC6025B073B072D006C4272 /* Fracture.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {922, 1846}}";
- sepNavSelRange = "{5434, 0}";
- sepNavVisRange = "{3891, 1652}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 1859}}";
+ sepNavSelRange = "{5401, 0}";
+ sepNavVisRange = "{3843, 1667}";
sepNavWindowFrame = "{{517, 39}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3
index 46cfa67..a5f791e 100755
--- a/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Fracture/Fracture.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>362 267 810 487 0 0 1440 878 </string>
+ <string>431 299 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B9CE5211DFF96EB00A5DC6F</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>Fracture.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,7 +348,15 @@
<key>PBXProjectModuleGUID</key>
<string>8B9CE5221DFF96EB00A5DC6F</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>Fracture.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B792C5B21F41AB6006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B792C5521F41A58006E9731</string>
+ </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -361,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 0}}</string>
+ <string>{{0, 0}, {603, 132}}</string>
<key>RubberWindowFrame</key>
- <string>362 267 810 487 0 0 1440 878 </string>
+ <string>431 299 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>132pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>441pt</string>
+ <string>309pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -386,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>362 267 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 282}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 282}}</string>
+ <key>RubberWindowFrame</key>
+ <string>431 299 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D742C1F7F9A57007AB60F</string>
+ <string>8B792C5C21F41AB6006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D742D1F7F9A57007AB60F</string>
+ <string>8B792C5D21F41AB6006E9731</string>
<string>8B9CE5211DFF96EB00A5DC6F</string>
- <string>8B9D742E1F7F9A57007AB60F</string>
+ <string>8B792C5E21F41AB6006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456279.90402597</real>
+ <real>569645750.04603803</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D742F1F7F9A57007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Fracture/Fracture.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>362 267 810 487 0 0 1440 878 </string>
+ <string>431 299 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/FromTape/FromTape.cpp b/plugins/MacAU/FromTape/FromTape.cpp
index 4a305e9..30fe41a 100755
--- a/plugins/MacAU/FromTape/FromTape.cpp
+++ b/plugins/MacAU/FromTape/FromTape.cpp
@@ -221,9 +221,7 @@ void FromTape::FromTapeKernel::Reset()
iirSampleZ = 0.0;
flip = 0;
//noisesource = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -259,9 +257,6 @@ void FromTape::FromTapeKernel::Process( const Float32 *inSourceP,
long double inputSample;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -378,19 +373,11 @@ void FromTape::FromTapeKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/FromTape/FromTape.h b/plugins/MacAU/FromTape/FromTape.h
index f79862f..e9156d5 100755
--- a/plugins/MacAU/FromTape/FromTape.h
+++ b/plugins/MacAU/FromTape/FromTape.h
@@ -169,9 +169,7 @@ public:
Float64 iirSampleZ;
int flip;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser
index a9b7fe9..3594710 100755
--- a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.pbxuser
@@ -49,27 +49,28 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456291;
- PBXWorkspaceStateSaveDate = 528456291;
+ PBXPerProjectTemplateStateSaveDate = 569646762;
+ PBXWorkspaceStateSaveDate = 569646762;
};
perUserProjectItems = {
- 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */ = 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */;
+ 8B792C7021F41F11006E9731 /* PlistBookmark */ = 8B792C7021F41F11006E9731 /* PlistBookmark */;
8B8845F81F20429900E13453 /* PlistBookmark */ = 8B8845F81F20429900E13453 /* PlistBookmark */;
- 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */ = 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B2B77731F6D6F8D00A2CD5B /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* FromTape.h */;
- name = "FromTape.h: 172";
- rLen = 65;
- rLoc = 6216;
- rType = 0;
- vrLen = 40;
- vrLoc = 6241;
+ 8B792C7021F41F11006E9731 /* PlistBookmark */ = {
+ isa = PlistBookmark;
+ fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
+ fallbackIsa = PBXBookmark;
+ isK = 0;
+ kPath = (
+ CFBundleName,
+ );
+ name = /Users/christopherjohnson/Desktop/MacAU/FromTape/Info.plist;
+ rLen = 0;
+ rLoc = 9223372036854775807;
};
8B8845F81F20429900E13453 /* PlistBookmark */ = {
isa = PlistBookmark;
@@ -83,22 +84,12 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D743A1F7F9A77007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* FromTape.h */;
- name = "FromTape.h: 172";
- rLen = 65;
- rLoc = 6216;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
8BA05A660720730100365D66 /* FromTape.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {663, 5291}}";
- sepNavSelRange = "{17764, 148}";
- sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{410, 39}, {1005, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 4849}}";
+ sepNavSelRange = "{18025, 0}";
+ sepNavVisRange = "{16126, 1987}";
+ sepNavWindowFrame = "{{208, 39}, {1005, 839}}";
};
};
8BA05A690720730100365D66 /* FromTapeVersion.h */ = {
@@ -111,8 +102,8 @@
};
8BC6025B073B072D006C4272 /* FromTape.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {482, 2418}}";
- sepNavSelRange = "{6216, 65}";
+ sepNavIntBoundsRect = "{{0, 0}, {482, 2392}}";
+ sepNavSelRange = "{6238, 0}";
sepNavVisRange = "{0, 0}";
sepNavWindowFrame = "{{238, 39}, {1005, 839}}";
};
diff --git a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3
index 9ea14ce..dbd983d 100755
--- a/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/FromTape/FromTape.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>FromTape.h</string>
+ <string>Info.plist</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,15 +347,14 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>FromTape.h</string>
+ <string>Info.plist</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D743A1F7F9A77007AB60F</string>
+ <string>8B792C7021F41F11006E9731</string>
<key>history</key>
<array>
<string>8B8845F81F20429900E13453</string>
- <string>8B2B77731F6D6F8D00A2CD5B</string>
</array>
</dict>
<key>SplitCount</key>
@@ -397,8 +394,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {531, 581}}</string>
- <key>RubberWindowFrame</key>
- <string>187 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 525}}</string>
+ <string>{{10, 27}, {531, 581}}</string>
+ <key>RubberWindowFrame</key>
+ <string>187 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D743B1F7F9A77007AB60F</string>
+ <string>8B792C7121F41F11006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D743C1F7F9A77007AB60F</string>
+ <string>8B792C7221F41F11006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D743D1F7F9A77007AB60F</string>
+ <string>8B792C7321F41F11006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456311.18495703</real>
+ <real>569646865.43937504</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +671,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D743E1F7F9A77007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/FromTape/FromTape.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/Gatelinked/Gatelinked.cpp b/plugins/MacAU/Gatelinked/Gatelinked.cpp
index 9c0c484..641b64d 100755
--- a/plugins/MacAU/Gatelinked/Gatelinked.cpp
+++ b/plugins/MacAU/Gatelinked/Gatelinked.cpp
@@ -310,7 +310,7 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
if (highestSample > threshold)
{
treblefreq += attackSpeed;
- if (treblefreq > 1.0) treblefreq = 1.0;
+ if (treblefreq > 2.0) treblefreq = 2.0;
bassfreq -= attackSpeed;
bassfreq -= attackSpeed;
if (bassfreq < 0.0) bassfreq = 0.0;
@@ -337,6 +337,8 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
iirLowpassAR = (iirLowpassAR * (1.0 - treblefreq)) + (inputSampleR * treblefreq);
}
+ if (bassfreq > 1.0) bassfreq = 1.0;
+
if (bassfreq > 0.0) {
iirHighpassAL = (iirHighpassAL * (1.0 - bassfreq)) + (inputSampleL * bassfreq);
iirHighpassAR = (iirHighpassAR * (1.0 - bassfreq)) + (inputSampleR * bassfreq);
@@ -358,7 +360,7 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
if (highestSample > threshold)
{
treblefreq += attackSpeed;
- if (treblefreq > 1.0) treblefreq = 1.0;
+ if (treblefreq > 2.0) treblefreq = 2.0;
bassfreq -= attackSpeed;
bassfreq -= attackSpeed;
if (bassfreq < 0.0) bassfreq = 0.0;
@@ -385,6 +387,8 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
iirLowpassBR = (iirLowpassBR * (1.0 - treblefreq)) + (inputSampleR * treblefreq);
}
+ if (bassfreq > 1.0) bassfreq = 1.0;
+
if (bassfreq > 0.0) {
iirHighpassBL = (iirHighpassBL * (1.0 - bassfreq)) + (inputSampleL * bassfreq);
iirHighpassBR = (iirHighpassBR * (1.0 - bassfreq)) + (inputSampleR * bassfreq);
@@ -408,18 +412,14 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
flip = !flip;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSampleL;
- fpNShapeL += (inputSampleL-fpTemp);
- inputSampleL += fpNShapeL;
- //if this confuses you look at the wordlength for fpTemp :)
- fpTemp = inputSampleR;
- fpNShapeR += (inputSampleR-fpTemp);
- inputSampleR += fpNShapeR;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
@@ -430,12 +430,6 @@ OSStatus Gatelinked::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFl
outputL += 1;
outputR += 1;
}
- fpNShapeL *= 0.999999;
- fpNShapeR *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
return noErr;
}
diff --git a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser
index 21b7e89..9dd8e83 100755
--- a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 565400646;
- PBXWorkspaceStateSaveDate = 565400646;
+ PBXPerProjectTemplateStateSaveDate = 569646892;
+ PBXWorkspaceStateSaveDate = 569646892;
};
perUserProjectItems = {
8B0209B221B3258000952287 /* PBXTextBookmark */ = 8B0209B221B3258000952287 /* PBXTextBookmark */;
- 8B0209B421B3258000952287 /* PBXTextBookmark */ = 8B0209B421B3258000952287 /* PBXTextBookmark */;
- 8B020A3621B354DE00952287 /* PBXTextBookmark */ = 8B020A3621B354DE00952287 /* PBXTextBookmark */;
+ 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */ = 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */;
+ 8B792C8121F41F65006E9731 /* PBXTextBookmark */ = 8B792C8121F41F65006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,39 +71,39 @@
vrLen = 140;
vrLoc = 5351;
};
- 8B0209B421B3258000952287 /* PBXTextBookmark */ = {
+ 8B416D4621B5FDC600DD5013 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* GatelinkedVersion.h */;
name = "GatelinkedVersion.h: 54";
rLen = 0;
rLoc = 2902;
rType = 0;
- vrLen = 139;
+ vrLen = 130;
vrLoc = 2826;
};
- 8B020A3621B354DE00952287 /* PBXTextBookmark */ = {
+ 8B792C8121F41F65006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* GatelinkedVersion.h */;
name = "GatelinkedVersion.h: 54";
rLen = 0;
rLoc = 2902;
rType = 0;
- vrLen = 131;
+ vrLen = 130;
vrLoc = 2826;
};
8BA05A660720730100365D66 /* Gatelinked.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1105, 6136}}";
- sepNavSelRange = "{15096, 0}";
- sepNavVisRange = "{14897, 1807}";
+ sepNavIntBoundsRect = "{{0, 0}, {1105, 6071}}";
+ sepNavSelRange = "{16752, 0}";
+ sepNavVisRange = "{15147, 1623}";
sepNavWindowFrame = "{{177, 58}, {1152, 820}}";
};
};
8BA05A690720730100365D66 /* GatelinkedVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {761, 936}}";
+ sepNavIntBoundsRect = "{{0, 0}, {456, 871}}";
sepNavSelRange = "{2902, 0}";
- sepNavVisRange = "{2826, 131}";
+ sepNavVisRange = "{2826, 130}";
sepNavWindowFrame = "{{15, 43}, {705, 830}}";
};
};
@@ -118,7 +118,7 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
sepNavSelRange = "{5276, 0}";
- sepNavVisRange = "{2524, 1545}";
+ sepNavVisRange = "{3729, 1930}";
sepNavWindowFrame = "{{735, 48}, {705, 830}}";
};
};
diff --git a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3
index caae9ee..acd4314 100755
--- a/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Gatelinked/Gatelinked.xcodeproj/christopherjohnson.perspectivev3
@@ -324,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>622 458 815 376 0 0 1440 878 </string>
+ <string>491 452 815 376 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B020A3621B354DE00952287</string>
+ <string>8B792C8121F41F65006E9731</string>
<key>history</key>
<array>
<string>8B0209B221B3258000952287</string>
- <string>8B0209B421B3258000952287</string>
+ <string>8B416D4621B5FDC600DD5013</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {505, 84}}</string>
+ <string>{{0, 0}, {505, 51}}</string>
<key>RubberWindowFrame</key>
- <string>622 458 815 376 0 0 1440 878 </string>
+ <string>491 452 815 376 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>84pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>246pt</string>
+ <string>279pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {505, 219}}</string>
+ <string>{{10, 27}, {505, 252}}</string>
<key>RubberWindowFrame</key>
- <string>622 458 815 376 0 0 1440 878 </string>
+ <string>491 452 815 376 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +451,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {505, 303}}</string>
+ <string>{{10, 27}, {505, 235}}</string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B020A3721B354DE00952287</string>
+ <string>8B792C8221F41F65006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B020A3821B354DE00952287</string>
+ <string>8B792C8321F41F65006E9731</string>
<string>8BCAE2B921B0AD04005A3737</string>
- <string>8B020A3921B354DE00952287</string>
+ <string>8B792C8421F41F65006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>565400798.62677002</real>
+ <real>569646949.70571005</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B020A3A21B354DE00952287</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Gatelinked/Gatelinked.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>622 458 815 376 0 0 1440 878 </string>
+ <string>491 452 815 376 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Gatelope/Gatelope.cpp b/plugins/MacAU/Gatelope/Gatelope.cpp
index bde6522..3f6ed4e 100755
--- a/plugins/MacAU/Gatelope/Gatelope.cpp
+++ b/plugins/MacAU/Gatelope/Gatelope.cpp
@@ -334,23 +334,15 @@ void Gatelope::GatelopeKernel::Process( const Float32 *inSourceP,
flip = !flip;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser
index 7846c86..fdc4740 100755
--- a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.pbxuser
@@ -49,15 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 565571362;
- PBXWorkspaceStateSaveDate = 565571362;
+ PBXPerProjectTemplateStateSaveDate = 569646970;
+ PBXWorkspaceStateSaveDate = 569646970;
};
perUserProjectItems = {
8B0209A521B3215F00952287 /* PlistBookmark */ = 8B0209A521B3215F00952287 /* PlistBookmark */;
- 8B416D2421B5EF2500DD5013 /* PBXBookmark */ = 8B416D2421B5EF2500DD5013 /* PBXBookmark */;
- 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */ = 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */;
- 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */ = 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */;
- 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */ = 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */;
+ 8B792C9021F41F9A006E9731 /* PBXTextBookmark */ = 8B792C9021F41F9A006E9731 /* PBXTextBookmark */;
+ 8B792C9521F420BF006E9731 /* PBXTextBookmark */ = 8B792C9521F420BF006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -75,11 +73,7 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B416D2421B5EF2500DD5013 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* Gatelope.cpp */;
- };
- 8B416D2921B5FD1F00DD5013 /* PBXTextBookmark */ = {
+ 8B792C9021F41F9A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* GatelopeVersion.h */;
name = "GatelopeVersion.h: 54";
@@ -89,7 +83,7 @@
vrLen = 126;
vrLoc = 2816;
};
- 8B416D2E21B5FD3000DD5013 /* PBXTextBookmark */ = {
+ 8B792C9521F420BF006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* GatelopeVersion.h */;
name = "GatelopeVersion.h: 54";
@@ -99,22 +93,12 @@
vrLen = 126;
vrLoc = 2816;
};
- 8B416D3421B5FD3000DD5013 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Gatelope.cpp */;
- name = "Gatelope.cpp: 325";
- rLen = 0;
- rLoc = 13129;
- rType = 0;
- vrLen = 1897;
- vrLoc = 12493;
- };
8BA05A660720730100365D66 /* Gatelope.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1082, 5057}}";
- sepNavSelRange = "{13129, 0}";
- sepNavVisRange = "{12493, 1897}";
- sepNavWindowFrame = "{{15, 39}, {1129, 834}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1082, 4979}}";
+ sepNavSelRange = "{13893, 0}";
+ sepNavVisRange = "{12404, 1492}";
+ sepNavWindowFrame = "{{185, 44}, {1129, 834}}";
};
};
8BA05A670720730100365D66 /* Gatelope.exp */ = {
@@ -127,7 +111,7 @@
};
8BA05A690720730100365D66 /* GatelopeVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {456, 923}}";
+ sepNavIntBoundsRect = "{{0, 0}, {456, 871}}";
sepNavSelRange = "{2884, 4}";
sepNavVisRange = "{2816, 126}";
sepNavWindowFrame = "{{15, 43}, {705, 830}}";
diff --git a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3
index 1a46c04..7009de0 100755
--- a/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Gatelope/Gatelope.xcodeproj/christopherjohnson.perspectivev3
@@ -222,48 +222,7 @@
</dict>
</array>
<key>OpenEditors</key>
- <array>
- <dict>
- <key>Content</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8B416D3221B5FD3000DD5013</string>
- <key>PBXProjectModuleLabel</key>
- <string>Gatelope.cpp</string>
- <key>PBXSplitModuleInNavigatorKey</key>
- <dict>
- <key>Split0</key>
- <dict>
- <key>PBXProjectModuleGUID</key>
- <string>8B416D3321B5FD3000DD5013</string>
- <key>PBXProjectModuleLabel</key>
- <string>Gatelope.cpp</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>8B416D3421B5FD3000DD5013</string>
- <key>history</key>
- <array>
- <string>8B416D2421B5EF2500DD5013</string>
- </array>
- </dict>
- <key>SplitCount</key>
- <string>1</string>
- </dict>
- <key>StatusBarVisibility</key>
- <true/>
- </dict>
- <key>Geometry</key>
- <dict>
- <key>Frame</key>
- <string>{{0, 20}, {1129, 737}}</string>
- <key>PBXModuleWindowStatusBarHidden2</key>
- <false/>
- <key>RubberWindowFrame</key>
- <string>15 95 1129 778 0 0 1440 878 </string>
- </dict>
- </dict>
- </array>
+ <array/>
<key>PerspectiveWidths</key>
<array>
<integer>815</integer>
@@ -365,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>46 385 815 372 0 0 1440 878 </string>
+ <string>278 409 815 372 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -393,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B416D2E21B5FD3000DD5013</string>
+ <string>8B792C9521F420BF006E9731</string>
<key>history</key>
<array>
<string>8B0209A521B3215F00952287</string>
- <string>8B416D2921B5FD1F00DD5013</string>
+ <string>8B792C9021F41F9A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -411,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {505, 67}}</string>
+ <string>{{0, 0}, {505, 50}}</string>
<key>RubberWindowFrame</key>
- <string>46 385 815 372 0 0 1440 878 </string>
+ <string>278 409 815 372 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>67pt</string>
+ <string>50pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>259pt</string>
+ <string>276pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -436,7 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {505, 232}}</string>
+ <string>{{10, 27}, {505, 249}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -490,9 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {505, 232}}</string>
+ <string>{{10, 27}, {505, 249}}</string>
<key>RubberWindowFrame</key>
- <string>46 385 815 372 0 0 1440 878 </string>
+ <string>278 409 815 372 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -520,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B416D2F21B5FD3000DD5013</string>
+ <string>8B792C9621F420BF006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B416D3021B5FD3000DD5013</string>
+ <string>8B792C9721F420BF006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B416D3121B5FD3000DD5013</string>
+ <string>8B792C9821F420BF006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -697,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>565574960.58745801</real>
+ <real>569647295.48975003</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -714,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B416D3221B5FD3000DD5013</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Gatelope/Gatelope.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>46 385 815 372 0 0 1440 878 </string>
+ <string>278 409 815 372 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Golem/Golem.cpp b/plugins/MacAU/Golem/Golem.cpp
index 25ac011..e6f1566 100755
--- a/plugins/MacAU/Golem/Golem.cpp
+++ b/plugins/MacAU/Golem/Golem.cpp
@@ -210,11 +210,8 @@ ComponentResult Golem::Reset(AudioUnitScope inScope, AudioUnitElement inElement
{
for(count = 0; count < 4098; count++) {p[count] = 0.0;}
count = 0;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- flip = false;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -233,9 +230,6 @@ OSStatus Golem::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
int phase = (int) GetParameter( kParam_Three );
Float64 balance = GetParameter( kParam_One ) / 2.0;
Float64 gainL = 0.5 - balance;
@@ -333,32 +327,15 @@ OSStatus Golem::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
inputSampleR = inputSampleL;
//the output is totally mono
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- flip = !flip;
- //end noise shaping on 32 bit output
-
- *outputL = inputSampleL;
- *outputR = inputSampleR;
- //don't know why we're getting a volume boost, cursed thing
-
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
+
*outputL = inputSampleL;
*outputR = inputSampleR;
//We have pointers to increment- every actual value reference has to be to a *value
diff --git a/plugins/MacAU/Golem/Golem.h b/plugins/MacAU/Golem/Golem.h
index ecaeea5..d66b91f 100755
--- a/plugins/MacAU/Golem/Golem.h
+++ b/plugins/MacAU/Golem/Golem.h
@@ -132,11 +132,8 @@ public:
private:
Float64 p[4099];
int count;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
- bool flip;
+ long double fpNShapeL;
+ long double fpNShapeR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser
index 9e13ec7..91361ce 100755
--- a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.pbxuser
@@ -49,23 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546574392;
- PBXWorkspaceStateSaveDate = 546574392;
+ PBXPerProjectTemplateStateSaveDate = 569647319;
+ PBXWorkspaceStateSaveDate = 569647319;
};
perUserProjectItems = {
- 8BC5D0B6209410C50058B257 /* PBXTextBookmark */ = 8BC5D0B6209410C50058B257 /* PBXTextBookmark */;
- 8BC5D0B7209410C50058B257 /* PBXTextBookmark */ = 8BC5D0B7209410C50058B257 /* PBXTextBookmark */;
+ 8B792CA721F42166006E9731 /* PBXTextBookmark */ = 8B792CA721F42166006E9731 /* PBXTextBookmark */;
+ 8B792CAC21F42187006E9731 /* PBXTextBookmark */ = 8B792CAC21F42187006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792CA721F42166006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Golem.cpp */;
+ name = "Golem.cpp: 296";
+ rLen = 831;
+ rLoc = 12420;
+ rType = 0;
+ vrLen = 126;
+ vrLoc = 12547;
+ };
+ 8B792CAC21F42187006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Golem.cpp */;
+ name = "Golem.cpp: 296";
+ rLen = 831;
+ rLoc = 12420;
+ rType = 0;
+ vrLen = 126;
+ vrLoc = 12547;
+ };
8BA05A660720730100365D66 /* Golem.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4979}}";
- sepNavSelRange = "{12592, 831}";
- sepNavVisRange = "{12592, 178}";
- sepNavWindowFrame = "{{702, 65}, {714, 813}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 4680}}";
+ sepNavSelRange = "{12420, 831}";
+ sepNavVisRange = "{12547, 126}";
+ sepNavWindowFrame = "{{548, 65}, {714, 813}}";
};
};
8BA05A670720730100365D66 /* Golem.exp */ = {
@@ -84,32 +104,12 @@
sepNavWindowFrame = "{{601, -12}, {877, 831}}";
};
};
- 8BC5D0B6209410C50058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Golem.cpp */;
- name = "Golem.cpp: 302";
- rLen = 831;
- rLoc = 12592;
- rType = 0;
- vrLen = 178;
- vrLoc = 12592;
- };
- 8BC5D0B7209410C50058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Golem.cpp */;
- name = "Golem.cpp: 302";
- rLen = 831;
- rLoc = 12592;
- rType = 0;
- vrLen = 178;
- vrLoc = 12592;
- };
8BC6025B073B072D006C4272 /* Golem.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 1885}}";
- sepNavSelRange = "{5566, 30}";
- sepNavVisRange = "{1674, 2178}";
- sepNavWindowFrame = "{{655, 43}, {1021, 800}}";
+ sepNavIntBoundsRect = "{{0, 0}, {974, 1833}}";
+ sepNavSelRange = "{5596, 0}";
+ sepNavVisRange = "{4025, 1724}";
+ sepNavWindowFrame = "{{419, 43}, {1021, 800}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3
index c96e719..30ddbd9 100755
--- a/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Golem/Golem.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>619 304 810 487 0 0 1440 878 </string>
+ <string>478 304 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC5D0B7209410C50058B257</string>
+ <string>8B792CAC21F42187006E9731</string>
<key>history</key>
<array>
- <string>8BC5D0B6209410C50058B257</string>
+ <string>8B792CA721F42166006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 132}}</string>
+ <string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
- <string>619 304 810 487 0 0 1440 878 </string>
+ <string>478 304 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>132pt</string>
+ <string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>309pt</string>
+ <string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
- <key>RubberWindowFrame</key>
- <string>619 304 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 297}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
+ <key>RubberWindowFrame</key>
+ <string>478 304 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5D0B8209410C50058B257</string>
+ <string>8B792CAD21F42187006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5D0B9209410C50058B257</string>
+ <string>8B792CAE21F42187006E9731</string>
<string>8B8D6996207ABA9A0029B7B0</string>
- <string>8BC5D0BA209410C50058B257</string>
+ <string>8B792CAF21F42187006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546574533.255705</real>
+ <real>569647495.88627398</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BC5D0BB209410C50058B257</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Golem/Golem.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>619 304 810 487 0 0 1440 878 </string>
+ <string>478 304 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.cpp b/plugins/MacAU/GrooveWear/GrooveWear.cpp
index baf7ac4..62c9634 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.cpp
+++ b/plugins/MacAU/GrooveWear/GrooveWear.cpp
@@ -177,9 +177,7 @@ void GrooveWear::GrooveWearKernel::Reset()
bMidPrev = 0.0;
cMidPrev = 0.0;
dMidPrev = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -194,9 +192,6 @@ void GrooveWear::GrooveWearKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
Float64 overallscale = (pow(GetParameter( kParam_One ),2)*19.0)+1.0;
Float64 gain = overallscale;
@@ -449,19 +444,11 @@ void GrooveWear::GrooveWearKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * dWet) + (drySample * dDry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.h b/plugins/MacAU/GrooveWear/GrooveWear.h
index b9e7722..5f86da8 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.h
+++ b/plugins/MacAU/GrooveWear/GrooveWear.h
@@ -138,9 +138,7 @@ public:
Float64 cMidPrev;
Float64 dMidPrev;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser
index bdb3283..1980dfa 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538681963;
- PBXWorkspaceStateSaveDate = 538681963;
+ PBXPerProjectTemplateStateSaveDate = 569647523;
+ PBXWorkspaceStateSaveDate = 569647523;
};
perUserProjectItems = {
8B0E2BD7201B927800943268 /* PlistBookmark */ = 8B0E2BD7201B927800943268 /* PlistBookmark */;
8B0E2BD8201B927800943268 /* PBXTextBookmark */ = 8B0E2BD8201B927800943268 /* PBXTextBookmark */;
- 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */ = 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */;
- 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */ = 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */;
+ 8B181B43204CA16500516BEE /* PBXTextBookmark */ = 8B181B43204CA16500516BEE /* PBXTextBookmark */;
+ 8B792CBD21F42257006E9731 /* PBXTextBookmark */ = 8B792CBD21F42257006E9731 /* PBXTextBookmark */;
+ 8B792CC221F422B5006E9731 /* PBXTextBookmark */ = 8B792CC221F422B5006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -84,47 +85,57 @@
vrLen = 297;
vrLoc = 2667;
};
- 8B4E5400201BA1BA00B5DC2A /* PBXTextBookmark */ = {
+ 8B181B43204CA16500516BEE /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* GrooveWear.h */;
name = "GrooveWear.h: 135";
rLen = 0;
rLoc = 5282;
rType = 0;
- vrLen = 272;
- vrLoc = 2923;
+ vrLen = 217;
+ vrLoc = 2978;
};
- 8B4E5435201BA7FC00B5DC2A /* PBXTextBookmark */ = {
+ 8B792CBD21F42257006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* GrooveWear.h */;
- name = "GrooveWear.h: 135";
- rLen = 0;
- rLoc = 5282;
+ fRef = 8BA05A660720730100365D66 /* GrooveWear.cpp */;
+ name = "GrooveWear.cpp: 336";
+ rLen = 90;
+ rLoc = 15454;
+ rType = 0;
+ vrLen = 324;
+ vrLoc = 15544;
+ };
+ 8B792CC221F422B5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* GrooveWear.cpp */;
+ name = "GrooveWear.cpp: 336";
+ rLen = 90;
+ rLoc = 15454;
rType = 0;
- vrLen = 271;
- vrLoc = 2924;
+ vrLen = 324;
+ vrLoc = 15544;
};
8BA05A660720730100365D66 /* GrooveWear.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 6123}}";
- sepNavSelRange = "{15606, 90}";
- sepNavVisRange = "{13375, 2804}";
- sepNavWindowFrame = "{{532, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 6058}}";
+ sepNavSelRange = "{15454, 90}";
+ sepNavVisRange = "{15544, 324}";
+ sepNavWindowFrame = "{{413, 39}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* GrooveWearVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 767}}";
+ sepNavIntBoundsRect = "{{0, 0}, {848, 767}}";
sepNavSelRange = "{2897, 0}";
- sepNavVisRange = "{2667, 297}";
- sepNavWindowFrame = "{{15, 39}, {895, 839}}";
+ sepNavVisRange = "{50, 2915}";
+ sepNavWindowFrame = "{{593, 37}, {895, 839}}";
};
};
8BC6025B073B072D006C4272 /* GrooveWear.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {761, 2275}}";
- sepNavSelRange = "{5282, 0}";
- sepNavVisRange = "{2924, 271}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}";
+ sepNavSelRange = "{5410, 0}";
+ sepNavVisRange = "{4014, 1506}";
sepNavWindowFrame = "{{542, 39}, {895, 839}}";
};
};
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3
index a0182a0..3db790a 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -302,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>603 113 841 654 0 0 1440 878 </string>
+ <string>442 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>GrooveWear.h</string>
+ <string>GrooveWear.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,16 +348,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>GrooveWear.h</string>
+ <string>GrooveWear.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E5435201BA7FC00B5DC2A</string>
+ <string>8B792CC221F422B5006E9731</string>
<key>history</key>
<array>
<string>8B0E2BD7201B927800943268</string>
<string>8B0E2BD8201B927800943268</string>
- <string>8B4E5400201BA1BA00B5DC2A</string>
+ <string>8B181B43204CA16500516BEE</string>
+ <string>8B792CBD21F42257006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 142}}</string>
+ <string>{{0, 0}, {531, 109}}</string>
<key>RubberWindowFrame</key>
- <string>603 113 841 654 0 0 1440 878 </string>
+ <string>442 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>142pt</string>
+ <string>109pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>466pt</string>
+ <string>499pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 439}}</string>
- <key>RubberWindowFrame</key>
- <string>603 113 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 472}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
+ <string>{{10, 27}, {531, 472}}</string>
+ <key>RubberWindowFrame</key>
+ <string>442 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E540C201BA27000B5DC2A</string>
+ <string>8B792CC321F422B5006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E540D201BA27000B5DC2A</string>
+ <string>8B792CC421F422B5006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E540E201BA27000B5DC2A</string>
+ <string>8B792CC521F422B5006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538683388.29162097</real>
+ <real>569647797.66937697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +678,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/GrooveWear/GrooveWear.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>603 113 841 654 0 0 1440 878 </string>
+ <string>442 219 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj
index 06d3db0..06d3db0 100644..100755
--- a/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/GrooveWear/GrooveWear.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp b/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp
index 232fd21..d3d23e6 100755
--- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp
+++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.cpp
@@ -150,8 +150,7 @@ ComponentResult GuitarConditioner::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void GuitarConditioner::GuitarConditionerKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
lastSampleT = 0.0;
lastSampleB = 0.0; //for Slews. T for treble, B for bass
@@ -176,9 +175,6 @@ void GuitarConditioner::GuitarConditionerKernel::Process( const Float32 *inSou
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSample;
long double treble;
long double bass;
@@ -264,21 +260,14 @@ void GuitarConditioner::GuitarConditionerKernel::Process( const Float32 *inSou
lastSampleB = bass; //bass slew
inputSample = treble + bass; //final merge
+ fpFlip = !fpFlip;
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.h b/plugins/MacAU/GuitarConditioner/GuitarConditioner.h
index 834905f..4ad6669 100755
--- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.h
+++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.h
@@ -121,8 +121,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
Float64 lastSampleT;
Float64 lastSampleB; //for Slews
diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser
index 27ab557..34d863a 100755
--- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456379;
- PBXWorkspaceStateSaveDate = 528456379;
+ PBXPerProjectTemplateStateSaveDate = 569648041;
+ PBXWorkspaceStateSaveDate = 569648041;
};
perUserProjectItems = {
8B3BE93A1D667DD60098F86C /* PBXTextBookmark */ = 8B3BE93A1D667DD60098F86C /* PBXTextBookmark */;
8B3BE93B1D667DD60098F86C /* PBXTextBookmark */ = 8B3BE93B1D667DD60098F86C /* PBXTextBookmark */;
- 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */ = 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */;
- 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */ = 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */;
+ 8B792CD321F42407006E9731 /* PBXTextBookmark */ = 8B792CD321F42407006E9731 /* PBXTextBookmark */;
+ 8B792CD921F42423006E9731 /* PBXTextBookmark */ = 8B792CD921F42423006E9731 /* PBXTextBookmark */;
8BC032BB1D6667CB0039F36E /* PlistBookmark */ = 8BC032BB1D6667CB0039F36E /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
@@ -68,7 +68,7 @@
fRef = 8BC6025B073B072D006C4272 /* GuitarConditioner.h */;
name = "GuitarConditioner.h: 126";
rLen = 0;
- rLoc = 5114;
+ rLoc = 5088;
rType = 0;
vrLen = 474;
vrLoc = 4808;
@@ -83,32 +83,32 @@
vrLen = 405;
vrLoc = 2608;
};
- 8B9D64EE1F7C8859007AB60F /* PBXTextBookmark */ = {
+ 8B792CD321F42407006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* GuitarConditioner.cpp */;
- name = "GuitarConditioner.cpp: 281";
+ name = "GuitarConditioner.cpp: 274";
rLen = 0;
- rLoc = 11852;
+ rLoc = 11616;
rType = 0;
- vrLen = 523;
- vrLoc = 10536;
+ vrLen = 476;
+ vrLoc = 10604;
};
- 8B9D74491F7F9ACF007AB60F /* PBXTextBookmark */ = {
+ 8B792CD921F42423006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* GuitarConditioner.cpp */;
- name = "GuitarConditioner.cpp: 281";
+ name = "GuitarConditioner.cpp: 271";
rLen = 0;
- rLoc = 11852;
+ rLoc = 11616;
rType = 0;
- vrLen = 502;
- vrLoc = 10557;
+ vrLen = 485;
+ vrLoc = 10548;
};
8BA05A660720730100365D66 /* GuitarConditioner.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {733, 3913}}";
- sepNavSelRange = "{11852, 0}";
- sepNavVisRange = "{10557, 502}";
- sepNavWindowFrame = "{{639, 40}, {801, 838}}";
+ sepNavIntBoundsRect = "{{0, 0}, {733, 3744}}";
+ sepNavSelRange = "{11616, 0}";
+ sepNavVisRange = "{10548, 485}";
+ sepNavWindowFrame = "{{377, 40}, {801, 838}}";
};
};
8BA05A690720730100365D66 /* GuitarConditionerVersion.h */ = {
@@ -133,10 +133,10 @@
};
8BC6025B073B072D006C4272 /* GuitarConditioner.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
- sepNavSelRange = "{5115, 167}";
- sepNavVisRange = "{3840, 1555}";
- sepNavWindowFrame = "{{684, 40}, {801, 838}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1820}}";
+ sepNavSelRange = "{5073, 0}";
+ sepNavVisRange = "{3804, 1565}";
+ sepNavWindowFrame = "{{458, 40}, {801, 838}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3
index 9e238ca..1f67dae 100755
--- a/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>841</integer>
+ <integer>841</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>598 208 841 654 0 0 1440 878 </string>
+ <string>455 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,13 +351,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74491F7F9ACF007AB60F</string>
+ <string>8B792CD921F42423006E9731</string>
<key>history</key>
<array>
<string>8BC032BB1D6667CB0039F36E</string>
<string>8B3BE93A1D667DD60098F86C</string>
<string>8B3BE93B1D667DD60098F86C</string>
- <string>8B9D64EE1F7C8859007AB60F</string>
+ <string>8B792CD321F42407006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
- <string>598 208 841 654 0 0 1440 878 </string>
+ <string>455 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
- <key>RubberWindowFrame</key>
- <string>598 208 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 379}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
+ <key>RubberWindowFrame</key>
+ <string>455 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D744A1F7F9ACF007AB60F</string>
+ <string>8B792CDA21F42423006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D744B1F7F9ACF007AB60F</string>
+ <string>8B792CDB21F42423006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D744C1F7F9ACF007AB60F</string>
+ <string>8B792CDC21F42423006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456399.548949</real>
+ <real>569648163.99752402</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D744D1F7F9ACF007AB60F</string>
+ <string>8B792CDD21F42424006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/GuitarConditioner/GuitarConditioner.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>598 208 841 654 0 0 1440 878 </string>
+ <string>455 207 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/HardVacuum/HardVacuum.cpp b/plugins/MacAU/HardVacuum/HardVacuum.cpp
index 15bb5ec..d652431 100755
--- a/plugins/MacAU/HardVacuum/HardVacuum.cpp
+++ b/plugins/MacAU/HardVacuum/HardVacuum.cpp
@@ -191,9 +191,7 @@ ComponentResult HardVacuum::Initialize()
void HardVacuum::HardVacuumKernel::Reset()
{
lastSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -226,9 +224,6 @@ void HardVacuum::HardVacuumKernel::Process( const Float32 *inSourceP,
Float64 skew;
long double inputSample;
Float64 drySample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -319,19 +314,11 @@ void HardVacuum::HardVacuumKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/HardVacuum/HardVacuum.h b/plugins/MacAU/HardVacuum/HardVacuum.h
index ad9518d..b5b4116 100755
--- a/plugins/MacAU/HardVacuum/HardVacuum.h
+++ b/plugins/MacAU/HardVacuum/HardVacuum.h
@@ -139,9 +139,7 @@ public:
private:
Float64 lastSample;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser
index a26a4bf..35ae242 100755
--- a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541823423;
- PBXWorkspaceStateSaveDate = 541823423;
+ PBXPerProjectTemplateStateSaveDate = 569648475;
+ PBXWorkspaceStateSaveDate = 569648475;
};
perUserProjectItems = {
- 8B1819FB204B936300516BEE /* PBXTextBookmark */ = 8B1819FB204B936300516BEE /* PBXTextBookmark */;
- 8B181A0D204B961F00516BEE /* PBXTextBookmark */ = 8B181A0D204B961F00516BEE /* PBXTextBookmark */;
+ 8B792CEB21F425BC006E9731 /* PBXTextBookmark */ = 8B792CEB21F425BC006E9731 /* PBXTextBookmark */;
+ 8B792CF121F425DC006E9731 /* PBXTextBookmark */ = 8B792CF121F425DC006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B1819FB204B936300516BEE /* PBXTextBookmark */ = {
+ 8B792CEB21F425BC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* HardVacuum.h */;
name = "HardVacuum.h: 61";
rLen = 0;
rLoc = 3064;
rType = 0;
- vrLen = 334;
+ vrLen = 296;
vrLoc = 4037;
};
- 8B181A0D204B961F00516BEE /* PBXTextBookmark */ = {
+ 8B792CF121F425DC006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* HardVacuum.h */;
name = "HardVacuum.h: 61";
rLen = 0;
rLoc = 3064;
rType = 0;
- vrLen = 334;
+ vrLen = 296;
vrLoc = 4037;
};
8BA05A660720730100365D66 /* HardVacuum.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 4758}}";
- sepNavSelRange = "{13965, 0}";
- sepNavVisRange = "{12718, 1710}";
- sepNavWindowFrame = "{{639, 60}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 4303}}";
+ sepNavSelRange = "{10378, 0}";
+ sepNavVisRange = "{9068, 2247}";
+ sepNavWindowFrame = "{{157, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* HardVacuum.exp */ = {
@@ -106,10 +106,10 @@
};
8BC6025B073B072D006C4272 /* HardVacuum.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 2288}}";
+ sepNavIntBoundsRect = "{{0, 0}, {698, 1989}}";
sepNavSelRange = "{3064, 0}";
- sepNavVisRange = "{4037, 334}";
- sepNavWindowFrame = "{{798, 44}, {816, 832}}";
+ sepNavVisRange = "{4037, 296}";
+ sepNavWindowFrame = "{{624, 44}, {816, 832}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3
index ee4a326..447f391 100755
--- a/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/HardVacuum/HardVacuum.xcodeproj/christopherjohnson.perspectivev3
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>5</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>627 370 810 487 0 0 1440 878 </string>
+ <string>501 353 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +352,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B181A0D204B961F00516BEE</string>
+ <string>8B792CF121F425DC006E9731</string>
<key>history</key>
<array>
- <string>8B1819FB204B936300516BEE</string>
+ <string>8B792CEB21F425BC006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 132}}</string>
+ <string>{{0, 0}, {603, 117}}</string>
<key>RubberWindowFrame</key>
- <string>627 370 810 487 0 0 1440 878 </string>
+ <string>501 353 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>132pt</string>
+ <string>117pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>309pt</string>
+ <string>324pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,7 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -448,9 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {603, 297}}</string>
<key>RubberWindowFrame</key>
- <string>627 370 810 487 0 0 1440 878 </string>
+ <string>501 353 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B181A0E204B961F00516BEE</string>
+ <string>8B792CF221F425DC006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B181A0F204B961F00516BEE</string>
+ <string>8B792CF321F425DC006E9731</string>
<string>8BCA6FBD2027E68400D92BAD</string>
- <string>8B181A10204B961F00516BEE</string>
+ <string>8B792CF421F425DC006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541824543.72034597</real>
+ <real>569648604.79217398</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +652,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B181A11204B961F00516BEE</string>
+ <string>8B792CF521F425DC006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/HardVacuum/HardVacuum.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>627 370 810 487 0 0 1440 878 </string>
+ <string>501 353 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/HermeTrim/HermeTrim.cpp b/plugins/MacAU/HermeTrim/HermeTrim.cpp
index 9964961..d66c78c 100755
--- a/plugins/MacAU/HermeTrim/HermeTrim.cpp
+++ b/plugins/MacAU/HermeTrim/HermeTrim.cpp
@@ -203,11 +203,8 @@ ComponentResult HermeTrim::Initialize()
// this is called the reset the DSP state (clear buffers, reset counters, etc.)
ComponentResult HermeTrim::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeLA = 0.0;
- fpNShapeLB = 0.0;
- fpNShapeRA = 0.0;
- fpNShapeRB = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -226,11 +223,7 @@ OSStatus HermeTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+
long double inputSampleL;
long double inputSampleR;
long double mid;
@@ -296,25 +289,14 @@ OSStatus HermeTrim::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
inputSampleR = (mid-side) * rightgain;
//contains mastergain and the gain trim fixing the mid/side
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSampleL;
- fpNShapeLA = (fpNShapeLA*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeLA;
- fpTemp = inputSampleR;
- fpNShapeRA = (fpNShapeRA*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeRA;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeLB = (fpNShapeLB*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeLB;
- fpTemp = inputSampleR;
- fpNShapeRB = (fpNShapeRB*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeRB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/HermeTrim/HermeTrim.h b/plugins/MacAU/HermeTrim/HermeTrim.h
index 15b9053..28ed599 100755
--- a/plugins/MacAU/HermeTrim/HermeTrim.h
+++ b/plugins/MacAU/HermeTrim/HermeTrim.h
@@ -121,11 +121,8 @@ public:
virtual ComponentResult Version() { return kHermeTrimVersion; }
private:
- long double fpNShapeLA;
- long double fpNShapeLB;
- long double fpNShapeRA;
- long double fpNShapeRB;
- bool fpFlip;
+ long double fpNShapeL;
+ long double fpNShapeR;
//default stuff
};
diff --git a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser
index 7bf93ba..f32d1ce 100755
--- a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.pbxuser
@@ -49,23 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 532472000;
- PBXWorkspaceStateSaveDate = 532472000;
+ PBXPerProjectTemplateStateSaveDate = 569648812;
+ PBXWorkspaceStateSaveDate = 569648812;
};
perUserProjectItems = {
- 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */ = 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */;
- 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */ = 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */;
+ 8B792D2821F42723006E9731 /* PBXTextBookmark */ = 8B792D2821F42723006E9731 /* PBXTextBookmark */;
+ 8B792D2D21F42744006E9731 /* PBXTextBookmark */ = 8B792D2D21F42744006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792D2821F42723006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */;
+ name = "HermeTrim.cpp: 207";
+ rLen = 0;
+ rLoc = 9408;
+ rType = 0;
+ vrLen = 66;
+ vrLoc = 68;
+ };
+ 8B792D2D21F42744006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */;
+ name = "HermeTrim.cpp: 207";
+ rLen = 0;
+ rLoc = 9408;
+ rType = 0;
+ vrLen = 66;
+ vrLoc = 68;
+ };
8BA05A660720730100365D66 /* HermeTrim.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4368}}";
- sepNavSelRange = "{9429, 0}";
- sepNavVisRange = "{65, 69}";
- sepNavWindowFrame = "{{370, 62}, {1070, 811}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 4225}}";
+ sepNavSelRange = "{9408, 0}";
+ sepNavVisRange = "{68, 66}";
+ sepNavWindowFrame = "{{185, 67}, {1070, 811}}";
};
};
8BA05A670720730100365D66 /* HermeTrim.exp */ = {
@@ -84,31 +104,11 @@
sepNavWindowFrame = "{{419, 39}, {1024, 839}}";
};
};
- 8BB5DCFB1FBCDFA9008B4570 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */;
- name = "HermeTrim.cpp: 208";
- rLen = 0;
- rLoc = 9429;
- rType = 0;
- vrLen = 90;
- vrLoc = 44;
- };
- 8BB5DD3E1FBCE0D8008B4570 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* HermeTrim.cpp */;
- name = "HermeTrim.cpp: 208";
- rLen = 0;
- rLoc = 9429;
- rType = 0;
- vrLen = 69;
- vrLoc = 65;
- };
8BC6025B073B072D006C4272 /* HermeTrim.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1023, 1768}}";
- sepNavSelRange = "{5173, 131}";
- sepNavVisRange = "{1538, 1957}";
+ sepNavIntBoundsRect = "{{0, 0}, {1023, 1729}}";
+ sepNavSelRange = "{5221, 0}";
+ sepNavVisRange = "{3560, 1785}";
sepNavWindowFrame = "{{370, 67}, {1070, 811}}";
};
};
diff --git a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3
index c7490f3..a1c5be6 100755
--- a/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/HermeTrim/HermeTrim.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -301,7 +299,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>7</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -325,7 +323,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>483 338 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +351,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BB5DD3E1FBCE0D8008B4570</string>
+ <string>8B792D2D21F42744006E9731</string>
<key>history</key>
<array>
- <string>8BB5DCFB1FBCDFA9008B4570</string>
+ <string>8B792D2821F42723006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>483 338 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 363}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>483 338 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB5DD3F1FBCE0D8008B4570</string>
+ <string>8B792D2E21F42744006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB5DD401FBCE0D8008B4570</string>
+ <string>8B792D2F21F42744006E9731</string>
<string>8B753E6F1E40231800347157</string>
- <string>8BB5DD411FBCE0D8008B4570</string>
+ <string>8B792D3021F42744006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>532472024.21283603</real>
+ <real>569648964.14450204</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +651,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BB5DD421FBCE0D8008B4570</string>
<string>/Users/christopherjohnson/Desktop/MacAU/HermeTrim/HermeTrim.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>610 324 810 487 0 0 1440 878 </string>
+ <string>483 338 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Hermepass/Hermepass.cpp b/plugins/MacAU/Hermepass/Hermepass.cpp
index 8c8da5d..c969719 100755
--- a/plugins/MacAU/Hermepass/Hermepass.cpp
+++ b/plugins/MacAU/Hermepass/Hermepass.cpp
@@ -174,8 +174,7 @@ void Hermepass::HermepassKernel::Reset()
iirF = 0.0;
iirG = 0.0;
iirH = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -194,10 +193,9 @@ void Hermepass::HermepassKernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
long double fpOld = 0.618033988749894848204586; //golden ratio!
long double fpNew = 1.0 - fpOld;
-
+
Float64 rangescale = 0.1 / overallscale;
Float64 cutoff = pow(GetParameter( kParam_One ),3);
@@ -301,20 +299,13 @@ void Hermepass::HermepassKernel::Process( const Float32 *inSourceP,
//with everything an array value. However, this makes just as much sense for this few poles.
inputSample -= correction;
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Hermepass/Hermepass.h b/plugins/MacAU/Hermepass/Hermepass.h
index 24cfb07..3483edc 100755
--- a/plugins/MacAU/Hermepass/Hermepass.h
+++ b/plugins/MacAU/Hermepass/Hermepass.h
@@ -139,8 +139,7 @@ public:
Float64 iirH; //seven poles max, and the final pole is always at 20hz directly.
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser
index b85e0a0..7dff583 100755
--- a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.pbxuser
@@ -3,6 +3,8 @@
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* Hermepass */;
+ breakpoints = (
+ );
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
@@ -49,18 +51,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456409;
- PBXWorkspaceStateSaveDate = 528456409;
+ PBXPerProjectTemplateStateSaveDate = 569648641;
+ PBXWorkspaceStateSaveDate = 569648641;
};
perUserProjectItems = {
- 8B9D64FF1F7C889C007AB60F /* PlistBookmark */ = 8B9D64FF1F7C889C007AB60F /* PlistBookmark */;
- 8B9D74581F7F9AF1007AB60F /* PlistBookmark */ = 8B9D74581F7F9AF1007AB60F /* PlistBookmark */;
+ 8B792D0521F4265D006E9731 /* PlistBookmark */ = 8B792D0521F4265D006E9731 /* PlistBookmark */;
+ 8B792D1021F42698006E9731 /* PlistBookmark */ = 8B792D1021F42698006E9731 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D64FF1F7C889C007AB60F /* PlistBookmark */ = {
+ 8B792D0521F4265D006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,9 +72,9 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/Hermepass/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8B9D74581F7F9AF1007AB60F /* PlistBookmark */ = {
+ 8B792D1021F42698006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -86,10 +88,10 @@
};
8BA05A660720730100365D66 /* Hermepass.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1006, 4407}}";
- sepNavSelRange = "{10576, 0}";
- sepNavVisRange = "{9818, 2810}";
- sepNavWindowFrame = "{{387, 39}, {1053, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 4342}}";
+ sepNavSelRange = "{8578, 0}";
+ sepNavVisRange = "{7759, 2039}";
+ sepNavWindowFrame = "{{235, 39}, {1053, 839}}";
};
};
8BA05A690720730100365D66 /* HermepassVersion.h */ = {
@@ -102,9 +104,9 @@
};
8BC6025B073B072D006C4272 /* Hermepass.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1006, 1833}}";
- sepNavSelRange = "{1818, 0}";
- sepNavVisRange = "{651, 2568}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 1937}}";
+ sepNavSelRange = "{5697, 0}";
+ sepNavVisRange = "{4041, 1775}";
sepNavWindowFrame = "{{387, 39}, {1053, 839}}";
};
};
diff --git a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3
index a56662d..db59c0b 100755
--- a/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Hermepass/Hermepass.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 176 841 654 0 0 1440 878 </string>
+ <string>471 176 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +351,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74581F7F9AF1007AB60F</string>
+ <string>8B792D1021F42698006E9731</string>
<key>history</key>
<array>
- <string>8B9D64FF1F7C889C007AB60F</string>
+ <string>8B792D0521F4265D006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
- <string>599 176 841 654 0 0 1440 878 </string>
+ <string>471 176 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>599 176 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>471 176 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74591F7F9AF1007AB60F</string>
+ <string>8B792D1121F42698006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D745A1F7F9AF1007AB60F</string>
+ <string>8B792D1221F42698006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D745B1F7F9AF1007AB60F</string>
+ <string>8B792D1321F42698006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -534,12 +532,12 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {810, 0}}</string>
+ <string>{{0, 0}, {424, 270}}</string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>270pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@@ -632,14 +630,14 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BD727EC1D46ECF1000176F0</string>
+ <string>8B792D1421F42698006E9731</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
- <string>8BD727ED1D46ECF1000176F0</string>
- <string>8BD727EE1D46ECF1000176F0</string>
- <string>8BD727EF1D46ECF1000176F0</string>
- <string>8BD727F01D46ECF1000176F0</string>
- <string>8BD727E71D46ECD9000176F0</string>
+ <string>8B792D1521F42698006E9731</string>
+ <string>8B792D1621F42698006E9731</string>
+ <string>8B792D1721F42698006E9731</string>
+ <string>8B792D1821F42698006E9731</string>
+ <string>8B792D1921F42698006E9731</string>
</array>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
@@ -656,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456433.21989697</real>
+ <real>569648792.66830301</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +671,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D745C1F7F9AF1007AB60F</string>
+ <string>8B792D1A21F42698006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Hermepass/Hermepass.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 176 841 654 0 0 1440 878 </string>
+ <string>471 176 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser
index c23f043..1e583b1 100755
--- a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.pbxuser
@@ -49,11 +49,11 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456443;
- PBXWorkspaceStateSaveDate = 528456443;
+ PBXPerProjectTemplateStateSaveDate = 569648994;
+ PBXWorkspaceStateSaveDate = 569648994;
};
perUserProjectItems = {
- 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */ = 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */;
+ 8B792D3921F4276D006E9731 /* PBXTextBookmark */ = 8B792D3921F4276D006E9731 /* PBXTextBookmark */;
8B9D74691F7F9B39007AB60F /* PBXTextBookmark */ = 8B9D74691F7F9B39007AB60F /* PBXTextBookmark */;
8B9E7FA51DDE554B006035FA /* PlistBookmark */ = 8B9E7FA51DDE554B006035FA /* PlistBookmark */;
};
@@ -61,14 +61,14 @@
userBuildSettings = {
};
};
- 8B9D65101F7C88C6007AB60F /* PBXTextBookmark */ = {
+ 8B792D3921F4276D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* HighGlossDither.h */;
name = "HighGlossDither.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 443;
+ vrLen = 243;
vrLoc = 0;
};
8B9D74691F7F9B39007AB60F /* PBXTextBookmark */ = {
@@ -95,9 +95,9 @@
};
8BA05A660720730100365D66 /* HighGlossDither.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {726, 3133}}";
+ sepNavIntBoundsRect = "{{0, 0}, {726, 3224}}";
sepNavSelRange = "{7750, 0}";
- sepNavVisRange = "{6612, 2521}";
+ sepNavVisRange = "{7830, 2063}";
sepNavWindowFrame = "{{728, 43}, {679, 835}}";
};
};
@@ -111,9 +111,9 @@
};
8BC6025B073B072D006C4272 /* HighGlossDither.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 1729}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 1742}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 346}";
+ sepNavVisRange = "{0, 243}";
sepNavWindowFrame = "{{742, 43}, {679, 835}}";
};
};
diff --git a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3
index 2c6537c..aaa67ee 100755
--- a/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/HighGlossDither/HighGlossDither.xcodeproj/christopherjohnson.perspectivev3
@@ -353,11 +353,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74691F7F9B39007AB60F</string>
+ <string>8B792D3921F4276D006E9731</string>
<key>history</key>
<array>
<string>8B9E7FA51DDE554B006035FA</string>
- <string>8B9D65101F7C88C6007AB60F</string>
+ <string>8B9D74691F7F9B39007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {531, 158}}</string>
<key>RubberWindowFrame</key>
<string>599 149 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>158pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>450pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,7 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
+ <string>{{10, 27}, {531, 423}}</string>
<key>RubberWindowFrame</key>
<string>599 149 841 654 0 0 1440 878 </string>
</dict>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D746A1F7F9B39007AB60F</string>
+ <string>8B792D3A21F4276D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D746B1F7F9B39007AB60F</string>
+ <string>8B792D3B21F4276D006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D746C1F7F9B39007AB60F</string>
+ <string>8B792D3C21F4276D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456505.919761</real>
+ <real>569649005.97733605</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +674,7 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D746D1F7F9B39007AB60F</string>
+ <string>8B792D3D21F4276D006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/HighGlossDither/HighGlossDither.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/HighImpact/HighImpact.cpp b/plugins/MacAU/HighImpact/HighImpact.cpp
index 91cbd6a..43ca1f5 100755
--- a/plugins/MacAU/HighImpact/HighImpact.cpp
+++ b/plugins/MacAU/HighImpact/HighImpact.cpp
@@ -175,9 +175,7 @@ ComponentResult HighImpact::Initialize()
void HighImpact::HighImpactKernel::Reset()
{
lastSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -201,11 +199,7 @@ void HighImpact::HighImpactKernel::Process( const Float32 *inSourceP,
Float64 drySample;
Float64 output = GetParameter( kParam_Two );
Float64 wet = GetParameter( kParam_Three );
- Float64 dry = 1.0-wet;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
+ Float64 dry = 1.0-wet;
Float64 clamp;
Float64 threshold = (1.25 - out);
@@ -279,19 +273,11 @@ void HighImpact::HighImpactKernel::Process( const Float32 *inSourceP,
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/HighImpact/HighImpact.h b/plugins/MacAU/HighImpact/HighImpact.h
index 1778590..4315822 100755
--- a/plugins/MacAU/HighImpact/HighImpact.h
+++ b/plugins/MacAU/HighImpact/HighImpact.h
@@ -134,9 +134,7 @@ public:
private:
Float64 lastSample;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser
index 95f75f7..a4ea24e 100755
--- a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.pbxuser
@@ -49,12 +49,12 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456515;
- PBXWorkspaceStateSaveDate = 528456515;
+ PBXPerProjectTemplateStateSaveDate = 569649013;
+ PBXWorkspaceStateSaveDate = 569649013;
};
perUserProjectItems = {
- 8B9D65211F7C8934007AB60F /* PBXTextBookmark */ = 8B9D65211F7C8934007AB60F /* PBXTextBookmark */;
- 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */ = 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */;
+ 8B792D4B21F427D4006E9731 /* PBXTextBookmark */ = 8B792D4B21F427D4006E9731 /* PBXTextBookmark */;
+ 8B792D5021F427E4006E9731 /* PBXTextBookmark */ = 8B792D5021F427E4006E9731 /* PBXTextBookmark */;
8BD4F5C21E6E137800288155 /* PBXTextBookmark */ = 8BD4F5C21E6E137800288155 /* PBXTextBookmark */;
8BD4F5C31E6E137800288155 /* PBXTextBookmark */ = 8BD4F5C31E6E137800288155 /* PBXTextBookmark */;
};
@@ -62,32 +62,32 @@
userBuildSettings = {
};
};
- 8B9D65211F7C8934007AB60F /* PBXTextBookmark */ = {
+ 8B792D4B21F427D4006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* HighImpact.cpp */;
- name = "HighImpact.cpp: 201";
+ name = "HighImpact.cpp: 199";
rLen = 0;
- rLoc = 9245;
+ rLoc = 9210;
rType = 0;
- vrLen = 504;
- vrLoc = 7848;
+ vrLen = 584;
+ vrLoc = 7867;
};
- 8B9D74781F7F9B7D007AB60F /* PBXTextBookmark */ = {
+ 8B792D5021F427E4006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* HighImpact.cpp */;
- name = "HighImpact.cpp: 201";
+ name = "HighImpact.cpp: 199";
rLen = 0;
- rLoc = 9245;
+ rLoc = 9210;
rType = 0;
- vrLen = 485;
+ vrLen = 584;
vrLoc = 7867;
};
8BA05A660720730100365D66 /* HighImpact.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {670, 3978}}";
- sepNavSelRange = "{9245, 0}";
- sepNavVisRange = "{7867, 485}";
- sepNavWindowFrame = "{{283, 58}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 3887}}";
+ sepNavSelRange = "{9210, 0}";
+ sepNavVisRange = "{7867, 584}";
+ sepNavWindowFrame = "{{178, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* HighImpact.exp */ = {
@@ -107,9 +107,9 @@
};
8BC6025B073B072D006C4272 /* HighImpact.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 1898}}";
- sepNavSelRange = "{5304, 0}";
- sepNavVisRange = "{2715, 570}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 1859}}";
+ sepNavSelRange = "{5347, 0}";
+ sepNavVisRange = "{3845, 1610}";
sepNavWindowFrame = "{{15, 39}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3
index 8773219..a53e030 100755
--- a/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/HighImpact/HighImpact.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>589 316 810 487 0 0 1440 878 </string>
+ <string>493 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,12 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74781F7F9B7D007AB60F</string>
+ <string>8B792D5021F427E4006E9731</string>
<key>history</key>
<array>
<string>8BD4F5C21E6E137800288155</string>
<string>8BD4F5C31E6E137800288155</string>
- <string>8B9D65211F7C8934007AB60F</string>
+ <string>8B792D4B21F427D4006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 253}}</string>
+ <string>{{0, 0}, {603, 244}}</string>
<key>RubberWindowFrame</key>
- <string>589 316 810 487 0 0 1440 878 </string>
+ <string>493 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>253pt</string>
+ <string>244pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>188pt</string>
+ <string>197pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 161}}</string>
- <key>RubberWindowFrame</key>
- <string>589 316 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 170}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 170}}</string>
+ <key>RubberWindowFrame</key>
+ <string>493 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74791F7F9B7D007AB60F</string>
+ <string>8B792D5121F427E4006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D747A1F7F9B7D007AB60F</string>
+ <string>8B792D5221F427E4006E9731</string>
<string>8B753F071E4027BF00347157</string>
- <string>8B9D747B1F7F9B7D007AB60F</string>
+ <string>8B792D5321F427E4006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456573.47978503</real>
+ <real>569649124.25200295</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D747C1F7F9B7D007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/HighImpact/HighImpact.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>589 316 810 487 0 0 1440 878 </string>
+ <string>493 322 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Highpass/Highpass.cpp b/plugins/MacAU/Highpass/Highpass.cpp
index 1f887f4..095a5fd 100755
--- a/plugins/MacAU/Highpass/Highpass.cpp
+++ b/plugins/MacAU/Highpass/Highpass.cpp
@@ -175,8 +175,7 @@ void Highpass::HighpassKernel::Reset()
{
iirSampleA = 0.0;
iirSampleB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -207,9 +206,6 @@ void Highpass::HighpassKernel::Process( const Float32 *inSourceP,
Float64 offset;
Float64 inputSample;
Float64 outputSample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
iirAmount += (iirAmount * tight * tight);
if (tight > 0) tight /= 1.5;
@@ -264,20 +260,13 @@ void Highpass::HighpassKernel::Process( const Float32 *inSourceP,
}
if (wet < 1.0) outputSample = (outputSample * wet) + (inputSample * dry);
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = outputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((outputSample-fpTemp)*fpNew);
- outputSample += fpNShapeA;
- }
- else {
- fpTemp = outputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((outputSample-fpTemp)*fpNew);
- outputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = outputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Highpass/Highpass.h b/plugins/MacAU/Highpass/Highpass.h
index 05f4b8c..d29dcf9 100755
--- a/plugins/MacAU/Highpass/Highpass.h
+++ b/plugins/MacAU/Highpass/Highpass.h
@@ -136,8 +136,7 @@ public:
private:
Float64 iirSampleA;
Float64 iirSampleB;
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser
index 11b4400..10f000e 100755
--- a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.pbxuser
@@ -49,15 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456582;
- PBXWorkspaceStateSaveDate = 528456582;
+ PBXPerProjectTemplateStateSaveDate = 569649241;
+ PBXWorkspaceStateSaveDate = 569649241;
};
perUserProjectItems = {
8B22B1581DB190F20075D7AA /* PBXTextBookmark */ = 8B22B1581DB190F20075D7AA /* PBXTextBookmark */;
8B22B1591DB190F20075D7AA /* PBXTextBookmark */ = 8B22B1591DB190F20075D7AA /* PBXTextBookmark */;
8B22B15A1DB190F20075D7AA /* PBXTextBookmark */ = 8B22B15A1DB190F20075D7AA /* PBXTextBookmark */;
- 8B9D65321F7C8976007AB60F /* PBXTextBookmark */ = 8B9D65321F7C8976007AB60F /* PBXTextBookmark */;
- 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */ = 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */;
+ 8B792D6121F428B9006E9731 /* PBXTextBookmark */ = 8B792D6121F428B9006E9731 /* PBXTextBookmark */;
+ 8B792D6621F428CA006E9731 /* PBXTextBookmark */ = 8B792D6621F428CA006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -93,32 +93,32 @@
vrLen = 772;
vrLoc = 5298;
};
- 8B9D65321F7C8976007AB60F /* PBXTextBookmark */ = {
+ 8B792D6121F428B9006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Highpass.h */;
name = "Highpass.h: 125";
rLen = 0;
rLoc = 5113;
rType = 0;
- vrLen = 395;
+ vrLen = 369;
vrLoc = 5287;
};
- 8B9D74871F7F9B9C007AB60F /* PBXTextBookmark */ = {
+ 8B792D6621F428CA006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Highpass.h */;
name = "Highpass.h: 125";
rLen = 0;
rLoc = 5113;
rType = 0;
- vrLen = 394;
+ vrLen = 369;
vrLoc = 5287;
};
8BA05A660720730100365D66 /* Highpass.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {964, 3770}}";
- sepNavSelRange = "{9907, 0}";
- sepNavVisRange = "{9082, 2429}";
- sepNavWindowFrame = "{{584, 39}, {801, 838}}";
+ sepNavIntBoundsRect = "{{0, 0}, {964, 3757}}";
+ sepNavSelRange = "{12047, 0}";
+ sepNavVisRange = "{9888, 2247}";
+ sepNavWindowFrame = "{{463, 37}, {801, 838}}";
};
};
8BA05A670720730100365D66 /* Highpass.exp */ = {
@@ -138,10 +138,10 @@
};
8BC6025B073B072D006C4272 /* Highpass.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {698, 2080}}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 2106}}";
sepNavSelRange = "{5113, 0}";
- sepNavVisRange = "{5287, 394}";
- sepNavWindowFrame = "{{615, 40}, {801, 838}}";
+ sepNavVisRange = "{5287, 369}";
+ sepNavWindowFrame = "{{143, 40}, {801, 838}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3
index 49ba097..6210205 100755
--- a/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Highpass/Highpass.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>626 387 810 487 0 0 1440 878 </string>
+ <string>369 385 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,13 +350,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74871F7F9B9C007AB60F</string>
+ <string>8B792D6621F428CA006E9731</string>
<key>history</key>
<array>
<string>8B22B1581DB190F20075D7AA</string>
<string>8B22B1591DB190F20075D7AA</string>
<string>8B22B15A1DB190F20075D7AA</string>
- <string>8B9D65321F7C8976007AB60F</string>
+ <string>8B792D6121F428B9006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 264}}</string>
+ <string>{{0, 0}, {603, 256}}</string>
<key>RubberWindowFrame</key>
- <string>626 387 810 487 0 0 1440 878 </string>
+ <string>369 385 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>264pt</string>
+ <string>256pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>177pt</string>
+ <string>185pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 150}}</string>
- <key>RubberWindowFrame</key>
- <string>626 387 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 158}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
+ <string>{{10, 27}, {603, 158}}</string>
+ <key>RubberWindowFrame</key>
+ <string>369 385 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74881F7F9B9C007AB60F</string>
+ <string>8B792D6721F428CA006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74891F7F9B9C007AB60F</string>
+ <string>8B792D6821F428CA006E9731</string>
<string>8BC032A31D66648E0039F36E</string>
- <string>8B9D748A1F7F9B9C007AB60F</string>
+ <string>8B792D6921F428CA006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -638,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456604.44275099</real>
+ <real>569649354.665344</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -655,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D748B1F7F9B9C007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Highpass/Highpass.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>626 387 810 487 0 0 1440 878 </string>
+ <string>369 385 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Hombre/Hombre.cpp b/plugins/MacAU/Hombre/Hombre.cpp
index d16d992..420afa5 100755
--- a/plugins/MacAU/Hombre/Hombre.cpp
+++ b/plugins/MacAU/Hombre/Hombre.cpp
@@ -169,9 +169,7 @@ void Hombre::HombreKernel::Reset()
for(int count = 0; count < 4000; count++) {p[count] = 0.0;}
gcount = 0;
slide = 0.421;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -196,15 +194,10 @@ void Hombre::HombreKernel::Process( const Float32 *inSourceP,
int widthB = (int)(7.0*overallscale); //max 364 at 44.1, 792 at 96K
Float64 wet = GetParameter( kParam_Two );
Float64 dry = 1.0 - wet;
-
long double inputSample;
Float64 drySample;
Float64 total;
- int count;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ int count;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -273,23 +266,13 @@ void Hombre::HombreKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
- //built in output trim and dry/wet if desired
- //*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
diff --git a/plugins/MacAU/Hombre/Hombre.h b/plugins/MacAU/Hombre/Hombre.h
index fd408c3..0f2225b 100755
--- a/plugins/MacAU/Hombre/Hombre.h
+++ b/plugins/MacAU/Hombre/Hombre.h
@@ -131,9 +131,7 @@ public:
Float64 p[4001];
Float64 slide;
int gcount;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser
index 5ff61b8..31f4928 100755
--- a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456614;
- PBXWorkspaceStateSaveDate = 528456614;
+ PBXPerProjectTemplateStateSaveDate = 569649376;
+ PBXWorkspaceStateSaveDate = 569649376;
};
perUserProjectItems = {
- 8B9D65431F7C899F007AB60F /* PBXTextBookmark */ = 8B9D65431F7C899F007AB60F /* PBXTextBookmark */;
+ 8B792D7F21F4297F006E9731 /* PBXTextBookmark */ = 8B792D7F21F4297F006E9731 /* PBXTextBookmark */;
8B9D74961F7F9BB0007AB60F /* PBXTextBookmark */ = 8B9D74961F7F9BB0007AB60F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D65431F7C899F007AB60F /* PBXTextBookmark */ = {
+ 8B792D7F21F4297F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A670720730100365D66 /* Hombre.exp */;
name = "Hombre.exp: 2";
@@ -82,10 +82,10 @@
};
8BA05A660720730100365D66 /* Hombre.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 3900}}";
- sepNavSelRange = "{9060, 0}";
- sepNavVisRange = "{8861, 2038}";
- sepNavWindowFrame = "{{295, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 3913}}";
+ sepNavSelRange = "{11704, 0}";
+ sepNavVisRange = "{10307, 1458}";
+ sepNavWindowFrame = "{{165, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* Hombre.exp */ = {
@@ -106,10 +106,10 @@
};
8BC6025B073B072D006C4272 /* Hombre.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 1859}}";
- sepNavSelRange = "{5132, 0}";
- sepNavVisRange = "{3790, 1531}";
- sepNavWindowFrame = "{{809, 39}, {1005, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {958, 1833}}";
+ sepNavSelRange = "{5170, 0}";
+ sepNavVisRange = "{3685, 1595}";
+ sepNavWindowFrame = "{{111, 39}, {1005, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3
index 6c54c7c..794a8fd 100755
--- a/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Hombre/Hombre.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 297 810 487 0 0 1440 878 </string>
+ <string>455 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74961F7F9BB0007AB60F</string>
+ <string>8B792D7F21F4297F006E9731</string>
<key>history</key>
<array>
- <string>8B9D65431F7C899F007AB60F</string>
+ <string>8B9D74961F7F9BB0007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,7 +369,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>630 297 810 487 0 0 1440 878 </string>
+ <string>455 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -395,8 +393,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>630 297 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>455 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74971F7F9BB0007AB60F</string>
+ <string>8B792D7221F428E1006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74981F7F9BB0007AB60F</string>
+ <string>8B792D7321F428E1006E9731</string>
<string>8BAC23231F1EA3AC009C635C</string>
- <string>8B9D74991F7F9BB0007AB60F</string>
+ <string>8B792D7421F428E1006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456624.78481799</real>
+ <real>569649535.57319403</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D749A1F7F9BB0007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Hombre/Hombre.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 297 810 487 0 0 1440 878 </string>
+ <string>455 313 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/IronOxide5/IronOxide5.cpp b/plugins/MacAU/IronOxide5/IronOxide5.cpp
index f0c27dd..c64d19a 100755
--- a/plugins/MacAU/IronOxide5/IronOxide5.cpp
+++ b/plugins/MacAU/IronOxide5/IronOxide5.cpp
@@ -224,9 +224,7 @@ void IronOxide5::IronOxide5Kernel::Reset()
sweep = 0.0;
rateof = 0.5;
nextmax = 0.5;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -288,11 +286,6 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP,
Float64 dry = 1.0;
if (invdrywet > 0.0) dry -= invdrywet;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -475,7 +468,7 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP,
inputSample += (prevInputSample*randy);
prevInputSample = drySample;
- flip = not flip;
+ flip = !flip;
//begin invdrywet block with outputgain
if (outputgain != 1.0) inputSample *= outputgain;
@@ -484,23 +477,14 @@ void IronOxide5::IronOxide5Kernel::Process( const Float32 *inSourceP,
if (fabs(drySample) > 0.0) inputSample += drySample;
//end invdrywet block with outputgain
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
-
sourceP += inNumChannels; destP += inNumChannels;
}
}
diff --git a/plugins/MacAU/IronOxide5/IronOxide5.h b/plugins/MacAU/IronOxide5/IronOxide5.h
index 2b0b16e..2b3c655 100755
--- a/plugins/MacAU/IronOxide5/IronOxide5.h
+++ b/plugins/MacAU/IronOxide5/IronOxide5.h
@@ -167,13 +167,8 @@ public:
Float64 rateof;
Float64 sweep;
Float64 nextmax;
-
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
-
+ long double fpNShape;
bool flip;
- int demotimer;
};
};
diff --git a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser
index 0cb3aa0..8cbc973 100755
--- a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456633;
- PBXWorkspaceStateSaveDate = 528456633;
+ PBXPerProjectTemplateStateSaveDate = 569649559;
+ PBXWorkspaceStateSaveDate = 569649559;
};
perUserProjectItems = {
- 8B9D65541F7C89D7007AB60F /* PlistBookmark */ = 8B9D65541F7C89D7007AB60F /* PlistBookmark */;
+ 8B792D9121F42A46006E9731 /* PlistBookmark */ = 8B792D9121F42A46006E9731 /* PlistBookmark */;
8B9D74A51F7F9BC2007AB60F /* PlistBookmark */ = 8B9D74A51F7F9BC2007AB60F /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D65541F7C89D7007AB60F /* PlistBookmark */ = {
+ 8B792D9121F42A46006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,7 +70,7 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/IronOxide5/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
8B9D74A51F7F9BC2007AB60F /* PlistBookmark */ = {
isa = PlistBookmark;
@@ -82,14 +82,14 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/IronOxide5/Info.plist;
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 9223372036854775808;
};
8BA05A660720730100365D66 /* IronOxide5.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1006, 6552}}";
- sepNavSelRange = "{13026, 0}";
- sepNavVisRange = "{12449, 2393}";
- sepNavWindowFrame = "{{387, 39}, {1053, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 7072}}";
+ sepNavSelRange = "{19392, 0}";
+ sepNavVisRange = "{17695, 1759}";
+ sepNavWindowFrame = "{{237, 39}, {1053, 839}}";
};
};
8BA05A690720730100365D66 /* IronOxide5Version.h */ = {
@@ -102,10 +102,10 @@
};
8BC6025B073B072D006C4272 /* IronOxide5.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1006, 2327}}";
- sepNavSelRange = "{3959, 0}";
- sepNavVisRange = "{4993, 1457}";
- sepNavWindowFrame = "{{387, 39}, {1053, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 2535}}";
+ sepNavSelRange = "{6418, 0}";
+ sepNavVisRange = "{5321, 1207}";
+ sepNavWindowFrame = "{{130, 39}, {1053, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3
index e2992e0..fd0036a 100755
--- a/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/IronOxide5/IronOxide5.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>826</integer>
+ <integer>826</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>607 110 826 502 0 0 1440 878 </string>
+ <string>386 241 826 502 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +351,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74A51F7F9BC2007AB60F</string>
+ <string>8B792D9121F42A46006E9731</string>
<key>history</key>
<array>
- <string>8B9D65541F7C89D7007AB60F</string>
+ <string>8B9D74A51F7F9BC2007AB60F</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,7 +370,7 @@
<key>Frame</key>
<string>{{0, 0}, {516, 0}}</string>
<key>RubberWindowFrame</key>
- <string>607 110 826 502 0 0 1440 878 </string>
+ <string>386 241 826 502 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -396,8 +394,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {516, 429}}</string>
- <key>RubberWindowFrame</key>
- <string>607 110 826 502 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {516, 429}}</string>
+ <key>RubberWindowFrame</key>
+ <string>386 241 826 502 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74A61F7F9BC2007AB60F</string>
+ <string>8B792D9221F42A46006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74A71F7F9BC2007AB60F</string>
+ <string>8B792D9321F42A46006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D74A81F7F9BC2007AB60F</string>
+ <string>8B792D9421F42A46006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +654,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456642.85610998</real>
+ <real>569649734.80982804</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +671,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74A91F7F9BC2007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/IronOxide5/IronOxide5.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>607 110 826 502 0 0 1440 878 </string>
+ <string>386 241 826 502 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp b/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp
index 54c5821..4bd736f 100755
--- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp
+++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.cpp
@@ -180,8 +180,7 @@ void IronOxideClassic::IronOxideClassicKernel::Reset()
gcount = 0;
fastIIRA = fastIIRB = slowIIRA = slowIIRB = 0.0;
iirSampleA = iirSampleB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -223,11 +222,6 @@ void IronOxideClassic::IronOxideClassicKernel::Process( const Float32 *inSourc
fastTaper = 1.0 + (fastTaper / overallscale);
slowTaper = 1.0 + (slowTaper / overallscale);
}
-
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -385,20 +379,13 @@ void IronOxideClassic::IronOxideClassicKernel::Process( const Float32 *inSourc
//second stage of overdrive to prevent overs and allow bloody loud extremeness
if (outputgain != 1.0) inputSample *= outputgain;
+ fpFlip = !fpFlip;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.h b/plugins/MacAU/IronOxideClassic/IronOxideClassic.h
index 283ae2b..4dfe41b 100755
--- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.h
+++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.h
@@ -142,8 +142,7 @@ public:
Float64 slowIIRB;
SInt32 gcount;
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser
index 4f2e20c..46ceb7d 100755
--- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.pbxuser
@@ -49,44 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456653;
- PBXWorkspaceStateSaveDate = 528456653;
+ PBXPerProjectTemplateStateSaveDate = 569649756;
+ PBXWorkspaceStateSaveDate = 569649756;
};
perUserProjectItems = {
- 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */ = 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */;
- 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */ = 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */;
+ 8B792DA221F42AC7006E9731 /* PBXTextBookmark */ = 8B792DA221F42AC7006E9731 /* PBXTextBookmark */;
+ 8B792DA721F42AD9006E9731 /* PBXTextBookmark */ = 8B792DA721F42AD9006E9731 /* PBXTextBookmark */;
8BCB78421ED90EBD001D6861 /* PlistBookmark */ = 8BCB78421ED90EBD001D6861 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D65651F7C8A00007AB60F /* PBXTextBookmark */ = {
+ 8B792DA221F42AC7006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* IronOxideClassic.cpp */;
- name = "IronOxideClassic.cpp: 271";
+ name = "IronOxideClassic.cpp: 265";
rLen = 50;
- rLoc = 11952;
+ rLoc = 11820;
rType = 0;
- vrLen = 342;
- vrLoc = 13099;
+ vrLen = 250;
+ vrLoc = 13063;
};
- 8B9D74B41F7F9BE8007AB60F /* PBXTextBookmark */ = {
+ 8B792DA721F42AD9006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* IronOxideClassic.cpp */;
- name = "IronOxideClassic.cpp: 271";
+ name = "IronOxideClassic.cpp: 265";
rLen = 50;
- rLoc = 11952;
+ rLoc = 11820;
rType = 0;
- vrLen = 263;
- vrLoc = 13099;
+ vrLen = 250;
+ vrLoc = 13063;
};
8BA05A660720730100365D66 /* IronOxideClassic.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {482, 5538}}";
- sepNavSelRange = "{11952, 50}";
- sepNavVisRange = "{13099, 263}";
- sepNavWindowFrame = "{{408, 39}, {952, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {482, 5421}}";
+ sepNavSelRange = "{11820, 50}";
+ sepNavVisRange = "{13063, 250}";
+ sepNavWindowFrame = "{{215, 32}, {952, 839}}";
};
};
8BA05A690720730100365D66 /* IronOxideClassicVersion.h */ = {
@@ -100,8 +100,8 @@
8BC6025B073B072D006C4272 /* IronOxideClassic.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {905, 2002}}";
- sepNavSelRange = "{5476, 159}";
- sepNavVisRange = "{955, 2468}";
+ sepNavSelRange = "{5661, 0}";
+ sepNavVisRange = "{4268, 1518}";
sepNavWindowFrame = "{{5, 39}, {952, 839}}";
};
};
diff --git a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3
index 11ad553..4aa0a49 100755
--- a/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>841</integer>
+ <integer>841</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -301,7 +299,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74B41F7F9BE8007AB60F</string>
+ <string>8B792DA721F42AD9006E9731</string>
<key>history</key>
<array>
<string>8BCB78421ED90EBD001D6861</string>
- <string>8B9D65651F7C8A00007AB60F</string>
+ <string>8B792DA221F42AC7006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 188}}</string>
+ <string>{{0, 0}, {531, 173}}</string>
<key>RubberWindowFrame</key>
<string>396 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>188pt</string>
+ <string>173pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>420pt</string>
+ <string>435pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 393}}</string>
- <key>RubberWindowFrame</key>
- <string>396 187 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 408}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {531, 408}}</string>
+ <key>RubberWindowFrame</key>
+ <string>396 187 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74B51F7F9BE8007AB60F</string>
+ <string>8B792DA821F42AD9006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74B61F7F9BE8007AB60F</string>
+ <string>8B792DA921F42AD9006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D74B71F7F9BE8007AB60F</string>
+ <string>8B792DAA21F42AD9006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456680.36902398</real>
+ <real>569649881.95772898</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +672,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74B81F7F9BE8007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/IronOxideClassic/IronOxideClassic.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/Logical4/Logical4.cpp b/plugins/MacAU/Logical4/Logical4.cpp
index 32e4312..af228c2 100755
--- a/plugins/MacAU/Logical4/Logical4.cpp
+++ b/plugins/MacAU/Logical4/Logical4.cpp
@@ -267,10 +267,9 @@ ComponentResult Logical4::Reset(AudioUnitScope inScope, AudioUnitElement inElem
gcount = 0;
//end Power Sags
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
+
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
fpFlip = true;
return noErr;
}
@@ -293,16 +292,16 @@ OSStatus Logical4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
UInt32 nSampleFrames = inFramesToProcess;
Float32 drySampleL;
Float32 drySampleR;
- Float64 inputSampleL;
- Float64 inputSampleR;
-
+ long double inputSampleL;
+ long double inputSampleR;
+
+ long double fpOld = 0.618033988749894848204586; //golden ratio!
+ long double fpNew = 1.0 - fpOld;
+
//begin ButterComp
Float64 inputpos;
Float64 inputneg;
@@ -1145,26 +1144,16 @@ OSStatus Logical4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
inputSampleL = (inputSampleL * wet) + (drySampleL * dry);
inputSampleR = (inputSampleR * wet) + (drySampleR * dry);
}
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = drySampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeAL;
- fpTemp = drySampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeAR;
- }
- else {
- fpTemp = drySampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeBL;
- fpTemp = drySampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeBR;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Logical4/Logical4.h b/plugins/MacAU/Logical4/Logical4.h
index 269fb08..31b3c1a 100755
--- a/plugins/MacAU/Logical4/Logical4.h
+++ b/plugins/MacAU/Logical4/Logical4.h
@@ -210,10 +210,8 @@ private:
int gcount;
- Float64 fpNShapeAL;
- Float64 fpNShapeAR;
- Float64 fpNShapeBL;
- Float64 fpNShapeBR;
+ long double fpNShapeR;
+ long double fpNShapeL;
bool fpFlip;
};
diff --git a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser
index aeec156..7396e6c 100755
--- a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,19 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456690;
- PBXWorkspaceStateSaveDate = 528456690;
- };
- perUserProjectItems = {
- 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */ = 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */;
- 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */ = 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */;
+ PBXPerProjectTemplateStateSaveDate = 569649914;
+ PBXWorkspaceStateSaveDate = 569649914;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D65761F7C8A4B007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Logical4.h */;
- name = "Logical4.h: 65";
- rLen = 0;
- rLoc = 3218;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
- 8B9D74C31F7F9C65007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Logical4.h */;
- name = "Logical4.h: 65";
- rLen = 0;
- rLoc = 3218;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
8BA05A660720730100365D66 /* Logical4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1156, 15431}}";
- sepNavSelRange = "{14451, 0}";
- sepNavVisRange = "{14181, 2352}";
- sepNavWindowFrame = "{{237, 42}, {1203, 836}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1156, 15860}}";
+ sepNavSelRange = "{11365, 0}";
+ sepNavVisRange = "{10694, 1692}";
+ sepNavWindowFrame = "{{85, 42}, {1203, 836}}";
};
};
8BA05A690720730100365D66 /* Logical4Version.h */ = {
@@ -98,10 +74,10 @@
};
8BC6025B073B072D006C4272 /* Logical4.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 2925}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 2912}}";
sepNavSelRange = "{3218, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{767, -61}, {932, 815}}";
+ sepNavWindowFrame = "{{508, 39}, {932, 815}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3
index 2664542..65ca7eb 100755
--- a/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Logical4/Logical4.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>489 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,23 +341,13 @@
<key>PBXProjectModuleGUID</key>
<string>8BAC22EC1F1EA26E009C635C</string>
<key>PBXProjectModuleLabel</key>
- <string>Logical4.h</string>
+ <string>&lt;No Editor&gt;</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>8BAC22ED1F1EA26E009C635C</string>
- <key>PBXProjectModuleLabel</key>
- <string>Logical4.h</string>
- <key>_historyCapacity</key>
- <integer>0</integer>
- <key>bookmark</key>
- <string>8B9D74C31F7F9C65007AB60F</string>
- <key>history</key>
- <array>
- <string>8B9D65761F7C8A4B007AB60F</string>
- </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -372,7 +362,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>489 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -396,8 +386,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +439,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 363}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>489 322 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +469,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74C41F7F9C65007AB60F</string>
+ <string>8B792DC121F42BF4006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74C51F7F9C65007AB60F</string>
+ <string>8B792DC221F42BF4006E9731</string>
<string>8BAC22EC1F1EA26E009C635C</string>
- <string>8B9D74C61F7F9C65007AB60F</string>
+ <string>8B792DC321F42BF4006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +626,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456805.22078699</real>
+ <real>569650164.73212397</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +643,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74C71F7F9C65007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Logical4/Logical4.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>489 322 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Loud/Loud.cpp b/plugins/MacAU/Loud/Loud.cpp
index 3d954d6..8be40d2 100755
--- a/plugins/MacAU/Loud/Loud.cpp
+++ b/plugins/MacAU/Loud/Loud.cpp
@@ -175,9 +175,7 @@ ComponentResult Loud::Initialize()
void Loud::LoudKernel::Reset()
{
lastSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -196,9 +194,6 @@ void Loud::LoudKernel::Process( const Float32 *inSourceP,
overallscale /= 44100.0;
overallscale *= GetSampleRate();
Float64 boost = pow(GetParameter( kParam_One )+1.0,5);
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
- Float32 fpTemp;
Float64 output = GetParameter( kParam_Two );
Float64 wet = GetParameter( kParam_Three );
@@ -267,19 +262,11 @@ void Loud::LoudKernel::Process( const Float32 *inSourceP,
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
-
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Loud/Loud.h b/plugins/MacAU/Loud/Loud.h
index 4f15994..289716f 100755
--- a/plugins/MacAU/Loud/Loud.h
+++ b/plugins/MacAU/Loud/Loud.h
@@ -134,9 +134,7 @@ public:
private:
Float64 lastSample;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser
index 987043f..77ce748 100755
--- a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.pbxuser
@@ -49,37 +49,37 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547640834;
- PBXWorkspaceStateSaveDate = 547640834;
+ PBXPerProjectTemplateStateSaveDate = 569650197;
+ PBXWorkspaceStateSaveDate = 569650197;
};
perUserProjectItems = {
- 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */ = 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */;
- 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */ = 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */;
+ 8B792DD221F42C71006E9731 /* PBXTextBookmark */ = 8B792DD221F42C71006E9731 /* PBXTextBookmark */;
+ 8B792DD721F42C90006E9731 /* PBXTextBookmark */ = 8B792DD721F42C90006E9731 /* PBXTextBookmark */;
8B9F0C141EB4035300D3B900 /* PBXTextBookmark */ = 8B9F0C141EB4035300D3B900 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B904D5820A4584C008CBAD8 /* PBXTextBookmark */ = {
+ 8B792DD221F42C71006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Loud.cpp */;
- name = "Loud.cpp: 237";
+ name = "Loud.cpp: 232";
rLen = 983;
- rLoc = 10671;
+ rLoc = 10520;
rType = 0;
- vrLen = 140;
- vrLoc = 9658;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B904D5920A4584C008CBAD8 /* PBXTextBookmark */ = {
+ 8B792DD721F42C90006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Loud.cpp */;
- name = "Loud.cpp: 237";
+ name = "Loud.cpp: 232";
rLen = 983;
- rLoc = 10671;
+ rLoc = 10520;
rType = 0;
- vrLen = 140;
- vrLoc = 9658;
+ vrLen = 0;
+ vrLoc = 0;
};
8B9F0C141EB4035300D3B900 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
@@ -93,10 +93,10 @@
};
8BA05A660720730100365D66 /* Loud.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 3809}}";
- sepNavSelRange = "{10671, 983}";
- sepNavVisRange = "{9658, 140}";
- sepNavWindowFrame = "{{477, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 3718}}";
+ sepNavSelRange = "{10520, 983}";
+ sepNavVisRange = "{0, 0}";
+ sepNavWindowFrame = "{{92, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* Loud.exp */ = {
@@ -117,10 +117,10 @@
};
8BC6025B073B072D006C4272 /* Loud.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1006, 1898}}";
- sepNavSelRange = "{2999, 121}";
- sepNavVisRange = "{3795, 1551}";
- sepNavWindowFrame = "{{89, -6}, {1053, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1006, 1846}}";
+ sepNavSelRange = "{5199, 0}";
+ sepNavVisRange = "{3721, 1588}";
+ sepNavWindowFrame = "{{89, 39}, {1053, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3
index 2b8deb6..fc5744d 100755
--- a/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Loud/Loud.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B904D5920A4584C008CBAD8</string>
+ <string>8B792DD721F42C90006E9731</string>
<key>history</key>
<array>
<string>8B9F0C141EB4035300D3B900</string>
- <string>8B904D5820A4584C008CBAD8</string>
+ <string>8B792DD221F42C71006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 51}}</string>
+ <string>{{0, 0}, {603, 32}}</string>
<key>RubberWindowFrame</key>
<string>337 373 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>51pt</string>
+ <string>32pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>390pt</string>
+ <string>409pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 363}}</string>
- <key>RubberWindowFrame</key>
- <string>337 373 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 382}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 382}}</string>
+ <key>RubberWindowFrame</key>
+ <string>337 373 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B904D5A20A4584C008CBAD8</string>
+ <string>8B792DD821F42C90006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B904D5B20A4584C008CBAD8</string>
+ <string>8B792DD921F42C90006E9731</string>
<string>8BDB26991EAA805E001F42B2</string>
- <string>8B904D5C20A4584C008CBAD8</string>
+ <string>8B792DDA21F42C90006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547641420.42251396</real>
+ <real>569650320.319924</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,7 +651,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B904D5D20A4584C008CBAD8</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Loud/Loud.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/Lowpass/Lowpass.cpp b/plugins/MacAU/Lowpass/Lowpass.cpp
index 234b763..f727829 100755
--- a/plugins/MacAU/Lowpass/Lowpass.cpp
+++ b/plugins/MacAU/Lowpass/Lowpass.cpp
@@ -176,8 +176,7 @@ void Lowpass::LowpassKernel::Reset()
{
iirSampleA = 0.0;
iirSampleB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -205,9 +204,6 @@ void Lowpass::LowpassKernel::Process( const Float32 *inSourceP,
Float64 offset;
Float64 inputSample;
Float64 outputSample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
iirAmount += (iirAmount * tight * tight);
if (tight > 0) tight /= 1.5;
@@ -262,20 +258,13 @@ void Lowpass::LowpassKernel::Process( const Float32 *inSourceP,
}
if (wet < 1.0) outputSample = (outputSample * wet) + (inputSample * dry);
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = outputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((outputSample-fpTemp)*fpNew);
- outputSample += fpNShapeA;
- }
- else {
- fpTemp = outputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((outputSample-fpTemp)*fpNew);
- outputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = outputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Lowpass/Lowpass.h b/plugins/MacAU/Lowpass/Lowpass.h
index 695a116..cf12e75 100755
--- a/plugins/MacAU/Lowpass/Lowpass.h
+++ b/plugins/MacAU/Lowpass/Lowpass.h
@@ -133,8 +133,7 @@ public:
private:
Float64 iirSampleA;
Float64 iirSampleB;
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser
index f5f0bfd..badd1c8 100755
--- a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456837;
- PBXWorkspaceStateSaveDate = 528456837;
+ PBXPerProjectTemplateStateSaveDate = 569650365;
+ PBXWorkspaceStateSaveDate = 569650365;
};
perUserProjectItems = {
8B22B12A1DB18F4E0075D7AA /* PBXTextBookmark */ = 8B22B12A1DB18F4E0075D7AA /* PBXTextBookmark */;
8B22B12B1DB18F4E0075D7AA /* PBXTextBookmark */ = 8B22B12B1DB18F4E0075D7AA /* PBXTextBookmark */;
- 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */ = 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */;
- 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */ = 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */;
+ 8B792DE821F42D38006E9731 /* PBXTextBookmark */ = 8B792DE821F42D38006E9731 /* PBXTextBookmark */;
+ 8B792DED21F42D64006E9731 /* PBXTextBookmark */ = 8B792DED21F42D64006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -82,7 +82,7 @@
vrLen = 672;
vrLoc = 7641;
};
- 8B9D65961F7C8AEB007AB60F /* PBXTextBookmark */ = {
+ 8B792DE821F42D38006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Lowpass.h */;
name = "Lowpass.h: 134";
@@ -92,21 +92,21 @@
vrLen = 647;
vrLoc = 2906;
};
- 8B9D74E11F7F9CD5007AB60F /* PBXTextBookmark */ = {
+ 8B792DED21F42D64006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Lowpass.h */;
name = "Lowpass.h: 134";
rLen = 44;
rLoc = 5247;
rType = 0;
- vrLen = 647;
+ vrLen = 379;
vrLoc = 2906;
};
8BA05A660720730100365D66 /* Lowpass.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {964, 3770}}";
- sepNavSelRange = "{9874, 0}";
- sepNavVisRange = "{9374, 2090}";
+ sepNavIntBoundsRect = "{{0, 0}, {964, 3796}}";
+ sepNavSelRange = "{11986, 0}";
+ sepNavVisRange = "{10557, 1517}";
sepNavWindowFrame = "{{418, 133}, {903, 692}}";
};
};
@@ -128,9 +128,9 @@
};
8BC6025B073B072D006C4272 /* Lowpass.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 2080}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 1911}}";
sepNavSelRange = "{5247, 44}";
- sepNavVisRange = "{2906, 647}";
+ sepNavVisRange = "{2906, 379}";
sepNavWindowFrame = "{{15, 54}, {895, 819}}";
};
};
diff --git a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3
index 77c2c6b..1791e2f 100755
--- a/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Lowpass/Lowpass.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>548 245 810 487 0 0 1440 878 </string>
+ <string>445 250 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,12 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74E11F7F9CD5007AB60F</string>
+ <string>8B792DED21F42D64006E9731</string>
<key>history</key>
<array>
<string>8B22B12A1DB18F4E0075D7AA</string>
<string>8B22B12B1DB18F4E0075D7AA</string>
- <string>8B9D65961F7C8AEB007AB60F</string>
+ <string>8B792DE821F42D38006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 325}}</string>
+ <string>{{0, 0}, {603, 146}}</string>
<key>RubberWindowFrame</key>
- <string>548 245 810 487 0 0 1440 878 </string>
+ <string>445 250 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>325pt</string>
+ <string>146pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>116pt</string>
+ <string>295pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 89}}</string>
- <key>RubberWindowFrame</key>
- <string>548 245 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 95}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 268}}</string>
+ <key>RubberWindowFrame</key>
+ <string>445 250 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74E21F7F9CD5007AB60F</string>
+ <string>8B792DEE21F42D64006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74E31F7F9CD5007AB60F</string>
+ <string>8B792DEF21F42D64006E9731</string>
<string>8B48C3411DAAD496009A0ADD</string>
- <string>8B9D74E41F7F9CD5007AB60F</string>
+ <string>8B792DF021F42D64006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456917.709867</real>
+ <real>569650532.61439598</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74E51F7F9CD5007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Lowpass/Lowpass.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>548 245 810 487 0 0 1440 878 </string>
+ <string>445 250 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Melt/Melt.cpp b/plugins/MacAU/Melt/Melt.cpp
index 8da35b4..eaca93d 100755
--- a/plugins/MacAU/Melt/Melt.cpp
+++ b/plugins/MacAU/Melt/Melt.cpp
@@ -189,10 +189,7 @@ void Melt::MeltKernel::Reset()
stepCount = 0;
slowCount = 0;
gcount = 0;
-
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -245,10 +242,6 @@ void Melt::MeltKernel::Process( const Float32 *inSourceP,
minTap[28] = floor(109 * depthA); maxTap[28] = floor(109 * depthB);
minTap[29] = floor(113 * depthA); maxTap[29] = floor(113 * depthB);
minTap[30] = floor(117 * depthA); maxTap[30] = floor(117 * depthB);
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double drySample;
long double inputSample;
@@ -370,20 +363,11 @@ void Melt::MeltKernel::Process( const Float32 *inSourceP,
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Melt/Melt.h b/plugins/MacAU/Melt/Melt.h
index b8e7122..4473fb5 100755
--- a/plugins/MacAU/Melt/Melt.h
+++ b/plugins/MacAU/Melt/Melt.h
@@ -145,9 +145,7 @@ public:
Float32 scalefactor;
int gcount;
//we're using 32 bit because we want to build some truncation into the tails to noise them.
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser
index 608567f..0973f73 100755
--- a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528456926;
- PBXWorkspaceStateSaveDate = 528456926;
+ PBXPerProjectTemplateStateSaveDate = 569650600;
+ PBXWorkspaceStateSaveDate = 569650600;
};
perUserProjectItems = {
8B3483971E27D980007B1BF6 /* PlistBookmark */ = 8B3483971E27D980007B1BF6 /* PlistBookmark */;
8B4296221E6DCF55007D8787 /* PBXTextBookmark */ = 8B4296221E6DCF55007D8787 /* PBXTextBookmark */;
- 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */ = 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */;
- 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */ = 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */;
+ 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */ = 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */;
+ 8B792E0421F42E5D006E9731 /* PBXTextBookmark */ = 8B792E0421F42E5D006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -84,48 +84,48 @@
vrLen = 354;
vrLoc = 5375;
};
- 8B9D65A91F7C8B27007AB60F /* PBXTextBookmark */ = {
+ 8B792DFF21F42E3C006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* MeltVersion.h */;
name = "MeltVersion.h: 56";
rLen = 0;
rLoc = 2913;
rType = 0;
- vrLen = 326;
- vrLoc = 2595;
+ vrLen = 274;
+ vrLoc = 2647;
};
- 8B9D74F01F7F9D02007AB60F /* PBXTextBookmark */ = {
+ 8B792E0421F42E5D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* MeltVersion.h */;
name = "MeltVersion.h: 56";
rLen = 0;
rLoc = 2913;
rType = 0;
- vrLen = 300;
- vrLoc = 2621;
+ vrLen = 274;
+ vrLoc = 2647;
};
8BA05A660720730100365D66 /* Melt.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {880, 4914}}";
- sepNavSelRange = "{12007, 0}";
- sepNavVisRange = "{11242, 2563}";
- sepNavWindowFrame = "{{516, 41}, {923, 837}}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 5252}}";
+ sepNavSelRange = "{16035, 0}";
+ sepNavVisRange = "{14613, 1510}";
+ sepNavWindowFrame = "{{351, 41}, {923, 837}}";
};
};
8BA05A690720730100365D66 /* MeltVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 793}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 832}}";
sepNavSelRange = "{2913, 0}";
- sepNavVisRange = "{2621, 300}";
+ sepNavVisRange = "{2647, 274}";
sepNavWindowFrame = "{{15, 39}, {923, 837}}";
};
};
8BC6025B073B072D006C4272 /* Melt.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}";
- sepNavSelRange = "{5375, 185}";
- sepNavVisRange = "{2703, 1607}";
- sepNavWindowFrame = "{{780, 30}, {923, 837}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}";
+ sepNavSelRange = "{5681, 0}";
+ sepNavVisRange = "{4205, 1578}";
+ sepNavWindowFrame = "{{358, 41}, {923, 837}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3
index a3708e3..09058db 100755
--- a/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Melt/Melt.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 164 841 654 0 0 1440 878 </string>
+ <string>461 194 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,12 +351,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74F01F7F9D02007AB60F</string>
+ <string>8B792E0421F42E5D006E9731</string>
<key>history</key>
<array>
<string>8B3483971E27D980007B1BF6</string>
<string>8B4296221E6DCF55007D8787</string>
- <string>8B9D65A91F7C8B27007AB60F</string>
+ <string>8B792DFF21F42E3C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
- <string>599 164 841 654 0 0 1440 878 </string>
+ <string>461 194 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
- <key>RubberWindowFrame</key>
- <string>599 164 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 379}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
+ <key>RubberWindowFrame</key>
+ <string>461 194 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D74F11F7F9D02007AB60F</string>
+ <string>8B792E0521F42E5D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D74F21F7F9D02007AB60F</string>
+ <string>8B792E0621F42E5D006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D74F31F7F9D02007AB60F</string>
+ <string>8B792E0721F42E5D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528456962.27142799</real>
+ <real>569650781.22719395</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D74F41F7F9D02007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Melt/Melt.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 164 841 654 0 0 1440 878 </string>
+ <string>461 194 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/MidSide/MidSide.cpp b/plugins/MacAU/MidSide/MidSide.cpp
index 32dfa00..8330aa1 100755
--- a/plugins/MacAU/MidSide/MidSide.cpp
+++ b/plugins/MacAU/MidSide/MidSide.cpp
@@ -171,11 +171,8 @@ ComponentResult MidSide::Initialize()
// this is called the reset the DSP state (clear buffers, reset counters, etc.)
ComponentResult MidSide::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeLA = 0.0;
- fpNShapeLB = 0.0;
- fpNShapeRA = 0.0;
- fpNShapeRB = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -194,11 +191,7 @@ OSStatus MidSide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
UInt32 nSampleFrames = inFramesToProcess;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+
long double inputSampleL;
long double inputSampleR;
long double mid;
@@ -256,25 +249,14 @@ OSStatus MidSide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
mid *= midgain;
side *= sidegain;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = mid;
- fpNShapeLA = (fpNShapeLA*fpOld)+((mid-fpTemp)*fpNew);
- mid += fpNShapeLA;
- fpTemp = side;
- fpNShapeRA = (fpNShapeRA*fpOld)+((side-fpTemp)*fpNew);
- side += fpNShapeRA;
- }
- else {
- fpTemp = mid;
- fpNShapeLB = (fpNShapeLB*fpOld)+((mid-fpTemp)*fpNew);
- mid += fpNShapeLB;
- fpTemp = side;
- fpNShapeRB = (fpNShapeRB*fpOld)+((side-fpTemp)*fpNew);
- side += fpNShapeRB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)mid, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ mid += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)side, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ side += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = mid;
*outputR = side;
diff --git a/plugins/MacAU/MidSide/MidSide.h b/plugins/MacAU/MidSide/MidSide.h
index 9d78006..643457a 100755
--- a/plugins/MacAU/MidSide/MidSide.h
+++ b/plugins/MacAU/MidSide/MidSide.h
@@ -111,11 +111,8 @@ public:
virtual ComponentResult Version() { return kMidSideVersion; }
private:
- long double fpNShapeLA;
- long double fpNShapeLB;
- long double fpNShapeRA;
- long double fpNShapeRB;
- bool fpFlip;
+ long double fpNShapeL;
+ long double fpNShapeR;
//default stuff
};
diff --git a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser
index 4bb0c76..854d5ed 100755
--- a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457068;
- PBXWorkspaceStateSaveDate = 528457068;
+ PBXPerProjectTemplateStateSaveDate = 569650825;
+ PBXWorkspaceStateSaveDate = 569650825;
};
perUserProjectItems = {
- 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */ = 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */;
- 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */ = 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */;
+ 8B792E1621F42F27006E9731 /* PBXTextBookmark */ = 8B792E1621F42F27006E9731 /* PBXTextBookmark */;
+ 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */ = 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D65B91F7C8B49007AB60F /* PBXTextBookmark */ = {
+ 8B792E1621F42F27006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* MidSide.cpp */;
- name = "MidSide.cpp: 179";
+ name = "MidSide.cpp: 176";
rLen = 0;
- rLoc = 7698;
+ rLoc = 7642;
rType = 0;
- vrLen = 71;
- vrLoc = 7644;
+ vrLen = 4;
+ vrLoc = 7657;
};
- 8B9D74FF1F7F9D7C007AB60F /* PBXTextBookmark */ = {
+ 8B792E1B21F42F3C006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* MidSide.cpp */;
- name = "MidSide.cpp: 179";
+ name = "MidSide.cpp: 176";
rLen = 0;
- rLoc = 7698;
+ rLoc = 7642;
rType = 0;
- vrLen = 33;
- vrLoc = 7682;
+ vrLen = 3;
+ vrLoc = 7657;
};
8BA05A660720730100365D66 /* MidSide.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3848}}";
- sepNavSelRange = "{7698, 0}";
- sepNavVisRange = "{7682, 33}";
- sepNavWindowFrame = "{{370, 56}, {1070, 811}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3770}}";
+ sepNavSelRange = "{7642, 0}";
+ sepNavVisRange = "{7657, 3}";
+ sepNavWindowFrame = "{{199, 67}, {1070, 811}}";
};
};
8BA05A670720730100365D66 /* MidSide.exp */ = {
@@ -106,10 +106,10 @@
};
8BC6025B073B072D006C4272 /* MidSide.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1023, 1638}}";
- sepNavSelRange = "{4794, 131}";
- sepNavVisRange = "{3189, 1836}";
- sepNavWindowFrame = "{{612, 23}, {1070, 811}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1023, 1599}}";
+ sepNavSelRange = "{4842, 0}";
+ sepNavVisRange = "{3187, 1779}";
+ sepNavWindowFrame = "{{370, 39}, {1070, 811}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3
index 32ff114..3db9e85 100755
--- a/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/MidSide/MidSide.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>612 261 810 487 0 0 1440 878 </string>
+ <string>444 290 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D74FF1F7F9D7C007AB60F</string>
+ <string>8B792E1B21F42F3C006E9731</string>
<key>history</key>
<array>
- <string>8B9D65B91F7C8B49007AB60F</string>
+ <string>8B792E1621F42F27006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
- <string>612 261 810 487 0 0 1440 878 </string>
+ <string>444 290 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>612 261 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 363}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>444 290 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75001F7F9D7C007AB60F</string>
+ <string>8B792E1C21F42F3C006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75011F7F9D7C007AB60F</string>
+ <string>8B792E1D21F42F3C006E9731</string>
<string>8B753E6F1E40231800347157</string>
- <string>8B9D75021F7F9D7C007AB60F</string>
+ <string>8B792E1E21F42F3C006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457084.46547401</real>
+ <real>569651004.49607897</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75031F7F9D7C007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/MidSide/MidSide.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>612 261 810 487 0 0 1440 878 </string>
+ <string>444 290 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.cpp b/plugins/MacAU/NCSeventeen/NCSeventeen.cpp
index cc27033..14f0cf2 100755
--- a/plugins/MacAU/NCSeventeen/NCSeventeen.cpp
+++ b/plugins/MacAU/NCSeventeen/NCSeventeen.cpp
@@ -173,9 +173,7 @@ void NCSeventeen::NCSeventeenKernel::Reset()
basslev = 0.0;
treblev = 0.0;
cheblev = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -189,12 +187,7 @@ void NCSeventeen::NCSeventeenKernel::Process( const Float32 *inSourceP,
{
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
- Float32 *destP = inDestP;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ Float32 *destP = inDestP;
Float64 inP2;
Float64 chebyshev;
Float64 overallscale = 1.0;
@@ -389,19 +382,11 @@ void NCSeventeen::NCSeventeenKernel::Process( const Float32 *inSourceP,
if (inputSample < -0.95) inputSample = -0.95;
//iron bar
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
//built in output trim and dry/wet by default
diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.h b/plugins/MacAU/NCSeventeen/NCSeventeen.h
index 80575ef..571f64f 100755
--- a/plugins/MacAU/NCSeventeen/NCSeventeen.h
+++ b/plugins/MacAU/NCSeventeen/NCSeventeen.h
@@ -133,9 +133,7 @@ public:
Float64 basslev;
Float64 treblev;
Float64 cheblev;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
//default stuff
};
diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser
index f9c1f79..6f69541 100755
--- a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.pbxuser
@@ -49,43 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 531741948;
- PBXWorkspaceStateSaveDate = 531741948;
+ PBXPerProjectTemplateStateSaveDate = 569651037;
+ PBXWorkspaceStateSaveDate = 569651037;
};
perUserProjectItems = {
- 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */ = 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */;
- 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */ = 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */;
+ 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */ = 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */;
+ 8B792E3221F43005006E9731 /* PBXTextBookmark */ = 8B792E3221F43005006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B66929D1FA3B6DF007B3434 /* PBXTextBookmark */ = {
+ 8B792E2D21F42FE2006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* NCSeventeen.h */;
name = "NCSeventeen.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 47;
+ vrLen = 26;
vrLoc = 0;
};
- 8B6692BF1FB1BEBD007B3434 /* PBXTextBookmark */ = {
+ 8B792E3221F43005006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* NCSeventeen.h */;
name = "NCSeventeen.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 29;
+ vrLen = 26;
vrLoc = 0;
};
8BA05A660720730100365D66 /* NCSeventeen.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 5460}}";
- sepNavSelRange = "{16304, 0}";
- sepNavVisRange = "{15087, 1879}";
- sepNavWindowFrame = "{{295, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 5317}}";
+ sepNavSelRange = "{16560, 0}";
+ sepNavVisRange = "{14728, 1968}";
+ sepNavWindowFrame = "{{152, 66}, {1145, 812}}";
};
};
8BA05A690720730100365D66 /* NCSeventeenVersion.h */ = {
@@ -98,10 +98,10 @@
};
8BC6025B073B072D006C4272 /* NCSeventeen.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 1963}}";
+ sepNavIntBoundsRect = "{{0, 0}, {554, 1937}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 29}";
- sepNavWindowFrame = "{{413, 43}, {1027, 835}}";
+ sepNavVisRange = "{0, 26}";
+ sepNavWindowFrame = "{{244, 43}, {1027, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3
index 8047d9f..b049979 100755
--- a/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/NCSeventeen/NCSeventeen.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>613 385 810 487 0 0 1440 878 </string>
+ <string>460 371 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B6692BF1FB1BEBD007B3434</string>
+ <string>8B792E3221F43005006E9731</string>
<key>history</key>
<array>
- <string>8B66929D1FA3B6DF007B3434</string>
+ <string>8B792E2D21F42FE2006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {603, 51}}</string>
<key>RubberWindowFrame</key>
- <string>613 385 810 487 0 0 1440 878 </string>
+ <string>460 371 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>51pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>390pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>613 385 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 363}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 363}}</string>
+ <key>RubberWindowFrame</key>
+ <string>460 371 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B6692C01FB1BEBD007B3434</string>
+ <string>8B792E3321F43005006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B6692C11FB1BEBD007B3434</string>
+ <string>8B792E3421F43005006E9731</string>
<string>8B67C76A1FA2B03A008C64D6</string>
- <string>8B6692C21FB1BEBD007B3434</string>
+ <string>8B792E3521F43005006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>531742397.05920899</real>
+ <real>569651205.03675902</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B6692C31FB1BEBD007B3434</string>
<string>/Users/christopherjohnson/Desktop/MacAU/NCSeventeen/NCSeventeen.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>613 385 810 487 0 0 1440 878 </string>
+ <string>460 371 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Noise/Noise.cpp b/plugins/MacAU/Noise/Noise.cpp
index b528b4b..15ca903 100755
--- a/plugins/MacAU/Noise/Noise.cpp
+++ b/plugins/MacAU/Noise/Noise.cpp
@@ -209,9 +209,7 @@ void Noise::NoiseKernel::Reset()
flip = false;
filterflip = false;
for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;}
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -311,10 +309,6 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP,
f[9] /= overallscale;
//and now it's neatly scaled, too
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -359,8 +353,8 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP,
invcutoff = 1.0 - cutoff;
//set up modified cutoff
- flip = not flip;
- filterflip = not filterflip;
+ flip = !flip;
+ filterflip = !filterflip;
quadratic -= 1;
if (quadratic < 0)
{
@@ -428,19 +422,11 @@ void Noise::NoiseKernel::Process( const Float32 *inSourceP,
inputSample -= correctionSample;
//applying the distance calculation to both the dry AND the noise output to blend them
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Noise/Noise.h b/plugins/MacAU/Noise/Noise.h
index 7d0a6d7..452a603 100755
--- a/plugins/MacAU/Noise/Noise.h
+++ b/plugins/MacAU/Noise/Noise.h
@@ -152,9 +152,7 @@ public:
bool filterflip;
Float64 b[11];
Float64 f[11];
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser
index 5aa8db5..fd77959 100755
--- a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.pbxuser
@@ -49,8 +49,8 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538271590;
- PBXWorkspaceStateSaveDate = 538271590;
+ PBXPerProjectTemplateStateSaveDate = 569651243;
+ PBXWorkspaceStateSaveDate = 569651243;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -58,10 +58,10 @@
};
8BA05A660720730100365D66 /* Noise.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {934, 6162}}";
- sepNavSelRange = "{17598, 1}";
- sepNavVisRange = "{16371, 1511}";
- sepNavWindowFrame = "{{449, 62}, {981, 816}}";
+ sepNavIntBoundsRect = "{{0, 0}, {934, 5928}}";
+ sepNavSelRange = "{13301, 0}";
+ sepNavVisRange = "{10580, 1962}";
+ sepNavWindowFrame = "{{302, 62}, {981, 816}}";
};
};
8BA05A680720730100365D66 /* Noise.r */ = {
@@ -82,10 +82,10 @@
};
8BC6025B073B072D006C4272 /* Noise.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {934, 1911}}";
- sepNavSelRange = "{3042, 0}";
- sepNavVisRange = "{1672, 2009}";
- sepNavWindowFrame = "{{763, 62}, {981, 816}}";
+ sepNavIntBoundsRect = "{{0, 0}, {934, 2223}}";
+ sepNavSelRange = "{5824, 0}";
+ sepNavVisRange = "{4614, 1330}";
+ sepNavWindowFrame = "{{459, 62}, {981, 816}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3
index bc7c41e..3d7c6a5 100755
--- a/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Noise/Noise.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>614 382 810 487 0 0 1440 878 </string>
+ <string>455 339 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -363,7 +361,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>614 382 810 487 0 0 1440 878 </string>
+ <string>455 339 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -387,8 +385,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>614 382 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +438,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>455 339 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +468,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BA11D6C20155F6900D31247</string>
+ <string>8B792E4721F430DD006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BA11D6D20155F6900D31247</string>
+ <string>8B792E4821F430DD006E9731</string>
<string>8B6FC0582010B87E003CA5F7</string>
- <string>8BA11D6E20155F6900D31247</string>
+ <string>8B792E4921F430DD006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +625,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538274889.58884597</real>
+ <real>569651421.60977602</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -647,7 +645,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Noise/Noise.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>614 382 810 487 0 0 1440 878 </string>
+ <string>455 339 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp b/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp
index 4c11ff3..d91e997 100755
--- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp
+++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.cpp
@@ -408,11 +408,8 @@ ComponentResult NonlinearSpace::Reset(AudioUnitScope inScope, AudioUnitElement
countdown = -1;
flip = true;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -430,9 +427,6 @@ OSStatus NonlinearSpace::ProcessBufferLists(AudioUnitRenderActionFlags & ioActi
Float32 * inputR = (Float32*)(inBuffer.mBuffers[1].mData);
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
UInt32 nSampleFrames = inFramesToProcess;
long double drySampleL;
long double drySampleR;
@@ -1161,25 +1155,14 @@ OSStatus NonlinearSpace::ProcessBufferLists(AudioUnitRenderActionFlags & ioActi
drySampleR += inputSampleR;
//here we combine the tanks with the dry signal
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = drySampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeAL;
- fpTemp = drySampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeAR;
- }
- else {
- fpTemp = drySampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeBL;
- fpTemp = drySampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeBR;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
flip = !flip;
*outputL = drySampleL;
diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.h b/plugins/MacAU/NonlinearSpace/NonlinearSpace.h
index 4e1fa8c..2c9b3d0 100755
--- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.h
+++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.h
@@ -293,12 +293,8 @@ private:
Float64 nonlin;
-
- Float64 fpNShapeAL;
- Float64 fpNShapeAR;
- Float64 fpNShapeBL;
- Float64 fpNShapeBR;
- bool fpFlip;
+ Float64 fpNShapeR;
+ Float64 fpNShapeL;
};
diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser
index 3db0ed1..2fc6ea7 100755
--- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.pbxuser
@@ -49,28 +49,28 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541885687;
- PBXWorkspaceStateSaveDate = 541885687;
+ PBXPerProjectTemplateStateSaveDate = 569651447;
+ PBXWorkspaceStateSaveDate = 569651447;
};
perUserProjectItems = {
- 8B18199D204B916F00516BEE /* PBXTextBookmark */ = 8B18199D204B916F00516BEE /* PBXTextBookmark */;
- 8B181A99204C8C0B00516BEE /* PBXTextBookmark */ = 8B181A99204C8C0B00516BEE /* PBXTextBookmark */;
+ 8B792E5721F4316F006E9731 /* PBXTextBookmark */ = 8B792E5721F4316F006E9731 /* PBXTextBookmark */;
+ 8B792E5D21F4318F006E9731 /* PBXTextBookmark */ = 8B792E5D21F4318F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B18199D204B916F00516BEE /* PBXTextBookmark */ = {
+ 8B792E5721F4316F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */;
name = "NonlinearSpaceVersion.h: 54";
rLen = 0;
rLoc = 2930;
rType = 0;
- vrLen = 291;
- vrLoc = 2693;
+ vrLen = 242;
+ vrLoc = 2742;
};
- 8B181A99204C8C0B00516BEE /* PBXTextBookmark */ = {
+ 8B792E5D21F4318F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */;
name = "NonlinearSpaceVersion.h: 54";
@@ -82,10 +82,10 @@
};
8BA05A660720730100365D66 /* NonlinearSpace.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {950, 15535}}";
- sepNavSelRange = "{48346, 16}";
- sepNavVisRange = "{47066, 1488}";
- sepNavWindowFrame = "{{443, 40}, {997, 838}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1020, 15964}}";
+ sepNavSelRange = "{16757, 0}";
+ sepNavVisRange = "{15636, 1745}";
+ sepNavWindowFrame = "{{278, 40}, {997, 838}}";
};
};
8BA05A670720730100365D66 /* NonlinearSpace.exp */ = {
@@ -97,7 +97,7 @@
};
8BA05A690720730100365D66 /* NonlinearSpaceVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 897}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 910}}";
sepNavSelRange = "{2930, 0}";
sepNavVisRange = "{2742, 242}";
sepNavWindowFrame = "{{15, 40}, {997, 838}}";
@@ -105,9 +105,9 @@
};
8BC6025B073B072D006C4272 /* NonlinearSpace.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {950, 4004}}";
- sepNavSelRange = "{3309, 0}";
- sepNavVisRange = "{9015, 1297}";
+ sepNavIntBoundsRect = "{{0, 0}, {950, 4446}}";
+ sepNavSelRange = "{10101, 0}";
+ sepNavVisRange = "{8847, 1404}";
sepNavWindowFrame = "{{443, 40}, {997, 838}}";
};
};
diff --git a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3
index 71cc409..93eb68c 100755
--- a/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>605 353 810 487 0 0 1440 878 </string>
+ <string>474 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B181A99204C8C0B00516BEE</string>
+ <string>8B792E5D21F4318F006E9731</string>
<key>history</key>
<array>
- <string>8B18199D204B916F00516BEE</string>
+ <string>8B792E5721F4316F006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 102}}</string>
<key>RubberWindowFrame</key>
- <string>605 353 810 487 0 0 1440 878 </string>
+ <string>474 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>102pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>339pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>605 353 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>474 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B181A9A204C8C0B00516BEE</string>
+ <string>8B792E5E21F4318F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B181A9B204C8C0B00516BEE</string>
+ <string>8B792E5F21F4318F006E9731</string>
<string>8BCA70082027EAB800D92BAD</string>
- <string>8B181A9C204C8C0B00516BEE</string>
+ <string>8B792E6021F4318F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541887499.900267</real>
+ <real>569651599.64848602</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,10 +650,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
+ <string>8B792E6121F4318F006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/NonlinearSpace/NonlinearSpace.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>605 353 810 487 0 0 1440 878 </string>
+ <string>474 350 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser
index f4dc55f..f23ecda 100755
--- a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457201;
- PBXWorkspaceStateSaveDate = 528457201;
+ PBXPerProjectTemplateStateSaveDate = 568767039;
+ PBXWorkspaceStateSaveDate = 568767039;
};
perUserProjectItems = {
8B5B839E1E419C8A00ECA542 /* PlistBookmark */ = 8B5B839E1E419C8A00ECA542 /* PlistBookmark */;
- 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */ = 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */;
- 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */ = 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */;
+ 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */ = 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */;
+ 8BBB307421B7EF7400825986 /* PBXTextBookmark */ = 8BBB307421B7EF7400825986 /* PBXTextBookmark */;
+ 8BBB307621B7EF7400825986 /* PBXTextBookmark */ = 8BBB307621B7EF7400825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,41 +74,51 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D65E71F7C8B79007AB60F /* PBXTextBookmark */ = {
+ 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3991}}";
+ sepNavSelRange = "{9514, 0}";
+ sepNavVisRange = "{9386, 305}";
+ sepNavWindowFrame = "{{517, 41}, {923, 837}}";
+ };
+ };
+ 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {803, 819}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 561}";
+ sepNavWindowFrame = "{{15, 39}, {923, 837}}";
+ };
+ };
+ 8BAF09C721E6BA6000C38394 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */;
- name = "NotJustAnotherCDVersion.h: 1";
+ fRef = 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */;
+ name = "NotJustAnotherCD.cpp: 221";
rLen = 0;
- rLoc = 0;
+ rLoc = 9514;
rType = 0;
- vrLen = 756;
- vrLoc = 0;
+ vrLen = 305;
+ vrLoc = 9386;
};
- 8B9D752B1F7F9E40007AB60F /* PBXTextBookmark */ = {
+ 8BBB307421B7EF7400825986 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */;
name = "NotJustAnotherCDVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 665;
+ vrLen = 561;
vrLoc = 0;
};
- 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {876, 4082}}";
- sepNavSelRange = "{8015, 0}";
- sepNavVisRange = "{7112, 2405}";
- sepNavWindowFrame = "{{464, 41}, {923, 837}}";
- };
- };
- 8BA05A690720730100365D66 /* NotJustAnotherCDVersion.h */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 806}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 665}";
- sepNavWindowFrame = "{{15, 39}, {923, 837}}";
- };
+ 8BBB307621B7EF7400825986 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* NotJustAnotherCD.cpp */;
+ name = "NotJustAnotherCD.cpp: 221";
+ rLen = 0;
+ rLoc = 9514;
+ rType = 0;
+ vrLen = 393;
+ vrLoc = 9386;
};
8BC6025B073B072D006C4272 /* NotJustAnotherCD.h */ = {
uiCtxt = {
diff --git a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3
index 2032d51..0ddef39 100755
--- a/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj/christopherjohnson.perspectivev3
@@ -341,7 +341,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>NotJustAnotherCDVersion.h</string>
+ <string>NotJustAnotherCD.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,15 +349,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>NotJustAnotherCDVersion.h</string>
+ <string>NotJustAnotherCD.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D752B1F7F9E40007AB60F</string>
+ <string>8BAF09C721E6BA6000C38394</string>
<key>history</key>
<array>
<string>8B5B839E1E419C8A00ECA542</string>
- <string>8B9D65E71F7C8B79007AB60F</string>
+ <string>8BBB307421B7EF7400825986</string>
+ <string>8BBB307621B7EF7400825986</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
<string>405 167 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,7 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
<key>RubberWindowFrame</key>
<string>405 167 841 654 0 0 1440 878 </string>
</dict>
@@ -480,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D752C1F7F9E40007AB60F</string>
+ <string>8BAF09C821E6BA6000C38394</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D752D1F7F9E40007AB60F</string>
+ <string>8BAF09C921E6BA6000C38394</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D752E1F7F9E40007AB60F</string>
+ <string>8BAF09CA21E6BA6000C38394</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457280.83582401</real>
+ <real>568769120.05031896</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +675,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D752F1F7F9E40007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/NotJustAnotherCD/NotJustAnotherCD.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser
index d3268bb..3aee3d6 100755
--- a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.pbxuser
@@ -49,38 +49,18 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557543049;
- PBXWorkspaceStateSaveDate = 557543049;
+ PBXPerProjectTemplateStateSaveDate = 568766952;
+ PBXWorkspaceStateSaveDate = 568766952;
};
perUserProjectItems = {
- 8B39A172213B703300112CCA /* PBXTextBookmark */ = 8B39A172213B703300112CCA /* PBXTextBookmark */;
- 8B39A173213B703300112CCA /* PBXTextBookmark */ = 8B39A173213B703300112CCA /* PBXTextBookmark */;
8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */ = 8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */;
+ 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */ = 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */;
+ 8BBB2F6D21B620F100825986 /* PBXTextBookmark */ = 8BBB2F6D21B620F100825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B39A172213B703300112CCA /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */;
- name = "NotJustAnotherDither.cpp: 190";
- rLen = 0;
- rLoc = 8123;
- rType = 0;
- vrLen = 447;
- vrLoc = 8049;
- };
- 8B39A173213B703300112CCA /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */;
- name = "NotJustAnotherDither.cpp: 190";
- rLen = 0;
- rLoc = 8123;
- rType = 0;
- vrLen = 447;
- vrLoc = 8049;
- };
8B8D6A12207ABF2E0029B7B0 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -95,10 +75,10 @@
};
8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {705, 4004}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4082}}";
sepNavSelRange = "{8123, 0}";
- sepNavVisRange = "{8049, 447}";
- sepNavWindowFrame = "{{818, 41}, {923, 837}}";
+ sepNavVisRange = "{8086, 233}";
+ sepNavWindowFrame = "{{517, 41}, {923, 837}}";
};
};
8BA05A680720730100365D66 /* NotJustAnotherDither.r */ = {
@@ -117,10 +97,30 @@
sepNavWindowFrame = "{{15, 39}, {923, 837}}";
};
};
+ 8BAF09C221E6BA5C00C38394 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */;
+ name = "NotJustAnotherDither.cpp: 190";
+ rLen = 0;
+ rLoc = 8123;
+ rType = 0;
+ vrLen = 233;
+ vrLoc = 8086;
+ };
+ 8BBB2F6D21B620F100825986 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* NotJustAnotherDither.cpp */;
+ name = "NotJustAnotherDither.cpp: 190";
+ rLen = 0;
+ rLoc = 8123;
+ rType = 0;
+ vrLen = 253;
+ vrLoc = 8066;
+ };
8BC6025B073B072D006C4272 /* NotJustAnotherDither.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1716}}";
- sepNavSelRange = "{5108, 28}";
+ sepNavSelRange = "{4975, 0}";
sepNavVisRange = "{3502, 1743}";
sepNavWindowFrame = "{{517, 39}, {923, 837}}";
};
diff --git a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3
index 7bc8b6d..faa330c 100755
--- a/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>572 175 841 654 0 0 1440 878 </string>
+ <string>780 134 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +353,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B39A173213B703300112CCA</string>
+ <string>8BAF09C221E6BA5C00C38394</string>
<key>history</key>
<array>
<string>8B8D6A12207ABF2E0029B7B0</string>
- <string>8B39A172213B703300112CCA</string>
+ <string>8BBB2F6D21B620F100825986</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 158}}</string>
+ <string>{{0, 0}, {531, 109}}</string>
<key>RubberWindowFrame</key>
- <string>572 175 841 654 0 0 1440 878 </string>
+ <string>780 134 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>158pt</string>
+ <string>109pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>450pt</string>
+ <string>499pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +396,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 423}}</string>
+ <string>{{10, 27}, {531, 472}}</string>
<key>RubberWindowFrame</key>
- <string>572 175 841 654 0 0 1440 878 </string>
+ <string>780 134 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B39A174213B703300112CCA</string>
+ <string>8BAF09C321E6BA5C00C38394</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B39A175213B703300112CCA</string>
+ <string>8BAF09C421E6BA5C00C38394</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B39A176213B703300112CCA</string>
+ <string>8BAF09C521E6BA5C00C38394</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557543475.44966102</real>
+ <real>568769116.18578196</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +674,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B39A177213B703300112CCA</string>
+ <string>8BAF09C621E6BA5C00C38394</string>
<string>/Users/christopherjohnson/Desktop/MacAU/NotJustAnotherDither/NotJustAnotherDither.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>572 175 841 654 0 0 1440 878 </string>
+ <string>780 134 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.cpp b/plugins/MacAU/OneCornerClip/OneCornerClip.cpp
index db4dcd0..9ddb8db 100755
--- a/plugins/MacAU/OneCornerClip/OneCornerClip.cpp
+++ b/plugins/MacAU/OneCornerClip/OneCornerClip.cpp
@@ -193,9 +193,7 @@ void OneCornerClip::OneCornerClipKernel::Reset()
lastSample = 0.0;
limitPos = 0.0;
limitNeg = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -213,9 +211,6 @@ void OneCornerClip::OneCornerClipKernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
Float64 inputGain = pow(10.0,(GetParameter( kParam_One ))/20.0);
Float64 posThreshold = pow(10.0,(GetParameter( kParam_Two ))/20.0);
@@ -309,21 +304,11 @@ void OneCornerClip::OneCornerClipKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
- //we are making an 80 bit arbitrary curve, woot
- //at least we can say it's either 80 bit or pure bypass
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
if (clipEngage == false)
{
diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.h b/plugins/MacAU/OneCornerClip/OneCornerClip.h
index 0931824..013fc94 100755
--- a/plugins/MacAU/OneCornerClip/OneCornerClip.h
+++ b/plugins/MacAU/OneCornerClip/OneCornerClip.h
@@ -140,9 +140,7 @@ public:
Float64 lastSample;
Float64 limitPos;
Float64 limitNeg;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser
index 13fb85a..872b672 100755
--- a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.pbxuser
@@ -49,59 +49,59 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541882937;
- PBXWorkspaceStateSaveDate = 541882937;
+ PBXPerProjectTemplateStateSaveDate = 569651957;
+ PBXWorkspaceStateSaveDate = 569651957;
};
perUserProjectItems = {
- 8B181972204B914C00516BEE /* PBXTextBookmark */ = 8B181972204B914C00516BEE /* PBXTextBookmark */;
- 8B181A47204C83CC00516BEE /* PBXTextBookmark */ = 8B181A47204C83CC00516BEE /* PBXTextBookmark */;
+ 8B792E6F21F43380006E9731 /* PBXTextBookmark */ = 8B792E6F21F43380006E9731 /* PBXTextBookmark */;
+ 8B792E7421F43391006E9731 /* PBXTextBookmark */ = 8B792E7421F43391006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B181972204B914C00516BEE /* PBXTextBookmark */ = {
+ 8B792E6F21F43380006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* OneCornerClipVersion.h */;
name = "OneCornerClipVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 240;
+ vrLen = 187;
vrLoc = 2736;
};
- 8B181A47204C83CC00516BEE /* PBXTextBookmark */ = {
+ 8B792E7421F43391006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* OneCornerClipVersion.h */;
name = "OneCornerClipVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 239;
+ vrLen = 187;
vrLoc = 2736;
};
8BA05A660720730100365D66 /* OneCornerClip.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {885, 4251}}";
- sepNavSelRange = "{13850, 0}";
- sepNavVisRange = "{9777, 2480}";
- sepNavWindowFrame = "{{488, 63}, {932, 815}}";
+ sepNavIntBoundsRect = "{{0, 0}, {885, 4667}}";
+ sepNavSelRange = "{13380, 0}";
+ sepNavVisRange = "{12469, 1116}";
+ sepNavWindowFrame = "{{356, 63}, {932, 815}}";
};
};
8BA05A690720730100365D66 /* OneCornerClipVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 949}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 936}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{2736, 239}";
+ sepNavVisRange = "{2736, 187}";
sepNavWindowFrame = "{{15, 58}, {932, 815}}";
};
};
8BC6025B073B072D006C4272 /* OneCornerClip.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}";
- sepNavSelRange = "{5638, 62}";
- sepNavVisRange = "{0, 2780}";
- sepNavWindowFrame = "{{837, 56}, {932, 815}}";
+ sepNavSelRange = "{5723, 0}";
+ sepNavVisRange = "{4252, 1581}";
+ sepNavWindowFrame = "{{508, 56}, {932, 815}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3
index 84e772a..73a7a50 100755
--- a/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/OneCornerClip/OneCornerClip.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 365 810 487 0 0 1440 878 </string>
+ <string>428 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,10 +350,10 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B181A47204C83CC00516BEE</string>
+ <string>8B792E7421F43391006E9731</string>
<key>history</key>
<array>
- <string>8B181972204B914C00516BEE</string>
+ <string>8B792E6F21F43380006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 102}}</string>
<key>RubberWindowFrame</key>
- <string>630 365 810 487 0 0 1440 878 </string>
+ <string>428 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>102pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>339pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>630 365 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {603, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>428 370 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -478,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B181A48204C83CC00516BEE</string>
+ <string>8B792E7521F43391006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B181A49204C83CC00516BEE</string>
+ <string>8B792E7621F43391006E9731</string>
<string>8BCA0F591D871CB100A4EFAF</string>
- <string>8B181A4A204C83CC00516BEE</string>
+ <string>8B792E7721F43391006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541885388.89707994</real>
+ <real>569652113.25814903</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B181A4B204C83CC00516BEE</string>
<string>/Users/christopherjohnson/Desktop/MacAU/OneCornerClip/OneCornerClip.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 365 810 487 0 0 1440 878 </string>
+ <string>428 370 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PDBuss/PDBuss.cpp b/plugins/MacAU/PDBuss/PDBuss.cpp
index 5e27a7c..6f450c6 100755
--- a/plugins/MacAU/PDBuss/PDBuss.cpp
+++ b/plugins/MacAU/PDBuss/PDBuss.cpp
@@ -170,9 +170,7 @@ void PDBuss::PDBussKernel::Reset()
settingchase = -90.0;
chasespeed = 350.0;
previousSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -187,10 +185,6 @@ void PDBuss::PDBussKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
Float64 inputgain = GetParameter( kParam_One );
Float64 intensity = GetParameter( kParam_Two );
Float64 apply;
@@ -265,19 +259,11 @@ void PDBuss::PDBussKernel::Process( const Float32 *inSourceP,
previousSample = sin(drySample);
//apply the sine while storing previous sample
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PDBuss/PDBuss.h b/plugins/MacAU/PDBuss/PDBuss.h
index 906cb85..476b436 100755
--- a/plugins/MacAU/PDBuss/PDBuss.h
+++ b/plugins/MacAU/PDBuss/PDBuss.h
@@ -132,9 +132,7 @@ public:
Float64 settingchase;
Float64 chasespeed;
Float64 previousSample;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser
index f1228a5..40d8bcc 100755
--- a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538696879;
- PBXWorkspaceStateSaveDate = 538696879;
+ PBXPerProjectTemplateStateSaveDate = 569652165;
+ PBXWorkspaceStateSaveDate = 569652165;
};
perUserProjectItems = {
8B4E5518201BB8EE00B5DC2A /* PlistBookmark */ = 8B4E5518201BB8EE00B5DC2A /* PlistBookmark */;
- 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */ = 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */;
- 8B4E5740201BE1D700B5DC2A /* PBXBookmark */ = 8B4E5740201BE1D700B5DC2A /* PBXBookmark */;
- 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */ = 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */;
+ 8B792E8621F43436006E9731 /* PBXTextBookmark */ = 8B792E8621F43436006E9731 /* PBXTextBookmark */;
+ 8B792E8721F43436006E9731 /* PBXTextBookmark */ = 8B792E8721F43436006E9731 /* PBXTextBookmark */;
+ 8B792E8C21F43451006E9731 /* PBXTextBookmark */ = 8B792E8C21F43451006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -74,36 +74,42 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B4E573F201BE1D700B5DC2A /* PBXTextBookmark */ = {
+ 8B792E8621F43436006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */;
+ name = "PDBuss.cpp: 165";
+ rLen = 0;
+ rLoc = 7437;
+ rType = 0;
+ vrLen = 1;
+ vrLoc = 7311;
+ };
+ 8B792E8721F43436006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* PDBuss.h */;
name = "PDBuss.h: 68";
rLen = 0;
rLoc = 3175;
rType = 0;
- vrLen = 29;
- vrLoc = 2587;
+ vrLen = 26;
+ vrLoc = 2590;
};
- 8B4E5740201BE1D700B5DC2A /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */;
- };
- 8B4E5741201BE1D700B5DC2A /* PBXTextBookmark */ = {
+ 8B792E8C21F43451006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* PDBuss.cpp */;
- name = "PDBuss.cpp: 165";
+ fRef = 8BC6025B073B072D006C4272 /* PDBuss.h */;
+ name = "PDBuss.h: 68";
rLen = 0;
- rLoc = 7437;
+ rLoc = 3175;
rType = 0;
- vrLen = 95;
- vrLoc = 7310;
+ vrLen = 26;
+ vrLoc = 2590;
};
8BA05A660720730100365D66 /* PDBuss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3887}}";
- sepNavSelRange = "{7437, 0}";
- sepNavVisRange = "{7310, 95}";
- sepNavWindowFrame = "{{489, 50}, {923, 828}}";
+ sepNavIntBoundsRect = "{{0, 0}, {876, 3822}}";
+ sepNavSelRange = "{11537, 0}";
+ sepNavVisRange = "{9680, 1945}";
+ sepNavWindowFrame = "{{352, 50}, {923, 828}}";
};
};
8BA05A690720730100365D66 /* PDBussVersion.h */ = {
@@ -116,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* PDBuss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}";
+ sepNavIntBoundsRect = "{{0, 0}, {761, 1885}}";
sepNavSelRange = "{3175, 0}";
- sepNavVisRange = "{2035, 1751}";
+ sepNavVisRange = "{2590, 26}";
sepNavWindowFrame = "{{506, 50}, {923, 828}}";
};
};
diff --git a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3
index c01d4ac..ba04652 100755
--- a/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PDBuss/PDBuss.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>775</integer>
+ <integer>775</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>656 383 775 495 0 0 1440 878 </string>
+ <string>528 353 775 495 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>PDBuss.cpp</string>
+ <string>PDBuss.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,16 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>PDBuss.cpp</string>
+ <string>PDBuss.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E5741201BE1D700B5DC2A</string>
+ <string>8B792E8C21F43451006E9731</string>
<key>history</key>
<array>
<string>8B4E5518201BB8EE00B5DC2A</string>
- <string>8B4E573F201BE1D700B5DC2A</string>
- <string>8B4E5740201BE1D700B5DC2A</string>
+ <string>8B792E8621F43436006E9731</string>
+ <string>8B792E8721F43436006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {465, 52}}</string>
+ <string>{{0, 0}, {465, 33}}</string>
<key>RubberWindowFrame</key>
- <string>656 383 775 495 0 0 1440 878 </string>
+ <string>528 353 775 495 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>52pt</string>
+ <string>33pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>397pt</string>
+ <string>416pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {465, 370}}</string>
- <key>RubberWindowFrame</key>
- <string>656 383 775 495 0 0 1440 878 </string>
+ <string>{{10, 27}, {465, 389}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {465, 389}}</string>
+ <key>RubberWindowFrame</key>
+ <string>528 353 775 495 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5742201BE1D700B5DC2A</string>
+ <string>8B792E8D21F43451006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5743201BE1D700B5DC2A</string>
+ <string>8B792E8E21F43451006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E5744201BE1D700B5DC2A</string>
+ <string>8B792E8F21F43451006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538698199.879107</real>
+ <real>569652305.95869505</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/PDBuss/PDBuss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>656 383 775 495 0 0 1440 878 </string>
+ <string>528 353 775 495 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PDChannel/PDChannel.cpp b/plugins/MacAU/PDChannel/PDChannel.cpp
index d0e684f..1571b15 100755
--- a/plugins/MacAU/PDChannel/PDChannel.cpp
+++ b/plugins/MacAU/PDChannel/PDChannel.cpp
@@ -170,9 +170,7 @@ void PDChannel::PDChannelKernel::Reset()
settingchase = -90.0;
chasespeed = 350.0;
previousSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -189,11 +187,7 @@ void PDChannel::PDChannelKernel::Process( const Float32 *inSourceP,
Float32 *destP = inDestP;
long double overallscale = 1.0;
overallscale /= 44100.0;
- overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ overallscale *= GetSampleRate();
Float64 inputgain = GetParameter( kParam_One );
Float64 intensity = GetParameter( kParam_Two );
Float64 apply;
@@ -271,19 +265,11 @@ void PDChannel::PDChannelKernel::Process( const Float32 *inSourceP,
previousSample = sin(drySample);
//apply the sine while storing previous sample
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PDChannel/PDChannel.h b/plugins/MacAU/PDChannel/PDChannel.h
index 4a793af..523f789 100755
--- a/plugins/MacAU/PDChannel/PDChannel.h
+++ b/plugins/MacAU/PDChannel/PDChannel.h
@@ -132,9 +132,7 @@ public:
Float64 settingchase;
Float64 chasespeed;
Float64 previousSample;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser
index 6a15292..f328d19 100755
--- a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538696889;
- PBXWorkspaceStateSaveDate = 538696889;
+ PBXPerProjectTemplateStateSaveDate = 569652339;
+ PBXWorkspaceStateSaveDate = 569652339;
};
perUserProjectItems = {
8B4E5745201BE1DA00B5DC2A /* PlistBookmark */ = 8B4E5745201BE1DA00B5DC2A /* PlistBookmark */;
- 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */ = 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */;
- 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */ = 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */;
+ 8B792E9E21F434CF006E9731 /* PBXTextBookmark */ = 8B792E9E21F434CF006E9731 /* PBXTextBookmark */;
+ 8B792EA321F434E3006E9731 /* PBXTextBookmark */ = 8B792EA321F434E3006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,28 +71,34 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/PDChannel/Info.plist;
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 9223372036854775808;
};
- 8B4E5746201BE1DA00B5DC2A /* PBXBookmark */ = {
- isa = PBXBookmark;
+ 8B792E9E21F434CF006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PDChannel.cpp */;
+ name = "PDChannel.cpp: 241";
+ rLen = 0;
+ rLoc = 10674;
+ rType = 0;
+ vrLen = 0;
+ vrLoc = 0;
};
- 8B4E5747201BE1DA00B5DC2A /* PBXTextBookmark */ = {
+ 8B792EA321F434E3006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PDChannel.cpp */;
- name = "PDChannel.cpp: 247";
+ name = "PDChannel.cpp: 241";
rLen = 0;
- rLoc = 10826;
+ rLoc = 10674;
rType = 0;
vrLen = 0;
vrLoc = 0;
};
8BA05A660720730100365D66 /* PDChannel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {670, 3952}}";
- sepNavSelRange = "{10826, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {328, 3796}}";
+ sepNavSelRange = "{10674, 0}";
sepNavVisRange = "{0, 0}";
- sepNavWindowFrame = "{{782, 50}, {923, 828}}";
+ sepNavWindowFrame = "{{342, 50}, {923, 828}}";
};
};
8BA05A690720730100365D66 /* PDChannelVersion.h */ = {
@@ -105,10 +111,10 @@
};
8BC6025B073B072D006C4272 /* PDChannel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
- sepNavSelRange = "{5191, 95}";
- sepNavVisRange = "{3760, 1692}";
- sepNavWindowFrame = "{{15, 45}, {923, 828}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}";
+ sepNavSelRange = "{5309, 0}";
+ sepNavVisRange = "{3711, 1702}";
+ sepNavWindowFrame = "{{24, 47}, {923, 828}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3
index fd2188d..9a9368c 100755
--- a/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PDChannel/PDChannel.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>687</integer>
+ <integer>687</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -302,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>748 122 687 476 0 0 1440 878 </string>
+ <string>528 250 687 476 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E5747201BE1DA00B5DC2A</string>
+ <string>8B792EA321F434E3006E9731</string>
<key>history</key>
<array>
<string>8B4E5745201BE1DA00B5DC2A</string>
- <string>8B4E5746201BE1DA00B5DC2A</string>
+ <string>8B792E9E21F434CF006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {377, 32}}</string>
+ <string>{{0, 0}, {377, 13}}</string>
<key>RubberWindowFrame</key>
- <string>748 122 687 476 0 0 1440 878 </string>
+ <string>528 250 687 476 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>32pt</string>
+ <string>13pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>398pt</string>
+ <string>417pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {377, 371}}</string>
- <key>RubberWindowFrame</key>
- <string>748 122 687 476 0 0 1440 878 </string>
+ <string>{{10, 27}, {377, 390}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {377, 390}}</string>
+ <key>RubberWindowFrame</key>
+ <string>528 250 687 476 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5748201BE1DA00B5DC2A</string>
+ <string>8B792EA421F434E3006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5749201BE1DA00B5DC2A</string>
+ <string>8B792EA521F434E3006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E574A201BE1DA00B5DC2A</string>
+ <string>8B792EA621F434E3006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538698202.06812799</real>
+ <real>569652451.32998204</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -678,7 +676,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/PDChannel/PDChannel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>748 122 687 476 0 0 1440 878 </string>
+ <string>528 250 687 476 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser
index c6caac2..89f6a9a 100755
--- a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457375;
- PBXWorkspaceStateSaveDate = 528457375;
+ PBXPerProjectTemplateStateSaveDate = 569456916;
+ PBXWorkspaceStateSaveDate = 569456916;
};
perUserProjectItems = {
8B4FD0361DF97CA300999740 /* PBXTextBookmark */ = 8B4FD0361DF97CA300999740 /* PBXTextBookmark */;
- 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */ = 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */;
- 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */ = 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */;
+ 8B79248021F14291006E9731 /* PBXTextBookmark */ = 8B79248021F14291006E9731 /* PBXTextBookmark */;
+ 8B79248121F14291006E9731 /* PBXTextBookmark */ = 8B79248121F14291006E9731 /* PBXTextBookmark */;
8BD8CADF1DF8EA3400CC3427 /* PlistBookmark */ = 8BD8CADF1DF8EA3400CC3427 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
@@ -72,32 +72,32 @@
vrLen = 418;
vrLoc = 4668;
};
- 8B9D66051F7C8B97007AB60F /* PBXTextBookmark */ = {
+ 8B79248021F14291006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PaulDither.cpp */;
- name = "PaulDither.cpp: 165";
- rLen = 2403;
- rLoc = 7419;
+ name = "PaulDither.cpp: 199";
+ rLen = 0;
+ rLoc = 8989;
rType = 0;
- vrLen = 364;
- vrLoc = 7419;
+ vrLen = 310;
+ vrLoc = 7499;
};
- 8B9D75481F7F9EDB007AB60F /* PBXTextBookmark */ = {
+ 8B79248121F14291006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PaulDither.cpp */;
name = "PaulDither.cpp: 199";
rLen = 0;
rLoc = 8989;
rType = 0;
- vrLen = 390;
- vrLoc = 7419;
+ vrLen = 310;
+ vrLoc = 7499;
};
8BA05A660720730100365D66 /* PaulDither.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 2990}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 2938}}";
sepNavSelRange = "{8989, 0}";
- sepNavVisRange = "{7419, 390}";
- sepNavWindowFrame = "{{741, 43}, {679, 835}}";
+ sepNavVisRange = "{7499, 310}";
+ sepNavWindowFrame = "{{694, 43}, {679, 835}}";
};
};
8BA05A690720730100365D66 /* PaulDitherVersion.h */ = {
@@ -110,10 +110,10 @@
};
8BC6025B073B072D006C4272 /* PaulDither.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}";
sepNavSelRange = "{4959, 26}";
- sepNavVisRange = "{4668, 418}";
- sepNavWindowFrame = "{{677, 43}, {679, 835}}";
+ sepNavVisRange = "{3360, 1734}";
+ sepNavWindowFrame = "{{26, 43}, {679, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3
index cabf404..fb63b78 100755
--- a/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PaulDither/PaulDither.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 185 841 654 0 0 1440 878 </string>
+ <string>584 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,12 +353,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75481F7F9EDB007AB60F</string>
+ <string>8B79248121F14291006E9731</string>
<key>history</key>
<array>
<string>8BD8CADF1DF8EA3400CC3427</string>
<string>8B4FD0361DF97CA300999740</string>
- <string>8B9D66051F7C8B97007AB60F</string>
+ <string>8B79248021F14291006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 188}}</string>
+ <string>{{0, 0}, {531, 158}}</string>
<key>RubberWindowFrame</key>
- <string>599 185 841 654 0 0 1440 878 </string>
+ <string>584 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>188pt</string>
+ <string>158pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>420pt</string>
+ <string>450pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +397,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 393}}</string>
+ <string>{{10, 27}, {531, 423}}</string>
<key>RubberWindowFrame</key>
- <string>599 185 841 654 0 0 1440 878 </string>
+ <string>584 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -481,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75491F7F9EDB007AB60F</string>
+ <string>8B79248221F14291006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D754A1F7F9EDB007AB60F</string>
+ <string>8B79248321F14291006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D754B1F7F9EDB007AB60F</string>
+ <string>8B79248421F14291006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457435.53434801</real>
+ <real>569459345.52308798</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +675,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D754C1F7F9EDB007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PaulDither/PaulDither.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 185 841 654 0 0 1440 878 </string>
+ <string>584 182 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.cpp b/plugins/MacAU/PhaseNudge/PhaseNudge.cpp
index a60dc04..abb05e1 100755
--- a/plugins/MacAU/PhaseNudge/PhaseNudge.cpp
+++ b/plugins/MacAU/PhaseNudge/PhaseNudge.cpp
@@ -168,9 +168,7 @@ void PhaseNudge::PhaseNudgeKernel::Reset()
{
for(int count = 0; count < 1502; count++) {d[count] = 0.0;}
one = 1; maxdelay = 9001;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
//coded to snap directly to the value on instantiation if the disparity is great enough
}
@@ -186,9 +184,6 @@ void PhaseNudge::PhaseNudgeKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
int allpasstemp;
Float64 outallpass = 0.618033988749894848204586; //golden ratio!
@@ -256,24 +251,13 @@ void PhaseNudge::PhaseNudgeKernel::Process( const Float32 *inSourceP,
if (inputSample > 0) inputSample -= bridgerectifier;
else inputSample += bridgerectifier;
inputSample *= 4.0;
-
-
if (wet < 1.0) inputSample = (drySample * dry)+(inputSample * wet);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
-
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.exp b/plugins/MacAU/PhaseNudge/PhaseNudge.exp
index 6c86d46..a53e4f6 100755
--- a/plugins/MacAU/PhaseNudge/PhaseNudge.exp
+++ b/plugins/MacAU/PhaseNudge/PhaseNudge.exp
@@ -1 +1 @@
-_PhaseNudgeEntry \ No newline at end of file
+_PhaseNudgeEntry
diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.h b/plugins/MacAU/PhaseNudge/PhaseNudge.h
index a82a450..fa655e8 100755
--- a/plugins/MacAU/PhaseNudge/PhaseNudge.h
+++ b/plugins/MacAU/PhaseNudge/PhaseNudge.h
@@ -130,9 +130,7 @@ public:
private:
Float64 d[1503];
int one, maxdelay;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser
index 31eaa35..90714a5 100755
--- a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.pbxuser
@@ -49,8 +49,8 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457445;
- PBXWorkspaceStateSaveDate = 528457445;
+ PBXPerProjectTemplateStateSaveDate = 569674908;
+ PBXWorkspaceStateSaveDate = 569674908;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -58,10 +58,18 @@
};
8BA05A660720730100365D66 /* PhaseNudge.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {787, 3731}}";
- sepNavSelRange = "{9350, 0}";
- sepNavVisRange = "{9041, 2185}";
- sepNavWindowFrame = "{{594, 72}, {834, 801}}";
+ sepNavIntBoundsRect = "{{0, 0}, {787, 3562}}";
+ sepNavSelRange = "{8646, 0}";
+ sepNavVisRange = "{7424, 2420}";
+ sepNavWindowFrame = "{{467, 77}, {834, 801}}";
+ };
+ };
+ 8BA05A670720730100365D66 /* PhaseNudge.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{17, 0}";
+ sepNavVisRange = "{0, 17}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
};
};
8BA05A690720730100365D66 /* PhaseNudgeVersion.h */ = {
@@ -74,10 +82,10 @@
};
8BC6025B073B072D006C4272 /* PhaseNudge.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 1794}}";
- sepNavSelRange = "{5126, 97}";
- sepNavVisRange = "{2715, 1561}";
- sepNavWindowFrame = "{{653, 65}, {787, 813}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 1768}}";
+ sepNavSelRange = "{5179, 0}";
+ sepNavVisRange = "{3774, 1525}";
+ sepNavWindowFrame = "{{436, 61}, {787, 813}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3
index 72f64ac..14864b4 100755
--- a/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PhaseNudge/PhaseNudge.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,7 +300,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +324,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>614 298 810 487 0 0 1440 878 </string>
+ <string>500 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -363,7 +363,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>614 298 810 487 0 0 1440 878 </string>
+ <string>500 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -387,8 +387,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>614 298 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +440,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>500 313 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +470,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75591F7F9F0E007AB60F</string>
+ <string>8B792EBE21F48D58006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D755A1F7F9F0E007AB60F</string>
+ <string>8B792EBF21F48D58006E9731</string>
<string>8B45D5A31DB6A0F4001A01DF</string>
- <string>8B9D755B1F7F9F0E007AB60F</string>
+ <string>8B792EC021F48D58006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +627,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457486.34265399</real>
+ <real>569675096.38173199</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +644,12 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D755C1F7F9F0E007AB60F</string>
+ <string>8B792EC121F48D58006E9731</string>
+ <string>8B792EC221F48D58006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PhaseNudge/PhaseNudge.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>614 298 810 487 0 0 1440 878 </string>
+ <string>500 313 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Point/Poynt.cpp b/plugins/MacAU/Point/Poynt.cpp
index fb51374..b8b7030 100755
--- a/plugins/MacAU/Point/Poynt.cpp
+++ b/plugins/MacAU/Point/Poynt.cpp
@@ -178,8 +178,7 @@ void Poynt::PoyntKernel::Reset()
nobA = 0.0;
nibB = 0.0;
nobB = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
fpFlip = true;
}
@@ -216,11 +215,6 @@ void Poynt::PoyntKernel::Process( const Float32 *inSourceP,
Float64 nibnobFactor = 0.0; //start with the fallthrough value, why not
long double inputSample;
Float64 absolute;
-
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -278,20 +272,13 @@ void Poynt::PoyntKernel::Process( const Float32 *inSourceP,
}
inputSample *= nibnobFactor;
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
destP += inNumChannels;
diff --git a/plugins/MacAU/Point/Poynt.h b/plugins/MacAU/Point/Poynt.h
index 90960cc..7d084e6 100755
--- a/plugins/MacAU/Point/Poynt.h
+++ b/plugins/MacAU/Point/Poynt.h
@@ -135,8 +135,7 @@ public:
Float64 nobA;
Float64 nibB;
Float64 nobB;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
+ Float64 fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser
index 97764af..641426b 100755
--- a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.pbxuser
@@ -49,8 +49,8 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457500;
- PBXWorkspaceStateSaveDate = 528457500;
+ PBXPerProjectTemplateStateSaveDate = 569675140;
+ PBXWorkspaceStateSaveDate = 569675140;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -58,10 +58,10 @@
};
8BA05A660720730100365D66 /* Poynt.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {964, 4030}}";
- sepNavSelRange = "{9867, 0}";
- sepNavVisRange = "{9697, 1988}";
- sepNavWindowFrame = "{{690, 43}, {731, 835}}";
+ sepNavIntBoundsRect = "{{0, 0}, {964, 3835}}";
+ sepNavSelRange = "{11923, 0}";
+ sepNavVisRange = "{6811, 2218}";
+ sepNavWindowFrame = "{{510, 43}, {731, 835}}";
};
};
8BA05A670720730100365D66 /* Poynt.exp */ = {
@@ -82,10 +82,10 @@
};
8BC6025B073B072D006C4272 /* Poynt.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {901, 1911}}";
- sepNavSelRange = "{5143, 64}";
- sepNavVisRange = "{2585, 1500}";
- sepNavWindowFrame = "{{804, -16}, {948, 825}}";
+ sepNavIntBoundsRect = "{{0, 0}, {901, 1885}}";
+ sepNavSelRange = "{5225, 0}";
+ sepNavVisRange = "{3973, 1378}";
+ sepNavWindowFrame = "{{492, 39}, {948, 825}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3
index 35ec906..354b0d9 100755
--- a/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Point/Poynt.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 350 810 487 0 0 1440 878 </string>
+ <string>475 347 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -363,7 +361,7 @@
<key>Frame</key>
<string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>630 350 810 487 0 0 1440 878 </string>
+ <string>475 347 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
@@ -387,8 +385,6 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>630 350 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -443,6 +439,8 @@
<dict>
<key>Frame</key>
<string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>475 347 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +468,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75671F7F9F29007AB60F</string>
+ <string>8B792ED421F48E58006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75681F7F9F29007AB60F</string>
+ <string>8B792ED521F48E58006E9731</string>
<string>8BC521841DB3E58C00E72CD6</string>
- <string>8B9D75691F7F9F29007AB60F</string>
+ <string>8B792ED621F48E58006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +625,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457513.38457698</real>
+ <real>569675352.26750898</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +642,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D756A1F7F9F29007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Point/Poynt.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 350 810 487 0 0 1440 878 </string>
+ <string>475 347 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Pop/Pop.cpp b/plugins/MacAU/Pop/Pop.cpp
index 62acd34..d1e96e1 100755
--- a/plugins/MacAU/Pop/Pop.cpp
+++ b/plugins/MacAU/Pop/Pop.cpp
@@ -341,23 +341,16 @@ void Pop::PopKernel::Process( const Float32 *inSourceP,
flip = !flip;
if (output < 1.0) inputSample *= output;
- if (wet<1.0) inputSample = (drySample*(1.0-wet))+(inputSample*wet);
+ if (wet < 1.0) inputSample = (drySample*(1.0-wet))+(inputSample*wet);
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser
index b860d50..482d742 100755
--- a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557537811;
- PBXWorkspaceStateSaveDate = 557537811;
+ PBXPerProjectTemplateStateSaveDate = 569675407;
+ PBXWorkspaceStateSaveDate = 569675407;
};
perUserProjectItems = {
8B6DBAB1213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB1213B5E6A00E44739 /* PBXTextBookmark */;
8B6DBAB2213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB2213B5E6A00E44739 /* PBXTextBookmark */;
- 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */;
- 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */ = 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */;
+ 8B792EE421F48F26006E9731 /* PBXTextBookmark */ = 8B792EE421F48F26006E9731 /* PBXTextBookmark */;
+ 8B792EE921F48F73006E9731 /* PBXTextBookmark */ = 8B792EE921F48F73006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -82,34 +82,39 @@
vrLen = 133;
vrLoc = 5301;
};
- 8B6DBAB3213B5E6A00E44739 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8B6DBAB4213B5E6A00E44739 /* VariMuProc.cpp */;
- name = "VariMuProc.cpp: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 188;
- vrLoc = 0;
- };
- 8B6DBAB4213B5E6A00E44739 /* VariMuProc.cpp */ = {
+ 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */ = {
isa = PBXFileReference;
lastKnownFileType = sourcecode.cpp.cpp;
name = VariMuProc.cpp;
path = /Users/christopherjohnson/Desktop/MacVST/VariMu/source/VariMuProc.cpp;
sourceTree = "<absolute>";
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {554, 6708}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{0, 169}";
+ };
};
- 8B6DBAB5213B5E6A00E44739 /* PBXTextBookmark */ = {
+ 8B792EE421F48F26006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */;
name = "VariMuProc.cpp: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 188;
+ vrLen = 169;
vrLoc = 0;
};
- 8B6DBAB6213B5E6A00E44739 /* VariMuProc.cpp */ = {
+ 8B792EE921F48F73006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8B792EEA21F48F73006E9731 /* VariMuProc.cpp */;
+ name = "VariMuProc.cpp: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 169;
+ vrLoc = 0;
+ };
+ 8B792EEA21F48F73006E9731 /* VariMuProc.cpp */ = {
isa = PBXFileReference;
name = VariMuProc.cpp;
path = /Users/christopherjohnson/Desktop/MacVST/VariMu/source/VariMuProc.cpp;
@@ -117,15 +122,15 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {554, 6708}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 188}";
+ sepNavVisRange = "{0, 169}";
};
};
8BA05A660720730100365D66 /* Pop.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 4953}}";
- sepNavSelRange = "{10564, 3718}";
- sepNavVisRange = "{12637, 2394}";
- sepNavWindowFrame = "{{570, 66}, {1145, 812}}";
+ sepNavIntBoundsRect = "{{0, 0}, {1098, 4758}}";
+ sepNavSelRange = "{14221, 0}";
+ sepNavVisRange = "{12566, 2051}";
+ sepNavWindowFrame = "{{205, 66}, {1145, 812}}";
};
};
8BA05A670720730100365D66 /* Pop.exp */ = {
@@ -146,10 +151,10 @@
};
8BC6025B073B072D006C4272 /* Pop.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {810, 2288}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 2028}}";
sepNavSelRange = "{5470, 0}";
- sepNavVisRange = "{5301, 133}";
- sepNavWindowFrame = "{{691, 65}, {787, 813}}";
+ sepNavVisRange = "{4265, 1315}";
+ sepNavWindowFrame = "{{444, 65}, {787, 813}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3
index 117e75b..3f71234 100755
--- a/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Pop/Pop.xcodeproj/christopherjohnson.perspectivev3
@@ -298,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -322,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>584 391 810 487 0 0 1440 878 </string>
+ <string>490 387 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -333,8 +333,6 @@
<key>Dock</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -352,12 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B6DBAB5213B5E6A00E44739</string>
+ <string>8B792EE921F48F73006E9731</string>
<key>history</key>
<array>
<string>8B6DBAB1213B5E6A00E44739</string>
<string>8B6DBAB2213B5E6A00E44739</string>
- <string>8B6DBAB3213B5E6A00E44739</string>
+ <string>8B792EE421F48F26006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 102}}</string>
+ <string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
- <string>584 391 810 487 0 0 1440 878 </string>
+ <string>490 387 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>102pt</string>
+ <string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>339pt</string>
+ <string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 312}}</string>
- <key>RubberWindowFrame</key>
- <string>584 391 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 328}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 328}}</string>
+ <key>RubberWindowFrame</key>
+ <string>490 387 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B6DBAB7213B5E6A00E44739</string>
+ <string>8B792EEB21F48F73006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B6DBAB8213B5E6A00E44739</string>
+ <string>8B792EEC21F48F73006E9731</string>
<string>8BFDB0BC213A19540079F90D</string>
- <string>8B6DBAB9213B5E6A00E44739</string>
+ <string>8B792EED21F48F73006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557538922.04973304</real>
+ <real>569675635.69867206</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -657,7 +655,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Pop/Pop.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>584 391 810 487 0 0 1440 878 </string>
+ <string>490 387 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PowerSag/PowerSag.cpp b/plugins/MacAU/PowerSag/PowerSag.cpp
index 8bd8b1e..95f70d2 100755
--- a/plugins/MacAU/PowerSag/PowerSag.cpp
+++ b/plugins/MacAU/PowerSag/PowerSag.cpp
@@ -169,9 +169,7 @@ void PowerSag::PowerSagKernel::Reset()
for(int count = 0; count < 8999; count++) {d[count] = 0;}
control = 0;
gcount = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -193,11 +191,6 @@ void PowerSag::PowerSagKernel::Process( const Float32 *inSourceP,
Float64 thickness;
Float64 out;
Float64 bridgerectifier;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -256,20 +249,11 @@ void PowerSag::PowerSagKernel::Process( const Float32 *inSourceP,
inputSample *= clamp;
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PowerSag/PowerSag.h b/plugins/MacAU/PowerSag/PowerSag.h
index c55bc36..ef594dc 100755
--- a/plugins/MacAU/PowerSag/PowerSag.h
+++ b/plugins/MacAU/PowerSag/PowerSag.h
@@ -131,10 +131,7 @@ public:
Float64 d[9000];
Float64 control;
int gcount;
-
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser
index 604cc41..e6e7e63 100755
--- a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.pbxuser
@@ -49,44 +49,44 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457549;
- PBXWorkspaceStateSaveDate = 528457549;
+ PBXPerProjectTemplateStateSaveDate = 569675661;
+ PBXWorkspaceStateSaveDate = 569675661;
};
perUserProjectItems = {
- 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */ = 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */;
- 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */ = 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */;
+ 8B792EFB21F4905E006E9731 /* PBXTextBookmark */ = 8B792EFB21F4905E006E9731 /* PBXTextBookmark */;
+ 8B792F0021F49091006E9731 /* PBXTextBookmark */ = 8B792F0021F49091006E9731 /* PBXTextBookmark */;
8BB300131EE206710016C2D8 /* PlistBookmark */ = 8BB300131EE206710016C2D8 /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D66491F7C8C32007AB60F /* PBXTextBookmark */ = {
+ 8B792EFB21F4905E006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PowerSag.cpp */;
- name = "PowerSag.cpp: 188";
+ name = "PowerSag.cpp: 186";
rLen = 0;
- rLoc = 8459;
+ rLoc = 8424;
rType = 0;
- vrLen = 573;
- vrLoc = 8121;
+ vrLen = 439;
+ vrLoc = 8244;
};
- 8B9D75751F7F9F5D007AB60F /* PBXTextBookmark */ = {
+ 8B792F0021F49091006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PowerSag.cpp */;
- name = "PowerSag.cpp: 188";
+ name = "PowerSag.cpp: 186";
rLen = 0;
- rLoc = 8459;
+ rLoc = 8424;
rType = 0;
- vrLen = 571;
- vrLoc = 8121;
+ vrLen = 439;
+ vrLoc = 8244;
};
8BA05A660720730100365D66 /* PowerSag.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3744}}";
- sepNavSelRange = "{8459, 0}";
- sepNavVisRange = "{8121, 571}";
- sepNavWindowFrame = "{{746, 43}, {679, 835}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3562}}";
+ sepNavSelRange = "{8424, 0}";
+ sepNavVisRange = "{8244, 439}";
+ sepNavWindowFrame = "{{625, 43}, {679, 835}}";
};
};
8BA05A690720730100365D66 /* PowerSagVersion.h */ = {
@@ -111,10 +111,10 @@
};
8BC6025B073B072D006C4272 /* PowerSag.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
- sepNavSelRange = "{5175, 52}";
- sepNavVisRange = "{3808, 1596}";
- sepNavWindowFrame = "{{761, 43}, {679, 835}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
+ sepNavSelRange = "{5226, 0}";
+ sepNavVisRange = "{3698, 1662}";
+ sepNavWindowFrame = "{{126, 32}, {679, 835}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3
index b64b182..c90dcdd 100755
--- a/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PowerSag/PowerSag.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 187 841 654 0 0 1440 878 </string>
+ <string>422 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75751F7F9F5D007AB60F</string>
+ <string>8B792F0021F49091006E9731</string>
<key>history</key>
<array>
<string>8BB300131EE206710016C2D8</string>
- <string>8B9D66491F7C8C32007AB60F</string>
+ <string>8B792EFB21F4905E006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
- <string>599 187 841 654 0 0 1440 878 </string>
+ <string>422 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>599 187 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>422 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75761F7F9F5D007AB60F</string>
+ <string>8B792F0121F49091006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75771F7F9F5D007AB60F</string>
+ <string>8B792F0221F49091006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D75781F7F9F5D007AB60F</string>
+ <string>8B792F0321F49091006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457565.97925901</real>
+ <real>569675921.48933697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75791F7F9F5D007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PowerSag/PowerSag.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 187 841 654 0 0 1440 878 </string>
+ <string>422 210 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Pressure4/Pressure4.cpp b/plugins/MacAU/Pressure4/Pressure4.cpp
index 4780f45..9fbbe85 100755
--- a/plugins/MacAU/Pressure4/Pressure4.cpp
+++ b/plugins/MacAU/Pressure4/Pressure4.cpp
@@ -198,10 +198,8 @@ ComponentResult Pressure4::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult Pressure4::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
muSpeedA = 10000;
muSpeedB = 10000;
muCoefficientA = 1;
@@ -257,9 +255,6 @@ OSStatus Pressure4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
unmewiness = 1.0-mewiness;
}
// µ µ µ µ µ µ µ µ µ µ µ µ is the kitten song o/~
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
@@ -407,27 +402,16 @@ OSStatus Pressure4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
else {inputSampleR = -bridgerectifier;}
//second stage of overdrive to prevent overs and allow bloody loud extremeness
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Pressure4/Pressure4.h b/plugins/MacAU/Pressure4/Pressure4.h
index a6926ee..6534c46 100755
--- a/plugins/MacAU/Pressure4/Pressure4.h
+++ b/plugins/MacAU/Pressure4/Pressure4.h
@@ -125,10 +125,8 @@ public:
Float64 muSpeedB;
Float64 muCoefficientA;
Float64 muCoefficientB;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
+ long double fpNShapeL;
+ long double fpNShapeR;
bool flip;
};
diff --git a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser
index 99a6c24..3758f60 100755
--- a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553809064;
- PBXWorkspaceStateSaveDate = 553809064;
+ PBXPerProjectTemplateStateSaveDate = 569677045;
+ PBXWorkspaceStateSaveDate = 569677045;
};
perUserProjectItems = {
- 8B050BBA2064897B00700365 /* PBXTextBookmark */ = 8B050BBA2064897B00700365 /* PBXTextBookmark */;
- 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */ = 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */;
- 8BB8B6702102844E00751000 /* PBXTextBookmark */ = 8BB8B6702102844E00751000 /* PBXTextBookmark */;
+ 8B792F5421F495A9006E9731 /* PBXTextBookmark */ = 8B792F5421F495A9006E9731 /* PBXTextBookmark */;
+ 8B792F5521F495A9006E9731 /* PBXTextBookmark */ = 8B792F5521F495A9006E9731 /* PBXTextBookmark */;
+ 8B792F5621F495A9006E9731 /* PBXTextBookmark */ = 8B792F5621F495A9006E9731 /* PBXTextBookmark */;
8BEF33C81D81F6D7008B0B7F /* PlistBookmark */ = 8BEF33C81D81F6D7008B0B7F /* PlistBookmark */;
8BEF33C91D81F6D7008B0B7F /* PBXTextBookmark */ = 8BEF33C91D81F6D7008B0B7F /* PBXTextBookmark */;
};
@@ -63,31 +63,41 @@
userBuildSettings = {
};
};
- 8B050BBA2064897B00700365 /* PBXTextBookmark */ = {
+ 8B792F5421F495A9006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Pressure4.h */;
- name = "Pressure4.h: 128";
- rLen = 117;
- rLoc = 5265;
+ name = "Pressure4.h: 129";
+ rLen = 0;
+ rLoc = 5292;
+ rType = 0;
+ vrLen = 1148;
+ vrLoc = 4280;
+ };
+ 8B792F5521F495A9006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */;
+ name = "Pressure4.cpp: 201";
+ rLen = 0;
+ rLoc = 8945;
rType = 0;
- vrLen = 1019;
- vrLoc = 4469;
+ vrLen = 1378;
+ vrLoc = 15227;
};
- 8B8D6983207ABA4C0029B7B0 /* PBXTextBookmark */ = {
+ 8B792F5621F495A9006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */;
- name = "Pressure4.cpp: 210";
+ name = "Pressure4.cpp: 202";
rLen = 0;
- rLoc = 9108;
+ rLoc = 8956;
rType = 0;
- vrLen = 1508;
- vrLoc = 8385;
+ vrLen = 1347;
+ vrLoc = 15277;
};
8BA05A660720730100365D66 /* Pressure4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {693, 6006}}";
- sepNavSelRange = "{9108, 0}";
- sepNavVisRange = "{12471, 1500}";
+ sepNavIntBoundsRect = "{{0, 0}, {754, 5876}}";
+ sepNavSelRange = "{8956, 0}";
+ sepNavVisRange = "{15277, 1347}";
sepNavWindowFrame = "{{479, 48}, {895, 819}}";
};
};
@@ -99,21 +109,11 @@
sepNavWindowFrame = "{{15, 54}, {895, 819}}";
};
};
- 8BB8B6702102844E00751000 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Pressure4.cpp */;
- name = "Pressure4.cpp: 210";
- rLen = 0;
- rLoc = 9108;
- rType = 0;
- vrLen = 1500;
- vrLoc = 12471;
- };
8BC6025B073B072D006C4272 /* Pressure4.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}";
- sepNavSelRange = "{5265, 117}";
- sepNavVisRange = "{3662, 1826}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}";
+ sepNavSelRange = "{5292, 0}";
+ sepNavVisRange = "{4280, 1148}";
sepNavWindowFrame = "{{28, 51}, {895, 819}}";
};
};
diff --git a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3
index 6e47c82..e9da12e 100755
--- a/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Pressure4/Pressure4.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>1052</integer>
+ <integer>1052</integer>
</array>
<key>Perspectives</key>
<array>
@@ -299,7 +299,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -323,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>526 89 1052 789 0 0 1440 878 </string>
+ <string>259 89 1052 789 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,13 +353,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BB8B6702102844E00751000</string>
+ <string>8B792F5621F495A9006E9731</string>
<key>history</key>
<array>
<string>8BEF33C81D81F6D7008B0B7F</string>
<string>8BEF33C91D81F6D7008B0B7F</string>
- <string>8B050BBA2064897B00700365</string>
- <string>8B8D6983207ABA4C0029B7B0</string>
+ <string>8B792F5421F495A9006E9731</string>
+ <string>8B792F5521F495A9006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +373,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {742, 617}}</string>
+ <string>{{0, 0}, {742, 515}}</string>
<key>RubberWindowFrame</key>
- <string>526 89 1052 789 0 0 1440 878 </string>
+ <string>259 89 1052 789 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>617pt</string>
+ <string>515pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>126pt</string>
+ <string>228pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +398,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {742, 99}}</string>
- <key>RubberWindowFrame</key>
- <string>526 89 1052 789 0 0 1440 878 </string>
+ <string>{{10, 27}, {742, 201}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +452,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 327}}</string>
+ <string>{{10, 27}, {742, 201}}</string>
+ <key>RubberWindowFrame</key>
+ <string>259 89 1052 789 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +482,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB8B6712102844E00751000</string>
+ <string>8B792F5721F495A9006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB8B6722102844E00751000</string>
+ <string>8B792F5821F495A9006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BB8B6732102844E00751000</string>
+ <string>8B792F5921F495A9006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +659,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553813070.00637698</real>
+ <real>569677225.40901196</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +679,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Pressure4/Pressure4.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>526 89 1052 789 0 0 1440 878 </string>
+ <string>259 89 1052 789 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp b/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp
index c46cdcb..90991bc 100755
--- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp
+++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.cpp
@@ -182,8 +182,7 @@ ComponentResult Pressure4Mono::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void Pressure4Mono::Pressure4MonoKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
+ fpNShape = 0.0;
muSpeedA = 10000;
muSpeedB = 10000;
muCoefficientA = 1;
@@ -232,9 +231,6 @@ void Pressure4Mono::Pressure4MonoKernel::Process( const Float32 *inSourceP,
unmewiness = 1.0-mewiness;
}
// µ µ µ µ µ µ µ µ µ µ µ µ is the kitten song o/~
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -351,20 +347,14 @@ void Pressure4Mono::Pressure4MonoKernel::Process( const Float32 *inSourceP,
if (inputSample > 0){inputSample = bridgerectifier;}
else {inputSample = -bridgerectifier;}
//second stage of overdrive to prevent overs and allow bloody loud extremeness
-
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
destP += inNumChannels;
}
diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.h b/plugins/MacAU/Pressure4Mono/Pressure4Mono.h
index e88dbac..6c4b3df 100755
--- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.h
+++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.h
@@ -141,8 +141,7 @@ public:
Float64 muSpeedB;
Float64 muCoefficientA;
Float64 muCoefficientB;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
+ long double fpNShape;
bool flip;
};
diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser
index db6a4e5..28eee56 100755
--- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 389,
20,
48,
43,
@@ -49,44 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553813081;
- PBXWorkspaceStateSaveDate = 553813081;
+ PBXPerProjectTemplateStateSaveDate = 569677251;
+ PBXWorkspaceStateSaveDate = 569677251;
};
perUserProjectItems = {
- 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */ = 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */;
- 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */ = 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */;
- 8BB8B69021028B4200751000 /* PBXTextBookmark */ = 8BB8B69021028B4200751000 /* PBXTextBookmark */;
+ 8B792F6521F495EA006E9731 /* PBXTextBookmark */ = 8B792F6521F495EA006E9731 /* PBXTextBookmark */;
+ 8B792F6621F495EA006E9731 /* PBXTextBookmark */ = 8B792F6621F495EA006E9731 /* PBXTextBookmark */;
+ 8B792F6721F495EA006E9731 /* PBXTextBookmark */ = 8B792F6721F495EA006E9731 /* PBXTextBookmark */;
8BEF332D1D81E168008B0B7F /* PlistBookmark */ = 8BEF332D1D81E168008B0B7F /* PlistBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B2E03F31D837F81001B9E01 /* PBXTextBookmark */ = {
+ 8B792F6521F495EA006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Pressure4Mono.h */;
- name = "Pressure4Mono.h: 67";
+ name = "Pressure4Mono.h: 144";
rLen = 0;
- rLoc = 3269;
+ rLoc = 5594;
rType = 0;
- vrLen = 563;
- vrLoc = 2781;
+ vrLen = 452;
+ vrLoc = 5278;
};
- 8B9D75931F7F9FAE007AB60F /* PBXTextBookmark */ = {
+ 8B792F6621F495EA006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */;
- name = "Pressure4Mono.cpp: 201";
+ name = "Pressure4Mono.cpp: 358";
rLen = 0;
- rLoc = 9254;
+ rLoc = 14617;
rType = 0;
- vrLen = 662;
- vrLoc = 8746;
+ vrLen = 887;
+ vrLoc = 13781;
+ };
+ 8B792F6721F495EA006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */;
+ name = "Pressure4Mono.cpp: 358";
+ rLen = 0;
+ rLoc = 14617;
+ rType = 0;
+ vrLen = 814;
+ vrLoc = 13855;
};
8BA05A660720730100365D66 /* Pressure4Mono.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 4914}}";
- sepNavSelRange = "{9254, 0}";
- sepNavVisRange = "{8748, 660}";
+ sepNavIntBoundsRect = "{{0, 0}, {817, 4940}}";
+ sepNavSelRange = "{14617, 0}";
+ sepNavVisRange = "{13855, 814}";
sepNavWindowFrame = "{{687, 59}, {895, 819}}";
};
};
@@ -98,21 +108,11 @@
sepNavWindowFrame = "{{528, 59}, {895, 819}}";
};
};
- 8BB8B69021028B4200751000 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Pressure4Mono.cpp */;
- name = "Pressure4Mono.cpp: 201";
- rLen = 0;
- rLoc = 9254;
- rType = 0;
- vrLen = 660;
- vrLoc = 8748;
- };
8BC6025B073B072D006C4272 /* Pressure4Mono.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2002}}";
- sepNavSelRange = "{2979, 0}";
- sepNavVisRange = "{4196, 1545}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}";
+ sepNavSelRange = "{5594, 0}";
+ sepNavVisRange = "{5278, 452}";
sepNavWindowFrame = "{{545, 52}, {895, 819}}";
};
};
diff --git a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3
index 8a308b1..72322fc 100755
--- a/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>191</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {191, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {208, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>191</real>
</array>
<key>RubberWindowFrame</key>
- <string>651 172 841 654 0 0 1440 878 </string>
+ <string>471 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>208pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -353,12 +351,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BB8B69021028B4200751000</string>
+ <string>8B792F6721F495EA006E9731</string>
<key>history</key>
<array>
<string>8BEF332D1D81E168008B0B7F</string>
- <string>8B2E03F31D837F81001B9E01</string>
- <string>8B9D75931F7F9FAE007AB60F</string>
+ <string>8B792F6521F495EA006E9731</string>
+ <string>8B792F6621F495EA006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {628, 336}}</string>
<key>RubberWindowFrame</key>
- <string>651 172 841 654 0 0 1440 878 </string>
+ <string>471 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>336pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>272pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
- <key>RubberWindowFrame</key>
- <string>651 172 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {628, 245}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {628, 245}}</string>
+ <key>RubberWindowFrame</key>
+ <string>471 181 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>628pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB8B69121028B4200751000</string>
+ <string>8B792F6821F495EA006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB8B69221028B4200751000</string>
+ <string>8B792F6921F495EA006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BB8B69321028B4200751000</string>
+ <string>8B792F6A21F495EA006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553814850.34887004</real>
+ <real>569677290.01837504</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BB8B69421028B4200751000</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Pressure4Mono/Pressure4Mono.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>651 172 841 654 0 0 1440 878 </string>
+ <string>471 181 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp
index 48f223b..d0b8cf9 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.cpp
@@ -150,9 +150,7 @@ ComponentResult PurestConsoleBuss::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void PurestConsoleBuss::PurestConsoleBussKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -168,10 +166,6 @@ void PurestConsoleBuss::PurestConsoleBussKernel::Process( const Float32 *inSou
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -208,20 +202,12 @@ void PurestConsoleBuss::PurestConsoleBussKernel::Process( const Float32 *inSou
inputSample = asin(inputSample);
//amplitude aspect
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
-
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h
index a3df04f..590e797 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.h
@@ -118,9 +118,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser
index 3851c37..5e3513c 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,21 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538687633;
- PBXWorkspaceStateSaveDate = 538687633;
+ PBXPerProjectTemplateStateSaveDate = 569585234;
+ PBXWorkspaceStateSaveDate = 569585234;
};
perUserProjectItems = {
- 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */ = 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */;
- 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */ = 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */;
+ 8B34923F2054559600C0EF7D /* PlistBookmark */ = 8B34923F2054559600C0EF7D /* PlistBookmark */;
+ 8B79265921F32EAB006E9731 /* PBXBookmark */ = 8B79265921F32EAB006E9731 /* PBXBookmark */;
+ 8B79265F21F32F13006E9731 /* PBXTextBookmark */ = 8B79265F21F32F13006E9731 /* PBXTextBookmark */;
+ 8B79266421F32F25006E9731 /* PBXTextBookmark */ = 8B79266421F32F25006E9731 /* PBXTextBookmark */;
+ 8B79266721F32F25006E9731 /* PBXTextBookmark */ = 8B79266721F32F25006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4E550F201BB8BF00B5DC2A /* PlistBookmark */ = {
+ 8B34923F2054559600C0EF7D /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -68,16 +71,50 @@
kPath = (
CFBundleName,
);
- name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleBuss/Info.plist;
+ name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/Info.plist;
+ rLen = 0;
+ rLoc = 9223372036854775808;
+ };
+ 8B79265921F32EAB006E9731 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */;
+ };
+ 8B79265F21F32F13006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */;
+ name = "PurestConsoleBuss.cpp: 210";
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 9637;
+ rType = 0;
+ vrLen = 493;
+ vrLoc = 9142;
+ };
+ 8B79266421F32F25006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */;
+ name = "PurestConsoleBuss.cpp: 210";
+ rLen = 0;
+ rLoc = 9637;
+ rType = 0;
+ vrLen = 493;
+ vrLoc = 9142;
+ };
+ 8B79266721F32F25006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */;
+ name = "PurestConsoleBuss.cpp: 168";
+ rLen = 0;
+ rLoc = 7709;
+ rType = 0;
+ vrLen = 2197;
+ vrLoc = 7528;
};
8BA05A660720730100365D66 /* PurestConsoleBuss.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 3198}}";
- sepNavSelRange = "{9296, 242}";
- sepNavVisRange = "{7889, 2106}";
- sepNavWindowFrame = "{{545, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 2990}}";
+ sepNavSelRange = "{9637, 0}";
+ sepNavVisRange = "{9142, 493}";
+ sepNavWindowFrame = "{{301, 26}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* PurestConsoleBussVersion.h */ = {
@@ -88,23 +125,11 @@
sepNavWindowFrame = "{{461, 39}, {895, 839}}";
};
};
- 8BBE45541FE5F3CA0022E6F7 /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775808;
- };
8BC6025B073B072D006C4272 /* PurestConsoleBuss.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1690}}";
- sepNavSelRange = "{2904, 0}";
- sepNavVisRange = "{2002, 1900}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1664}}";
+ sepNavSelRange = "{4995, 0}";
+ sepNavVisRange = "{3220, 1877}";
sepNavWindowFrame = "{{539, 39}, {895, 839}}";
};
};
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3
index f555b58..699b00b 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/christopherjohnson.perspectivev3
@@ -222,11 +222,52 @@
</dict>
</array>
<key>OpenEditors</key>
- <array/>
+ <array>
+ <dict>
+ <key>Content</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B79266521F32F25006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PurestConsoleBuss.cpp</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B79266621F32F25006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PurestConsoleBuss.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B79266721F32F25006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B79265921F32EAB006E9731</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>Geometry</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 20}, {895, 742}}</string>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <false/>
+ <key>RubberWindowFrame</key>
+ <string>301 82 895 783 0 0 1440 878 </string>
+ </dict>
+ </dict>
+ </array>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>841</integer>
+ <integer>841</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +297,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -301,7 +340,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -325,7 +364,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 222 841 654 0 0 1440 878 </string>
+ <string>492 170 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,7 +380,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>PurestConsoleBuss.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,14 +388,15 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>PurestConsoleBuss.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E550F201BB8BF00B5DC2A</string>
+ <string>8B79266421F32F25006E9731</string>
<key>history</key>
<array>
- <string>8BBE45541FE5F3CA0022E6F7</string>
+ <string>8B34923F2054559600C0EF7D</string>
+ <string>8B79265F21F32F13006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +410,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 188}}</string>
<key>RubberWindowFrame</key>
- <string>599 222 841 654 0 0 1440 878 </string>
+ <string>492 170 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>188pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>420pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +435,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>599 222 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 393}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +489,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {531, 393}}</string>
+ <key>RubberWindowFrame</key>
+ <string>492 170 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +519,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E5510201BB8BF00B5DC2A</string>
+ <string>8B79265421F32E69006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E5511201BB8BF00B5DC2A</string>
+ <string>8B79265521F32E69006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E5512201BB8BF00B5DC2A</string>
+ <string>8B79265621F32E69006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +696,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538687679.06755602</real>
+ <real>569585445.78409505</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +713,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4E5513201BB8BF00B5DC2A</string>
- <string>/Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj</string>
+ <string>8B79266521F32F25006E9731</string>
+ <string>/Users/christopherjohnson/Desktop/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 222 841 654 0 0 1440 878 </string>
+ <string>492 170 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj
index c25ead8..c25ead8 100644..100755
--- a/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/PurestConsoleBuss/PurestConsoleBuss.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp
index 7f47b65..b418640 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.cpp
@@ -150,9 +150,7 @@ ComponentResult PurestConsoleChannel::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void PurestConsoleChannel::PurestConsoleChannelKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -168,10 +166,6 @@ void PurestConsoleChannel::PurestConsoleChannelKernel::Process( const Float32
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -203,20 +197,12 @@ void PurestConsoleChannel::PurestConsoleChannelKernel::Process( const Float32
inputSample = sin(inputSample);
//amplitude aspect
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h
index 5cf13da..0beecd1 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.h
@@ -119,9 +119,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser
index dcf6a55..44838c0 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,19 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538686827;
- PBXWorkspaceStateSaveDate = 538686827;
+ PBXPerProjectTemplateStateSaveDate = 569585667;
+ PBXWorkspaceStateSaveDate = 569585667;
};
perUserProjectItems = {
- 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */ = 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */;
- 8B4E54C3201BB57400B5DC2A /* PlistBookmark */ = 8B4E54C3201BB57400B5DC2A /* PlistBookmark */;
+ 8B34922E2054553C00C0EF7D /* PlistBookmark */ = 8B34922E2054553C00C0EF7D /* PlistBookmark */;
+ 8B79267521F33079006E9731 /* PBXTextBookmark */ = 8B79267521F33079006E9731 /* PBXTextBookmark */;
+ 8B79267A21F3308F006E9731 /* PBXTextBookmark */ = 8B79267A21F3308F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B4E54B5201BB4AE00B5DC2A /* PlistBookmark */ = {
+ 8B34922E2054553C00C0EF7D /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -68,28 +69,36 @@
kPath = (
CFBundleName,
);
- name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/Info.plist;
+ name = /Users/christopherjohnson/Desktop/MacAU/PurestConsoleChannel/Info.plist;
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B4E54C3201BB57400B5DC2A /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/Info.plist;
+ 8B79267521F33079006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */;
+ name = "PurestConsoleChannel.cpp: 206";
+ rLen = 0;
+ rLoc = 9532;
+ rType = 0;
+ vrLen = 213;
+ vrLoc = 9160;
+ };
+ 8B79267A21F3308F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */;
+ name = "PurestConsoleChannel.cpp: 206";
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 9532;
+ rType = 0;
+ vrLen = 213;
+ vrLoc = 9160;
};
8BA05A660720730100365D66 /* PurestConsoleChannel.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 3094}}";
- sepNavSelRange = "{9377, 56}";
- sepNavVisRange = "{7017, 2416}";
- sepNavWindowFrame = "{{545, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 2873}}";
+ sepNavSelRange = "{9532, 0}";
+ sepNavVisRange = "{9160, 213}";
+ sepNavWindowFrame = "{{352, 39}, {895, 839}}";
};
};
8BA05A690720730100365D66 /* PurestConsoleChannelVersion.h */ = {
@@ -102,10 +111,10 @@
};
8BC6025B073B072D006C4272 /* PurestConsoleChannel.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}";
- sepNavSelRange = "{2920, 0}";
- sepNavVisRange = "{1797, 2033}";
- sepNavWindowFrame = "{{705, 39}, {895, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1677}}";
+ sepNavSelRange = "{5033, 0}";
+ sepNavVisRange = "{3380, 1763}";
+ sepNavWindowFrame = "{{307, 39}, {895, 839}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3
index f3c675f..18c4f2b 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>584 203 841 654 0 0 1440 878 </string>
+ <string>388 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>PurestConsoleChannel.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,14 +347,15 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>PurestConsoleChannel.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E54C3201BB57400B5DC2A</string>
+ <string>8B79267A21F3308F006E9731</string>
<key>history</key>
<array>
- <string>8B4E54B5201BB4AE00B5DC2A</string>
+ <string>8B34922E2054553C00C0EF7D</string>
+ <string>8B79267521F33079006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 126}}</string>
<key>RubberWindowFrame</key>
- <string>584 203 841 654 0 0 1440 878 </string>
+ <string>388 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>126pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>482pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>584 203 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 455}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 455}}</string>
+ <key>RubberWindowFrame</key>
+ <string>388 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E54C4201BB57400B5DC2A</string>
+ <string>8B79267B21F3308F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E54C5201BB57400B5DC2A</string>
+ <string>8B79267C21F3308F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B4E54C6201BB57400B5DC2A</string>
+ <string>8B79267D21F3308F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538686836.144647</real>
+ <real>569585807.50112402</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +672,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4E54C7201BB57400B5DC2A</string>
- <string>/Users/christopherjohnson/Desktop/github/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj</string>
+ <string>/Users/christopherjohnson/Desktop/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>584 203 841 654 0 0 1440 878 </string>
+ <string>388 183 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj
index a832a58..a832a58 100644..100755
--- a/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/PurestConsoleChannel/PurestConsoleChannel.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.cpp b/plugins/MacAU/PurestDrive/PurestDrive.cpp
index fe73631..7f6d0a0 100644..100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.cpp
+++ b/plugins/MacAU/PurestDrive/PurestDrive.cpp
@@ -159,9 +159,7 @@ ComponentResult PurestDrive::Initialize()
void PurestDrive::PurestDriveKernel::Reset()
{
previousSample = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
@@ -182,9 +180,6 @@ void PurestDrive::PurestDriveKernel::Process( const Float32 *inSourceP,
long double inputSample;
long double drySample;
Float64 apply;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -227,19 +222,11 @@ void PurestDrive::PurestDriveKernel::Process( const Float32 *inSourceP,
previousSample = sin(drySample);
//apply the sine while storing previous sample
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.h b/plugins/MacAU/PurestDrive/PurestDrive.h
index 5f5aaa0..54809d8 100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.h
+++ b/plugins/MacAU/PurestDrive/PurestDrive.h
@@ -126,9 +126,7 @@ public:
private:
double previousSample;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3 b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3
index 75a6c26..75a6c26 100644..100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3
+++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).mode1v3
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser
index a5bba60..a5bba60 100644..100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser
+++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson (Christopher-Johnsons-MacBook-Pro-2's conflicted copy 2015-05-07).pbxuser
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser
index 197baf6..f2badd1 100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 538686890;
- PBXWorkspaceStateSaveDate = 538686890;
+ PBXPerProjectTemplateStateSaveDate = 569585875;
+ PBXWorkspaceStateSaveDate = 569585875;
};
perUserProjectItems = {
8B4E546B201BAC8800B5DC2A /* PBXTextBookmark */ = 8B4E546B201BAC8800B5DC2A /* PBXTextBookmark */;
- 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */ = 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */;
8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */;
+ 8B79268621F330ED006E9731 /* PBXBookmark */ = 8B79268621F330ED006E9731 /* PBXBookmark */;
+ 8B79268F21F33157006E9731 /* PBXTextBookmark */ = 8B79268F21F33157006E9731 /* PBXTextBookmark */;
+ 8B79269521F33157006E9731 /* PBXTextBookmark */ = 8B79269521F33157006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -66,12 +68,12 @@
fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */;
name = "PurestDrive.cpp: 243";
rLen = 0;
- rLoc = 10597;
+ rLoc = 10326;
rType = 0;
vrLen = 174;
vrLoc = 8595;
};
- 8B4E54A2201BB36200B5DC2A /* PBXTextBookmark */ = {
+ 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* PurestDriveVersion.h */;
name = "PurestDriveVersion.h: 55";
@@ -81,7 +83,11 @@
vrLen = 0;
vrLoc = 0;
};
- 8B4E54E4201BB69000B5DC2A /* PBXTextBookmark */ = {
+ 8B79268621F330ED006E9731 /* PBXBookmark */ = {
+ isa = PBXBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */;
+ };
+ 8B79268F21F33157006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* PurestDriveVersion.h */;
name = "PurestDriveVersion.h: 55";
@@ -91,12 +97,22 @@
vrLen = 0;
vrLoc = 0;
};
+ 8B79269521F33157006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestDrive.cpp */;
+ name = "PurestDrive.cpp: 230";
+ rLen = 0;
+ rLoc = 10324;
+ rType = 0;
+ vrLen = 2327;
+ vrLoc = 8156;
+ };
8BA05A660720730100365D66 /* PurestDrive.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {934, 3419}}";
- sepNavSelRange = "{9713, 510}";
- sepNavVisRange = "{7324, 2454}";
- sepNavWindowFrame = "{{459, 58}, {981, 816}}";
+ sepNavIntBoundsRect = "{{0, 0}, {934, 3263}}";
+ sepNavSelRange = "{10324, 0}";
+ sepNavVisRange = "{8156, 2327}";
+ sepNavWindowFrame = "{{255, 47}, {981, 816}}";
};
};
8BA05A670720730100365D66 /* PurestDrive.exp */ = {
@@ -124,9 +140,9 @@
};
8BC6025B073B072D006C4272 /* PurestDrive.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {934, 1794}}";
- sepNavSelRange = "{5101, 0}";
- sepNavVisRange = "{438, 2642}";
+ sepNavIntBoundsRect = "{{0, 0}, {934, 1768}}";
+ sepNavSelRange = "{5140, 0}";
+ sepNavVisRange = "{3607, 1646}";
sepNavWindowFrame = "{{459, 62}, {981, 816}}";
};
};
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3
index dea99d5..c9284f3 100644..100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/christopherjohnson.perspectivev3
@@ -222,7 +222,48 @@
</dict>
</array>
<key>OpenEditors</key>
- <array/>
+ <array>
+ <dict>
+ <key>Content</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B79269321F33157006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PurestDrive.cpp</string>
+ <key>PBXSplitModuleInNavigatorKey</key>
+ <dict>
+ <key>Split0</key>
+ <dict>
+ <key>PBXProjectModuleGUID</key>
+ <string>8B79269421F33157006E9731</string>
+ <key>PBXProjectModuleLabel</key>
+ <string>PurestDrive.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B79269521F33157006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B79268621F330ED006E9731</string>
+ </array>
+ </dict>
+ <key>SplitCount</key>
+ <string>1</string>
+ </dict>
+ <key>StatusBarVisibility</key>
+ <true/>
+ </dict>
+ <key>Geometry</key>
+ <dict>
+ <key>Frame</key>
+ <string>{{0, 20}, {981, 719}}</string>
+ <key>PBXModuleWindowStatusBarHidden2</key>
+ <false/>
+ <key>RubberWindowFrame</key>
+ <string>255 103 981 760 0 0 1440 878 </string>
+ </dict>
+ </dict>
+ </array>
<key>PerspectiveWidths</key>
<array>
<integer>810</integer>
@@ -323,7 +364,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>466 344 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -351,11 +392,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B4E54E4201BB69000B5DC2A</string>
+ <string>8B79268F21F33157006E9731</string>
<key>history</key>
<array>
<string>8B4E546B201BAC8800B5DC2A</string>
- <string>8B4E54A2201BB36200B5DC2A</string>
+ <string>8B4E54E4201BB69000B5DC2A</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,23 +410,21 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 13}}</string>
+ <string>{{0, 0}, {603, 0}}</string>
<key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>466 344 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>13pt</string>
+ <string>0pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>441pt</string>
<key>Tabs</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -396,9 +435,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 414}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +489,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
+ <string>{{10, 27}, {603, 414}}</string>
+ <key>RubberWindowFrame</key>
+ <string>466 344 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +519,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B4E54E5201BB69000B5DC2A</string>
+ <string>8B79269021F33157006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B4E54E6201BB69000B5DC2A</string>
+ <string>8B79269121F33157006E9731</string>
<string>8B08D48D1C9DE5FB007CAA65</string>
- <string>8B4E54E7201BB69000B5DC2A</string>
+ <string>8B79269221F33157006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +676,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>538687120.62552202</real>
+ <real>569586007.10360599</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +693,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B4E54E8201BB69000B5DC2A</string>
+ <string>8B79269321F33157006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PurestDrive/PurestDrive.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 344 810 487 0 0 1440 878 </string>
+ <string>466 344 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj
index 0d9763c..0d9763c 100644..100755
--- a/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/PurestDrive/PurestDrive.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/PurestEcho/PurestEcho.cpp b/plugins/MacAU/PurestEcho/PurestEcho.cpp
index 86ef0f6..cfbb9fd 100755
--- a/plugins/MacAU/PurestEcho/PurestEcho.cpp
+++ b/plugins/MacAU/PurestEcho/PurestEcho.cpp
@@ -197,9 +197,7 @@ void PurestEcho::PurestEchoKernel::Reset()
for(int count = 0; count < totalsamples-1; count++) {d[count] = 0;}
gcount = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -275,11 +273,7 @@ void PurestEcho::PurestEchoKernel::Process( const Float32 *inSourceP,
//you zero attenuation at 22 kilohertz: forget this at your peril ;)
Float64 delaysBuffer;
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -344,19 +338,11 @@ void PurestEcho::PurestEchoKernel::Process( const Float32 *inSourceP,
gcount--;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PurestEcho/PurestEcho.h b/plugins/MacAU/PurestEcho/PurestEcho.h
index 7ec5461..7ed818b 100755
--- a/plugins/MacAU/PurestEcho/PurestEcho.h
+++ b/plugins/MacAU/PurestEcho/PurestEcho.h
@@ -140,9 +140,7 @@ public:
const static int totalsamples = 65535;
Float32 d[totalsamples];
int gcount;
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser
index bd4e607..4a50060 100755
--- a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457655;
- PBXWorkspaceStateSaveDate = 528457655;
+ PBXPerProjectTemplateStateSaveDate = 569586044;
+ PBXWorkspaceStateSaveDate = 569586044;
};
perUserProjectItems = {
8B18E4181EE3577D005C6C5A /* PlistBookmark */ = 8B18E4181EE3577D005C6C5A /* PlistBookmark */;
- 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */ = 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */;
- 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */ = 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */;
+ 8B7926A321F33202006E9731 /* PBXTextBookmark */ = 8B7926A321F33202006E9731 /* PBXTextBookmark */;
+ 8B7926A821F3322B006E9731 /* PBXTextBookmark */ = 8B7926A821F3322B006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,32 +73,32 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D66831F7C8CE1007AB60F /* PBXTextBookmark */ = {
+ 8B7926A321F33202006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PurestEcho.cpp */;
- name = "PurestEcho.cpp: 325";
+ name = "PurestEcho.cpp: 323";
rLen = 0;
- rLoc = 15603;
+ rLoc = 15450;
rType = 0;
- vrLen = 282;
- vrLoc = 13171;
+ vrLen = 271;
+ vrLoc = 13178;
};
- 8B9D75A21F7F9FC4007AB60F /* PBXTextBookmark */ = {
+ 8B7926A821F3322B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PurestEcho.cpp */;
- name = "PurestEcho.cpp: 325";
+ name = "PurestEcho.cpp: 319";
rLen = 0;
- rLoc = 15603;
+ rLoc = 15450;
rType = 0;
- vrLen = 259;
- vrLoc = 13194;
+ vrLen = 494;
+ vrLoc = 13188;
};
8BA05A660720730100365D66 /* PurestEcho.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {845, 4758}}";
- sepNavSelRange = "{15603, 0}";
- sepNavVisRange = "{13194, 259}";
- sepNavWindowFrame = "{{488, 39}, {952, 839}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4745}}";
+ sepNavSelRange = "{15450, 0}";
+ sepNavVisRange = "{13188, 494}";
+ sepNavWindowFrame = "{{351, 39}, {952, 839}}";
};
};
8BA05A690720730100365D66 /* PurestEchoVersion.h */ = {
@@ -111,9 +111,9 @@
};
8BC6025B073B072D006C4272 /* PurestEcho.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {905, 1963}}";
- sepNavSelRange = "{5651, 65}";
- sepNavVisRange = "{4192, 1633}";
+ sepNavIntBoundsRect = "{{0, 0}, {905, 1937}}";
+ sepNavSelRange = "{5673, 0}";
+ sepNavVisRange = "{4087, 1697}";
sepNavWindowFrame = "{{488, 39}, {952, 839}}";
};
};
diff --git a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3
index 07a9d55..7fbebe1 100755
--- a/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestEcho/PurestEcho.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>841</integer>
+ <integer>841</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>591 207 841 654 0 0 1440 878 </string>
+ <string>484 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75A21F7F9FC4007AB60F</string>
+ <string>8B7926A821F3322B006E9731</string>
<key>history</key>
<array>
<string>8B18E4181EE3577D005C6C5A</string>
- <string>8B9D66831F7C8CE1007AB60F</string>
+ <string>8B7926A321F33202006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 158}}</string>
+ <string>{{0, 0}, {531, 142}}</string>
<key>RubberWindowFrame</key>
- <string>591 207 841 654 0 0 1440 878 </string>
+ <string>484 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>158pt</string>
+ <string>142pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>450pt</string>
+ <string>466pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 423}}</string>
- <key>RubberWindowFrame</key>
- <string>591 207 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 439}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {531, 439}}</string>
+ <key>RubberWindowFrame</key>
+ <string>484 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75A31F7F9FC4007AB60F</string>
+ <string>8B7926A921F3322B006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75A41F7F9FC4007AB60F</string>
+ <string>8B7926AA21F3322B006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D75A51F7F9FC4007AB60F</string>
+ <string>8B7926AB21F3322B006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457668.15951699</real>
+ <real>569586219.97907698</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +672,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75A61F7F9FC4007AB60F</string>
+ <string>8B7926AC21F3322B006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PurestEcho/PurestEcho.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>591 207 841 654 0 0 1440 878 </string>
+ <string>484 210 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestGain/PurestGain.cpp b/plugins/MacAU/PurestGain/PurestGain.cpp
index fe5477c..6bc46d5 100644..100755
--- a/plugins/MacAU/PurestGain/PurestGain.cpp
+++ b/plugins/MacAU/PurestGain/PurestGain.cpp
@@ -170,9 +170,7 @@ void PurestGain::PurestGainKernel::Reset()
settingchase = -90.0;
gainBchase = -90.0;
chasespeed = 350.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -187,7 +185,6 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
Float64 inputgain = GetParameter( kParam_One );
if (settingchase != inputgain) {
@@ -216,8 +213,6 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP,
Float64 outputgain;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSample;
while (nSampleFrames-- > 0) {
@@ -266,38 +261,17 @@ void PurestGain::PurestGainKernel::Process( const Float32 *inSourceP,
}
- if (1.0 == outputgain)
- {
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- }
- fpFlip = not fpFlip;
- //continue noise shaping when bypassing
- *destP = *sourceP;
- }
+ if (1.0 == outputgain) *destP = *sourceP;
else
{
inputSample *= outputgain;
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
- }
-
+ }
sourceP += inNumChannels; destP += inNumChannels;
}
}
diff --git a/plugins/MacAU/PurestGain/PurestGain.h b/plugins/MacAU/PurestGain/PurestGain.h
index 33521dd..ebdac1a 100755
--- a/plugins/MacAU/PurestGain/PurestGain.h
+++ b/plugins/MacAU/PurestGain/PurestGain.h
@@ -132,10 +132,7 @@ public:
Float64 settingchase;
Float64 gainBchase;
Float64 chasespeed;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3
index 75ac472..75ac472 100644..100755
--- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser
index 2071f3a..3035ecc 100644..100755
--- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.pbxuser
@@ -49,19 +49,43 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 532472865;
- PBXWorkspaceStateSaveDate = 532472865;
+ PBXPerProjectTemplateStateSaveDate = 569586279;
+ PBXWorkspaceStateSaveDate = 569586279;
+ };
+ perUserProjectItems = {
+ 8B7926BA21F332FC006E9731 /* PBXTextBookmark */ = 8B7926BA21F332FC006E9731 /* PBXTextBookmark */;
+ 8B7926C421F3331E006E9731 /* PBXTextBookmark */ = 8B7926C421F3331E006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7926BA21F332FC006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestGain.cpp */;
+ name = "PurestGain.cpp: 239";
+ rLen = 1347;
+ rLoc = 10034;
+ rType = 0;
+ vrLen = 189;
+ vrLoc = 10740;
+ };
+ 8B7926C421F3331E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestGain.cpp */;
+ name = "PurestGain.cpp: 238";
+ rLen = 1347;
+ rLoc = 10034;
+ rType = 0;
+ vrLen = 171;
+ vrLoc = 10772;
+ };
8BA05A660720730100365D66 /* PurestGain.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {862, 3965}}";
- sepNavSelRange = "{10177, 1347}";
- sepNavVisRange = "{10721, 1649}";
- sepNavWindowFrame = "{{556, 40}, {909, 838}}";
+ sepNavIntBoundsRect = "{{0, 0}, {684, 3744}}";
+ sepNavSelRange = "{10034, 1347}";
+ sepNavVisRange = "{10772, 171}";
+ sepNavWindowFrame = "{{390, 40}, {909, 838}}";
};
};
8BA05A690720730100365D66 /* PurestGainVersion.h */ = {
@@ -74,9 +98,9 @@
};
8BC6025B073B072D006C4272 /* PurestGain.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1885}}";
- sepNavSelRange = "{5290, 58}";
- sepNavVisRange = "{3646, 1707}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}";
+ sepNavSelRange = "{5310, 0}";
+ sepNavVisRange = "{3646, 1766}";
sepNavWindowFrame = "{{531, 39}, {909, 838}}";
};
};
diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3
index 11f6e1d..7e92ba1 100644..100755
--- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>810</integer>
+ <integer>810</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 375 810 487 0 0 1440 878 </string>
+ <string>510 325 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BC521591DB3E3F700E72CD6</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>PurestGain.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,7 +346,15 @@
<key>PBXProjectModuleGUID</key>
<string>8BC5215A1DB3E3F700E72CD6</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>PurestGain.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B7926C421F3331E006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B7926BA21F332FC006E9731</string>
+ </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -361,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 0}}</string>
+ <string>{{0, 0}, {603, 86}}</string>
<key>RubberWindowFrame</key>
- <string>630 375 810 487 0 0 1440 878 </string>
+ <string>510 325 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>86pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>441pt</string>
+ <string>355pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -386,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>630 375 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 328}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 328}}</string>
+ <key>RubberWindowFrame</key>
+ <string>510 325 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -470,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB5DD741FBCE50A008B4570</string>
+ <string>8B7926C521F3331E006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB5DD751FBCE50A008B4570</string>
+ <string>8B7926C621F3331E006E9731</string>
<string>8BC521591DB3E3F700E72CD6</string>
- <string>8BB5DD761FBCE50A008B4570</string>
+ <string>8B7926C721F3331E006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>532473098.399234</real>
+ <real>569586462.880615</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +650,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BB5DD771FBCE50A008B4570</string>
+ <string>8B7926C821F3331E006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PurestGain/PurestGain.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 375 810 487 0 0 1440 878 </string>
+ <string>510 325 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj
index 7426519..7426519 100644..100755
--- a/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/PurestGain/PurestGain.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/PurestWarm/PurestWarm.cpp b/plugins/MacAU/PurestWarm/PurestWarm.cpp
index f72cf4b..0763f84 100755
--- a/plugins/MacAU/PurestWarm/PurestWarm.cpp
+++ b/plugins/MacAU/PurestWarm/PurestWarm.cpp
@@ -173,9 +173,7 @@ ComponentResult PurestWarm::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void PurestWarm::PurestWarmKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -190,9 +188,6 @@ void PurestWarm::PurestWarmKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
int polarity = (int) GetParameter( kParam_One );
long double inputSample;
@@ -229,55 +224,25 @@ void PurestWarm::PurestWarmKernel::Process( const Float32 *inSourceP,
if (inputSample < 0)
{
inputSample = -(sin(-inputSample*1.57079634)/1.57079634);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- } else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- //end noise shaping on 32 bit output
- } else {
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- } else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- }
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
}
} else {
-
if (inputSample > 0)
{
inputSample = sin(inputSample*1.57079634)/1.57079634;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- } else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- //end noise shaping on 32 bit output
- } else {
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- } else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- }
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
}
}
//that's it. Only applies on one half of the waveform, other half is passthrough untouched.
- //even the floating point noise shaping to the 32 bit buss is only applied as needed.
- fpFlip = not fpFlip;
+ //even the dither to the 32 bit buss is only applied as needed.
*destP = inputSample;
diff --git a/plugins/MacAU/PurestWarm/PurestWarm.h b/plugins/MacAU/PurestWarm/PurestWarm.h
index 200035d..1cf3eef 100755
--- a/plugins/MacAU/PurestWarm/PurestWarm.h
+++ b/plugins/MacAU/PurestWarm/PurestWarm.h
@@ -129,9 +129,7 @@ public:
virtual void Reset();
private:
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser
index cc141a4..2b7b35c 100755
--- a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.pbxuser
@@ -3,6 +3,8 @@
089C1669FE841209C02AAC07 /* Project object */ = {
activeBuildConfigurationName = Release;
activeTarget = 8D01CCC60486CAD60068D4B7 /* PurestWarm */;
+ breakpoints = (
+ );
codeSenseManager = 8BD3CCB9148830B20062E48C /* Code sense */;
perUserDictionary = {
PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = {
@@ -49,25 +51,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 532477098;
- PBXWorkspaceStateSaveDate = 532477098;
+ PBXPerProjectTemplateStateSaveDate = 569586628;
+ PBXWorkspaceStateSaveDate = 569586628;
};
perUserProjectItems = {
+ 8B7926F621F336C4006E9731 /* PBXTextBookmark */ = 8B7926F621F336C4006E9731 /* PBXTextBookmark */;
+ 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */ = 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */;
+ 8B7926F821F336C4006E9731 /* PBXTextBookmark */ = 8B7926F821F336C4006E9731 /* PBXTextBookmark */;
8BB5DDAD1FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDAD1FBCF48A008B4570 /* PBXTextBookmark */;
- 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */;
- 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */ = 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */;
- 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */ = 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7926F621F336C4006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */;
+ name = "PurestWarm.h: 132";
+ rLen = 0;
+ rLoc = 5200;
+ rType = 0;
+ vrLen = 227;
+ vrLoc = 2866;
+ };
+ 8B7926F721F336C4006E9731 /* XCBuildMessageTextBookmark */ = {
+ isa = PBXTextBookmark;
+ comments = "Unused variable 'fpTemp'";
+ fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */;
+ fallbackIsa = XCBuildMessageTextBookmark;
+ rLen = 1;
+ rLoc = 190;
+ rType = 1;
+ };
+ 8B7926F821F336C4006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */;
+ name = "PurestWarm.cpp: 191";
+ rLen = 0;
+ rLoc = 8370;
+ rType = 0;
+ vrLen = 216;
+ vrLoc = 8263;
+ };
8BA05A660720730100365D66 /* PurestWarm.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {885, 3887}}";
- sepNavSelRange = "{10000, 1649}";
- sepNavVisRange = "{10272, 1465}";
- sepNavWindowFrame = "{{534, 57}, {932, 815}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3263}}";
+ sepNavSelRange = "{8370, 0}";
+ sepNavVisRange = "{8263, 216}";
+ sepNavWindowFrame = "{{316, 63}, {932, 815}}";
};
};
8BA05A670720730100365D66 /* PurestWarm.exp */ = {
@@ -95,41 +126,11 @@
vrLen = 429;
vrLoc = 2236;
};
- 8BB5DDAE1FBCF48A008B4570 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* PurestWarm.cpp */;
- name = "PurestWarm.cpp: 226";
- rLen = 0;
- rLoc = 9997;
- rType = 0;
- vrLen = 229;
- vrLoc = 10272;
- };
- 8BB5DDB01FBCF48A008B4570 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */;
- name = "PurestWarm.h: 134";
- rLen = 0;
- rLoc = 5237;
- rType = 0;
- vrLen = 286;
- vrLoc = 2808;
- };
- 8BB5DDC21FBCF5C0008B4570 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* PurestWarm.h */;
- name = "PurestWarm.h: 134";
- rLen = 0;
- rLoc = 5237;
- rType = 0;
- vrLen = 285;
- vrLoc = 2808;
- };
8BC6025B073B072D006C4272 /* PurestWarm.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {761, 2119}}";
- sepNavSelRange = "{5237, 0}";
- sepNavVisRange = "{2808, 285}";
+ sepNavIntBoundsRect = "{{0, 0}, {628, 2080}}";
+ sepNavSelRange = "{5200, 0}";
+ sepNavVisRange = "{2866, 227}";
sepNavWindowFrame = "{{15, 58}, {932, 815}}";
};
};
diff --git a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3
index cfd223b..83128df 100755
--- a/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PurestWarm/PurestWarm.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,7 +298,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>3</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
@@ -324,7 +322,7 @@
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>616 391 810 487 0 0 1440 878 </string>
+ <string>361 361 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BB5DD7C1FBCE73D008B4570</string>
<key>PBXProjectModuleLabel</key>
- <string>PurestWarm.h</string>
+ <string>PurestWarm.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,16 +346,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BB5DD7D1FBCE73D008B4570</string>
<key>PBXProjectModuleLabel</key>
- <string>PurestWarm.h</string>
+ <string>PurestWarm.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BB5DDC21FBCF5C0008B4570</string>
+ <string>8B7926F821F336C4006E9731</string>
<key>history</key>
<array>
<string>8BB5DDAD1FBCF48A008B4570</string>
- <string>8BB5DDAE1FBCF48A008B4570</string>
- <string>8BB5DDB01FBCF48A008B4570</string>
+ <string>8B7926F621F336C4006E9731</string>
+ <string>8B7926F721F336C4006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 117}}</string>
+ <string>{{0, 0}, {603, 102}}</string>
<key>RubberWindowFrame</key>
- <string>616 391 810 487 0 0 1440 878 </string>
+ <string>361 361 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>117pt</string>
+ <string>102pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>324pt</string>
+ <string>339pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 297}}</string>
- <key>RubberWindowFrame</key>
- <string>616 391 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {603, 312}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {603, 312}}</string>
+ <key>RubberWindowFrame</key>
+ <string>361 361 810 487 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -480,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB5DDBD1FBCF4AB008B4570</string>
+ <string>8B7926F921F336C4006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB5DDBE1FBCF4AB008B4570</string>
+ <string>8B7926FA21F336C4006E9731</string>
<string>8BB5DD7C1FBCE73D008B4570</string>
- <string>8BB5DDBF1FBCF4AB008B4570</string>
+ <string>8B7926FB21F336C4006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -521,7 +519,7 @@
<key>Identifier</key>
<string>perspective.debug</string>
<key>IsVertical</key>
- <integer>1</integer>
+ <true/>
<key>Layout</key>
<array>
<dict>
@@ -535,12 +533,12 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {810, 0}}</string>
+ <string>{{0, 0}, {424, 270}}</string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
- <string>0%</string>
+ <string>270pt</string>
</dict>
<dict>
<key>ContentConfiguration</key>
@@ -589,8 +587,6 @@
</dict>
<key>GeometryConfiguration</key>
<dict>
- <key>DebugConsoleDrawerSize</key>
- <string>{100, 120}</string>
<key>DebugConsoleVisible</key>
<string>None</string>
<key>DebugConsoleWindowFrame</key>
@@ -599,11 +595,25 @@
<string>{{200, 200}, {500, 300}}</string>
<key>Frame</key>
<string>{{0, 7}, {810, 438}}</string>
+ <key>PBXDebugSessionStackFrameViewKey</key>
+ <dict>
+ <key>DebugVariablesTableConfiguration</key>
+ <array>
+ <string>Name</string>
+ <real>120</real>
+ <string>Value</string>
+ <real>85</real>
+ <string>Summary</string>
+ <real>185</real>
+ </array>
+ <key>Frame</key>
+ <string>{{395, 0}, {415, 213}}</string>
+ </dict>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
<key>Proportion</key>
- <string>443pt</string>
+ <string>438pt</string>
</dict>
</array>
<key>Name</key>
@@ -611,19 +621,27 @@
<key>ServiceClasses</key>
<array>
<string>XCModuleDock</string>
- <string>XCModuleDock</string>
<string>PBXDebugCLIModule</string>
<string>PBXDebugSessionModule</string>
- <string>XCConsole</string>
+ <string>PBXDebugProcessAndThreadModule</string>
+ <string>PBXDebugProcessViewModule</string>
+ <string>PBXDebugThreadViewModule</string>
+ <string>PBXDebugStackFrameViewModule</string>
+ <string>PBXNavigatorGroup</string>
</array>
<key>TableOfContents</key>
<array>
- <string>1CC8E6A5069209BD00BB180A</string>
- <string>1CC8E6A6069209BD00BB180A</string>
+ <string>8B7926FC21F336C4006E9731</string>
<string>1CCC7628064C1048000F2A68</string>
<string>1CCC7629064C1048000F2A68</string>
- <string>1CC8E6A7069209BD00BB180A</string>
+ <string>8B7926FD21F336C4006E9731</string>
+ <string>8B7926FE21F336C4006E9731</string>
+ <string>8B7926FF21F336C4006E9731</string>
+ <string>8B79270021F336C4006E9731</string>
+ <string>8B79270121F336C4006E9731</string>
</array>
+ <key>ToolbarConfigUserDefaultsMinorVersion</key>
+ <string>2</string>
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
</dict>
@@ -637,7 +655,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>532477376.88819098</real>
+ <real>569587396.45455897</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +672,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BB5DDC31FBCF5C0008B4570</string>
+ <string>8B79270221F336C4006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PurestWarm/PurestWarm.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>616 391 810 487 0 0 1440 878 </string>
+ <string>361 361 810 487 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Pyewacket/Pyewacket.cpp b/plugins/MacAU/Pyewacket/Pyewacket.cpp
index f80a48b..bb8583b 100755
--- a/plugins/MacAU/Pyewacket/Pyewacket.cpp
+++ b/plugins/MacAU/Pyewacket/Pyewacket.cpp
@@ -189,11 +189,8 @@ ComponentResult Pyewacket::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult Pyewacket::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
chase = 1.0;
lastrectifierL = 0.0;
lastrectifierR = 0.0;
@@ -218,7 +215,6 @@ OSStatus Pyewacket::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
overallscale *= GetSampleRate();
if (overallscale < 0.1) overallscale = 1.0;
//insanity check
- Float32 fpTemp;
long double fpOld = 0.618033988749894848204586; //golden ratio!
long double fpNew = 1.0 - fpOld;
long double inputSampleL;
@@ -336,27 +332,14 @@ OSStatus Pyewacket::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
inputSampleR *= outputGain;
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Pyewacket/Pyewacket.h b/plugins/MacAU/Pyewacket/Pyewacket.h
index af1110c..f456046 100755
--- a/plugins/MacAU/Pyewacket/Pyewacket.h
+++ b/plugins/MacAU/Pyewacket/Pyewacket.h
@@ -116,11 +116,8 @@ public:
private:
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
- bool fpFlip;
+ long double fpNShapeL;
+ long double fpNShapeR;
Float64 chase;
Float64 lastrectifierL;
Float64 lastrectifierR;
diff --git a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser
index ee55037..54c2d4e 100755
--- a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.pbxuser
@@ -51,13 +51,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457728;
- PBXWorkspaceStateSaveDate = 528457728;
+ PBXPerProjectTemplateStateSaveDate = 569677333;
+ PBXWorkspaceStateSaveDate = 569677333;
};
perUserProjectItems = {
8B3839B91DB9420B00AB1616 /* PlistBookmark */ = 8B3839B91DB9420B00AB1616 /* PlistBookmark */;
- 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */ = 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */;
- 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */ = 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */;
+ 8B792F7621F4989B006E9731 /* PBXTextBookmark */ = 8B792F7621F4989B006E9731 /* PBXTextBookmark */;
+ 8B792F7821F4989B006E9731 /* PBXTextBookmark */ = 8B792F7821F4989B006E9731 /* PBXTextBookmark */;
+ 8B792F7D21F498CC006E9731 /* PBXTextBookmark */ = 8B792F7D21F498CC006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -75,31 +76,41 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D724D1F7EFF2C007AB60F /* PBXTextBookmark */ = {
+ 8B792F7621F4989B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Pyewacket.h */;
- name = "Pyewacket.h: 115";
+ name = "Pyewacket.h: 121";
rLen = 0;
- rLoc = 4914;
+ rLoc = 5041;
rType = 0;
- vrLen = 292;
- vrLoc = 4980;
+ vrLen = 760;
+ vrLoc = 4454;
};
- 8B9D75BE1F7FA023007AB60F /* PBXTextBookmark */ = {
+ 8B792F7821F4989B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Pyewacket.h */;
- name = "Pyewacket.h: 115";
+ fRef = 8BA05A660720730100365D66 /* Pyewacket.cpp */;
+ name = "Pyewacket.cpp: 344";
+ rLen = 0;
+ rLoc = 14633;
+ rType = 0;
+ vrLen = 600;
+ vrLoc = 13667;
+ };
+ 8B792F7D21F498CC006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Pyewacket.cpp */;
+ name = "Pyewacket.cpp: 218";
rLen = 0;
- rLoc = 4914;
+ rLoc = 9498;
rType = 0;
- vrLen = 199;
- vrLoc = 4980;
+ vrLen = 573;
+ vrLoc = 9179;
};
8BA05A660720730100365D66 /* Pyewacket.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 4966}}";
- sepNavSelRange = "{10242, 0}";
- sepNavVisRange = "{10210, 2358}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 4745}}";
+ sepNavSelRange = "{9498, 0}";
+ sepNavVisRange = "{9179, 573}";
sepNavWindowFrame = "{{694, 43}, {731, 835}}";
};
};
@@ -113,9 +124,9 @@
};
8BC6025B073B072D006C4272 /* Pyewacket.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1833}}";
- sepNavSelRange = "{4914, 0}";
- sepNavVisRange = "{4980, 199}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}";
+ sepNavSelRange = "{5041, 0}";
+ sepNavVisRange = "{4454, 760}";
sepNavWindowFrame = "{{681, 43}, {731, 835}}";
};
};
diff --git a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3
index 65d2b4b..ecead33 100755
--- a/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Pyewacket/Pyewacket.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>188</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {188, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,30 +316,32 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {205, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>188</real>
</array>
<key>RubberWindowFrame</key>
- <string>585 189 841 654 0 0 1440 878 </string>
+ <string>447 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>205pt</string>
</dict>
<dict>
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Pyewacket.h</string>
+ <string>Pyewacket.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,15 +349,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Pyewacket.h</string>
+ <string>Pyewacket.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75BE1F7FA023007AB60F</string>
+ <string>8B792F7D21F498CC006E9731</string>
<key>history</key>
<array>
<string>8B3839B91DB9420B00AB1616</string>
- <string>8B9D724D1F7EFF2C007AB60F</string>
+ <string>8B792F7621F4989B006E9731</string>
+ <string>8B792F7821F4989B006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {631, 226}}</string>
<key>RubberWindowFrame</key>
- <string>585 189 841 654 0 0 1440 878 </string>
+ <string>447 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>226pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>382pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>585 189 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 198}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {631, 355}}</string>
+ <key>RubberWindowFrame</key>
+ <string>447 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -461,7 +462,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>631pt</string>
</dict>
</array>
<key>Name</key>
@@ -480,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75BF1F7FA023007AB60F</string>
+ <string>8B792F7E21F498CC006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75C01F7FA023007AB60F</string>
+ <string>8B792F7F21F498CC006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D75C11F7FA023007AB60F</string>
+ <string>8B792F8021F498CC006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457763.81351399</real>
+ <real>569678028.908059</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +675,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75C21F7FA023007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Pyewacket/Pyewacket.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>585 189 841 654 0 0 1440 878 </string>
+ <string>447 195 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.cpp b/plugins/MacAU/PyewacketMono/PyewacketMono.cpp
index 0bc0096..8ea6ab2 100755
--- a/plugins/MacAU/PyewacketMono/PyewacketMono.cpp
+++ b/plugins/MacAU/PyewacketMono/PyewacketMono.cpp
@@ -174,9 +174,7 @@ ComponentResult PyewacketMono::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void PyewacketMono::PyewacketMonoKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
chase = 1.0;
lastrectifier = 0.0;
}
@@ -198,7 +196,6 @@ void PyewacketMono::PyewacketMonoKernel::Process( const Float32 *inSourceP,
overallscale *= GetSampleRate();
if (overallscale < 0.1) overallscale = 1.0;
//insanity check
- Float32 fpTemp;
long double fpOld = 0.618033988749894848204586; //golden ratio!
long double fpNew = 1.0 - fpOld;
long double inputSample;
@@ -283,19 +280,11 @@ void PyewacketMono::PyewacketMonoKernel::Process( const Float32 *inSourceP,
inputSample *= outputGain;
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.h b/plugins/MacAU/PyewacketMono/PyewacketMono.h
index f3c89ae..469c9f0 100755
--- a/plugins/MacAU/PyewacketMono/PyewacketMono.h
+++ b/plugins/MacAU/PyewacketMono/PyewacketMono.h
@@ -130,9 +130,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
Float64 chase;
Float64 lastrectifier;
};
diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser
index 59685c5..dda132c 100755
--- a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 383,
20,
48,
43,
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457773;
- PBXWorkspaceStateSaveDate = 528457773;
+ PBXPerProjectTemplateStateSaveDate = 569678053;
+ PBXWorkspaceStateSaveDate = 569678053;
};
perUserProjectItems = {
8B3839AE1DB941F200AB1616 /* PlistBookmark */ = 8B3839AE1DB941F200AB1616 /* PlistBookmark */;
- 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */ = 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */;
- 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */ = 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */;
- 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */ = 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */;
+ 8B792F8C21F4992B006E9731 /* PBXTextBookmark */ = 8B792F8C21F4992B006E9731 /* PBXTextBookmark */;
+ 8B792F8E21F4992B006E9731 /* PBXTextBookmark */ = 8B792F8E21F4992B006E9731 /* PBXTextBookmark */;
+ 8B792F9321F4993E006E9731 /* PBXTextBookmark */ = 8B792F9321F4993E006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -74,41 +74,41 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B383A0D1DB9520500AB1616 /* PBXTextBookmark */ = {
+ 8B792F8C21F4992B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* PyewacketMono.h */;
- name = "PyewacketMono.h: 159";
+ name = "PyewacketMono.h: 133";
rLen = 0;
- rLoc = 5419;
+ rLoc = 5336;
rType = 0;
- vrLen = 0;
- vrLoc = 5529;
+ vrLen = 254;
+ vrLoc = 5234;
};
- 8B9D66C51F7C8D8D007AB60F /* PBXTextBookmark */ = {
+ 8B792F8E21F4992B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PyewacketMono.cpp */;
- name = "PyewacketMono.cpp: 210";
+ name = "PyewacketMono.cpp: 288";
rLen = 0;
- rLoc = 9389;
+ rLoc = 12575;
rType = 0;
- vrLen = 572;
- vrLoc = 10834;
+ vrLen = 970;
+ vrLoc = 11693;
};
- 8B9D75CD1F7FA05E007AB60F /* PBXTextBookmark */ = {
+ 8B792F9321F4993E006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* PyewacketMono.cpp */;
- name = "PyewacketMono.cpp: 210";
+ name = "PyewacketMono.cpp: 288";
rLen = 0;
- rLoc = 9389;
+ rLoc = 12575;
rType = 0;
- vrLen = 530;
- vrLoc = 10834;
+ vrLen = 989;
+ vrLoc = 11674;
};
8BA05A660720730100365D66 /* PyewacketMono.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 4056}}";
- sepNavSelRange = "{9389, 0}";
- sepNavVisRange = "{10834, 530}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4030}}";
+ sepNavSelRange = "{12575, 0}";
+ sepNavVisRange = "{11674, 989}";
sepNavWindowFrame = "{{761, 39}, {679, 835}}";
};
};
@@ -122,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* PyewacketMono.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1872}}";
- sepNavSelRange = "{5378, 17}";
- sepNavVisRange = "{3870, 1659}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2041}}";
+ sepNavSelRange = "{5336, 0}";
+ sepNavVisRange = "{5234, 254}";
sepNavWindowFrame = "{{657, 41}, {731, 835}}";
};
};
diff --git a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3
index 60a47c2..3572251 100755
--- a/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/PyewacketMono/PyewacketMono.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>197</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {197, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {214, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>197</real>
</array>
<key>RubberWindowFrame</key>
- <string>579 196 841 654 0 0 1440 878 </string>
+ <string>446 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>214pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -353,12 +351,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75CD1F7FA05E007AB60F</string>
+ <string>8B792F9321F4993E006E9731</string>
<key>history</key>
<array>
<string>8B3839AE1DB941F200AB1616</string>
- <string>8B383A0D1DB9520500AB1616</string>
- <string>8B9D66C51F7C8D8D007AB60F</string>
+ <string>8B792F8C21F4992B006E9731</string>
+ <string>8B792F8E21F4992B006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {622, 417}}</string>
<key>RubberWindowFrame</key>
- <string>579 196 841 654 0 0 1440 878 </string>
+ <string>446 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>417pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>191pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>579 196 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {622, 164}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {622, 164}}</string>
+ <key>RubberWindowFrame</key>
+ <string>446 198 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>622pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75CE1F7FA05E007AB60F</string>
+ <string>8B792F9421F4993E006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75CF1F7FA05E007AB60F</string>
+ <string>8B792F9521F4993E006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D75D01F7FA05E007AB60F</string>
+ <string>8B792F9621F4993E006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457822.27237201</real>
+ <real>569678142.79066706</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75D11F7FA05E007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/PyewacketMono/PyewacketMono.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>579 196 841 654 0 0 1440 878 </string>
+ <string>446 198 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Righteous4/Righteous4.cpp b/plugins/MacAU/Righteous4/Righteous4.cpp
index f20e5ec..be1a1f6 100755
--- a/plugins/MacAU/Righteous4/Righteous4.cpp
+++ b/plugins/MacAU/Righteous4/Righteous4.cpp
@@ -412,14 +412,11 @@ void Righteous4::Righteous4Kernel::Process( const Float32 *inSourceP,
//output dither section
if (bitDepth == 3) {
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
} else {
//entire Naturalize section used when not on 32 bit out
@@ -519,10 +516,5 @@ void Righteous4::Righteous4Kernel::Process( const Float32 *inSourceP,
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser
index b81dbe3..9104560 100755
--- a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.pbxuser
@@ -49,19 +49,50 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 548108471;
- PBXWorkspaceStateSaveDate = 548108471;
+ PBXPerProjectTemplateStateSaveDate = 569678261;
+ PBXWorkspaceStateSaveDate = 569678261;
};
perUserProjectItems = {
+ 8B792FA321F49A2F006E9731 /* PBXTextBookmark */ = 8B792FA321F49A2F006E9731 /* PBXTextBookmark */;
+ 8B792FA521F49A2F006E9731 /* PBXTextBookmark */ = 8B792FA521F49A2F006E9731 /* PBXTextBookmark */;
+ 8B792FAA21F49A42006E9731 /* PBXTextBookmark */ = 8B792FAA21F49A42006E9731 /* PBXTextBookmark */;
8B7E3DB220A6725600482CB5 /* PBXTextBookmark */ = 8B7E3DB220A6725600482CB5 /* PBXTextBookmark */;
8B904BD0209D3B52008CBAD8 /* PlistBookmark */ = 8B904BD0209D3B52008CBAD8 /* PlistBookmark */;
- 8BBFF82820AD804F005650EF /* PBXTextBookmark */ = 8BBFF82820AD804F005650EF /* PBXTextBookmark */;
- 8BBFF86720AD84A3005650EF /* PBXTextBookmark */ = 8BBFF86720AD84A3005650EF /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B792FA321F49A2F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Righteous4.h */;
+ name = "Righteous4.h: 169";
+ rLen = 0;
+ rLoc = 6101;
+ rType = 0;
+ vrLen = 439;
+ vrLoc = 5895;
+ };
+ 8B792FA521F49A2F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */;
+ name = "Righteous4.cpp: 355";
+ rLen = 0;
+ rLoc = 16702;
+ rType = 0;
+ vrLen = 960;
+ vrLoc = 18184;
+ };
+ 8B792FAA21F49A42006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */;
+ name = "Righteous4.cpp: 355";
+ rLen = 0;
+ rLoc = 16702;
+ rType = 0;
+ vrLen = 960;
+ vrLoc = 18184;
+ };
8B7E3DB220A6725600482CB5 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* Righteous4Version.h */;
@@ -86,10 +117,10 @@
};
8BA05A660720730100365D66 /* Righteous4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {838, 6825}}";
+ sepNavIntBoundsRect = "{{0, 0}, {838, 6981}}";
sepNavSelRange = "{16702, 0}";
- sepNavVisRange = "{16728, 303}";
- sepNavWindowFrame = "{{-2, 59}, {1007, 819}}";
+ sepNavVisRange = "{18184, 960}";
+ sepNavWindowFrame = "{{290, 59}, {1007, 819}}";
};
};
8BA05A690720730100365D66 /* Righteous4Version.h */ = {
@@ -100,31 +131,11 @@
sepNavWindowFrame = "{{15, 41}, {816, 832}}";
};
};
- 8BBFF82820AD804F005650EF /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */;
- name = "Righteous4.cpp: 355";
- rLen = 0;
- rLoc = 16702;
- rType = 0;
- vrLen = 303;
- vrLoc = 16728;
- };
- 8BBFF86720AD84A3005650EF /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Righteous4.cpp */;
- name = "Righteous4.cpp: 355";
- rLen = 0;
- rLoc = 16702;
- rType = 0;
- vrLen = 303;
- vrLoc = 16728;
- };
8BC6025B073B072D006C4272 /* Righteous4.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2392}}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 2756}}";
sepNavSelRange = "{6101, 0}";
- sepNavVisRange = "{5232, 1102}";
+ sepNavVisRange = "{5895, 439}";
sepNavWindowFrame = "{{687, 14}, {816, 832}}";
};
};
diff --git a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3
index 90a4f18..fae6e0d 100755
--- a/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Righteous4/Righteous4.xcodeproj/christopherjohnson.perspectivev3
@@ -352,12 +352,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBFF86720AD84A3005650EF</string>
+ <string>8B792FAA21F49A42006E9731</string>
<key>history</key>
<array>
<string>8B904BD0209D3B52008CBAD8</string>
<string>8B7E3DB220A6725600482CB5</string>
- <string>8BBFF82820AD804F005650EF</string>
+ <string>8B792FA321F49A2F006E9731</string>
+ <string>8B792FA521F49A2F006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 74}}</string>
+ <string>{{0, 0}, {531, 370}}</string>
<key>RubberWindowFrame</key>
<string>599 193 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>74pt</string>
+ <string>370pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>534pt</string>
+ <string>238pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,7 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 507}}</string>
+ <string>{{10, 27}, {531, 211}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +451,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 507}}</string>
+ <string>{{10, 27}, {531, 211}}</string>
<key>RubberWindowFrame</key>
<string>599 193 841 654 0 0 1440 878 </string>
</dict>
@@ -480,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBFF86820AD84A3005650EF</string>
+ <string>8B792FAB21F49A42006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBFF86920AD84A3005650EF</string>
+ <string>8B792FAC21F49A42006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBFF86A20AD84A3005650EF</string>
+ <string>8B792FAD21F49A42006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>548242595.39476001</real>
+ <real>569678402.692945</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,7 +675,6 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBFF86B20AD84A3005650EF</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Righteous4/Righteous4.xcodeproj</string>
</array>
<key>WindowString</key>
diff --git a/plugins/MacAU/SideDull/SideDull.cpp b/plugins/MacAU/SideDull/SideDull.cpp
index 72793e5..2b75d72 100755
--- a/plugins/MacAU/SideDull/SideDull.cpp
+++ b/plugins/MacAU/SideDull/SideDull.cpp
@@ -176,11 +176,8 @@ ComponentResult SideDull::Reset(AudioUnitScope inScope, AudioUnitElement inElem
iirSampleA = 0.0;
iirSampleB = 0.0;
flip = true;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
-
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -209,10 +206,6 @@ OSStatus SideDull::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
overallscale *= GetSampleRate();
Float64 iirAmount = pow(GetParameter( kParam_One ),3)/overallscale;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
while (nSampleFrames-- > 0) {
inputSampleL = *inputL;
inputSampleR = *inputR;
@@ -273,28 +266,16 @@ OSStatus SideDull::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
inputSampleL = (mid+side)/2.0;
inputSampleR = (mid-side)/2.0;
-
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/SideDull/SideDull.h b/plugins/MacAU/SideDull/SideDull.h
index 450a5f3..85fd8d5 100755
--- a/plugins/MacAU/SideDull/SideDull.h
+++ b/plugins/MacAU/SideDull/SideDull.h
@@ -112,11 +112,8 @@ private:
Float64 iirSampleA;
Float64 iirSampleB;
bool flip;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
-
+ long double fpNShapeL;
+ long double fpNShapeR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser
index 6bdc1d7..c5161bd 100755
--- a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.pbxuser
@@ -12,7 +12,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 417,
20,
48,
43,
@@ -51,45 +51,55 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457832;
- PBXWorkspaceStateSaveDate = 528457832;
+ PBXPerProjectTemplateStateSaveDate = 569678436;
+ PBXWorkspaceStateSaveDate = 569678436;
};
perUserProjectItems = {
- 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */ = 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */;
- 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */ = 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */;
+ 8B792FB921F49AD2006E9731 /* PBXTextBookmark */ = 8B792FB921F49AD2006E9731 /* PBXTextBookmark */;
+ 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */ = 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */;
+ 8B792FC021F49AEA006E9731 /* PBXTextBookmark */ = 8B792FC021F49AEA006E9731 /* PBXTextBookmark */;
8BD4F5851E6E0EED00288155 /* PlistBookmark */ = 8BD4F5851E6E0EED00288155 /* PlistBookmark */;
8BD4F5861E6E0EED00288155 /* PBXTextBookmark */ = 8BD4F5861E6E0EED00288155 /* PBXTextBookmark */;
- 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */ = 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D66D91F7C8E9B007AB60F /* PBXTextBookmark */ = {
+ 8B792FB921F49AD2006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* SideDull.h */;
- name = "SideDull.h: 112";
- rLen = 156;
- rLoc = 4786;
+ name = "SideDull.h: 117";
+ rLen = 0;
+ rLoc = 4888;
rType = 0;
- vrLen = 353;
- vrLoc = 2712;
+ vrLen = 1036;
+ vrLoc = 3957;
};
- 8B9D75DC1F7FA07D007AB60F /* PBXTextBookmark */ = {
+ 8B792FBB21F49AD2006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* SideDull.h */;
- name = "SideDull.h: 112";
- rLen = 156;
- rLoc = 4786;
+ fRef = 8BA05A660720730100365D66 /* SideDull.cpp */;
+ name = "SideDull.cpp: 279";
+ rLen = 0;
+ rLoc = 11462;
rType = 0;
- vrLen = 330;
- vrLoc = 2735;
+ vrLen = 843;
+ vrLoc = 10824;
+ };
+ 8B792FC021F49AEA006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SideDull.cpp */;
+ name = "SideDull.cpp: 279";
+ rLen = 0;
+ rLoc = 11462;
+ rType = 0;
+ vrLen = 850;
+ vrLoc = 10817;
};
8BA05A660720730100365D66 /* SideDull.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {977, 4225}}";
- sepNavSelRange = "{9554, 0}";
- sepNavVisRange = "{8740, 2240}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3965}}";
+ sepNavSelRange = "{11462, 0}";
+ sepNavVisRange = "{10817, 850}";
sepNavWindowFrame = "{{416, 39}, {1024, 839}}";
};
};
@@ -103,9 +113,9 @@
};
8BC6025B073B072D006C4272 /* SideDull.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}";
- sepNavSelRange = "{4786, 156}";
- sepNavVisRange = "{2735, 330}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}";
+ sepNavSelRange = "{4888, 0}";
+ sepNavVisRange = "{3957, 1036}";
sepNavWindowFrame = "{{15, 39}, {1024, 839}}";
};
};
@@ -145,16 +155,6 @@
vrLen = 510;
vrLoc = 2430;
};
- 8BD4F5871E6E0EED00288155 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* SideDull.cpp */;
- name = "SideDull.cpp: 176";
- rLen = 128;
- rLoc = 7544;
- rType = 0;
- vrLen = 794;
- vrLoc = 7693;
- };
8D01CCC60486CAD60068D4B7 /* SideDull */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3
index 5e89369..dc70f61 100755
--- a/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SideDull/SideDull.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>163</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {163, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {180, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>163</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 124 841 654 0 0 1440 878 </string>
+ <string>430 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>180pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>SideDull.h</string>
+ <string>SideDull.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,17 +347,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>SideDull.h</string>
+ <string>SideDull.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D75DC1F7FA07D007AB60F</string>
+ <string>8B792FC021F49AEA006E9731</string>
<key>history</key>
<array>
<string>8BD4F5851E6E0EED00288155</string>
<string>8BD4F5861E6E0EED00288155</string>
- <string>8BD4F5871E6E0EED00288155</string>
- <string>8B9D66D91F7C8E9B007AB60F</string>
+ <string>8B792FB921F49AD2006E9731</string>
+ <string>8B792FBB21F49AD2006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {656, 436}}</string>
<key>RubberWindowFrame</key>
- <string>599 124 841 654 0 0 1440 878 </string>
+ <string>430 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>436pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>172pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>599 124 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {656, 365}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {656, 145}}</string>
+ <key>RubberWindowFrame</key>
+ <string>430 195 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -463,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>656pt</string>
</dict>
</array>
<key>Name</key>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D75DD1F7FA07D007AB60F</string>
+ <string>8B792FC121F49AEA006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D75DE1F7FA07D007AB60F</string>
+ <string>8B792FC221F49AEA006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D75DF1F7FA07D007AB60F</string>
+ <string>8B792FC321F49AEA006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457853.78940398</real>
+ <real>569678570.12103295</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D75E01F7FA07D007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/SideDull/SideDull.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 124 841 654 0 0 1440 878 </string>
+ <string>430 195 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Sidepass/Sidepass.cpp b/plugins/MacAU/Sidepass/Sidepass.cpp
index e3c62c8..1379137 100755
--- a/plugins/MacAU/Sidepass/Sidepass.cpp
+++ b/plugins/MacAU/Sidepass/Sidepass.cpp
@@ -176,11 +176,8 @@ ComponentResult Sidepass::Reset(AudioUnitScope inScope, AudioUnitElement inElem
iirSampleA = 0.0;
iirSampleB = 0.0;
flip = true;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
-
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -209,11 +206,7 @@ OSStatus Sidepass::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
overallscale /= 44100.0;
overallscale *= GetSampleRate();
Float64 iirAmount = pow(GetParameter( kParam_One ),3)/overallscale;
-
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
+
while (nSampleFrames-- > 0) {
inputSampleL = *inputL;
inputSampleR = *inputR;
@@ -274,28 +267,16 @@ OSStatus Sidepass::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
inputSampleL = (mid+side)/2.0;
inputSampleR = (mid-side)/2.0;
-
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Sidepass/Sidepass.h b/plugins/MacAU/Sidepass/Sidepass.h
index f0f6f09..4ac346b 100755
--- a/plugins/MacAU/Sidepass/Sidepass.h
+++ b/plugins/MacAU/Sidepass/Sidepass.h
@@ -112,11 +112,8 @@ private:
Float64 iirSampleA;
Float64 iirSampleB;
bool flip;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
-
+ long double fpNShapeL;
+ long double fpNShapeR;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser
index 43370db..d1a3108 100755
--- a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.pbxuser
@@ -12,7 +12,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 397,
20,
48,
43,
@@ -51,14 +51,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561232442;
- PBXWorkspaceStateSaveDate = 561232442;
+ PBXPerProjectTemplateStateSaveDate = 569678591;
+ PBXWorkspaceStateSaveDate = 569678591;
};
perUserProjectItems = {
8B0FACF11E6A22F300E0AD36 /* PlistBookmark */ = 8B0FACF11E6A22F300E0AD36 /* PlistBookmark */;
- 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */ = 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */;
- 8B27211E2173C07300396442 /* PBXTextBookmark */ = 8B27211E2173C07300396442 /* PBXTextBookmark */;
- 8B27211F2173C07300396442 /* PBXTextBookmark */ = 8B27211F2173C07300396442 /* PBXTextBookmark */;
+ 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */ = 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */;
+ 8B792FD121F49B6D006E9731 /* PBXTextBookmark */ = 8B792FD121F49B6D006E9731 /* PBXTextBookmark */;
+ 8B792FD621F49B7D006E9731 /* PBXTextBookmark */ = 8B792FD621F49B7D006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -76,41 +76,41 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B0FAD101E6A27BE00E0AD36 /* PBXTextBookmark */ = {
+ 8B792FCF21F49B6D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */;
- name = "Sidepass.cpp: 189";
- rLen = 4308;
- rLoc = 7695;
+ fRef = 8BC6025B073B072D006C4272 /* Sidepass.h */;
+ name = "Sidepass.h: 116";
+ rLen = 0;
+ rLoc = 4885;
rType = 0;
- vrLen = 550;
- vrLoc = 7695;
+ vrLen = 1030;
+ vrLoc = 3963;
};
- 8B27211E2173C07300396442 /* PBXTextBookmark */ = {
+ 8B792FD121F49B6D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Sidepass.h */;
- name = "Sidepass.h: 77";
- rLen = 1791;
- rLoc = 3256;
+ fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */;
+ name = "Sidepass.cpp: 280";
+ rLen = 0;
+ rLoc = 11463;
rType = 0;
- vrLen = 428;
- vrLoc = 3256;
+ vrLen = 844;
+ vrLoc = 10824;
};
- 8B27211F2173C07300396442 /* PBXTextBookmark */ = {
+ 8B792FD621F49B7D006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Sidepass.cpp */;
- name = "Sidepass.cpp: 189";
- rLen = 4308;
- rLoc = 7695;
+ name = "Sidepass.cpp: 280";
+ rLen = 0;
+ rLoc = 11463;
rType = 0;
- vrLen = 332;
- vrLoc = 7913;
+ vrLen = 851;
+ vrLoc = 10817;
};
8BA05A660720730100365D66 /* Sidepass.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4173}}";
- sepNavSelRange = "{7695, 4308}";
- sepNavVisRange = "{7913, 332}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 3705}}";
+ sepNavSelRange = "{11463, 0}";
+ sepNavVisRange = "{10817, 851}";
sepNavWindowFrame = "{{186, -24}, {923, 837}}";
};
};
@@ -132,9 +132,9 @@
};
8BC6025B073B072D006C4272 /* Sidepass.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1820}}";
- sepNavSelRange = "{3256, 1791}";
- sepNavVisRange = "{3256, 428}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1599}}";
+ sepNavSelRange = "{4885, 0}";
+ sepNavVisRange = "{3963, 1030}";
sepNavWindowFrame = "{{510, 41}, {923, 837}}";
};
};
diff --git a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3
index cabf543..4b6178e 100755
--- a/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Sidepass/Sidepass.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>183</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {183, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {200, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>183</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 189 841 654 0 0 1440 878 </string>
+ <string>469 189 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>200pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -353,12 +351,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B27211F2173C07300396442</string>
+ <string>8B792FD621F49B7D006E9731</string>
<key>history</key>
<array>
<string>8B0FACF11E6A22F300E0AD36</string>
- <string>8B27211E2173C07300396442</string>
- <string>8B0FAD101E6A27BE00E0AD36</string>
+ <string>8B792FCF21F49B6D006E9731</string>
+ <string>8B792FD121F49B6D006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 126}}</string>
+ <string>{{0, 0}, {636, 430}}</string>
<key>RubberWindowFrame</key>
- <string>599 189 841 654 0 0 1440 878 </string>
+ <string>469 189 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>126pt</string>
+ <string>430pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>482pt</string>
+ <string>178pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 455}}</string>
- <key>RubberWindowFrame</key>
- <string>599 189 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {636, 151}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {636, 151}}</string>
+ <key>RubberWindowFrame</key>
+ <string>469 189 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>636pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B2721202173C07300396442</string>
+ <string>8B792FD721F49B7D006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B2721212173C07300396442</string>
+ <string>8B792FD821F49B7D006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B2721222173C07300396442</string>
+ <string>8B792FD921F49B7D006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561234035.39839995</real>
+ <real>569678717.46052098</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -678,7 +676,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Sidepass/Sidepass.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 189 841 654 0 0 1440 878 </string>
+ <string>469 189 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp
index cf29888..9c0da62 100755
--- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp
+++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.cpp
@@ -268,23 +268,15 @@ void SingleEndedTriode::SingleEndedTriodeKernel::Process( const Float32 *inSou
inputSample = (drySample * dry)+(inputSample*wet);
}
- //noise shaping to 32-bit floating point
- float fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser
index bb8847c..aa2c283 100755
--- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 333,
+ 414,
20,
48,
43,
@@ -49,47 +49,64 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 547786625;
- PBXWorkspaceStateSaveDate = 547786625;
+ PBXPerProjectTemplateStateSaveDate = 569678966;
+ PBXWorkspaceStateSaveDate = 569678966;
};
perUserProjectItems = {
- 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */ = 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */;
- 8B7E3E8920A6930E00482CB5 /* PBXBookmark */ = 8B7E3E8920A6930E00482CB5 /* PBXBookmark */;
- 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */ = 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */;
+ 8B792FE521F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE521F49D2B006E9731 /* PBXTextBookmark */;
+ 8B792FE621F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE621F49D2B006E9731 /* PBXTextBookmark */;
+ 8B792FE821F49D2B006E9731 /* PBXTextBookmark */ = 8B792FE821F49D2B006E9731 /* PBXTextBookmark */;
+ 8B792FED21F49D42006E9731 /* PBXTextBookmark */ = 8B792FED21F49D42006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B7E3E8820A6930E00482CB5 /* PBXTextBookmark */ = {
+ 8B792FE521F49D2B006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */;
+ name = "SingleEndedTriodeVersion.h: 1";
+ rLen = 0;
+ rLoc = 0;
+ rType = 0;
+ vrLen = 948;
+ vrLoc = 2603;
+ };
+ 8B792FE621F49D2B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* SingleEndedTriode.h */;
name = "SingleEndedTriode.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 72;
- vrLoc = 0;
+ vrLen = 719;
+ vrLoc = 4915;
};
- 8B7E3E8920A6930E00482CB5 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */;
+ 8B792FE821F49D2B006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SingleEndedTriode.cpp */;
+ name = "SingleEndedTriode.cpp: 276";
+ rLen = 0;
+ rLoc = 12119;
+ rType = 0;
+ vrLen = 762;
+ vrLoc = 11445;
};
- 8B7E3E8A20A6930E00482CB5 /* PBXTextBookmark */ = {
+ 8B792FED21F49D42006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */;
- name = "SingleEndedTriodeVersion.h: 1";
+ fRef = 8BA05A660720730100365D66 /* SingleEndedTriode.cpp */;
+ name = "SingleEndedTriode.cpp: 276";
rLen = 0;
- rLoc = 0;
+ rLoc = 12119;
rType = 0;
- vrLen = 246;
- vrLoc = 3244;
+ vrLen = 820;
+ vrLoc = 11387;
};
8BA05A660720730100365D66 /* SingleEndedTriode.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 3783}}";
- sepNavSelRange = "{10732, 1057}";
- sepNavVisRange = "{10814, 1886}";
+ sepNavIntBoundsRect = "{{0, 0}, {838, 3900}}";
+ sepNavSelRange = "{12119, 0}";
+ sepNavVisRange = "{11387, 820}";
sepNavWindowFrame = "{{676, 66}, {1145, 812}}";
};
};
@@ -103,16 +120,16 @@
};
8BA05A690720730100365D66 /* SingleEndedTriodeVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 871}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 897}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{3244, 246}";
+ sepNavVisRange = "{2603, 948}";
};
};
8BC6025B073B072D006C4272 /* SingleEndedTriode.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {960, 1885}}";
- sepNavSelRange = "{5481, 20}";
- sepNavVisRange = "{4010, 1624}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 1885}}";
+ sepNavSelRange = "{0, 0}";
+ sepNavVisRange = "{4915, 719}";
sepNavWindowFrame = "{{676, 59}, {1007, 819}}";
};
};
diff --git a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3
index e1ec1b0..a047d72 100755
--- a/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>867</integer>
+ <integer>867</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>216</real>
+ <real>192</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {216, 428}}</string>
+ <string>{{0, 0}, {192, 549}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,19 +315,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {233, 446}}</string>
+ <string>{{0, 0}, {209, 567}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>216</real>
+ <real>192</real>
</array>
<key>RubberWindowFrame</key>
- <string>588 264 810 487 0 0 1440 878 </string>
+ <string>430 203 867 608 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>233pt</string>
+ <string>209pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BBDB967208BF902006F0D04</string>
<key>PBXProjectModuleLabel</key>
- <string>SingleEndedTriodeVersion.h</string>
+ <string>SingleEndedTriode.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,15 +346,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BBDB968208BF902006F0D04</string>
<key>PBXProjectModuleLabel</key>
- <string>SingleEndedTriodeVersion.h</string>
+ <string>SingleEndedTriode.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B7E3E8A20A6930E00482CB5</string>
+ <string>8B792FED21F49D42006E9731</string>
<key>history</key>
<array>
- <string>8B7E3E8820A6930E00482CB5</string>
- <string>8B7E3E8920A6930E00482CB5</string>
+ <string>8B792FE521F49D2B006E9731</string>
+ <string>8B792FE621F49D2B006E9731</string>
+ <string>8B792FE821F49D2B006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {572, 102}}</string>
+ <string>{{0, 0}, {653, 410}}</string>
<key>RubberWindowFrame</key>
- <string>588 264 810 487 0 0 1440 878 </string>
+ <string>430 203 867 608 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>102pt</string>
+ <string>410pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>339pt</string>
+ <string>152pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {572, 312}}</string>
- <key>RubberWindowFrame</key>
- <string>588 264 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {653, 125}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {572, 282}}</string>
+ <string>{{10, 27}, {653, 125}}</string>
+ <key>RubberWindowFrame</key>
+ <string>430 203 867 608 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +459,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>572pt</string>
+ <string>653pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B7E3E8B20A6930E00482CB5</string>
+ <string>8B792FEE21F49D42006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B7E3E8C20A6930E00482CB5</string>
+ <string>8B792FEF21F49D42006E9731</string>
<string>8BBDB967208BF902006F0D04</string>
- <string>8B7E3E8D20A6930E00482CB5</string>
+ <string>8B792FF021F49D42006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>547787534.19024003</real>
+ <real>569679170.50335598</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -656,7 +655,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/SingleEndedTriode/SingleEndedTriode.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>588 264 810 487 0 0 1440 878 </string>
+ <string>430 203 867 608 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Slew/Slew.cpp b/plugins/MacAU/Slew/Slew.cpp
index 3c1a7bf..5eee0ab 100755
--- a/plugins/MacAU/Slew/Slew.cpp
+++ b/plugins/MacAU/Slew/Slew.cpp
@@ -159,6 +159,7 @@ ComponentResult Slew::Initialize()
void Slew::SlewKernel::Reset()
{
lastSample = 0.0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -224,6 +225,12 @@ void Slew::SlewKernel::Process( const Float32 *inSourceP,
outputSample = lastSample - threshold;
lastSample = outputSample;
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)outputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ outputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = outputSample;
destP += inNumChannels;
}
diff --git a/plugins/MacAU/Slew/Slew.exp b/plugins/MacAU/Slew/Slew.exp
index 86851aa..bef4ceb 100755
--- a/plugins/MacAU/Slew/Slew.exp
+++ b/plugins/MacAU/Slew/Slew.exp
@@ -1 +1 @@
-_SlewEntry \ No newline at end of file
+_SlewEntry
diff --git a/plugins/MacAU/Slew/Slew.h b/plugins/MacAU/Slew/Slew.h
index af04876..95bf7c2 100755
--- a/plugins/MacAU/Slew/Slew.h
+++ b/plugins/MacAU/Slew/Slew.h
@@ -113,19 +113,18 @@ public:
: AUKernelBase(inAudioUnit)
{
}
-
- // *Required* overides for the process method for this effect
- // processes one channel of interleaved samples
- virtual void Process( const Float32 *inSourceP,
- Float32 *inDestP,
- UInt32 inFramesToProcess,
- UInt32 inNumChannels,
- bool &ioSilence);
-
- virtual void Reset();
-
- private:
- Float64 lastSample;
+ // *Required* overides for the process method for this effect
+ // processes one channel of interleaved samples
+ virtual void Process( const Float32 *inSourceP,
+ Float32 *inDestP,
+ UInt32 inFramesToProcess,
+ UInt32 inNumChannels,
+ bool &ioSilence);
+ virtual void Reset();
+
+ private:
+ Float64 lastSample;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser
index 39b5e1c..4a1badd 100755
--- a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 482,
20,
48,
43,
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 542412394;
- PBXWorkspaceStateSaveDate = 542412394;
+ PBXPerProjectTemplateStateSaveDate = 569679199;
+ PBXWorkspaceStateSaveDate = 569679199;
};
perUserProjectItems = {
8B38EA761D5BFD02003DFCC5 /* PBXTextBookmark */ = 8B38EA761D5BFD02003DFCC5 /* PBXTextBookmark */;
- 8B44C13C20548E7700B1360B /* PBXTextBookmark */ = 8B44C13C20548E7700B1360B /* PBXTextBookmark */;
- 8B44C13D20548E7700B1360B /* PBXTextBookmark */ = 8B44C13D20548E7700B1360B /* PBXTextBookmark */;
- 8BC032AD1D6667740039F36E /* PBXTextBookmark */ = 8BC032AD1D6667740039F36E /* PBXTextBookmark */;
+ 8B792FFC21F49E37006E9731 /* PBXTextBookmark */ = 8B792FFC21F49E37006E9731 /* PBXTextBookmark */;
+ 8B792FFE21F49E37006E9731 /* PBXTextBookmark */ = 8B792FFE21F49E37006E9731 /* PBXTextBookmark */;
+ 8B79300821F49E6B006E9731 /* PBXTextBookmark */ = 8B79300821F49E6B006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -72,34 +72,52 @@
vrLen = 210;
vrLoc = 3192;
};
- 8B44C13C20548E7700B1360B /* PBXTextBookmark */ = {
+ 8B792FFC21F49E37006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Slew.h */;
+ name = "Slew.h: 125";
+ rLen = 0;
+ rLoc = 4951;
+ rType = 0;
+ vrLen = 940;
+ vrLoc = 4175;
+ };
+ 8B792FFE21F49E37006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Slew.cpp */;
- name = "Slew.cpp: 219";
- rLen = 230;
- rLoc = 9710;
+ name = "Slew.cpp: 231";
+ rLen = 0;
+ rLoc = 10148;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 1188;
+ vrLoc = 9084;
};
- 8B44C13D20548E7700B1360B /* PBXTextBookmark */ = {
+ 8B79300821F49E6B006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Slew.cpp */;
- name = "Slew.cpp: 219";
- rLen = 230;
- rLoc = 9710;
+ name = "Slew.cpp: 231";
+ rLen = 0;
+ rLoc = 10148;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 1237;
+ vrLoc = 9035;
};
8BA05A660720730100365D66 /* Slew.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 3094}}";
- sepNavSelRange = "{9710, 230}";
- sepNavVisRange = "{0, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {964, 3263}}";
+ sepNavSelRange = "{10148, 0}";
+ sepNavVisRange = "{9035, 1237}";
sepNavWindowFrame = "{{545, 47}, {895, 831}}";
};
};
+ 8BA05A670720730100365D66 /* Slew.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{11, 0}";
+ sepNavVisRange = "{0, 11}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
+ };
+ };
8BA05A690720730100365D66 /* SlewVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {824, 897}}";
@@ -107,21 +125,11 @@
sepNavVisRange = "{3192, 210}";
};
};
- 8BC032AD1D6667740039F36E /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Slew.h */;
- name = "Slew.h: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 180;
- vrLoc = 3047;
- };
8BC6025B073B072D006C4272 /* Slew.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {862, 1755}}";
- sepNavSelRange = "{4988, 23}";
- sepNavVisRange = "{3399, 1721}";
+ sepNavIntBoundsRect = "{{0, 0}, {810, 2015}}";
+ sepNavSelRange = "{4951, 0}";
+ sepNavVisRange = "{4175, 940}";
sepNavWindowFrame = "{{492, 40}, {909, 838}}";
};
};
diff --git a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3
index 39ac062..59e0c29 100755
--- a/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Slew/Slew.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>928</integer>
+ <integer>928</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,14 +300,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 685}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +317,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 703}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>620 384 810 487 0 0 1440 878 </string>
+ <string>365 99 928 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B44C13D20548E7700B1360B</string>
+ <string>8B79300821F49E6B006E9731</string>
<key>history</key>
<array>
<string>8B38EA761D5BFD02003DFCC5</string>
- <string>8BC032AD1D6667740039F36E</string>
- <string>8B44C13C20548E7700B1360B</string>
+ <string>8B792FFC21F49E37006E9731</string>
+ <string>8B792FFE21F49E37006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 13}}</string>
+ <string>{{0, 0}, {721, 468}}</string>
<key>RubberWindowFrame</key>
- <string>620 384 810 487 0 0 1440 878 </string>
+ <string>365 99 928 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>13pt</string>
+ <string>468pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>230pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>620 384 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {721, 203}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {721, 203}}</string>
+ <key>RubberWindowFrame</key>
+ <string>365 99 928 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -461,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>721pt</string>
</dict>
</array>
<key>Name</key>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B44C13E20548E7700B1360B</string>
+ <string>8B79300921F49E6B006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B44C13F20548E7700B1360B</string>
+ <string>8B79300A21F49E6B006E9731</string>
<string>8B38EA371D5BF603003DFCC5</string>
- <string>8B44C14020548E7700B1360B</string>
+ <string>8B79300B21F49E6B006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -637,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>542412407.33123505</real>
+ <real>569679467.91034496</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -654,11 +654,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B44C14120548E7700B1360B</string>
+ <string>8B79300C21F49E6B006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Slew/Slew.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>620 384 810 487 0 0 1440 878 </string>
+ <string>365 99 928 744 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Slew2/Slew2.cpp b/plugins/MacAU/Slew2/Slew2.cpp
index 06a128a..d9a5093 100755
--- a/plugins/MacAU/Slew2/Slew2.cpp
+++ b/plugins/MacAU/Slew2/Slew2.cpp
@@ -164,8 +164,8 @@ void Slew2::Slew2Kernel::Reset()
ataUpsampleHighTweak = 0.0414213562373095048801688; //more adds treble to upsampling
ataDecay = 0.915965594177219015; //Catalan's constant, more adds focus and clarity
ataFlip = false; //end reset of antialias parameters
- demotimer = 0;
lastSample = 0.0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -255,6 +255,12 @@ void Slew2::Slew2Kernel::Process( const Float32 *inSourceP,
ataPrevDiffSample = ataDiffSample / 2.0;
//apply processing as difference to non-oversampled raw input
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
//built in output trim and dry/wet by default
diff --git a/plugins/MacAU/Slew2/Slew2.h b/plugins/MacAU/Slew2/Slew2.h
index 236a415..4e16def 100755
--- a/plugins/MacAU/Slew2/Slew2.h
+++ b/plugins/MacAU/Slew2/Slew2.h
@@ -140,8 +140,8 @@ public:
Float64 ataDiffSample;
Float64 ataPrevDiffSample;
bool ataFlip; //end defining of antialiasing variables
- int demotimer;
Float64 lastSample;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser
index c33013d..d905aae 100755
--- a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 427,
20,
48,
43,
@@ -49,13 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528457914;
- PBXWorkspaceStateSaveDate = 528457914;
+ PBXPerProjectTemplateStateSaveDate = 569679497;
+ PBXWorkspaceStateSaveDate = 569679497;
};
perUserProjectItems = {
8B41AFAA1DA1D3B100555FA2 /* PBXTextBookmark */ = 8B41AFAA1DA1D3B100555FA2 /* PBXTextBookmark */;
- 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */ = 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */;
- 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */ = 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */;
+ 8B79301821F49F45006E9731 /* PBXTextBookmark */ = 8B79301821F49F45006E9731 /* PBXTextBookmark */;
+ 8B79301A21F49F45006E9731 /* PBXTextBookmark */ = 8B79301A21F49F45006E9731 /* PBXTextBookmark */;
+ 8B79301F21F49F56006E9731 /* PBXTextBookmark */ = 8B79301F21F49F56006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -71,31 +72,41 @@
vrLen = 12;
vrLoc = 0;
};
- 8B9D670A1F7C8F10007AB60F /* PBXTextBookmark */ = {
+ 8B79301821F49F45006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Slew2.h */;
- name = "Slew2.h: 126";
+ name = "Slew2.h: 143";
rLen = 0;
- rLoc = 4945;
+ rLoc = 5356;
rType = 0;
- vrLen = 78;
- vrLoc = 2972;
+ vrLen = 948;
+ vrLoc = 4563;
};
- 8B9D760A1F7FA10A007AB60F /* PBXTextBookmark */ = {
+ 8B79301A21F49F45006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Slew2.h */;
- name = "Slew2.h: 126";
+ fRef = 8BA05A660720730100365D66 /* Slew2.cpp */;
+ name = "Slew2.cpp: 263";
+ rLen = 0;
+ rLoc = 12140;
+ rType = 0;
+ vrLen = 1567;
+ vrLoc = 10707;
+ };
+ 8B79301F21F49F56006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Slew2.cpp */;
+ name = "Slew2.cpp: 263";
rLen = 0;
- rLoc = 4945;
+ rLoc = 12140;
rType = 0;
- vrLen = 70;
- vrLoc = 2980;
+ vrLen = 1613;
+ vrLoc = 10661;
};
8BA05A660720730100365D66 /* Slew2.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1027, 3497}}";
- sepNavSelRange = "{8581, 0}";
- sepNavVisRange = "{8239, 2561}";
+ sepNavIntBoundsRect = "{{0, 0}, {1027, 3575}}";
+ sepNavSelRange = "{12140, 0}";
+ sepNavVisRange = "{10661, 1613}";
sepNavWindowFrame = "{{548, 41}, {892, 828}}";
};
};
@@ -116,9 +127,9 @@
};
8BC6025B073B072D006C4272 /* Slew2.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 2119}}";
- sepNavSelRange = "{4945, 0}";
- sepNavVisRange = "{2980, 70}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 2301}}";
+ sepNavSelRange = "{5356, 0}";
+ sepNavVisRange = "{4563, 948}";
sepNavWindowFrame = "{{548, 50}, {892, 828}}";
};
};
diff --git a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3
index 4765fda..43df8cf 100755
--- a/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Slew2/Slew2.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>835</integer>
+ <integer>835</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>185</real>
+ <real>147</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {147, 699}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,19 +315,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {164, 717}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>185</real>
+ <real>147</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 353 810 487 0 0 1440 878 </string>
+ <string>433 98 835 758 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>164pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B41AF5A1DA1CCC700555FA2</string>
<key>PBXProjectModuleLabel</key>
- <string>Slew2.h</string>
+ <string>Slew2.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,15 +346,16 @@
<key>PBXProjectModuleGUID</key>
<string>8B41AF5B1DA1CCC700555FA2</string>
<key>PBXProjectModuleLabel</key>
- <string>Slew2.h</string>
+ <string>Slew2.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D760A1F7FA10A007AB60F</string>
+ <string>8B79301F21F49F56006E9731</string>
<key>history</key>
<array>
<string>8B41AFAA1DA1D3B100555FA2</string>
- <string>8B9D670A1F7C8F10007AB60F</string>
+ <string>8B79301821F49F45006E9731</string>
+ <string>8B79301A21F49F45006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {666, 538}}</string>
<key>RubberWindowFrame</key>
- <string>630 353 810 487 0 0 1440 878 </string>
+ <string>433 98 835 758 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>538pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>174pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>630 353 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {666, 147}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {666, 147}}</string>
+ <key>RubberWindowFrame</key>
+ <string>433 98 835 758 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +459,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>666pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D760B1F7FA10A007AB60F</string>
+ <string>8B79302021F49F56006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D760C1F7FA10A007AB60F</string>
+ <string>8B79302121F49F56006E9731</string>
<string>8B41AF5A1DA1CCC700555FA2</string>
- <string>8B9D760D1F7FA10A007AB60F</string>
+ <string>8B79302221F49F56006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528457994.05700201</real>
+ <real>569679702.44383299</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D760E1F7FA10A007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Slew2/Slew2.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 353 810 487 0 0 1440 878 </string>
+ <string>433 98 835 758 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SlewOnly/SlewOnly.cpp b/plugins/MacAU/SlewOnly/SlewOnly.cpp
index a29bf57..1cd7a74 100755
--- a/plugins/MacAU/SlewOnly/SlewOnly.cpp
+++ b/plugins/MacAU/SlewOnly/SlewOnly.cpp
@@ -151,6 +151,7 @@ ComponentResult SlewOnly::Initialize()
void SlewOnly::SlewOnlyKernel::Reset()
{
lastSample = 0.0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -201,6 +202,13 @@ void SlewOnly::SlewOnlyKernel::Process( const Float32 *inSourceP,
lastSample = inputSample;
if (outputSample > 1.0) outputSample = 1.0;
if (outputSample < -1.0) outputSample = -1.0;
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)outputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ outputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = outputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
diff --git a/plugins/MacAU/SlewOnly/SlewOnly.exp b/plugins/MacAU/SlewOnly/SlewOnly.exp
index b3b34fe..af27a2b 100755
--- a/plugins/MacAU/SlewOnly/SlewOnly.exp
+++ b/plugins/MacAU/SlewOnly/SlewOnly.exp
@@ -1 +1 @@
-_SlewOnlyEntry \ No newline at end of file
+_SlewOnlyEntry
diff --git a/plugins/MacAU/SlewOnly/SlewOnly.h b/plugins/MacAU/SlewOnly/SlewOnly.h
index 39c3835..8b31092 100755
--- a/plugins/MacAU/SlewOnly/SlewOnly.h
+++ b/plugins/MacAU/SlewOnly/SlewOnly.h
@@ -122,6 +122,7 @@ public:
private:
Float64 lastSample;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser
index 1d4d6bd..2ef6ab9 100755
--- a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 449,
20,
48,
43,
@@ -49,68 +49,87 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458003;
- PBXWorkspaceStateSaveDate = 528458003;
+ PBXPerProjectTemplateStateSaveDate = 569679830;
+ PBXWorkspaceStateSaveDate = 569679830;
};
perUserProjectItems = {
- 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */ = 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */;
- 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */ = 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */;
- 8B9D76191F7FA162007AB60F /* PBXTextBookmark */ = 8B9D76191F7FA162007AB60F /* PBXTextBookmark */;
+ 8B79302E21F4A032006E9731 /* PBXTextBookmark */ = 8B79302E21F4A032006E9731 /* PBXTextBookmark */;
+ 8B79302F21F4A032006E9731 /* PBXTextBookmark */ = 8B79302F21F4A032006E9731 /* PBXTextBookmark */;
+ 8B79303121F4A032006E9731 /* PBXTextBookmark */ = 8B79303121F4A032006E9731 /* PBXTextBookmark */;
+ 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */ = 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B37E0391D70A73000DB4EC7 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */;
- name = "SlewOnly.cpp: 153";
- rLen = 19;
- rLoc = 6827;
- rType = 0;
- vrLen = 380;
- vrLoc = 6692;
- };
- 8B9D671D1F7C8F37007AB60F /* PBXTextBookmark */ = {
+ 8B79302E21F4A032006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* SlewOnlyVersion.h */;
name = "SlewOnlyVersion.h: 1";
rLen = 0;
rLoc = 0;
rType = 0;
- vrLen = 281;
+ vrLen = 171;
vrLoc = 3098;
};
- 8B9D76191F7FA162007AB60F /* PBXTextBookmark */ = {
+ 8B79302F21F4A032006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* SlewOnlyVersion.h */;
- name = "SlewOnlyVersion.h: 1";
+ fRef = 8BC6025B073B072D006C4272 /* SlewOnly.h */;
+ name = "SlewOnly.h: 125";
rLen = 0;
- rLoc = 0;
+ rLoc = 4852;
rType = 0;
- vrLen = 208;
- vrLoc = 3098;
+ vrLen = 1128;
+ vrLoc = 3828;
+ };
+ 8B79303121F4A032006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */;
+ name = "SlewOnly.cpp: 209";
+ rLen = 0;
+ rLoc = 9458;
+ rType = 0;
+ vrLen = 1694;
+ vrLoc = 7914;
+ };
+ 8B79303B21F4A0A3006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SlewOnly.cpp */;
+ name = "SlewOnly.cpp: 209";
+ rLen = 0;
+ rLoc = 9458;
+ rType = 0;
+ vrLen = 1782;
+ vrLoc = 7826;
};
8BA05A660720730100365D66 /* SlewOnly.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 2821}}";
- sepNavSelRange = "{9074, 0}";
- sepNavVisRange = "{6942, 2391}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 2847}}";
+ sepNavSelRange = "{9458, 0}";
+ sepNavVisRange = "{7826, 1782}";
sepNavWindowFrame = "{{331, 78}, {1021, 800}}";
};
};
+ 8BA05A670720730100365D66 /* SlewOnly.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{15, 0}";
+ sepNavVisRange = "{0, 15}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
+ };
+ };
8BA05A690720730100365D66 /* SlewOnlyVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {754, 1014}}";
+ sepNavIntBoundsRect = "{{0, 0}, {754, 988}}";
sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{3098, 208}";
+ sepNavVisRange = "{3098, 171}";
};
};
8BC6025B073B072D006C4272 /* SlewOnly.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 1703}}";
- sepNavSelRange = "{4807, 22}";
- sepNavVisRange = "{3392, 1546}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 1872}}";
+ sepNavSelRange = "{4852, 0}";
+ sepNavVisRange = "{3828, 1128}";
sepNavWindowFrame = "{{379, 78}, {1021, 800}}";
};
};
diff --git a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3
index b4c32b3..6f61421 100755
--- a/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SlewOnly/SlewOnly.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>895</integer>
+ <integer>895</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,14 +300,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 656}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +317,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 674}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>587 314 810 487 0 0 1440 878 </string>
+ <string>417 141 895 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8B37E0371D70A73000DB4EC7</string>
<key>PBXProjectModuleLabel</key>
- <string>SlewOnlyVersion.h</string>
+ <string>SlewOnly.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,15 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8B37E0381D70A73000DB4EC7</string>
<key>PBXProjectModuleLabel</key>
- <string>SlewOnlyVersion.h</string>
+ <string>SlewOnly.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76191F7FA162007AB60F</string>
+ <string>8B79303B21F4A0A3006E9731</string>
<key>history</key>
<array>
- <string>8B37E0391D70A73000DB4EC7</string>
- <string>8B9D671D1F7C8F37007AB60F</string>
+ <string>8B79302E21F4A032006E9731</string>
+ <string>8B79302F21F4A032006E9731</string>
+ <string>8B79303121F4A032006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {688, 543}}</string>
<key>RubberWindowFrame</key>
- <string>587 314 810 487 0 0 1440 878 </string>
+ <string>417 141 895 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>543pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>126pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>587 314 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {688, 99}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {688, 99}}</string>
+ <key>RubberWindowFrame</key>
+ <string>417 141 895 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>688pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D761A1F7FA162007AB60F</string>
+ <string>8B79303C21F4A0A3006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D761B1F7FA162007AB60F</string>
+ <string>8B79303D21F4A0A3006E9731</string>
<string>8B37E0371D70A73000DB4EC7</string>
- <string>8B9D761C1F7FA162007AB60F</string>
+ <string>8B79303E21F4A0A3006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +637,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458082.578906</real>
+ <real>569680035.79594803</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +654,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D761D1F7FA162007AB60F</string>
+ <string>8B79303F21F4A0A3006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/SlewOnly/SlewOnly.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>587 314 810 487 0 0 1440 878 </string>
+ <string>417 141 895 715 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Spiral/Spiral.cpp b/plugins/MacAU/Spiral/Spiral.cpp
index 77ae93f..0dab386 100755
--- a/plugins/MacAU/Spiral/Spiral.cpp
+++ b/plugins/MacAU/Spiral/Spiral.cpp
@@ -194,23 +194,15 @@ void Spiral::SpiralKernel::Process( const Float32 *inSourceP,
inputSample = sin(inputSample * fabs(inputSample)) / ((inputSample == 0.0) ?1:fabs(inputSample));
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser
index 574956e..f03d75b 100755
--- a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 419,
20,
48,
43,
@@ -49,31 +49,62 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 548241334;
- PBXWorkspaceStateSaveDate = 548241334;
+ PBXPerProjectTemplateStateSaveDate = 569680086;
+ PBXWorkspaceStateSaveDate = 569680086;
};
perUserProjectItems = {
+ 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */ = 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */;
+ 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */ = 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */;
+ 8B79305221F4A238006E9731 /* PBXTextBookmark */ = 8B79305221F4A238006E9731 /* PBXTextBookmark */;
8BBFF81D20AD8037005650EF /* PlistBookmark */ = 8BBFF81D20AD8037005650EF /* PlistBookmark */;
- 8BBFF81E20AD8037005650EF /* PBXBookmark */ = 8BBFF81E20AD8037005650EF /* PBXBookmark */;
- 8BBFF81F20AD8037005650EF /* PBXTextBookmark */ = 8BBFF81F20AD8037005650EF /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79304B21F4A1E5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Spiral.h */;
+ name = "Spiral.h: 59";
+ rLen = 0;
+ rLoc = 2862;
+ rType = 0;
+ vrLen = 684;
+ vrLoc = 4289;
+ };
+ 8B79304D21F4A1E5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Spiral.cpp */;
+ name = "Spiral.cpp: 207";
+ rLen = 0;
+ rLoc = 8720;
+ rType = 0;
+ vrLen = 980;
+ vrLoc = 7743;
+ };
+ 8B79305221F4A238006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Spiral.cpp */;
+ name = "Spiral.cpp: 207";
+ rLen = 0;
+ rLoc = 8720;
+ rType = 0;
+ vrLen = 1029;
+ vrLoc = 7694;
+ };
8BA05A660720730100365D66 /* Spiral.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 2821}}";
- sepNavSelRange = "{8229, 152}";
- sepNavVisRange = "{7230, 1988}";
- sepNavWindowFrame = "{{15, 52}, {850, 821}}";
+ sepNavIntBoundsRect = "{{0, 0}, {747, 2873}}";
+ sepNavSelRange = "{8720, 0}";
+ sepNavVisRange = "{7694, 1029}";
+ sepNavWindowFrame = "{{590, 57}, {850, 821}}";
};
};
8BA05A690720730100365D66 /* SpiralVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {824, 767}}";
- sepNavSelRange = "{2869, 0}";
- sepNavVisRange = "{49, 2888}";
+ sepNavSelRange = "{2870, 4}";
+ sepNavVisRange = "{31, 2906}";
sepNavWindowFrame = "{{15, 52}, {850, 821}}";
};
};
@@ -87,28 +118,14 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/Spiral/Info.plist;
rLen = 0;
- rLoc = 9223372036854775807;
- };
- 8BBFF81E20AD8037005650EF /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Spiral.h */;
- };
- 8BBFF81F20AD8037005650EF /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Spiral.h */;
- name = "Spiral.h: 59";
- rLen = 0;
- rLoc = 2862;
- rType = 0;
- vrLen = 583;
- vrLoc = 3295;
+ rLoc = 9223372036854775808;
};
8BC6025B073B072D006C4272 /* Spiral.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1677}}";
sepNavSelRange = "{2862, 0}";
- sepNavVisRange = "{3295, 583}";
- sepNavWindowFrame = "{{15, 52}, {850, 821}}";
+ sepNavVisRange = "{4289, 684}";
+ sepNavWindowFrame = "{{609, 57}, {850, 821}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3
index fdfc41a..61ccad2 100755
--- a/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Spiral/Spiral.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>161</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -309,7 +307,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {161, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -319,19 +317,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {178, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>161</real>
</array>
<key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>472 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>178pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Spiral.h</string>
+ <string>Spiral.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,15 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Spiral.h</string>
+ <string>Spiral.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBFF81F20AD8037005650EF</string>
+ <string>8B79305221F4A238006E9731</string>
<key>history</key>
<array>
<string>8BBFF81D20AD8037005650EF</string>
- <string>8BBFF81E20AD8037005650EF</string>
+ <string>8B79304B21F4A1E5006E9731</string>
+ <string>8B79304D21F4A1E5006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {658, 432}}</string>
<key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>472 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>432pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>176pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {658, 149}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {658, 149}}</string>
+ <key>RubberWindowFrame</key>
+ <string>472 182 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>658pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBFF82020AD8037005650EF</string>
+ <string>8B79305321F4A238006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBFF82120AD8037005650EF</string>
+ <string>8B79305421F4A238006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBFF82220AD8037005650EF</string>
+ <string>8B79305521F4A238006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>548241463.28044701</real>
+ <real>569680440.94942403</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBFF82320AD8037005650EF</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Spiral/Spiral.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>16 205 841 654 0 0 1440 878 </string>
+ <string>472 182 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Spiral2/Spiral2.cpp b/plugins/MacAU/Spiral2/Spiral2.cpp
index a4051e6..90e5478 100755
--- a/plugins/MacAU/Spiral2/Spiral2.cpp
+++ b/plugins/MacAU/Spiral2/Spiral2.cpp
@@ -274,23 +274,15 @@ void Spiral2::Spiral2Kernel::Process( const Float32 *inSourceP,
prevSample = drySample;
flip = !flip;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser
index 0ac0f78..2e39dac 100755
--- a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.pbxuser
@@ -49,14 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553978426;
- PBXWorkspaceStateSaveDate = 553978426;
+ PBXPerProjectTemplateStateSaveDate = 569680528;
+ PBXWorkspaceStateSaveDate = 569680528;
};
perUserProjectItems = {
8B241CC221016728001BBF7E /* PlistBookmark */ = 8B241CC221016728001BBF7E /* PlistBookmark */;
- 8BB8B7382103A9CC00751000 /* PBXTextBookmark */ = 8BB8B7382103A9CC00751000 /* PBXTextBookmark */;
- 8BBD1839210525AE0015A233 /* PBXTextBookmark */ = 8BBD1839210525AE0015A233 /* PBXTextBookmark */;
- 8BBD183A210525AE0015A233 /* PBXTextBookmark */ = 8BBD183A210525AE0015A233 /* PBXTextBookmark */;
+ 8B79306121F4A306006E9731 /* PBXTextBookmark */ = 8B79306121F4A306006E9731 /* PBXTextBookmark */;
+ 8B79306321F4A306006E9731 /* PBXTextBookmark */ = 8B79306321F4A306006E9731 /* PBXTextBookmark */;
+ 8B79306821F4A31F006E9731 /* PBXTextBookmark */ = 8B79306821F4A31F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -74,57 +74,57 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BA05A660720730100365D66 /* Spiral2.cpp */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3978}}";
- sepNavSelRange = "{9851, 0}";
- sepNavVisRange = "{9227, 533}";
- sepNavWindowFrame = "{{589, 57}, {850, 821}}";
- };
- };
- 8BA05A690720730100365D66 /* Spiral2Version.h */ = {
- uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 767}}";
- sepNavSelRange = "{2880, 0}";
- sepNavVisRange = "{50, 2893}";
- sepNavWindowFrame = "{{643, 57}, {850, 821}}";
- };
- };
- 8BB8B7382103A9CC00751000 /* PBXTextBookmark */ = {
+ 8B79306121F4A306006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Spiral2.h */;
name = "Spiral2.h: 68";
rLen = 0;
rLoc = 3361;
rType = 0;
- vrLen = 396;
- vrLoc = 3238;
+ vrLen = 777;
+ vrLoc = 5062;
};
- 8BBD1839210525AE0015A233 /* PBXTextBookmark */ = {
+ 8B79306321F4A306006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Spiral2.cpp */;
- name = "Spiral2.cpp: 216";
+ name = "Spiral2.cpp: 287";
rLen = 0;
- rLoc = 9851;
+ rLoc = 12341;
rType = 0;
- vrLen = 533;
- vrLoc = 9227;
+ vrLen = 1221;
+ vrLoc = 11123;
};
- 8BBD183A210525AE0015A233 /* PBXTextBookmark */ = {
+ 8B79306821F4A31F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Spiral2.cpp */;
- name = "Spiral2.cpp: 216";
+ name = "Spiral2.cpp: 287";
rLen = 0;
- rLoc = 9851;
+ rLoc = 12341;
rType = 0;
- vrLen = 533;
- vrLoc = 9227;
+ vrLen = 1228;
+ vrLoc = 11116;
+ };
+ 8BA05A660720730100365D66 /* Spiral2.cpp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {831, 3978}}";
+ sepNavSelRange = "{12341, 0}";
+ sepNavVisRange = "{11116, 1228}";
+ sepNavWindowFrame = "{{589, 57}, {850, 821}}";
+ };
+ };
+ 8BA05A690720730100365D66 /* Spiral2Version.h */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {824, 767}}";
+ sepNavSelRange = "{2880, 0}";
+ sepNavVisRange = "{50, 2893}";
+ sepNavWindowFrame = "{{643, 57}, {850, 821}}";
+ };
};
8BC6025B073B072D006C4272 /* Spiral2.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1976}}";
- sepNavSelRange = "{5615, 115}";
- sepNavVisRange = "{4246, 1593}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2028}}";
+ sepNavSelRange = "{3361, 0}";
+ sepNavVisRange = "{5062, 777}";
sepNavWindowFrame = "{{590, 57}, {850, 821}}";
};
};
diff --git a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3
index a91b03c..f083372 100755
--- a/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Spiral2/Spiral2.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -326,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>576 199 841 654 0 0 1440 878 </string>
+ <string>456 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -354,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBD183A210525AE0015A233</string>
+ <string>8B79306821F4A31F006E9731</string>
<key>history</key>
<array>
<string>8B241CC221016728001BBF7E</string>
- <string>8BB8B7382103A9CC00751000</string>
- <string>8BBD1839210525AE0015A233</string>
+ <string>8B79306121F4A306006E9731</string>
+ <string>8B79306321F4A306006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {531, 481}}</string>
<key>RubberWindowFrame</key>
- <string>576 199 841 654 0 0 1440 878 </string>
+ <string>456 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>481pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>127pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
- <key>RubberWindowFrame</key>
- <string>576 199 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 100}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 100}}</string>
+ <key>RubberWindowFrame</key>
+ <string>456 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBD183B210525AE0015A233</string>
+ <string>8B79306921F4A31F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBD183C210525AE0015A233</string>
+ <string>8B79306A21F4A31F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBD183D210525AE0015A233</string>
+ <string>8B79306B21F4A31F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553985454.98206902</real>
+ <real>569680671.35491204</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Spiral2/Spiral2.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>576 199 841 654 0 0 1440 878 </string>
+ <string>456 204 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/StarChild/StarChild.cpp b/plugins/MacAU/StarChild/StarChild.cpp
index 7a434e9..61959c8 100755
--- a/plugins/MacAU/StarChild/StarChild.cpp
+++ b/plugins/MacAU/StarChild/StarChild.cpp
@@ -237,13 +237,8 @@ ComponentResult StarChild::Reset(AudioUnitScope inScope, AudioUnitElement inEle
increment = 1;
dutyCycle = 1;
- demotimer = 0;
-
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -262,9 +257,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
Float32 * outputL = (Float32*)(outBuffer.mBuffers[0].mData);
Float32 * outputR = (Float32*)(outBuffer.mBuffers[1].mData);
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
UInt32 nSampleFrames = inFramesToProcess;
Float32 drySampleL;
@@ -283,8 +275,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
//let's try making it always be the max delay: smaller range forces scale to be longer
Float32 outputPad = 4 * rangeDirect * sqrt(rangeDirect);
-
-
Float32 overallscale = ((1.0-GetParameter( kParam_Two ))*9.0)+1.0;
//apply the singlestage groove wear strongest when bits are heavily crushed
Float32 gain = overallscale;
@@ -314,9 +304,6 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
//and now it's neatly scaled, too
Float32 accumulatorSample;
Float32 correction;
-
-
-
Float32 wetness = GetParameter( kParam_Three );
Float32 dryness = 1.0 - wetness; //reverb setup
@@ -644,25 +631,14 @@ OSStatus StarChild::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
drySampleR += inputSampleR;
//here we combine the tanks with the dry signal
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = drySampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeAL;
- fpTemp = drySampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeAR;
- }
- else {
- fpTemp = drySampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((drySampleL-fpTemp)*fpNew);
- drySampleL += fpNShapeBL;
- fpTemp = drySampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((drySampleR-fpTemp)*fpNew);
- drySampleR += fpNShapeBR;
- }
- fpFlip = not fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)drySampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ drySampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)drySampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ drySampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = drySampleL;
*outputR = drySampleR;
diff --git a/plugins/MacAU/StarChild/StarChild.h b/plugins/MacAU/StarChild/StarChild.h
index 75df690..239daef 100755
--- a/plugins/MacAU/StarChild/StarChild.h
+++ b/plugins/MacAU/StarChild/StarChild.h
@@ -116,9 +116,6 @@ public:
virtual ComponentResult Version() { return kStarChildVersion; }
private:
-
- int demotimer;
-
Float32 d[45102];
UInt32 dCount;
@@ -136,14 +133,8 @@ private:
Float64 wearLPrev;
Float64 wearRPrev;
- Float64 fpNShapeAL;
- Float64 fpNShapeAR;
- Float64 fpNShapeBL;
- Float64 fpNShapeBR;
- // Float64 fpNShapeA;
- // Float64 fpNShapeB;
- bool fpFlip;
-
+ long double fpNShapeR;
+ long double fpNShapeL;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser
index 7cefddd..479a352 100755
--- a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 430,
20,
48,
43,
@@ -49,42 +49,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458151;
- PBXWorkspaceStateSaveDate = 528458151;
+ PBXPerProjectTemplateStateSaveDate = 569680704;
+ PBXWorkspaceStateSaveDate = 569680704;
};
perUserProjectItems = {
- 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */ = 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */;
- 8B9D76381F7FA215007AB60F /* PBXTextBookmark */ = 8B9D76381F7FA215007AB60F /* PBXTextBookmark */;
+ 8B79307721F4A440006E9731 /* PBXTextBookmark */ = 8B79307721F4A440006E9731 /* PBXTextBookmark */;
+ 8B79307921F4A440006E9731 /* PBXTextBookmark */ = 8B79307921F4A440006E9731 /* PBXTextBookmark */;
+ 8B79307E21F4A491006E9731 /* PBXTextBookmark */ = 8B79307E21F4A491006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D67441F7C8F7E007AB60F /* PBXTextBookmark */ = {
+ 8B79307721F4A440006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* StarChild.h */;
- name = "StarChild.h: 122";
- rLen = 35;
- rLoc = 5120;
+ name = "StarChild.h: 119";
+ rLen = 0;
+ rLoc = 5101;
rType = 0;
- vrLen = 71;
- vrLoc = 5102;
+ vrLen = 1029;
+ vrLoc = 4501;
};
- 8B9D76381F7FA215007AB60F /* PBXTextBookmark */ = {
+ 8B79307921F4A440006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* StarChild.h */;
- name = "StarChild.h: 122";
- rLen = 35;
- rLoc = 5120;
+ fRef = 8BA05A660720730100365D66 /* StarChild.cpp */;
+ name = "StarChild.cpp: 650";
+ rLen = 0;
+ rLoc = 38428;
+ rType = 0;
+ vrLen = 1146;
+ vrLoc = 37584;
+ };
+ 8B79307E21F4A491006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* StarChild.cpp */;
+ name = "StarChild.cpp: 260";
+ rLen = 0;
+ rLoc = 12080;
rType = 0;
- vrLen = 55;
- vrLoc = 5118;
+ vrLen = 1508;
+ vrLoc = 11340;
};
8BA05A660720730100365D66 /* StarChild.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1156, 9516}}";
- sepNavSelRange = "{14734, 0}";
- sepNavVisRange = "{14520, 2363}";
+ sepNavIntBoundsRect = "{{0, 0}, {1013, 8762}}";
+ sepNavSelRange = "{12080, 0}";
+ sepNavVisRange = "{11340, 1508}";
sepNavWindowFrame = "{{237, 42}, {1203, 836}}";
};
};
@@ -98,9 +109,9 @@
};
8BC6025B073B072D006C4272 /* StarChild.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {922, 2080}}";
- sepNavSelRange = "{5120, 35}";
- sepNavVisRange = "{5118, 55}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 2106}}";
+ sepNavSelRange = "{5101, 0}";
+ sepNavVisRange = "{4501, 1029}";
sepNavWindowFrame = "{{652, 63}, {932, 815}}";
};
};
diff --git a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3
index 0d2abd0..3349044 100755
--- a/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/StarChild/StarChild.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>876</integer>
+ <integer>876</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 661}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 679}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 293 810 487 0 0 1440 878 </string>
+ <string>447 102 876 720 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -335,12 +333,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>8BAC22EC1F1EA26E009C635C</string>
<key>PBXProjectModuleLabel</key>
- <string>StarChild.h</string>
+ <string>StarChild.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,14 +348,15 @@
<key>PBXProjectModuleGUID</key>
<string>8BAC22ED1F1EA26E009C635C</string>
<key>PBXProjectModuleLabel</key>
- <string>StarChild.h</string>
+ <string>StarChild.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76381F7FA215007AB60F</string>
+ <string>8B79307E21F4A491006E9731</string>
<key>history</key>
<array>
- <string>8B9D67441F7C8F7E007AB60F</string>
+ <string>8B79307721F4A440006E9731</string>
+ <string>8B79307921F4A440006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {669, 542}}</string>
<key>RubberWindowFrame</key>
- <string>630 293 810 487 0 0 1440 878 </string>
+ <string>447 102 876 720 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>542pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>132pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>630 293 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {669, 105}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {669, 105}}</string>
+ <key>RubberWindowFrame</key>
+ <string>447 102 876 720 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -459,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>669pt</string>
</dict>
</array>
<key>Name</key>
@@ -478,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76391F7FA215007AB60F</string>
+ <string>8B79307F21F4A491006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D763A1F7FA215007AB60F</string>
+ <string>8B79308021F4A491006E9731</string>
<string>8BAC22EC1F1EA26E009C635C</string>
- <string>8B9D763B1F7FA215007AB60F</string>
+ <string>8B79308121F4A491006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -635,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458261.212134</real>
+ <real>569681041.62753606</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -652,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D763C1F7FA215007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/StarChild/StarChild.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 293 810 487 0 0 1440 878 </string>
+ <string>447 102 876 720 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/StereoFX/StereoFX.cpp b/plugins/MacAU/StereoFX/StereoFX.cpp
index 3c28466..0c32089 100755
--- a/plugins/MacAU/StereoFX/StereoFX.cpp
+++ b/plugins/MacAU/StereoFX/StereoFX.cpp
@@ -190,10 +190,8 @@ ComponentResult StereoFX::Reset(AudioUnitScope inScope, AudioUnitElement inElem
iirSampleA = 0.0;
iirSampleB = 0.0;
flip = false;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -215,9 +213,6 @@ OSStatus StereoFX::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
long double mid;
@@ -334,28 +329,16 @@ OSStatus StereoFX::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
inputSampleL = (mid+side)/2.0;
inputSampleR = (mid-side)/2.0;
-
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/StereoFX/StereoFX.h b/plugins/MacAU/StereoFX/StereoFX.h
index 11c97f6..a52f713 100755
--- a/plugins/MacAU/StereoFX/StereoFX.h
+++ b/plugins/MacAU/StereoFX/StereoFX.h
@@ -119,10 +119,8 @@ public:
private:
Float64 iirSampleA;
Float64 iirSampleB;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
+ long double fpNShapeL;
+ long double fpNShapeR;
bool flip;
};
diff --git a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser
index 626bcdf..ad53de0 100755
--- a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 462,
20,
48,
43,
@@ -49,18 +49,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546569486;
- PBXWorkspaceStateSaveDate = 546569486;
+ PBXPerProjectTemplateStateSaveDate = 569681258;
+ PBXWorkspaceStateSaveDate = 569681258;
+ };
+ perUserProjectItems = {
+ 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */ = 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */;
+ 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */ = 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */;
+ 8B79309421F4A60C006E9731 /* PBXTextBookmark */ = 8B79309421F4A60C006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79308D21F4A5EC006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* StereoFX.h */;
+ name = "StereoFX.h: 123";
+ rLen = 0;
+ rLoc = 5154;
+ rType = 0;
+ vrLen = 1108;
+ vrLoc = 4168;
+ };
+ 8B79308F21F4A5EC006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* StereoFX.cpp */;
+ name = "StereoFX.cpp: 345";
+ rLen = 0;
+ rLoc = 14822;
+ rType = 0;
+ vrLen = 1556;
+ vrLoc = 12814;
+ };
+ 8B79309421F4A60C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* StereoFX.cpp */;
+ name = "StereoFX.cpp: 216";
+ rLen = 0;
+ rLoc = 9502;
+ rType = 0;
+ vrLen = 1621;
+ vrLoc = 8612;
+ };
8BA05A660720730100365D66 /* StereoFX.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1098, 5096}}";
- sepNavSelRange = "{12356, 2168}";
- sepNavVisRange = "{13918, 1439}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 4888}}";
+ sepNavSelRange = "{9502, 0}";
+ sepNavVisRange = "{8612, 1621}";
sepNavWindowFrame = "{{763, 66}, {1145, 812}}";
};
};
@@ -89,9 +124,9 @@
};
8BC6025B073B072D006C4272 /* StereoFX.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 1729}}";
- sepNavSelRange = "{4892, 0}";
- sepNavVisRange = "{1992, 1673}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 1911}}";
+ sepNavSelRange = "{5154, 0}";
+ sepNavVisRange = "{4168, 1108}";
sepNavWindowFrame = "{{726, 78}, {1021, 800}}";
};
};
diff --git a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3
index 600e693..6d5fb55 100755
--- a/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/StereoFX/StereoFX.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>908</integer>
+ <integer>908</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 649}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 667}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>622 347 810 487 0 0 1440 878 </string>
+ <string>377 128 908 708 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -335,12 +333,14 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>8B050BD820648DF500700365</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>StereoFX.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,7 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8B050BD920648DF500700365</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>StereoFX.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B79309421F4A60C006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B79308D21F4A5EC006E9731</string>
+ <string>8B79308F21F4A5EC006E9731</string>
+ </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -361,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 0}}</string>
+ <string>{{0, 0}, {701, 497}}</string>
<key>RubberWindowFrame</key>
- <string>622 347 810 487 0 0 1440 878 </string>
+ <string>377 128 908 708 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>497pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>441pt</string>
+ <string>165pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -386,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>622 347 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {701, 138}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {701, 138}}</string>
+ <key>RubberWindowFrame</key>
+ <string>377 128 908 708 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -451,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>701pt</string>
</dict>
</array>
<key>Name</key>
@@ -470,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5CFD0209404910058B257</string>
+ <string>8B79309521F4A60C006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5CFD1209404910058B257</string>
+ <string>8B79309621F4A60C006E9731</string>
<string>8B050BD820648DF500700365</string>
- <string>8BC5CFD2209404910058B257</string>
+ <string>8B79309721F4A60C006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546571409.14249599</real>
+ <real>569681420.22861803</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BC5CFD3209404910058B257</string>
<string>/Users/christopherjohnson/Desktop/MacAU/StereoFX/StereoFX.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>622 347 810 487 0 0 1440 878 </string>
+ <string>377 128 908 708 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SubsOnly/SubsOnly.cpp b/plugins/MacAU/SubsOnly/SubsOnly.cpp
index 4013912..cfa37b0 100755
--- a/plugins/MacAU/SubsOnly/SubsOnly.cpp
+++ b/plugins/MacAU/SubsOnly/SubsOnly.cpp
@@ -176,6 +176,7 @@ void SubsOnly::SubsOnlyKernel::Reset()
iirSampleX = 0.0;
iirSampleY = 0.0;
iirSampleZ = 0.0;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -332,6 +333,14 @@ void SubsOnly::SubsOnlyKernel::Process( const Float32 *inSourceP,
iirSampleZ = (iirSampleZ * altAmount) + (inputSample * iirAmount); inputSample = iirSampleZ;
if (inputSample > 1.0) inputSample = 1.0;
if (inputSample < -1.0) inputSample = -1.0;
+
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
diff --git a/plugins/MacAU/SubsOnly/SubsOnly.exp b/plugins/MacAU/SubsOnly/SubsOnly.exp
index 4735777..04208e0 100755
--- a/plugins/MacAU/SubsOnly/SubsOnly.exp
+++ b/plugins/MacAU/SubsOnly/SubsOnly.exp
@@ -1 +1 @@
-_SubsOnlyEntry \ No newline at end of file
+_SubsOnlyEntry
diff --git a/plugins/MacAU/SubsOnly/SubsOnly.h b/plugins/MacAU/SubsOnly/SubsOnly.h
index ba372cd..a2efe96 100755
--- a/plugins/MacAU/SubsOnly/SubsOnly.h
+++ b/plugins/MacAU/SubsOnly/SubsOnly.h
@@ -147,6 +147,7 @@ public:
Float64 iirSampleX;
Float64 iirSampleY;
Float64 iirSampleZ;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser
index 2f28dde..61b79e7 100755
--- a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 506,
20,
48,
43,
@@ -49,21 +49,64 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458272;
- PBXWorkspaceStateSaveDate = 528458272;
+ PBXPerProjectTemplateStateSaveDate = 569681518;
+ PBXWorkspaceStateSaveDate = 569681518;
+ };
+ perUserProjectItems = {
+ 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */ = 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */;
+ 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */ = 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */;
+ 8B7930AB21F4A702006E9731 /* PBXTextBookmark */ = 8B7930AB21F4A702006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B7930A321F4A6E6006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* SubsOnly.h */;
+ name = "SubsOnly.h: 150";
+ rLen = 0;
+ rLoc = 5401;
+ rType = 0;
+ vrLen = 748;
+ vrLoc = 4757;
+ };
+ 8B7930A521F4A6E6006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SubsOnly.cpp */;
+ name = "SubsOnly.cpp: 337";
+ rLen = 0;
+ rLoc = 15815;
+ rType = 0;
+ vrLen = 1698;
+ vrLoc = 14455;
+ };
+ 8B7930AB21F4A702006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SubsOnly.cpp */;
+ name = "SubsOnly.cpp: 337";
+ rLen = 0;
+ rLoc = 15815;
+ rType = 0;
+ vrLen = 1744;
+ vrLoc = 14409;
+ };
8BA05A660720730100365D66 /* SubsOnly.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 4758}}";
- sepNavSelRange = "{8636, 0}";
- sepNavVisRange = "{7845, 2381}";
+ sepNavIntBoundsRect = "{{0, 0}, {712, 4316}}";
+ sepNavSelRange = "{15815, 0}";
+ sepNavVisRange = "{14409, 1744}";
sepNavWindowFrame = "{{343, 78}, {1021, 800}}";
};
};
+ 8BA05A670720730100365D66 /* SubsOnly.exp */ = {
+ uiCtxt = {
+ sepNavIntBoundsRect = "{{0, 0}, {1253, 694}}";
+ sepNavSelRange = "{15, 0}";
+ sepNavVisRange = "{0, 15}";
+ sepNavWindowFrame = "{{15, 51}, {1300, 822}}";
+ };
+ };
8BA05A690720730100365D66 /* SubsOnlyVersion.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {848, 897}}";
@@ -74,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* SubsOnly.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 2028}}";
- sepNavSelRange = "{4806, 572}";
- sepNavVisRange = "{4271, 1216}";
+ sepNavIntBoundsRect = "{{0, 0}, {803, 2431}}";
+ sepNavSelRange = "{5401, 0}";
+ sepNavVisRange = "{4757, 748}";
sepNavWindowFrame = "{{15, 73}, {1021, 800}}";
};
};
diff --git a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3
index 03a6556..0059357 100755
--- a/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SubsOnly/SubsOnly.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>952</integer>
+ <integer>952</integer>
</array>
<key>Perspectives</key>
<array>
@@ -300,14 +300,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>4</integer>
+ <integer>5</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 684}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +317,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 702}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>494 327 810 487 0 0 1440 878 </string>
+ <string>341 97 952 743 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BBD0B9A1D70A94D003F8957</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>SubsOnly.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,7 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BBD0B9B1D70A94D003F8957</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>SubsOnly.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B7930AB21F4A702006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B7930A321F4A6E6006E9731</string>
+ <string>8B7930A521F4A6E6006E9731</string>
+ </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -361,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 0}}</string>
+ <string>{{0, 0}, {745, 504}}</string>
<key>RubberWindowFrame</key>
- <string>494 327 810 487 0 0 1440 878 </string>
+ <string>341 97 952 743 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>504pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>441pt</string>
+ <string>193pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -386,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>494 327 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {745, 166}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {745, 166}}</string>
+ <key>RubberWindowFrame</key>
+ <string>341 97 952 743 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -451,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>745pt</string>
</dict>
</array>
<key>Name</key>
@@ -470,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76471F7FA22D007AB60F</string>
+ <string>8B7930AC21F4A702006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76481F7FA22D007AB60F</string>
+ <string>8B7930AD21F4A702006E9731</string>
<string>8BBD0B9A1D70A94D003F8957</string>
- <string>8B9D76491F7FA22D007AB60F</string>
+ <string>8B7930AE21F4A702006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458285.16747701</real>
+ <real>569681666.59451497</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +653,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D764A1F7FA22D007AB60F</string>
+ <string>8B7930AF21F4A702006E9731</string>
<string>/Users/christopherjohnson/Desktop/MacAU/SubsOnly/SubsOnly.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>494 327 810 487 0 0 1440 878 </string>
+ <string>341 97 952 743 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Surge/Surge.cpp b/plugins/MacAU/Surge/Surge.cpp
index 6c59016..af2adf4 100755
--- a/plugins/MacAU/Surge/Surge.cpp
+++ b/plugins/MacAU/Surge/Surge.cpp
@@ -181,11 +181,8 @@ ComponentResult Surge::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult Surge::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- flip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
chaseA = 0.0;
chaseB = 0.0;
chaseC = 0.0;
@@ -210,9 +207,6 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
@@ -227,7 +221,6 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
Float64 dry = 1.0 - wet;
Float64 inputSense;
-
while (nSampleFrames-- > 0) {
inputSampleL = *inputL;
inputSampleR = *inputR;
@@ -312,27 +305,14 @@ OSStatus Surge::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
inputSampleR = drySampleR - (inputSampleR * intensity);
inputSampleR = (drySampleR * dry) + (inputSampleR * wet);
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- flip = !flip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Surge/Surge.h b/plugins/MacAU/Surge/Surge.h
index 3569845..0d24ad7 100755
--- a/plugins/MacAU/Surge/Surge.h
+++ b/plugins/MacAU/Surge/Surge.h
@@ -112,11 +112,8 @@ public:
virtual ComponentResult Version() { return kSurgeVersion; }
private:
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
- bool flip;
+ long double fpNShapeL;
+ long double fpNShapeR;
long double chaseA;
long double chaseB;
long double chaseC;
diff --git a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser
index ea48a6f..c2c098b 100755
--- a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.pbxuser
@@ -12,7 +12,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 446,
20,
48,
43,
@@ -51,12 +51,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458296;
- PBXWorkspaceStateSaveDate = 528458296;
+ PBXPerProjectTemplateStateSaveDate = 569681702;
+ PBXWorkspaceStateSaveDate = 569681702;
};
perUserProjectItems = {
- 8B9D72591F7F002B007AB60F /* PBXTextBookmark */ = 8B9D72591F7F002B007AB60F /* PBXTextBookmark */;
- 8B9D76551F7FA262007AB60F /* PBXTextBookmark */ = 8B9D76551F7FA262007AB60F /* PBXTextBookmark */;
+ 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */ = 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */;
+ 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */ = 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */;
+ 8B7930C221F4A996006E9731 /* PBXTextBookmark */ = 8B7930C221F4A996006E9731 /* PBXTextBookmark */;
8BD4F5501E6E0C5600288155 /* PlistBookmark */ = 8BD4F5501E6E0C5600288155 /* PlistBookmark */;
8BD4F5511E6E0C5600288155 /* PBXTextBookmark */ = 8BD4F5511E6E0C5600288155 /* PBXTextBookmark */;
};
@@ -64,31 +65,41 @@
userBuildSettings = {
};
};
- 8B9D72591F7F002B007AB60F /* PBXTextBookmark */ = {
+ 8B7930BB21F4A95A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* Surge.h */;
- name = "Surge.h: 119";
+ name = "Surge.h: 116";
rLen = 0;
- rLoc = 4988;
+ rLoc = 4922;
rType = 0;
- vrLen = 383;
- vrLoc = 2846;
+ vrLen = 1308;
+ vrLoc = 3829;
};
- 8B9D76551F7FA262007AB60F /* PBXTextBookmark */ = {
+ 8B7930BD21F4A95A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Surge.h */;
- name = "Surge.h: 119";
+ fRef = 8BA05A660720730100365D66 /* Surge.cpp */;
+ name = "Surge.cpp: 316";
+ rLen = 0;
+ rLoc = 12980;
+ rType = 0;
+ vrLen = 1238;
+ vrLoc = 11945;
+ };
+ 8B7930C221F4A996006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Surge.cpp */;
+ name = "Surge.cpp: 316";
rLen = 0;
- rLoc = 4988;
+ rLoc = 12980;
rType = 0;
- vrLen = 334;
- vrLoc = 2895;
+ vrLen = 1520;
+ vrLoc = 10349;
};
8BA05A660720730100365D66 /* Surge.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {977, 4628}}";
- sepNavSelRange = "{10662, 0}";
- sepNavVisRange = "{9183, 2420}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4511}}";
+ sepNavSelRange = "{12980, 0}";
+ sepNavVisRange = "{10349, 1520}";
sepNavWindowFrame = "{{416, 39}, {1024, 839}}";
};
};
@@ -102,9 +113,9 @@
};
8BC6025B073B072D006C4272 /* Surge.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1963}}";
- sepNavSelRange = "{4988, 0}";
- sepNavVisRange = "{2895, 334}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1768}}";
+ sepNavSelRange = "{4922, 0}";
+ sepNavVisRange = "{3829, 1308}";
sepNavWindowFrame = "{{788, 29}, {1024, 839}}";
};
};
diff --git a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3
index 0b410ec..85d373f 100755
--- a/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Surge/Surge.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>898</integer>
+ <integer>898</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>191</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {191, 681}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {208, 699}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>191</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 205 841 654 0 0 1440 878 </string>
+ <string>405 127 898 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>208pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Surge.h</string>
+ <string>Surge.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,16 +347,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Surge.h</string>
+ <string>Surge.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76551F7FA262007AB60F</string>
+ <string>8B7930C221F4A996006E9731</string>
<key>history</key>
<array>
<string>8BD4F5501E6E0C5600288155</string>
<string>8BD4F5511E6E0C5600288155</string>
- <string>8B9D72591F7F002B007AB60F</string>
+ <string>8B7930BB21F4A95A006E9731</string>
+ <string>8B7930BD21F4A95A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {685, 539}}</string>
<key>RubberWindowFrame</key>
- <string>599 205 841 654 0 0 1440 878 </string>
+ <string>405 127 898 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>539pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>155pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>599 205 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {685, 128}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {685, 128}}</string>
+ <key>RubberWindowFrame</key>
+ <string>405 127 898 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>685pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76561F7FA262007AB60F</string>
+ <string>8B7930C321F4A996006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76571F7FA262007AB60F</string>
+ <string>8B7930C421F4A996006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76581F7FA262007AB60F</string>
+ <string>8B7930C521F4A996006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458338.37719601</real>
+ <real>569682326.61837006</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76591F7FA262007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Surge/Surge.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 205 841 654 0 0 1440 878 </string>
+ <string>405 127 898 740 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SurgeMono/SurgeMono.cpp b/plugins/MacAU/SurgeMono/SurgeMono.cpp
index dac3bbd..8909d58 100755
--- a/plugins/MacAU/SurgeMono/SurgeMono.cpp
+++ b/plugins/MacAU/SurgeMono/SurgeMono.cpp
@@ -166,9 +166,7 @@ ComponentResult SurgeMono::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void SurgeMono::SurgeMonoKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
chaseA = 0.0;
chaseB = 0.0;
chaseC = 0.0;
@@ -190,11 +188,7 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP,
Float32 *destP = inDestP;
long double overallscale = 1.0;
overallscale /= 44100.0;
- overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ overallscale *= GetSampleRate();
long double inputSample;
long double drySample;
Float64 chaseMax = 0.0;
@@ -205,7 +199,6 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP,
Float64 dry = 1.0 - wet;
Float64 inputSense;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -265,19 +258,11 @@ void SurgeMono::SurgeMonoKernel::Process( const Float32 *inSourceP,
inputSample = drySample - (inputSample * intensity);
inputSample = (drySample * dry) + (inputSample * wet);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/SurgeMono/SurgeMono.h b/plugins/MacAU/SurgeMono/SurgeMono.h
index 68d3d7b..692d325 100755
--- a/plugins/MacAU/SurgeMono/SurgeMono.h
+++ b/plugins/MacAU/SurgeMono/SurgeMono.h
@@ -128,9 +128,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
long double chaseA;
long double chaseB;
long double chaseC;
diff --git a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser
index e9de3fd..073386c 100755
--- a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.pbxuser
@@ -49,18 +49,20 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458347;
- PBXWorkspaceStateSaveDate = 528458347;
+ PBXPerProjectTemplateStateSaveDate = 569682465;
+ PBXWorkspaceStateSaveDate = 569682465;
};
perUserProjectItems = {
- 8B9D67791F7C8FFF007AB60F /* PlistBookmark */ = 8B9D67791F7C8FFF007AB60F /* PlistBookmark */;
- 8B9D76661F7FA27C007AB60F /* PlistBookmark */ = 8B9D76661F7FA27C007AB60F /* PlistBookmark */;
+ 8B7930D121F4AAA2006E9731 /* PlistBookmark */ = 8B7930D121F4AAA2006E9731 /* PlistBookmark */;
+ 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */ = 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */;
+ 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */ = 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */;
+ 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */ = 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D67791F7C8FFF007AB60F /* PlistBookmark */ = {
+ 8B7930D121F4AAA2006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,25 +72,43 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/SurgeMono/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8B9D76661F7FA27C007AB60F /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/SurgeMono/Info.plist;
+ 8B7930D221F4AAA2006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* SurgeMono.h */;
+ name = "SurgeMono.h: 131";
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 5211;
+ rType = 0;
+ vrLen = 694;
+ vrLoc = 4739;
+ };
+ 8B7930D421F4AAA2006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeMono.cpp */;
+ name = "SurgeMono.cpp: 266";
+ rLen = 0;
+ rLoc = 11482;
+ rType = 0;
+ vrLen = 860;
+ vrLoc = 10710;
+ };
+ 8B7930D921F4AAD9006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeMono.cpp */;
+ name = "SurgeMono.cpp: 266";
+ rLen = 0;
+ rLoc = 11482;
+ rType = 0;
+ vrLen = 863;
+ vrLoc = 10707;
};
8BA05A660720730100365D66 /* SurgeMono.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {977, 3770}}";
- sepNavSelRange = "{9077, 0}";
- sepNavVisRange = "{8218, 2347}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3796}}";
+ sepNavSelRange = "{11482, 0}";
+ sepNavVisRange = "{10707, 863}";
sepNavWindowFrame = "{{416, 39}, {1024, 839}}";
};
};
@@ -102,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* SurgeMono.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {977, 1885}}";
- sepNavSelRange = "{5253, 112}";
- sepNavVisRange = "{3887, 1587}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2210}}";
+ sepNavSelRange = "{5211, 0}";
+ sepNavVisRange = "{4739, 694}";
sepNavWindowFrame = "{{571, 39}, {1024, 839}}";
};
};
diff --git a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3
index e17ff881..3226810 100755
--- a/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SurgeMono/SurgeMono.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -325,7 +323,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>582 129 841 654 0 0 1440 878 </string>
+ <string>444 180 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>SurgeMono.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,14 +347,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>SurgeMono.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76661F7FA27C007AB60F</string>
+ <string>8B7930D921F4AAD9006E9731</string>
<key>history</key>
<array>
- <string>8B9D67791F7C8FFF007AB60F</string>
+ <string>8B7930D121F4AAA2006E9731</string>
+ <string>8B7930D221F4AAA2006E9731</string>
+ <string>8B7930D421F4AAA2006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {531, 414}}</string>
<key>RubberWindowFrame</key>
- <string>582 129 841 654 0 0 1440 878 </string>
+ <string>444 180 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>414pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>194pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
- <key>RubberWindowFrame</key>
- <string>582 129 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 167}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {531, 167}}</string>
+ <key>RubberWindowFrame</key>
+ <string>444 180 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76671F7FA27C007AB60F</string>
+ <string>8B7930DA21F4AAD9006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76681F7FA27C007AB60F</string>
+ <string>8B7930DB21F4AAD9006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76691F7FA27C007AB60F</string>
+ <string>8B7930DC21F4AAD9006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458364.66416103</real>
+ <real>569682649.56976402</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D766A1F7FA27C007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/SurgeMono/SurgeMono.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>582 129 841 654 0 0 1440 878 </string>
+ <string>444 180 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SurgeTide/SurgeTide.cpp b/plugins/MacAU/SurgeTide/SurgeTide.cpp
index 2a2fe42..3a415f2 100755
--- a/plugins/MacAU/SurgeTide/SurgeTide.cpp
+++ b/plugins/MacAU/SurgeTide/SurgeTide.cpp
@@ -188,11 +188,8 @@ ComponentResult SurgeTide::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult SurgeTide::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- flip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
chaseA = 0.0;
chaseB = 0.0;
chaseC = 0.0;
@@ -215,11 +212,7 @@ OSStatus SurgeTide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
-
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+
long double inputSampleL;
long double inputSampleR;
long double drySampleL;
@@ -309,27 +302,14 @@ OSStatus SurgeTide::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFla
inputSampleR = drySampleR - (inputSampleR * intensity);
inputSampleR = (drySampleR * dry) + (inputSampleR * wet);
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- flip = !flip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/SurgeTide/SurgeTide.h b/plugins/MacAU/SurgeTide/SurgeTide.h
index f62817e..a72f6c6 100755
--- a/plugins/MacAU/SurgeTide/SurgeTide.h
+++ b/plugins/MacAU/SurgeTide/SurgeTide.h
@@ -115,11 +115,8 @@ public:
virtual ComponentResult Version() { return kSurgeTideVersion; }
private:
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
- bool flip;
+ long double fpNShapeL;
+ long double fpNShapeR;
long double chaseA;
long double chaseB;
long double chaseC;
diff --git a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser
index 40a4ff3..72c4866 100755
--- a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 316,
20,
48,
43,
@@ -49,40 +49,20 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 543460920;
- PBXWorkspaceStateSaveDate = 543460920;
+ PBXPerProjectTemplateStateSaveDate = 569682693;
+ PBXWorkspaceStateSaveDate = 569682693;
};
perUserProjectItems = {
- 8B050BEA20648E5500700365 /* PBXTextBookmark */ = 8B050BEA20648E5500700365 /* PBXTextBookmark */;
- 8B050BEB20648E5500700365 /* PBXTextBookmark */ = 8B050BEB20648E5500700365 /* PBXTextBookmark */;
8B3221941DC3CF2D00C1FCDF /* PlistBookmark */ = 8B3221941DC3CF2D00C1FCDF /* PlistBookmark */;
8B3DF6731E6A5BAE00E788B6 /* PBXTextBookmark */ = 8B3DF6731E6A5BAE00E788B6 /* PBXTextBookmark */;
- 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */ = 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */;
+ 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */ = 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */;
+ 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */ = 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */;
+ 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */ = 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B050BEA20648E5500700365 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* SurgeTide.h */;
- name = "SurgeTide.h: 132";
- rLen = 0;
- rLoc = 5345;
- rType = 0;
- vrLen = 263;
- vrLoc = 5082;
- };
- 8B050BEB20648E5500700365 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */;
- name = "SurgeTide.cpp: 303";
- rLen = 0;
- rLoc = 12636;
- rType = 0;
- vrLen = 1129;
- vrLoc = 12486;
- };
8B3221941DC3CF2D00C1FCDF /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -105,11 +85,41 @@
vrLen = 359;
vrLoc = 2598;
};
+ 8B7930E821F4AB6C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* SurgeTide.h */;
+ name = "SurgeTide.h: 119";
+ rLen = 0;
+ rLoc = 5103;
+ rType = 0;
+ vrLen = 1669;
+ vrLoc = 3609;
+ };
+ 8B7930EA21F4AB6C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */;
+ name = "SurgeTide.cpp: 313";
+ rLen = 0;
+ rLoc = 13187;
+ rType = 0;
+ vrLen = 1366;
+ vrLoc = 12024;
+ };
+ 8B7930EF21F4AB96006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */;
+ name = "SurgeTide.cpp: 313";
+ rLen = 0;
+ rLoc = 13187;
+ rType = 0;
+ vrLen = 1259;
+ vrLoc = 11985;
+ };
8BA05A660720730100365D66 /* SurgeTide.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4680}}";
- sepNavSelRange = "{12636, 0}";
- sepNavVisRange = "{12486, 1129}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4498}}";
+ sepNavSelRange = "{13187, 0}";
+ sepNavVisRange = "{11985, 1259}";
sepNavWindowFrame = "{{758, 43}, {679, 835}}";
};
};
@@ -123,22 +133,12 @@
};
8BC6025B073B072D006C4272 /* SurgeTide.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1846}}";
- sepNavSelRange = "{5345, 0}";
- sepNavVisRange = "{5082, 263}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1703}}";
+ sepNavSelRange = "{5103, 0}";
+ sepNavVisRange = "{3609, 1669}";
sepNavWindowFrame = "{{755, 43}, {679, 835}}";
};
};
- 8BC9089C1DC7FFFE008187BE /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* SurgeTide.cpp */;
- name = "SurgeTide.cpp: 304";
- rLen = 0;
- rLoc = 13729;
- rType = 0;
- vrLen = 592;
- vrLoc = 10562;
- };
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
diff --git a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3
index 5941322..f9eb835 100755
--- a/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SurgeTide/SurgeTide.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>865</integer>
+ <integer>865</integer>
</array>
<key>Perspectives</key>
<array>
@@ -306,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {288, 707}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -316,14 +316,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {305, 725}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>436 94 865 766 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -334,8 +334,6 @@
<key>Dock</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -353,13 +351,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B050BEB20648E5500700365</string>
+ <string>8B7930EF21F4AB96006E9731</string>
<key>history</key>
<array>
<string>8B3221941DC3CF2D00C1FCDF</string>
<string>8B3DF6731E6A5BAE00E788B6</string>
- <string>8B050BEA20648E5500700365</string>
- <string>8BC9089C1DC7FFFE008187BE</string>
+ <string>8B7930E821F4AB6C006E9731</string>
+ <string>8B7930EA21F4AB6C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 502}}</string>
+ <string>{{0, 0}, {555, 495}}</string>
<key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>436 94 865 766 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>502pt</string>
+ <string>495pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>106pt</string>
+ <string>225pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 79}}</string>
- <key>RubberWindowFrame</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {555, 83}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {555, 198}}</string>
+ <key>RubberWindowFrame</key>
+ <string>436 94 865 766 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -463,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>555pt</string>
</dict>
</array>
<key>Name</key>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B050BEC20648E5500700365</string>
+ <string>8B7930F021F4AB96006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B050BED20648E5500700365</string>
+ <string>8B7930F121F4AB96006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B050BEE20648E5500700365</string>
+ <string>8B7930F221F4AB96006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>543460949.69104803</real>
+ <real>569682838.98241794</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/SurgeTide/SurgeTide.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 190 841 654 0 0 1440 878 </string>
+ <string>436 94 865 766 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp b/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp
index 04f678b..2bbd972 100755
--- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp
+++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.cpp
@@ -174,9 +174,7 @@ ComponentResult SurgeTideMono::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void SurgeTideMono::SurgeTideMonoKernel::Reset()
{
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
chaseA = 0.0;
chaseB = 0.0;
chaseC = 0.0;
@@ -196,11 +194,7 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP,
Float32 *destP = inDestP;
long double overallscale = 1.0;
overallscale /= 44100.0;
- overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
+ overallscale *= GetSampleRate();
long double inputSample;
long double drySample;
Float64 intensity = GetParameter( kParam_One );
@@ -210,7 +204,6 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP,
Float64 dry = 1.0 - wet;
Float64 inputSense;
-
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
if (inputSample<1.2e-38 && -inputSample<1.2e-38) {
@@ -262,19 +255,11 @@ void SurgeTideMono::SurgeTideMonoKernel::Process( const Float32 *inSourceP,
inputSample = drySample - (inputSample * intensity);
inputSample = (drySample * dry) + (inputSample * wet);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.h b/plugins/MacAU/SurgeTideMono/SurgeTideMono.h
index 9b5f6c9..067d2e5 100755
--- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.h
+++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.h
@@ -131,9 +131,7 @@ public:
virtual void Reset();
private:
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
long double chaseA;
long double chaseB;
long double chaseC;
diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser
index 4cdf650..fce4d19 100755
--- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 405,
20,
48,
43,
@@ -49,18 +49,20 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458399;
- PBXWorkspaceStateSaveDate = 528458399;
+ PBXPerProjectTemplateStateSaveDate = 569682860;
+ PBXWorkspaceStateSaveDate = 569682860;
};
perUserProjectItems = {
- 8B9D67A21F7C9057007AB60F /* PlistBookmark */ = 8B9D67A21F7C9057007AB60F /* PlistBookmark */;
- 8B9D76841F7FA2BF007AB60F /* PlistBookmark */ = 8B9D76841F7FA2BF007AB60F /* PlistBookmark */;
+ 8B7930FE21F4AC25006E9731 /* PlistBookmark */ = 8B7930FE21F4AC25006E9731 /* PlistBookmark */;
+ 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */ = 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */;
+ 8B79310121F4AC25006E9731 /* PBXTextBookmark */ = 8B79310121F4AC25006E9731 /* PBXTextBookmark */;
+ 8B79310621F4AC4F006E9731 /* PBXTextBookmark */ = 8B79310621F4AC4F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D67A21F7C9057007AB60F /* PlistBookmark */ = {
+ 8B7930FE21F4AC25006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,25 +72,43 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8B9D76841F7FA2BF007AB60F /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/Info.plist;
+ 8B7930FF21F4AC25006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* SurgeTideMono.h */;
+ name = "SurgeTideMono.h: 134";
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 5400;
+ rType = 0;
+ vrLen = 247;
+ vrLoc = 5329;
+ };
+ 8B79310121F4AC25006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeTideMono.cpp */;
+ name = "SurgeTideMono.cpp: 263";
+ rLen = 0;
+ rLoc = 11716;
+ rType = 0;
+ vrLen = 788;
+ vrLoc = 11016;
+ };
+ 8B79310621F4AC4F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* SurgeTideMono.cpp */;
+ name = "SurgeTideMono.cpp: 263";
+ rLen = 0;
+ rLoc = 11716;
+ rType = 0;
+ vrLen = 791;
+ vrLoc = 11013;
};
8BA05A660720730100365D66 /* SurgeTideMono.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 3757}}";
- sepNavSelRange = "{9553, 0}";
- sepNavVisRange = "{8589, 2453}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3770}}";
+ sepNavSelRange = "{11716, 0}";
+ sepNavVisRange = "{11013, 791}";
sepNavWindowFrame = "{{733, 43}, {679, 835}}";
};
};
@@ -102,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* SurgeTideMono.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1898}}";
- sepNavSelRange = "{5377, 240}";
- sepNavVisRange = "{3991, 1626}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}";
+ sepNavSelRange = "{5400, 0}";
+ sepNavVisRange = "{5329, 247}";
sepNavWindowFrame = "{{849, 40}, {679, 835}}";
};
};
diff --git a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3
index 1739112..606086c 100755
--- a/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>175</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {175, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {192, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>175</real>
</array>
<key>RubberWindowFrame</key>
- <string>528 221 841 654 0 0 1440 878 </string>
+ <string>454 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>192pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>SurgeTideMono.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,14 +347,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>SurgeTideMono.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76841F7FA2BF007AB60F</string>
+ <string>8B79310621F4AC4F006E9731</string>
<key>history</key>
<array>
- <string>8B9D67A21F7C9057007AB60F</string>
+ <string>8B7930FE21F4AC25006E9731</string>
+ <string>8B7930FF21F4AC25006E9731</string>
+ <string>8B79310121F4AC25006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {644, 402}}</string>
<key>RubberWindowFrame</key>
- <string>528 221 841 654 0 0 1440 878 </string>
+ <string>454 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>402pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>206pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>528 221 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {644, 179}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {644, 179}}</string>
+ <key>RubberWindowFrame</key>
+ <string>454 219 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>644pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76851F7FA2BF007AB60F</string>
+ <string>8B79310721F4AC4F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76861F7FA2BF007AB60F</string>
+ <string>8B79310821F4AC4F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76871F7FA2BF007AB60F</string>
+ <string>8B79310921F4AC4F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458431.67624801</real>
+ <real>569683023.93876398</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +673,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76881F7FA2BF007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/SurgeTideMono/SurgeTideMono.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>528 221 841 654 0 0 1440 878 </string>
+ <string>454 219 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Swell/Swell.cpp b/plugins/MacAU/Swell/Swell.cpp
index 821b33d..09dec89 100755
--- a/plugins/MacAU/Swell/Swell.cpp
+++ b/plugins/MacAU/Swell/Swell.cpp
@@ -176,10 +176,7 @@ void Swell::SwellKernel::Reset()
{
swell = 0.0;
louder = false;
-
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -197,10 +194,6 @@ void Swell::SwellKernel::Process( const Float32 *inSourceP,
long double overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
-
Float64 thresholdOn = pow(GetParameter( kParam_One ),2) * GetParameter( kParam_Two );
Float64 speedOn = (pow(GetParameter( kParam_Two ),2)*0.001)/overallscale;
Float64 thresholdOff = thresholdOn * GetParameter( kParam_Two );
@@ -252,20 +245,11 @@ void Swell::SwellKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/Swell/Swell.h b/plugins/MacAU/Swell/Swell.h
index 31aa5a8..fa35436 100755
--- a/plugins/MacAU/Swell/Swell.h
+++ b/plugins/MacAU/Swell/Swell.h
@@ -134,10 +134,7 @@ public:
long double swell;
bool louder;
-
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser
index 3af313e..ac01270 100755
--- a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 398,
20,
48,
43,
@@ -49,24 +49,55 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 532491016;
- PBXWorkspaceStateSaveDate = 532491016;
+ PBXPerProjectTemplateStateSaveDate = 569683044;
+ PBXWorkspaceStateSaveDate = 569683044;
};
perUserProjectItems = {
+ 8B79311521F4ACEB006E9731 /* PBXTextBookmark */ = 8B79311521F4ACEB006E9731 /* PBXTextBookmark */;
+ 8B79311721F4ACEB006E9731 /* PBXTextBookmark */ = 8B79311721F4ACEB006E9731 /* PBXTextBookmark */;
+ 8B79311C21F4AD21006E9731 /* PBXTextBookmark */ = 8B79311C21F4AD21006E9731 /* PBXTextBookmark */;
8BB5DDF41FBD106E008B4570 /* PlistBookmark */ = 8BB5DDF41FBD106E008B4570 /* PlistBookmark */;
8BCC7CCD1FBD2D3C00982BD6 /* PBXTextBookmark */ = 8BCC7CCD1FBD2D3C00982BD6 /* PBXTextBookmark */;
- 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */ = 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */;
- 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */ = 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79311521F4ACEB006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Swell.h */;
+ name = "Swell.h: 137";
+ rLen = 0;
+ rLoc = 5329;
+ rType = 0;
+ vrLen = 700;
+ vrLoc = 4739;
+ };
+ 8B79311721F4ACEB006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Swell.cpp */;
+ name = "Swell.cpp: 247";
+ rLen = 0;
+ rLoc = 11121;
+ rType = 0;
+ vrLen = 871;
+ vrLoc = 10589;
+ };
+ 8B79311C21F4AD21006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Swell.cpp */;
+ name = "Swell.cpp: 247";
+ rLen = 0;
+ rLoc = 11121;
+ rType = 0;
+ vrLen = 957;
+ vrLoc = 10503;
+ };
8BA05A660720730100365D66 /* Swell.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 3809}}";
- sepNavSelRange = "{11320, 0}";
- sepNavVisRange = "{9895, 1840}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3484}}";
+ sepNavSelRange = "{11121, 0}";
+ sepNavVisRange = "{10503, 957}";
sepNavWindowFrame = "{{545, 39}, {895, 839}}";
};
};
@@ -92,9 +123,9 @@
};
8BC6025B073B072D006C4272 /* Swell.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 1755}}";
- sepNavSelRange = "{2846, 0}";
- sepNavVisRange = "{2642, 366}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2275}}";
+ sepNavSelRange = "{5329, 0}";
+ sepNavVisRange = "{4739, 700}";
sepNavWindowFrame = "{{678, 39}, {895, 839}}";
};
};
@@ -108,20 +139,6 @@
vrLen = 336;
vrLoc = 2594;
};
- 8BCC7CCE1FBD2D3C00982BD6 /* PBXBookmark */ = {
- isa = PBXBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Swell.h */;
- };
- 8BCC7CD31FBD2E6800982BD6 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* Swell.h */;
- name = "Swell.h: 57";
- rLen = 0;
- rLoc = 2846;
- rType = 0;
- vrLen = 366;
- vrLoc = 2642;
- };
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
diff --git a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3
index cf784ae..5de7e2f 100755
--- a/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Swell/Swell.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>182</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {182, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {199, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>182</real>
</array>
<key>RubberWindowFrame</key>
- <string>580 200 841 654 0 0 1440 878 </string>
+ <string>450 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>199pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Swell.h</string>
+ <string>Swell.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,16 +347,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Swell.h</string>
+ <string>Swell.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BCC7CD31FBD2E6800982BD6</string>
+ <string>8B79311C21F4AD21006E9731</string>
<key>history</key>
<array>
<string>8BB5DDF41FBD106E008B4570</string>
<string>8BCC7CCD1FBD2D3C00982BD6</string>
- <string>8BCC7CCE1FBD2D3C00982BD6</string>
+ <string>8B79311521F4ACEB006E9731</string>
+ <string>8B79311721F4ACEB006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 254}}</string>
+ <string>{{0, 0}, {637, 421}}</string>
<key>RubberWindowFrame</key>
- <string>580 200 841 654 0 0 1440 878 </string>
+ <string>450 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>254pt</string>
+ <string>421pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>354pt</string>
+ <string>187pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 327}}</string>
- <key>RubberWindowFrame</key>
- <string>580 200 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {637, 160}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {637, 160}}</string>
+ <key>RubberWindowFrame</key>
+ <string>450 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>637pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BCC7CA61FBD2B1F00982BD6</string>
+ <string>8B79311D21F4AD21006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BCC7CA71FBD2B1F00982BD6</string>
+ <string>8B79311E21F4AD21006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BCC7CA81FBD2B1F00982BD6</string>
+ <string>8B79311F21F4AD21006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>532491880.84511602</real>
+ <real>569683233.59178197</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -678,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/Swell/Swell.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>580 200 841 654 0 0 1440 878 </string>
+ <string>450 207 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3
index f301be9..f301be9 100644..100755
--- a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser
index d9faebe..d9faebe 100644..100755
--- a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.pbxuser
diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3
index 00fe290..00fe290 100644..100755
--- a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/christopherjohnson.perspectivev3
diff --git a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj
index 3e6384c..3e6384c 100644..100755
--- a/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/TPDFDither/TPDFDither.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/TapeDelay/TapeDelay.cpp b/plugins/MacAU/TapeDelay/TapeDelay.cpp
index 2a8219e..8f0ea2b 100755
--- a/plugins/MacAU/TapeDelay/TapeDelay.cpp
+++ b/plugins/MacAU/TapeDelay/TapeDelay.cpp
@@ -322,23 +322,15 @@ void TapeDelay::TapeDelayKernel::Process( const Float32 *inSourceP,
//yes this is a second bounds check. it's cheap, check EVERY time
inputSample = (inputSample * dry) + (d[delay] * wet);
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser
index 1ad93f8..49f55d6 100755
--- a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.pbxuser
@@ -51,23 +51,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 565748345;
- PBXWorkspaceStateSaveDate = 565748345;
+ PBXPerProjectTemplateStateSaveDate = 569683336;
+ PBXWorkspaceStateSaveDate = 569683336;
};
perUserProjectItems = {
+ 8B79312721F4AD85006E9731 /* PBXTextBookmark */ = 8B79312721F4AD85006E9731 /* PBXTextBookmark */;
+ 8B79313821F4AD8C006E9731 /* PBXTextBookmark */ = 8B79313821F4AD8C006E9731 /* PBXTextBookmark */;
+ 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */ = 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */;
8BBB310821B8995100825986 /* PlistBookmark */ = 8BBB310821B8995100825986 /* PlistBookmark */;
- 8BBB311D21B89C1700825986 /* PBXTextBookmark */ = 8BBB311D21B89C1700825986 /* PBXTextBookmark */;
- 8BBB319821B8A4C800825986 /* PBXTextBookmark */ = 8BBB319821B8A4C800825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79312721F4AD85006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* TapeDelay.h */;
+ name = "TapeDelay.h: 150";
+ rLen = 1;
+ rLoc = 5889;
+ rType = 0;
+ vrLen = 679;
+ vrLoc = 5344;
+ };
+ 8B79313821F4AD8C006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */;
+ name = "TapeDelay.cpp: 330";
+ rLen = 0;
+ rLoc = 14179;
+ rType = 0;
+ vrLen = 988;
+ vrLoc = 13279;
+ };
+ 8B79313D21F4ADA2006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */;
+ name = "TapeDelay.cpp: 330";
+ rLen = 0;
+ rLoc = 14179;
+ rType = 0;
+ vrLen = 987;
+ vrLoc = 13279;
+ };
8BA05A660720730100365D66 /* TapeDelay.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1055, 4615}}";
- sepNavSelRange = "{13925, 0}";
- sepNavVisRange = "{13802, 523}";
+ sepNavIntBoundsRect = "{{0, 0}, {1055, 4641}}";
+ sepNavSelRange = "{14179, 0}";
+ sepNavVisRange = "{13279, 987}";
sepNavWindowFrame = "{{456, 34}, {1129, 834}}";
};
};
@@ -91,31 +122,11 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BBB311D21B89C1700825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */;
- name = "TapeDelay.cpp: 323";
- rLen = 0;
- rLoc = 13925;
- rType = 0;
- vrLen = 526;
- vrLoc = 13802;
- };
- 8BBB319821B8A4C800825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* TapeDelay.cpp */;
- name = "TapeDelay.cpp: 323";
- rLen = 0;
- rLoc = 13925;
- rType = 0;
- vrLen = 523;
- vrLoc = 13802;
- };
8BC6025B073B072D006C4272 /* TapeDelay.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {1082, 2054}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}";
sepNavSelRange = "{5889, 1}";
- sepNavVisRange = "{4426, 1597}";
+ sepNavVisRange = "{5344, 679}";
sepNavWindowFrame = "{{311, 44}, {1129, 834}}";
};
};
diff --git a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3
index a2673ea..09bd991 100755
--- a/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TapeDelay/TapeDelay.xcodeproj/christopherjohnson.perspectivev3
@@ -324,7 +324,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>546 187 841 654 0 0 1440 878 </string>
+ <string>400 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBB319821B8A4C800825986</string>
+ <string>8B79313D21F4ADA2006E9731</string>
<key>history</key>
<array>
<string>8BBB310821B8995100825986</string>
- <string>8BBB311D21B89C1700825986</string>
+ <string>8B79312721F4AD85006E9731</string>
+ <string>8B79313821F4AD8C006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,23 +371,21 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {531, 430}}</string>
<key>RubberWindowFrame</key>
- <string>546 187 841 654 0 0 1440 878 </string>
+ <string>400 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>430pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>178pt</string>
<key>Tabs</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
- <key>RubberWindowFrame</key>
- <string>546 187 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {531, 151}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {531, 151}}</string>
+ <key>RubberWindowFrame</key>
+ <string>400 207 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBB316E21B8A29600825986</string>
+ <string>8B79313E21F4ADA2006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBB316F21B8A29600825986</string>
+ <string>8B79313F21F4ADA2006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBB317021B8A29600825986</string>
+ <string>8B79314021F4ADA2006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>565748936.10847795</real>
+ <real>569683362.16233301</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBB319921B8A4C800825986</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TapeDelay/TapeDelay.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>546 187 841 654 0 0 1440 878 </string>
+ <string>400 207 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser
index cd7f8c0..6e62cb5 100755
--- a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.pbxuser
@@ -49,13 +49,13 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458444;
- PBXWorkspaceStateSaveDate = 528458444;
+ PBXPerProjectTemplateStateSaveDate = 565558307;
+ PBXWorkspaceStateSaveDate = 565558307;
};
perUserProjectItems = {
8B4FD0461DF97DCE00999740 /* PlistBookmark */ = 8B4FD0461DF97DCE00999740 /* PlistBookmark */;
- 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */ = 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */;
- 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */ = 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */;
+ 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */ = 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */;
+ 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */ = 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,32 +73,22 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D67AE1F7C9067007AB60F /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */;
- name = "TapeDither.cpp: 182";
- rLen = 0;
- rLoc = 9240;
- rType = 0;
- vrLen = 471;
- vrLoc = 7491;
- };
- 8B9D76931F7FA2E5007AB60F /* PBXTextBookmark */ = {
+ 8B913F63213DBB0300BA6EEC /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */;
name = "TapeDither.cpp: 208";
rLen = 0;
rLoc = 9240;
rType = 0;
- vrLen = 719;
- vrLoc = 7534;
+ vrLen = 682;
+ vrLoc = 7571;
};
8BA05A660720730100365D66 /* TapeDither.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {691, 2964}}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 2938}}";
sepNavSelRange = "{9240, 0}";
- sepNavVisRange = "{7534, 719}";
- sepNavWindowFrame = "{{733, 43}, {679, 835}}";
+ sepNavVisRange = "{7598, 655}";
+ sepNavWindowFrame = "{{742, 43}, {679, 835}}";
};
};
8BA05A690720730100365D66 /* TapeDitherVersion.h */ = {
@@ -112,7 +102,7 @@
8BC6025B073B072D006C4272 /* TapeDither.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1742}}";
- sepNavSelRange = "{4852, 0}";
+ sepNavSelRange = "{4959, 54}";
sepNavVisRange = "{3476, 1700}";
sepNavWindowFrame = "{{711, 43}, {679, 835}}";
};
@@ -131,6 +121,16 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
+ 8BDA3BE121B5BE7800CC56FA /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeDither.cpp */;
+ name = "TapeDither.cpp: 208";
+ rLen = 0;
+ rLoc = 9240;
+ rType = 0;
+ vrLen = 655;
+ vrLoc = 7598;
+ };
8D01CCC60486CAD60068D4B7 /* TapeDither */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3
index 8282adf..b98406f 100755
--- a/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TapeDither/TapeDither.xcodeproj/christopherjohnson.perspectivev3
@@ -325,7 +325,7 @@
<real>288</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 182 841 654 0 0 1440 878 </string>
+ <string>649 171 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,11 +353,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76931F7FA2E5007AB60F</string>
+ <string>8BDA3BE121B5BE7800CC56FA</string>
<key>history</key>
<array>
<string>8B4FD0461DF97DCE00999740</string>
- <string>8B9D67AE1F7C9067007AB60F</string>
+ <string>8B913F63213DBB0300BA6EEC</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {531, 202}}</string>
<key>RubberWindowFrame</key>
- <string>599 182 841 654 0 0 1440 878 </string>
+ <string>649 171 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>202pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>406pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +396,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
+ <string>{{10, 27}, {531, 379}}</string>
<key>RubberWindowFrame</key>
- <string>599 182 841 654 0 0 1440 878 </string>
+ <string>649 171 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76941F7FA2E5007AB60F</string>
+ <string>8BDA3BE221B5BE7800CC56FA</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76951F7FA2E5007AB60F</string>
+ <string>8BDA3BE321B5BE7800CC56FA</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76961F7FA2E5007AB60F</string>
+ <string>8BDA3BE421B5BE7800CC56FA</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458469.64023101</real>
+ <real>565558904.14568102</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +674,11 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76971F7FA2E5007AB60F</string>
+ <string>8BDA3BE521B5BE7800CC56FA</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TapeDither/TapeDither.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 182 841 654 0 0 1440 878 </string>
+ <string>649 171 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TapeDust/TapeDust.cpp b/plugins/MacAU/TapeDust/TapeDust.cpp
index 1f87d66..c586339 100755
--- a/plugins/MacAU/TapeDust/TapeDust.cpp
+++ b/plugins/MacAU/TapeDust/TapeDust.cpp
@@ -167,9 +167,8 @@ ComponentResult TapeDust::Initialize()
void TapeDust::TapeDustKernel::Reset()
{
for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;}
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
+ fpFlip = false;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -184,9 +183,6 @@ void TapeDust::TapeDustKernel::Process( const Float32 *inSourceP,
UInt32 nSampleFrames = inFramesToProcess;
const Float32 *sourceP = inSourceP;
Float32 *destP = inDestP;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
long double inputSample;
Float64 drySample;
Float64 rRange = pow(GetParameter( kParam_One ),2)*5.0;
@@ -250,20 +246,13 @@ void TapeDust::TapeDustKernel::Process( const Float32 *inSourceP,
if (wet < 1.0) {
inputSample = (inputSample * wet) + (drySample * dry);
}
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/TapeDust/TapeDust.h b/plugins/MacAU/TapeDust/TapeDust.h
index 55255f3..6898d7e 100755
--- a/plugins/MacAU/TapeDust/TapeDust.h
+++ b/plugins/MacAU/TapeDust/TapeDust.h
@@ -130,8 +130,7 @@ public:
private:
Float64 b[11];
Float64 f[11];
- long double fpNShapeA;
- long double fpNShapeB;
+ long double fpNShape;
bool fpFlip;
};
};
diff --git a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser
index 910a299..7e3a474 100755
--- a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 499,
20,
48,
43,
@@ -49,18 +49,20 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458482;
- PBXWorkspaceStateSaveDate = 528458482;
+ PBXPerProjectTemplateStateSaveDate = 569683382;
+ PBXWorkspaceStateSaveDate = 569683382;
};
perUserProjectItems = {
- 8B9D67BE1F7C9098007AB60F /* PlistBookmark */ = 8B9D67BE1F7C9098007AB60F /* PlistBookmark */;
- 8B9D76A21F7FA30E007AB60F /* PlistBookmark */ = 8B9D76A21F7FA30E007AB60F /* PlistBookmark */;
+ 8B79314C21F4AE33006E9731 /* PlistBookmark */ = 8B79314C21F4AE33006E9731 /* PlistBookmark */;
+ 8B79315421F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315421F4AE7A006E9731 /* PBXTextBookmark */;
+ 8B79315521F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315521F4AE7A006E9731 /* PBXTextBookmark */;
+ 8B79315621F4AE7A006E9731 /* PBXTextBookmark */ = 8B79315621F4AE7A006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D67BE1F7C9098007AB60F /* PlistBookmark */ = {
+ 8B79314C21F4AE33006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -70,25 +72,43 @@
);
name = /Users/christopherjohnson/Desktop/MacAU/TapeDust/Info.plist;
rLen = 0;
- rLoc = 9223372036854775808;
+ rLoc = 9223372036854775807;
};
- 8B9D76A21F7FA30E007AB60F /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/TapeDust/Info.plist;
+ 8B79315421F4AE7A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* TapeDust.h */;
+ name = "TapeDust.h: 134";
rLen = 0;
- rLoc = 9223372036854775807;
+ rLoc = 5248;
+ rType = 0;
+ vrLen = 1104;
+ vrLoc = 4248;
+ };
+ 8B79315521F4AE7A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeDust.cpp */;
+ name = "TapeDust.cpp: 171";
+ rLen = 0;
+ rLoc = 7722;
+ rType = 0;
+ vrLen = 1529;
+ vrLoc = 7003;
+ };
+ 8B79315621F4AE7A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeDust.cpp */;
+ name = "TapeDust.cpp: 249";
+ rLen = 0;
+ rLoc = 10792;
+ rType = 0;
+ vrLen = 959;
+ vrLoc = 10175;
};
8BA05A660720730100365D66 /* TapeDust.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 3679}}";
- sepNavSelRange = "{9254, 0}";
- sepNavVisRange = "{8609, 2167}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 3666}}";
+ sepNavSelRange = "{10792, 0}";
+ sepNavVisRange = "{10175, 959}";
sepNavWindowFrame = "{{415, 39}, {1005, 839}}";
};
};
@@ -102,9 +122,9 @@
};
8BC6025B073B072D006C4272 /* TapeDust.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {958, 1846}}";
- sepNavSelRange = "{5174, 36}";
- sepNavVisRange = "{3746, 1638}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2054}}";
+ sepNavSelRange = "{5248, 0}";
+ sepNavVisRange = "{4248, 1110}";
sepNavWindowFrame = "{{4, 39}, {1005, 839}}";
};
};
diff --git a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3
index f7b0fff..c956cc8 100755
--- a/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TapeDust/TapeDust.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>927</integer>
+ <integer>927</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>167</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {167, 689}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,30 +316,32 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {184, 707}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>167</real>
</array>
<key>RubberWindowFrame</key>
- <string>432 155 841 654 0 0 1440 878 </string>
+ <string>372 100 927 748 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>184pt</string>
</dict>
<dict>
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>TapeDust.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,14 +349,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>TapeDust.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76A21F7FA30E007AB60F</string>
+ <string>8B79315621F4AE7A006E9731</string>
<key>history</key>
<array>
- <string>8B9D67BE1F7C9098007AB60F</string>
+ <string>8B79314C21F4AE33006E9731</string>
+ <string>8B79315421F4AE7A006E9731</string>
+ <string>8B79315521F4AE7A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 229}}</string>
+ <string>{{0, 0}, {738, 552}}</string>
<key>RubberWindowFrame</key>
- <string>432 155 841 654 0 0 1440 878 </string>
+ <string>372 100 927 748 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>229pt</string>
+ <string>552pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>379pt</string>
+ <string>150pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 352}}</string>
- <key>RubberWindowFrame</key>
- <string>432 155 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {738, 123}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {738, 123}}</string>
+ <key>RubberWindowFrame</key>
+ <string>372 100 927 748 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +462,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>738pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76A31F7FA30E007AB60F</string>
+ <string>8B79315721F4AE7A006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76A41F7FA30E007AB60F</string>
+ <string>8B79315821F4AE7A006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76A51F7FA30E007AB60F</string>
+ <string>8B79315921F4AE7A006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -656,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458510.42729199</real>
+ <real>569683578.38407302</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -673,11 +675,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76A61F7FA30E007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TapeDust/TapeDust.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>432 155 841 654 0 0 1440 878 </string>
+ <string>372 100 927 748 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TapeFat/TapeFat.cpp b/plugins/MacAU/TapeFat/TapeFat.cpp
index d95de3a..42e9d60 100755
--- a/plugins/MacAU/TapeFat/TapeFat.cpp
+++ b/plugins/MacAU/TapeFat/TapeFat.cpp
@@ -263,23 +263,15 @@ void TapeFat::TapeFatKernel::Process( const Float32 *inSourceP,
gcount--;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser
index b5c4293..640ec56 100755
--- a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 398,
20,
48,
43,
@@ -49,24 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 566516790;
- PBXWorkspaceStateSaveDate = 566516790;
+ PBXPerProjectTemplateStateSaveDate = 569684489;
+ PBXWorkspaceStateSaveDate = 569684489;
};
perUserProjectItems = {
+ 8B79316521F4B25B006E9731 /* PBXTextBookmark */ = 8B79316521F4B25B006E9731 /* PBXTextBookmark */;
+ 8B79316721F4B25B006E9731 /* PBXTextBookmark */ = 8B79316721F4B25B006E9731 /* PBXTextBookmark */;
+ 8B79316C21F4B278006E9731 /* PBXTextBookmark */ = 8B79316C21F4B278006E9731 /* PBXTextBookmark */;
8BBB319521B8A4BD00825986 /* PlistBookmark */ = 8BBB319521B8A4BD00825986 /* PlistBookmark */;
- 8BBB336921C45BB400825986 /* PBXTextBookmark */ = 8BBB336921C45BB400825986 /* PBXTextBookmark */;
- 8BBB339021C45C6E00825986 /* PBXTextBookmark */ = 8BBB339021C45C6E00825986 /* PBXTextBookmark */;
- 8BBB339121C45C6E00825986 /* PBXTextBookmark */ = 8BBB339121C45C6E00825986 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79316521F4B25B006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* TapeFat.h */;
+ name = "TapeFat.h: 133";
+ rLen = 0;
+ rLoc = 5283;
+ rType = 0;
+ vrLen = 301;
+ vrLoc = 5036;
+ };
+ 8B79316721F4B25B006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */;
+ name = "TapeFat.cpp: 276";
+ rLen = 0;
+ rLoc = 11440;
+ rType = 0;
+ vrLen = 1045;
+ vrLoc = 10398;
+ };
+ 8B79316C21F4B278006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */;
+ name = "TapeFat.cpp: 276";
+ rLen = 0;
+ rLoc = 11440;
+ rType = 0;
+ vrLen = 1082;
+ vrLoc = 10361;
+ };
8BA05A660720730100365D66 /* TapeFat.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {817, 3900}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{3, 648}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3835}}";
+ sepNavSelRange = "{11440, 0}";
+ sepNavVisRange = "{10361, 1082}";
sepNavWindowFrame = "{{777, -19}, {1129, 834}}";
};
};
@@ -90,41 +120,11 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BBB336921C45BB400825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */;
- name = "TapeFat.cpp: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 651;
- vrLoc = 0;
- };
- 8BBB339021C45C6E00825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* TapeFat.h */;
- name = "TapeFat.h: 133";
- rLen = 0;
- rLoc = 5283;
- rType = 0;
- vrLen = 302;
- vrLoc = 5036;
- };
- 8BBB339121C45C6E00825986 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* TapeFat.cpp */;
- name = "TapeFat.cpp: 1";
- rLen = 0;
- rLoc = 0;
- rType = 0;
- vrLen = 648;
- vrLoc = 3;
- };
8BC6025B073B072D006C4272 /* TapeFat.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 2015}}";
sepNavSelRange = "{5283, 0}";
- sepNavVisRange = "{5036, 302}";
+ sepNavVisRange = "{5036, 301}";
sepNavWindowFrame = "{{806, -59}, {1129, 834}}";
};
};
diff --git a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3
index dfd80e8..343eaae 100755
--- a/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TapeFat/TapeFat.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>182</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -309,7 +307,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {182, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -319,19 +317,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {199, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>182</real>
</array>
<key>RubberWindowFrame</key>
- <string>599 89 841 654 0 0 1440 878 </string>
+ <string>440 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>199pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -354,12 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BBB339121C45C6E00825986</string>
+ <string>8B79316C21F4B278006E9731</string>
<key>history</key>
<array>
<string>8BBB319521B8A4BD00825986</string>
- <string>8BBB339021C45C6E00825986</string>
- <string>8BBB336921C45BB400825986</string>
+ <string>8B79316521F4B25B006E9731</string>
+ <string>8B79316721F4B25B006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {637, 512}}</string>
<key>RubberWindowFrame</key>
- <string>599 89 841 654 0 0 1440 878 </string>
+ <string>440 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>512pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>96pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
- <key>RubberWindowFrame</key>
- <string>599 89 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {637, 69}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {637, 69}}</string>
+ <key>RubberWindowFrame</key>
+ <string>440 183 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -463,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>637pt</string>
</dict>
</array>
<key>Name</key>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBB339221C45C6E00825986</string>
+ <string>8B79316D21F4B278006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBB339321C45C6E00825986</string>
+ <string>8B79316E21F4B278006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BBB339421C45C6E00825986</string>
+ <string>8B79316F21F4B278006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>566516846.91763997</real>
+ <real>569684600.92815804</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBB339521C45C6E00825986</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TapeFat/TapeFat.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>599 89 841 654 0 0 1440 878 </string>
+ <string>440 183 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Thunder/Thunder.cpp b/plugins/MacAU/Thunder/Thunder.cpp
index 64bdf0c..f9dc657 100755
--- a/plugins/MacAU/Thunder/Thunder.cpp
+++ b/plugins/MacAU/Thunder/Thunder.cpp
@@ -179,10 +179,8 @@ ComponentResult Thunder::Initialize()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ComponentResult Thunder::Reset(AudioUnitScope inScope, AudioUnitElement inElement)
{
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
muSpeedA = 10000;
muSpeedB = 10000;
muCoefficientA = 1;
@@ -240,9 +238,6 @@ OSStatus Thunder::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
Float64 resultML;
Float64 resultMR;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
@@ -423,28 +418,16 @@ OSStatus Thunder::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags
inputSampleL *= outputGain;
inputSampleR *= outputGain;
}
-
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
flip = !flip;
- //end noise shaping on 32 bit output
+
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Thunder/Thunder.h b/plugins/MacAU/Thunder/Thunder.h
index 4c01ac4..233c3db 100755
--- a/plugins/MacAU/Thunder/Thunder.h
+++ b/plugins/MacAU/Thunder/Thunder.h
@@ -129,10 +129,8 @@ private:
Float64 iirSampleAM;
Float64 iirSampleBM;
Float64 iirSampleCM;
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
+ long double fpNShapeL;
+ long double fpNShapeR;
bool flip;
};
diff --git a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser
index 908569c..32120c0 100755
--- a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 383,
20,
48,
43,
@@ -49,38 +49,59 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458521;
- PBXWorkspaceStateSaveDate = 528458521;
+ PBXPerProjectTemplateStateSaveDate = 569684635;
+ PBXWorkspaceStateSaveDate = 569684635;
};
perUserProjectItems = {
- 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */ = 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */;
- 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */ = 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */;
+ 8B79317B21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317B21F4B33A006E9731 /* PBXTextBookmark */;
+ 8B79317C21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317C21F4B33A006E9731 /* PBXTextBookmark */;
+ 8B79317E21F4B33A006E9731 /* PBXTextBookmark */ = 8B79317E21F4B33A006E9731 /* PBXTextBookmark */;
+ 8B79318321F4B354006E9731 /* PBXTextBookmark */ = 8B79318321F4B354006E9731 /* PBXTextBookmark */;
8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */ = 8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */;
- 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */ = 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D67CF1F7C90C4007AB60F /* PBXTextBookmark */ = {
+ 8B79317B21F4B33A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A690720730100365D66 /* ThunderVersion.h */;
name = "ThunderVersion.h: 51";
rLen = 0;
rLoc = 2757;
rType = 0;
- vrLen = 344;
- vrLoc = 2598;
+ vrLen = 286;
+ vrLoc = 2656;
};
- 8B9D76B11F7FA32E007AB60F /* PBXTextBookmark */ = {
+ 8B79317C21F4B33A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
- fRef = 8BA05A690720730100365D66 /* ThunderVersion.h */;
- name = "ThunderVersion.h: 51";
+ fRef = 8BC6025B073B072D006C4272 /* Thunder.h */;
+ name = "Thunder.h: 134";
rLen = 0;
- rLoc = 2757;
+ rLoc = 5285;
+ rType = 0;
+ vrLen = 598;
+ vrLoc = 4806;
+ };
+ 8B79317E21F4B33A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Thunder.cpp */;
+ name = "Thunder.cpp: 431";
+ rLen = 0;
+ rLoc = 16556;
+ rType = 0;
+ vrLen = 1132;
+ vrLoc = 15627;
+ };
+ 8B79318321F4B354006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Thunder.cpp */;
+ name = "Thunder.cpp: 431";
+ rLen = 0;
+ rLoc = 16556;
rType = 0;
- vrLen = 315;
- vrLoc = 2627;
+ vrLen = 1172;
+ vrLoc = 15587;
};
8B9EC58B1D90BE2400BD1DCA /* PlistBookmark */ = {
isa = PlistBookmark;
@@ -96,25 +117,25 @@
};
8BA05A660720730100365D66 /* Thunder.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {848, 6071}}";
- sepNavSelRange = "{10065, 0}";
- sepNavVisRange = "{9779, 2277}";
+ sepNavIntBoundsRect = "{{0, 0}, {754, 6227}}";
+ sepNavSelRange = "{16556, 0}";
+ sepNavVisRange = "{15587, 1172}";
sepNavWindowFrame = "{{258, 39}, {895, 819}}";
};
};
8BA05A690720730100365D66 /* ThunderVersion.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 806}}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 832}}";
sepNavSelRange = "{2757, 0}";
- sepNavVisRange = "{2627, 315}";
+ sepNavVisRange = "{2656, 286}";
sepNavWindowFrame = "{{15, 54}, {895, 819}}";
};
};
8BC6025B073B072D006C4272 /* Thunder.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1807}}";
- sepNavSelRange = "{5082, 0}";
- sepNavVisRange = "{3802, 1647}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2197}}";
+ sepNavSelRange = "{5285, 0}";
+ sepNavVisRange = "{4806, 598}";
sepNavWindowFrame = "{{7, 42}, {895, 819}}";
};
};
@@ -132,16 +153,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BFE4BDA1D92E59A00BBC6AC /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Thunder.cpp */;
- name = "Thunder.cpp: 227";
- rLen = 0;
- rLoc = 9525;
- rType = 0;
- vrLen = 508;
- vrLoc = 12277;
- };
8D01CCC60486CAD60068D4B7 /* Thunder */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3
index 25a2588..5586ae7 100755
--- a/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Thunder/Thunder.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>197</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {197, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {214, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>197</real>
</array>
<key>RubberWindowFrame</key>
- <string>566 213 841 654 0 0 1440 878 </string>
+ <string>473 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>214pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -341,7 +339,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>ThunderVersion.h</string>
+ <string>Thunder.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -349,16 +347,17 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>ThunderVersion.h</string>
+ <string>Thunder.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76B11F7FA32E007AB60F</string>
+ <string>8B79318321F4B354006E9731</string>
<key>history</key>
<array>
<string>8B9EC58B1D90BE2400BD1DCA</string>
- <string>8BFE4BDA1D92E59A00BBC6AC</string>
- <string>8B9D67CF1F7C90C4007AB60F</string>
+ <string>8B79317B21F4B33A006E9731</string>
+ <string>8B79317C21F4B33A006E9731</string>
+ <string>8B79317E21F4B33A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 216}}</string>
+ <string>{{0, 0}, {622, 493}}</string>
<key>RubberWindowFrame</key>
- <string>566 213 841 654 0 0 1440 878 </string>
+ <string>473 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>216pt</string>
+ <string>493pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>392pt</string>
+ <string>115pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 365}}</string>
- <key>RubberWindowFrame</key>
- <string>566 213 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {622, 88}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {622, 88}}</string>
+ <key>RubberWindowFrame</key>
+ <string>473 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>622pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76B21F7FA32E007AB60F</string>
+ <string>8B79318421F4B354006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76B31F7FA32E007AB60F</string>
+ <string>8B79318521F4B354006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76B41F7FA32E007AB60F</string>
+ <string>8B79318621F4B354006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458542.19629401</real>
+ <real>569684820.36503005</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76B51F7FA32E007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Thunder/Thunder.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>566 213 841 654 0 0 1440 878 </string>
+ <string>473 199 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ToTape5/ToTape5.cpp b/plugins/MacAU/ToTape5/ToTape5.cpp
index abe8496..2135e1d 100755
--- a/plugins/MacAU/ToTape5/ToTape5.cpp
+++ b/plugins/MacAU/ToTape5/ToTape5.cpp
@@ -238,9 +238,7 @@ void ToTape5::ToTape5Kernel::Reset()
sweep = 0.0;
rateof = 0.5;
nextmax = 0.5;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -258,7 +256,8 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP,
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
-
+ long double fpOld = 0.618033988749894848204586; //golden ratio!
+
Float64 inputgain = pow(GetParameter( kParam_One )+1.0,3);
Float64 outputgain = GetParameter( kParam_Five );
Float64 wet = GetParameter( kParam_Six );
@@ -295,12 +294,7 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP,
SInt32 count;
Float64 tempSample;
Float64 drySample;
-
-
long double inputSample;
- Float32 fpTemp;
- long double fpOld = 0.618033988749894848204586; //golden ratio!
- long double fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -478,19 +472,11 @@ void ToTape5::ToTape5Kernel::Process( const Float32 *inSourceP,
}
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/ToTape5/ToTape5.h b/plugins/MacAU/ToTape5/ToTape5.h
index 8561873..250d9a5 100755
--- a/plugins/MacAU/ToTape5/ToTape5.h
+++ b/plugins/MacAU/ToTape5/ToTape5.h
@@ -185,10 +185,7 @@ public:
Float64 iirSampleY;
Float64 iirSampleZ;
int flip;
-
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser
index b447041..6427718 100755
--- a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 419,
20,
48,
43,
@@ -49,13 +49,14 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553894227;
- PBXWorkspaceStateSaveDate = 553894227;
+ PBXPerProjectTemplateStateSaveDate = 569685129;
+ PBXWorkspaceStateSaveDate = 569685129;
};
perUserProjectItems = {
8B1A32741F16BBA2004DE6C5 /* PlistBookmark */ = 8B1A32741F16BBA2004DE6C5 /* PlistBookmark */;
- 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */ = 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */;
- 8BB8B7D82103C66300751000 /* PBXTextBookmark */ = 8BB8B7D82103C66300751000 /* PBXTextBookmark */;
+ 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */ = 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */;
+ 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */ = 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */;
+ 8B7931B321F4B54A006E9731 /* PBXTextBookmark */ = 8B7931B321F4B54A006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,21 +74,41 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D76CF1F7FA38F007AB60F /* PBXTextBookmark */ = {
+ 8B7931A821F4B4FA006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* ToTape5.h */;
+ name = "ToTape5.h: 187";
+ rLen = 0;
+ rLoc = 6560;
+ rType = 0;
+ vrLen = 717;
+ vrLoc = 5977;
+ };
+ 8B7931AA21F4B4FA006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */;
+ name = "ToTape5.cpp: 479";
+ rLen = 0;
+ rLoc = 22753;
+ rType = 0;
+ vrLen = 3225;
+ vrLoc = 19204;
+ };
+ 8B7931B321F4B54A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */;
- name = "ToTape5.cpp: 470";
+ name = "ToTape5.cpp: 260";
rLen = 0;
- rLoc = 22425;
+ rLoc = 11019;
rType = 0;
- vrLen = 472;
- vrLoc = 20068;
+ vrLen = 1511;
+ vrLoc = 10684;
};
8BA05A660720730100365D66 /* ToTape5.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {873, 6396}}";
- sepNavSelRange = "{22425, 0}";
- sepNavVisRange = "{20304, 236}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 6929}}";
+ sepNavSelRange = "{11019, 0}";
+ sepNavVisRange = "{10684, 1511}";
sepNavWindowFrame = "{{488, 39}, {952, 839}}";
};
};
@@ -107,21 +128,11 @@
sepNavWindowFrame = "{{15, 39}, {952, 839}}";
};
};
- 8BB8B7D82103C66300751000 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* ToTape5.cpp */;
- name = "ToTape5.cpp: 470";
- rLen = 0;
- rLoc = 22425;
- rType = 0;
- vrLen = 236;
- vrLoc = 20304;
- };
8BC6025B073B072D006C4272 /* ToTape5.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {905, 2964}}";
- sepNavSelRange = "{6561, 0}";
- sepNavVisRange = "{5662, 1074}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2964}}";
+ sepNavSelRange = "{6560, 0}";
+ sepNavVisRange = "{5977, 717}";
sepNavWindowFrame = "{{470, 39}, {952, 839}}";
};
};
diff --git a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3
index 7293723..7e231dd 100755
--- a/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ToTape5/ToTape5.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>161</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {161, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,24 +316,26 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {178, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>161</real>
</array>
<key>RubberWindowFrame</key>
- <string>581 201 841 654 0 0 1440 878 </string>
+ <string>490 203 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>178pt</string>
</dict>
<dict>
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -353,11 +353,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BB8B7D82103C66300751000</string>
+ <string>8B7931B321F4B54A006E9731</string>
<key>history</key>
<array>
<string>8B1A32741F16BBA2004DE6C5</string>
- <string>8B9D76CF1F7FA38F007AB60F</string>
+ <string>8B7931A821F4B4FA006E9731</string>
+ <string>8B7931AA21F4B4FA006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +372,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 56}}</string>
+ <string>{{0, 0}, {658, 481}}</string>
<key>RubberWindowFrame</key>
- <string>581 201 841 654 0 0 1440 878 </string>
+ <string>490 203 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>56pt</string>
+ <string>481pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>552pt</string>
+ <string>127pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +397,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 525}}</string>
- <key>RubberWindowFrame</key>
- <string>581 201 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {658, 100}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +451,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 327}}</string>
+ <string>{{10, 27}, {658, 100}}</string>
+ <key>RubberWindowFrame</key>
+ <string>490 203 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -461,7 +462,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>658pt</string>
</dict>
</array>
<key>Name</key>
@@ -480,11 +481,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BB8B7D92103C66300751000</string>
+ <string>8B7931B421F4B54A006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BB8B7DA2103C66300751000</string>
+ <string>8B7931B521F4B54A006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8BB8B7DB2103C66300751000</string>
+ <string>8B7931B621F4B54A006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +658,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553895523.636742</real>
+ <real>569685322.27313697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +675,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BB8B7DC2103C66300751000</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ToTape5/ToTape5.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>581 201 841 654 0 0 1440 878 </string>
+ <string>490 203 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.cpp b/plugins/MacAU/ToVinyl4/ToVinyl4.cpp
index 0f7f248..3f0d6e4 100755
--- a/plugins/MacAU/ToVinyl4/ToVinyl4.cpp
+++ b/plugins/MacAU/ToVinyl4/ToVinyl4.cpp
@@ -270,11 +270,8 @@ ComponentResult ToVinyl4::Reset(AudioUnitScope inScope, AudioUnitElement inElem
s1R = s2R = s3R = 0.0;
o1R = o2R = o3R = 0.0;
m1R = m2R = desR = 0.0;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
- fpFlip = true;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
@@ -295,11 +292,7 @@ OSStatus ToVinyl4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
UInt32 nSampleFrames = inFramesToProcess;
Float64 overallscale = 1.0;
overallscale /= 44100.0;
- overallscale *= GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
-
+ overallscale *= GetSampleRate();
Float64 fusswithscale = 50000; //corrected
Float64 cutofffreq = GetParameter( kParam_One );
Float64 resonance = 0.992;
@@ -741,25 +734,14 @@ OSStatus ToVinyl4::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlag
inputSampleR = accumulatorSample;
//we just re-use accumulatorSample to do this little shuffle
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.h b/plugins/MacAU/ToVinyl4/ToVinyl4.h
index 31495f3..7e613b7 100755
--- a/plugins/MacAU/ToVinyl4/ToVinyl4.h
+++ b/plugins/MacAU/ToVinyl4/ToVinyl4.h
@@ -209,13 +209,8 @@ private:
Float64 aSidePrev;
Float64 bMidPrev;
Float64 bSidePrev;
-
- Float64 fpNShapeAL;
- Float64 fpNShapeAR;
- Float64 fpNShapeBL;
- Float64 fpNShapeBR;
- bool fpFlip;
-
+ Float64 fpNShapeR;
+ Float64 fpNShapeL;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser
index a31ab0c..1fee72e 100755
--- a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 410,
20,
48,
43,
@@ -49,42 +49,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 541893053;
- PBXWorkspaceStateSaveDate = 541893053;
+ PBXPerProjectTemplateStateSaveDate = 569685344;
+ PBXWorkspaceStateSaveDate = 569685344;
};
perUserProjectItems = {
- 8B181B5D204CA28100516BEE /* PBXTextBookmark */ = 8B181B5D204CA28100516BEE /* PBXTextBookmark */;
- 8B181B5E204CA28100516BEE /* PBXTextBookmark */ = 8B181B5E204CA28100516BEE /* PBXTextBookmark */;
+ 8B7931C221F4B60F006E9731 /* PBXTextBookmark */ = 8B7931C221F4B60F006E9731 /* PBXTextBookmark */;
+ 8B7931C421F4B60F006E9731 /* PBXTextBookmark */ = 8B7931C421F4B60F006E9731 /* PBXTextBookmark */;
+ 8B7931C921F4B651006E9731 /* PBXTextBookmark */ = 8B7931C921F4B651006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B181B5D204CA28100516BEE /* PBXTextBookmark */ = {
+ 8B7931C221F4B60F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* ToVinyl4.h */;
+ name = "ToVinyl4.h: 211";
+ rLen = 0;
+ rLoc = 6757;
+ rType = 0;
+ vrLen = 390;
+ vrLoc = 6513;
+ };
+ 8B7931C421F4B60F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ToVinyl4.cpp */;
- name = "ToVinyl4.cpp: 428";
+ name = "ToVinyl4.cpp: 745";
rLen = 0;
- rLoc = 16809;
+ rLoc = 32669;
rType = 0;
- vrLen = 91;
- vrLoc = 43;
+ vrLen = 985;
+ vrLoc = 31849;
};
- 8B181B5E204CA28100516BEE /* PBXTextBookmark */ = {
+ 8B7931C921F4B651006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ToVinyl4.cpp */;
- name = "ToVinyl4.cpp: 428";
+ name = "ToVinyl4.cpp: 745";
rLen = 0;
- rLoc = 16809;
+ rLoc = 32669;
rType = 0;
- vrLen = 91;
- vrLoc = 43;
+ vrLen = 1451;
+ vrLoc = 19373;
};
8BA05A660720730100365D66 /* ToVinyl4.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 10166}}";
- sepNavSelRange = "{16809, 0}";
- sepNavVisRange = "{43, 91}";
+ sepNavIntBoundsRect = "{{0, 0}, {782, 9386}}";
+ sepNavSelRange = "{32669, 0}";
+ sepNavVisRange = "{19373, 1451}";
sepNavWindowFrame = "{{627, 62}, {981, 816}}";
};
};
@@ -106,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* ToVinyl4.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {934, 2899}}";
- sepNavSelRange = "{5133, 22}";
- sepNavVisRange = "{5920, 1044}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 3250}}";
+ sepNavSelRange = "{6757, 0}";
+ sepNavVisRange = "{6513, 390}";
sepNavWindowFrame = "{{459, 62}, {981, 816}}";
};
};
diff --git a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3
index 64c9c61..2bfe30e 100755
--- a/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ToVinyl4/ToVinyl4.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>856</integer>
+ <integer>856</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 635}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,14 +316,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 653}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>608 328 810 487 0 0 1440 878 </string>
+ <string>373 142 856 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -353,10 +351,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B181B5E204CA28100516BEE</string>
+ <string>8B7931C921F4B651006E9731</string>
<key>history</key>
<array>
- <string>8B181B5D204CA28100516BEE</string>
+ <string>8B7931C221F4B60F006E9731</string>
+ <string>8B7931C421F4B60F006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 86}}</string>
+ <string>{{0, 0}, {649, 490}}</string>
<key>RubberWindowFrame</key>
- <string>608 328 810 487 0 0 1440 878 </string>
+ <string>373 142 856 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>86pt</string>
+ <string>490pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>355pt</string>
+ <string>158pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 328}}</string>
- <key>RubberWindowFrame</key>
- <string>608 328 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {649, 131}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
+ <string>{{10, 27}, {649, 131}}</string>
+ <key>RubberWindowFrame</key>
+ <string>373 142 856 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +459,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>649pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B181B5F204CA28100516BEE</string>
+ <string>8B7931CA21F4B651006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B181B60204CA28100516BEE</string>
+ <string>8B7931CB21F4B651006E9731</string>
<string>8B277E7C1FDB48610038EA07</string>
- <string>8B181B61204CA28100516BEE</string>
+ <string>8B7931CC21F4B651006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>541893249.61319196</real>
+ <real>569685585.11167395</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B181B62204CA28100516BEE</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ToVinyl4/ToVinyl4.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>608 328 810 487 0 0 1440 878 </string>
+ <string>373 142 856 694 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/ToneSlant/ToneSlant.cpp b/plugins/MacAU/ToneSlant/ToneSlant.cpp
index 9b78bea..55f7435 100755
--- a/plugins/MacAU/ToneSlant/ToneSlant.cpp
+++ b/plugins/MacAU/ToneSlant/ToneSlant.cpp
@@ -168,9 +168,7 @@ ComponentResult ToneSlant::Initialize()
void ToneSlant::ToneSlantKernel::Reset()
{
for(int count = 0; count < 102; count++) {b[count] = 0.0; f[count] = 0.0;}
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -192,9 +190,6 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP,
Float64 overallscale = GetParameter( kParam_One );
if (overallscale < 1.0) overallscale = 1.0;
Float64 applySlant = GetParameter( kParam_Two );
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
f[0] = 1.0 / overallscale;
//count to f(gain) which will be 0. f(0) is x1
@@ -236,7 +231,6 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP,
//the silence will return to being digital black again.
}
-
b[0] = accumulatorSample = drySample = inputSample;
accumulatorSample *= f[0];
@@ -248,19 +242,11 @@ void ToneSlant::ToneSlantKernel::Process( const Float32 *inSourceP,
inputSample += (correctionSample * applySlant);
//our one math operation on the input data coming in
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/ToneSlant/ToneSlant.h b/plugins/MacAU/ToneSlant/ToneSlant.h
index f07890b..8f94128 100755
--- a/plugins/MacAU/ToneSlant/ToneSlant.h
+++ b/plugins/MacAU/ToneSlant/ToneSlant.h
@@ -131,9 +131,7 @@ public:
private:
Float64 b[102];
Float64 f[102];
- long double fpNShapeA;
- long double fpNShapeB;
- bool fpFlip;
+ long double fpNShape;
};
};
diff --git a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser
index bd0d093..e300ab9 100755
--- a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 388,
20,
48,
43,
@@ -49,15 +49,15 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458576;
- PBXWorkspaceStateSaveDate = 528458576;
+ PBXPerProjectTemplateStateSaveDate = 569684848;
+ PBXWorkspaceStateSaveDate = 569684848;
};
perUserProjectItems = {
8B22B0A31DB17F9F0075D7AA /* PBXTextBookmark */ = 8B22B0A31DB17F9F0075D7AA /* PBXTextBookmark */;
- 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */ = 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */;
8B51D7811DAF1671009F3CF8 /* PlistBookmark */ = 8B51D7811DAF1671009F3CF8 /* PlistBookmark */;
- 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */ = 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */;
- 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */ = 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */;
+ 8B79319221F4B409006E9731 /* PBXTextBookmark */ = 8B79319221F4B409006E9731 /* PBXTextBookmark */;
+ 8B79319421F4B409006E9731 /* PBXTextBookmark */ = 8B79319421F4B409006E9731 /* PBXTextBookmark */;
+ 8B79319921F4B43F006E9731 /* PBXTextBookmark */ = 8B79319921F4B43F006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
@@ -73,16 +73,6 @@
vrLen = 356;
vrLoc = 2601;
};
- 8B42FB2B1DB15DB60057B6AB /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* ToneSlant.h */;
- name = "ToneSlant.h: 57";
- rLen = 0;
- rLoc = 2865;
- rType = 0;
- vrLen = 410;
- vrLoc = 2675;
- };
8B51D7811DAF1671009F3CF8 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
@@ -95,31 +85,41 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8B9D67DF1F7C911F007AB60F /* PBXTextBookmark */ = {
+ 8B79319221F4B409006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* ToneSlant.h */;
+ name = "ToneSlant.h: 134";
+ rLen = 0;
+ rLoc = 5306;
+ rType = 0;
+ vrLen = 794;
+ vrLoc = 4622;
+ };
+ 8B79319421F4B409006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ToneSlant.cpp */;
- name = "ToneSlant.cpp: 195";
+ name = "ToneSlant.cpp: 250";
rLen = 0;
- rLoc = 8729;
+ rLoc = 11254;
rType = 0;
- vrLen = 457;
- vrLoc = 8458;
+ vrLen = 1286;
+ vrLoc = 10056;
};
- 8B9D76C01F7FA369007AB60F /* PBXTextBookmark */ = {
+ 8B79319921F4B43F006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* ToneSlant.cpp */;
- name = "ToneSlant.cpp: 195";
+ name = "ToneSlant.cpp: 250";
rLen = 0;
- rLoc = 8729;
+ rLoc = 11254;
rType = 0;
- vrLen = 418;
- vrLoc = 8421;
+ vrLen = 1320;
+ vrLoc = 10022;
};
8BA05A660720730100365D66 /* ToneSlant.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {656, 3549}}";
- sepNavSelRange = "{8729, 0}";
- sepNavVisRange = "{8421, 418}";
+ sepNavIntBoundsRect = "{{0, 0}, {726, 3471}}";
+ sepNavSelRange = "{11254, 0}";
+ sepNavVisRange = "{10022, 1320}";
sepNavWindowFrame = "{{537, 59}, {895, 819}}";
};
};
@@ -133,9 +133,9 @@
};
8BC6025B073B072D006C4272 /* ToneSlant.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 1859}}";
- sepNavSelRange = "{5283, 65}";
- sepNavVisRange = "{3870, 1587}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2145}}";
+ sepNavSelRange = "{5306, 0}";
+ sepNavVisRange = "{4622, 794}";
sepNavWindowFrame = "{{15, 54}, {895, 819}}";
};
};
diff --git a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3
index d236663..4b2a46a 100755
--- a/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/ToneSlant/ToneSlant.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>192</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -308,7 +306,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {192, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -318,19 +316,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {209, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>192</real>
</array>
<key>RubberWindowFrame</key>
- <string>591 215 841 654 0 0 1440 878 </string>
+ <string>448 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>209pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -353,13 +351,13 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76C01F7FA369007AB60F</string>
+ <string>8B79319921F4B43F006E9731</string>
<key>history</key>
<array>
<string>8B51D7811DAF1671009F3CF8</string>
- <string>8B42FB2B1DB15DB60057B6AB</string>
<string>8B22B0A31DB17F9F0075D7AA</string>
- <string>8B9D67DF1F7C911F007AB60F</string>
+ <string>8B79319221F4B409006E9731</string>
+ <string>8B79319421F4B409006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 188}}</string>
+ <string>{{0, 0}, {627, 466}}</string>
<key>RubberWindowFrame</key>
- <string>591 215 841 654 0 0 1440 878 </string>
+ <string>448 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>188pt</string>
+ <string>466pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>420pt</string>
+ <string>142pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 393}}</string>
- <key>RubberWindowFrame</key>
- <string>591 215 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {627, 115}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 315}}</string>
+ <string>{{10, 27}, {627, 115}}</string>
+ <key>RubberWindowFrame</key>
+ <string>448 210 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -463,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>627pt</string>
</dict>
</array>
<key>Name</key>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76C11F7FA369007AB60F</string>
+ <string>8B79319A21F4B43F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76C21F7FA369007AB60F</string>
+ <string>8B79319B21F4B43F006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B9D76C31F7FA369007AB60F</string>
+ <string>8B79319C21F4B43F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458601.15789098</real>
+ <real>569685055.02673697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -676,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76C41F7FA369007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/ToneSlant/ToneSlant.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>591 215 841 654 0 0 1440 878 </string>
+ <string>448 210 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TransDesk/TransDesk.cpp b/plugins/MacAU/TransDesk/TransDesk.cpp
index 0aa57f4..f508b67 100755
--- a/plugins/MacAU/TransDesk/TransDesk.cpp
+++ b/plugins/MacAU/TransDesk/TransDesk.cpp
@@ -157,9 +157,7 @@ void TransDesk::TransDeskKernel::Reset()
lastSample = 0.0;
lastOutSample = 0.0;
lastSlew = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -202,9 +200,6 @@ void TransDesk::TransDeskKernel::Process( const Float32 *inSourceP,
Float64 combSample;
long double inputSample;
long double drySample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -297,21 +292,11 @@ void TransDesk::TransDeskKernel::Process( const Float32 *inSourceP,
inputSample /= gain;
//end of Desk section
-
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
-
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/TransDesk/TransDesk.h b/plugins/MacAU/TransDesk/TransDesk.h
index f73f550..7479936 100755
--- a/plugins/MacAU/TransDesk/TransDesk.h
+++ b/plugins/MacAU/TransDesk/TransDesk.h
@@ -123,9 +123,7 @@ public:
long double lastSample;
long double lastOutSample;
Float64 lastSlew;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser
index 0688c58..3879aa7 100755
--- a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 455,
20,
48,
43,
@@ -49,53 +49,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458726;
- PBXWorkspaceStateSaveDate = 528458726;
+ PBXPerProjectTemplateStateSaveDate = 569685635;
+ PBXWorkspaceStateSaveDate = 569685635;
};
perUserProjectItems = {
- 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */ = 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */;
- 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */ = 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */;
- 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */ = 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */;
+ 8B7931D821F4B744006E9731 /* PBXTextBookmark */ = 8B7931D821F4B744006E9731 /* PBXTextBookmark */;
+ 8B7931DA21F4B744006E9731 /* PBXTextBookmark */ = 8B7931DA21F4B744006E9731 /* PBXTextBookmark */;
+ 8B7931DF21F4B769006E9731 /* PBXTextBookmark */ = 8B7931DF21F4B769006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B3ED5DC1DDE6589004F9D64 /* PBXTextBookmark */ = {
+ 8B7931D821F4B744006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* TransDesk.h */;
name = "TransDesk.h: 126";
- rLen = 57;
- rLoc = 4907;
+ rLen = 0;
+ rLoc = 4926;
rType = 0;
- vrLen = 113;
- vrLoc = 4858;
+ vrLen = 406;
+ vrLoc = 4630;
};
- 8B9D680F1F7C919B007AB60F /* PBXTextBookmark */ = {
+ 8B7931DA21F4B744006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* TransDesk.cpp */;
- name = "TransDesk.cpp: 1";
+ name = "TransDesk.cpp: 297";
rLen = 0;
- rLoc = 0;
+ rLoc = 11884;
rType = 0;
- vrLen = 199;
- vrLoc = 11010;
+ vrLen = 1440;
+ vrLoc = 9447;
};
- 8B9D76EC1F7FA409007AB60F /* PBXTextBookmark */ = {
+ 8B7931DF21F4B769006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* TransDesk.cpp */;
- name = "TransDesk.cpp: 1";
+ name = "TransDesk.cpp: 203";
rLen = 0;
- rLoc = 0;
+ rLoc = 8371;
rType = 0;
- vrLen = 147;
- vrLoc = 11028;
+ vrLen = 1325;
+ vrLoc = 7918;
};
8BA05A660720730100365D66 /* TransDesk.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {558, 4264}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{11028, 147}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4134}}";
+ sepNavSelRange = "{8371, 0}";
+ sepNavVisRange = "{7918, 1325}";
sepNavWindowFrame = "{{506, 58}, {932, 815}}";
};
};
@@ -117,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* TransDesk.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {885, 1755}}";
- sepNavSelRange = "{4906, 0}";
- sepNavVisRange = "{3678, 1395}";
+ sepNavIntBoundsRect = "{{0, 0}, {698, 1911}}";
+ sepNavSelRange = "{4926, 0}";
+ sepNavVisRange = "{4630, 406}";
sepNavWindowFrame = "{{508, 63}, {932, 815}}";
};
};
diff --git a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3
index 31d86a2..db0c5ba 100755
--- a/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TransDesk/TransDesk.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>901</integer>
+ <integer>901</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 676}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 694}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 249 810 487 0 0 1440 878 </string>
+ <string>398 107 901 735 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -335,6 +333,8 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -352,11 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76EC1F7FA409007AB60F</string>
+ <string>8B7931DF21F4B769006E9731</string>
<key>history</key>
<array>
- <string>8B3ED5DC1DDE6589004F9D64</string>
- <string>8B9D680F1F7C919B007AB60F</string>
+ <string>8B7931D821F4B744006E9731</string>
+ <string>8B7931DA21F4B744006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 69}}</string>
+ <string>{{0, 0}, {694, 520}}</string>
<key>RubberWindowFrame</key>
- <string>630 249 810 487 0 0 1440 878 </string>
+ <string>398 107 901 735 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>69pt</string>
+ <string>520pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>372pt</string>
+ <string>169pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 345}}</string>
- <key>RubberWindowFrame</key>
- <string>630 249 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {694, 142}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {694, 142}}</string>
+ <key>RubberWindowFrame</key>
+ <string>398 107 901 735 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>694pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76ED1F7FA409007AB60F</string>
+ <string>8B7931E021F4B769006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76EE1F7FA409007AB60F</string>
+ <string>8B7931E121F4B769006E9731</string>
<string>8B3ED5581DDE63B1004F9D64</string>
- <string>8B9D76EF1F7FA409007AB60F</string>
+ <string>8B7931E221F4B769006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +636,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458761.70146298</real>
+ <real>569685865.03802896</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +653,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76F01F7FA409007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TransDesk/TransDesk.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 249 810 487 0 0 1440 878 </string>
+ <string>398 107 901 735 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/Tremolo/Tremolo.cpp b/plugins/MacAU/Tremolo/Tremolo.cpp
index e70b244..6e1f644 100755
--- a/plugins/MacAU/Tremolo/Tremolo.cpp
+++ b/plugins/MacAU/Tremolo/Tremolo.cpp
@@ -173,9 +173,7 @@ void Tremolo::TremoloKernel::Reset()
depthAmount = 0.0;
lastSpeed = 1000.0;
lastDepth = 1000.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -216,9 +214,6 @@ void Tremolo::TremoloKernel::Process( const Float32 *inSourceP,
Float64 out;
Float64 bridgerectifier;
Float64 offset;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -289,22 +284,12 @@ void Tremolo::TremoloKernel::Process( const Float32 *inSourceP,
//apply tremolo, apply gain boost to compensate for volume loss
inputSample = (drySample * (1-depth)) + (inputSample*depth);
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
-
-
*destP = inputSample;
destP += inNumChannels;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/Tremolo/Tremolo.h b/plugins/MacAU/Tremolo/Tremolo.h
index 38910c3..8b4204a 100755
--- a/plugins/MacAU/Tremolo/Tremolo.h
+++ b/plugins/MacAU/Tremolo/Tremolo.h
@@ -136,10 +136,7 @@ public:
Float64 lastSpeed;
Float64 lastDepth;
Float64 sweep;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
-
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser
index 822426d..4a72292 100755
--- a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 528,
20,
48,
43,
@@ -49,43 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458789;
- PBXWorkspaceStateSaveDate = 528458789;
+ PBXPerProjectTemplateStateSaveDate = 569685954;
+ PBXWorkspaceStateSaveDate = 569685954;
};
perUserProjectItems = {
- 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */ = 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */;
- 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */ = 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */;
+ 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */ = 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */;
+ 8B7931F021F4B82A006E9731 /* PBXTextBookmark */ = 8B7931F021F4B82A006E9731 /* PBXTextBookmark */;
+ 8B7931F521F4B845006E9731 /* PBXTextBookmark */ = 8B7931F521F4B845006E9731 /* PBXTextBookmark */;
8BD8CB021DF8ECAA00CC3427 /* PBXTextBookmark */ = 8BD8CB021DF8ECAA00CC3427 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D681F1F7C91BB007AB60F /* PBXTextBookmark */ = {
+ 8B7931EE21F4B82A006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Tremolo.h */;
+ name = "Tremolo.h: 139";
+ rLen = 0;
+ rLoc = 5331;
+ rType = 0;
+ vrLen = 813;
+ vrLoc = 4630;
+ };
+ 8B7931F021F4B82A006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Tremolo.cpp */;
- name = "Tremolo.cpp: 290";
+ name = "Tremolo.cpp: 292";
rLen = 0;
- rLoc = 12305;
+ rLoc = 12430;
rType = 0;
- vrLen = 145;
- vrLoc = 10647;
+ vrLen = 1235;
+ vrLoc = 11280;
};
- 8B9D76FB1F7FA435007AB60F /* PBXTextBookmark */ = {
+ 8B7931F521F4B845006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* Tremolo.cpp */;
- name = "Tremolo.cpp: 290";
+ name = "Tremolo.cpp: 292";
rLen = 0;
- rLoc = 12305;
+ rLoc = 12430;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 1268;
+ vrLoc = 11247;
};
8BA05A660720730100365D66 /* Tremolo.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 4108}}";
- sepNavSelRange = "{12305, 0}";
- sepNavVisRange = "{0, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {718, 4043}}";
+ sepNavSelRange = "{12430, 0}";
+ sepNavVisRange = "{11247, 1268}";
sepNavWindowFrame = "{{386, 39}, {1024, 839}}";
};
};
@@ -107,9 +118,9 @@
};
8BC6025B073B072D006C4272 /* Tremolo.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {922, 1885}}";
- sepNavSelRange = "{5163, 132}";
- sepNavVisRange = "{4043, 1438}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 2262}}";
+ sepNavSelRange = "{5331, 0}";
+ sepNavVisRange = "{4630, 813}";
sepNavWindowFrame = "{{469, 34}, {679, 835}}";
};
};
diff --git a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3
index 0be2553..832afcd 100755
--- a/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Tremolo/Tremolo.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>954</integer>
+ <integer>954</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>185</real>
+ <real>165</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {165, 635}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,19 +315,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {182, 653}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>185</real>
+ <real>165</real>
</array>
<key>RubberWindowFrame</key>
- <string>504 296 810 487 0 0 1440 878 </string>
+ <string>341 162 954 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>182pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -352,11 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D76FB1F7FA435007AB60F</string>
+ <string>8B7931F521F4B845006E9731</string>
<key>history</key>
<array>
<string>8BD8CB021DF8ECAA00CC3427</string>
- <string>8B9D681F1F7C91BB007AB60F</string>
+ <string>8B7931EE21F4B82A006E9731</string>
+ <string>8B7931F021F4B82A006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 32}}</string>
+ <string>{{0, 0}, {767, 469}}</string>
<key>RubberWindowFrame</key>
- <string>504 296 810 487 0 0 1440 878 </string>
+ <string>341 162 954 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>32pt</string>
+ <string>469pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>409pt</string>
+ <string>179pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 382}}</string>
- <key>RubberWindowFrame</key>
- <string>504 296 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {767, 152}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 282}}</string>
+ <string>{{10, 27}, {767, 152}}</string>
+ <key>RubberWindowFrame</key>
+ <string>341 162 954 694 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +459,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>767pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D76FC1F7FA435007AB60F</string>
+ <string>8B7931F621F4B845006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D76FD1F7FA435007AB60F</string>
+ <string>8B7931F721F4B845006E9731</string>
<string>8B3ED5B51DDE654F004F9D64</string>
- <string>8B9D76FE1F7FA435007AB60F</string>
+ <string>8B7931F821F4B845006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458805.46372598</real>
+ <real>569686085.74729097</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D76FF1F7FA435007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Tremolo/Tremolo.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>504 296 810 487 0 0 1440 878 </string>
+ <string>341 162 954 694 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/TubeDesk/TubeDesk.cpp b/plugins/MacAU/TubeDesk/TubeDesk.cpp
index 4b730c4..cf2c042 100755
--- a/plugins/MacAU/TubeDesk/TubeDesk.cpp
+++ b/plugins/MacAU/TubeDesk/TubeDesk.cpp
@@ -157,9 +157,7 @@ void TubeDesk::TubeDeskKernel::Reset()
lastSample = 0.0;
lastOutSample = 0.0;
lastSlew = 0.0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -200,9 +198,6 @@ void TubeDesk::TubeDeskKernel::Process( const Float32 *inSourceP,
Float64 combSample;
long double inputSample;
long double drySample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -295,20 +290,11 @@ void TubeDesk::TubeDeskKernel::Process( const Float32 *inSourceP,
inputSample /= gain;
//end of Desk section
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
-
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/TubeDesk/TubeDesk.h b/plugins/MacAU/TubeDesk/TubeDesk.h
index 93110b5..393c14b 100755
--- a/plugins/MacAU/TubeDesk/TubeDesk.h
+++ b/plugins/MacAU/TubeDesk/TubeDesk.h
@@ -124,9 +124,7 @@ public:
long double lastSample;
long double lastOutSample;
Float64 lastSlew;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser
index 6c8870e..5884fa0 100755
--- a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 474,
20,
48,
43,
@@ -49,43 +49,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 528458816;
- PBXWorkspaceStateSaveDate = 528458816;
+ PBXPerProjectTemplateStateSaveDate = 569686163;
+ PBXWorkspaceStateSaveDate = 569686163;
};
perUserProjectItems = {
- 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */ = 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */;
- 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */ = 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */;
- 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */ = 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */;
+ 8B79320521F4B8E5006E9731 /* PBXTextBookmark */ = 8B79320521F4B8E5006E9731 /* PBXTextBookmark */;
+ 8B79320721F4B8E5006E9731 /* PBXTextBookmark */ = 8B79320721F4B8E5006E9731 /* PBXTextBookmark */;
+ 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */ = 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B9D68401F7C91F2007AB60F /* PBXTextBookmark */ = {
+ 8B79320521F4B8E5006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* TubeDesk.h */;
+ name = "TubeDesk.h: 121";
+ rLen = 127;
+ rLoc = 4740;
+ rType = 0;
+ vrLen = 159;
+ vrLoc = 4728;
+ };
+ 8B79320721F4B8E5006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* TubeDesk.cpp */;
- name = "TubeDesk.cpp: 1";
+ name = "TubeDesk.cpp: 297";
rLen = 0;
- rLoc = 0;
+ rLoc = 12119;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 1239;
+ vrLoc = 10970;
};
- 8B9D770A1F7FA48A007AB60F /* PBXTextBookmark */ = {
+ 8B79320C21F4B8F7006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* TubeDesk.cpp */;
- name = "TubeDesk.cpp: 1";
+ name = "TubeDesk.cpp: 297";
rLen = 0;
- rLoc = 0;
+ rLoc = 12119;
rType = 0;
- vrLen = 0;
- vrLoc = 0;
+ vrLen = 1298;
+ vrLoc = 10911;
};
8BA05A660720730100365D66 /* TubeDesk.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 4186}}";
- sepNavSelRange = "{0, 0}";
- sepNavVisRange = "{0, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {691, 4147}}";
+ sepNavSelRange = "{12119, 0}";
+ sepNavVisRange = "{10911, 1298}";
sepNavWindowFrame = "{{508, 63}, {932, 815}}";
};
};
@@ -107,9 +117,9 @@
};
8BC6025B073B072D006C4272 /* TubeDesk.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 1859}}";
+ sepNavIntBoundsRect = "{{0, 0}, {656, 1924}}";
sepNavSelRange = "{4740, 127}";
- sepNavVisRange = "{4740, 107}";
+ sepNavVisRange = "{4728, 159}";
sepNavWindowFrame = "{{508, 63}, {932, 815}}";
};
};
@@ -127,16 +137,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BD8CB131DF8EDB000CC3427 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* TubeDesk.h */;
- name = "TubeDesk.h: 121";
- rLen = 127;
- rLoc = 4740;
- rType = 0;
- vrLen = 107;
- vrLoc = 4740;
- };
8D01CCC60486CAD60068D4B7 /* TubeDesk */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3
index 5a5dc2b..a910f97 100755
--- a/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/TubeDesk/TubeDesk.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>920</integer>
+ <integer>920</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 675}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 693}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>630 304 810 487 0 0 1440 878 </string>
+ <string>387 106 920 734 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B9D770A1F7FA48A007AB60F</string>
+ <string>8B79320C21F4B8F7006E9731</string>
<key>history</key>
<array>
- <string>8BD8CB131DF8EDB000CC3427</string>
- <string>8B9D68401F7C91F2007AB60F</string>
+ <string>8B79320521F4B8E5006E9731</string>
+ <string>8B79320721F4B8E5006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +368,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 13}}</string>
+ <string>{{0, 0}, {713, 543}}</string>
<key>RubberWindowFrame</key>
- <string>630 304 810 487 0 0 1440 878 </string>
+ <string>387 106 920 734 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>13pt</string>
+ <string>543pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>145pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +393,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>630 304 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {713, 118}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +447,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {713, 118}}</string>
+ <key>RubberWindowFrame</key>
+ <string>387 106 920 734 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +458,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>713pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +477,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B9D770B1F7FA48A007AB60F</string>
+ <string>8B79320D21F4B8F7006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B9D770C1F7FA48A007AB60F</string>
+ <string>8B79320E21F4B8F7006E9731</string>
<string>8B3ED5701DDE63FA004F9D64</string>
- <string>8B9D770D1F7FA48A007AB60F</string>
+ <string>8B79320F21F4B8F7006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +634,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>528458890.160869</real>
+ <real>569686263.00768697</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +651,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B9D770E1F7FA48A007AB60F</string>
<string>/Users/christopherjohnson/Desktop/MacAU/TubeDesk/TubeDesk.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>630 304 810 487 0 0 1440 878 </string>
+ <string>387 106 920 734 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/UnBox/UnBox.cpp b/plugins/MacAU/UnBox/UnBox.cpp
index b5d9943..4c1685c 100755
--- a/plugins/MacAU/UnBox/UnBox.cpp
+++ b/plugins/MacAU/UnBox/UnBox.cpp
@@ -179,7 +179,6 @@ void UnBox::UnBoxKernel::Reset()
for(int count = 0; count < 11; count++) {c[count] = 0.0; f[count] = 0.0;}
iirSampleA = 0.0;
iirSampleB = 0.0;
-
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -328,21 +327,14 @@ void UnBox::UnBoxKernel::Process( const Float32 *inSourceP,
if (output != 1.0) inputSample *= output;
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
+
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser
index 57e0f3e..502ab45 100755
--- a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 389,
20,
48,
43,
@@ -49,35 +49,55 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 557536465;
- PBXWorkspaceStateSaveDate = 557536465;
+ PBXPerProjectTemplateStateSaveDate = 569686552;
+ PBXWorkspaceStateSaveDate = 569686552;
};
perUserProjectItems = {
- 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */ = 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */;
+ 8B79324821F4BABB006E9731 /* PBXTextBookmark */ = 8B79324821F4BABB006E9731 /* PBXTextBookmark */;
+ 8B79324A21F4BABB006E9731 /* PBXTextBookmark */ = 8B79324A21F4BABB006E9731 /* PBXTextBookmark */;
+ 8B79324F21F4BACB006E9731 /* PBXTextBookmark */ = 8B79324F21F4BACB006E9731 /* PBXTextBookmark */;
8BFDB0B1213A19500079F90D /* PlistBookmark */ = 8BFDB0B1213A19500079F90D /* PlistBookmark */;
- 8BFDB0B2213A19500079F90D /* PBXTextBookmark */ = 8BFDB0B2213A19500079F90D /* PBXTextBookmark */;
- 8BFDB0B4213A19500079F90D /* PBXTextBookmark */ = 8BFDB0B4213A19500079F90D /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B6DBA6A213B59B000E44739 /* PBXTextBookmark */ = {
+ 8B79324821F4BABB006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BC6025B073B072D006C4272 /* UnBox.h */;
name = "UnBox.h: 140";
rLen = 24;
rLoc = 5350;
rType = 0;
- vrLen = 294;
- vrLoc = 5181;
+ vrLen = 259;
+ vrLoc = 5216;
+ };
+ 8B79324A21F4BABB006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* UnBox.cpp */;
+ name = "UnBox.cpp: 339";
+ rLen = 0;
+ rLoc = 14386;
+ rType = 0;
+ vrLen = 1013;
+ vrLoc = 13376;
+ };
+ 8B79324F21F4BACB006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* UnBox.cpp */;
+ name = "UnBox.cpp: 339";
+ rLen = 0;
+ rLoc = 14386;
+ rType = 0;
+ vrLen = 1013;
+ vrLoc = 13376;
};
8BA05A660720730100365D66 /* UnBox.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {747, 4745}}";
- sepNavSelRange = "{11915, 2143}";
- sepNavVisRange = "{12509, 2376}";
- sepNavWindowFrame = "{{683, 44}, {776, 834}}";
+ sepNavIntBoundsRect = "{{0, 0}, {747, 4511}}";
+ sepNavSelRange = "{14386, 0}";
+ sepNavVisRange = "{13376, 1013}";
+ sepNavWindowFrame = "{{664, 44}, {776, 834}}";
};
};
8BA05A690720730100365D66 /* UnBoxVersion.h */ = {
@@ -90,9 +110,9 @@
};
8BC6025B073B072D006C4272 /* UnBox.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {894, 2093}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 2119}}";
sepNavSelRange = "{5350, 24}";
- sepNavVisRange = "{5181, 294}";
+ sepNavVisRange = "{5216, 259}";
sepNavWindowFrame = "{{724, 44}, {776, 834}}";
};
};
@@ -122,26 +142,6 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BFDB0B2213A19500079F90D /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* UnBox.cpp */;
- name = "UnBox.cpp: 297";
- rLen = 238;
- rLoc = 12561;
- rType = 0;
- vrLen = 707;
- vrLoc = 12336;
- };
- 8BFDB0B4213A19500079F90D /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BC6025B073B072D006C4272 /* UnBox.h */;
- name = "UnBox.h: 140";
- rLen = 24;
- rLoc = 5350;
- rType = 0;
- vrLen = 295;
- vrLoc = 5181;
- };
8D01CCC60486CAD60068D4B7 /* UnBox */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3
index 74c3c5b..5891050 100755
--- a/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/UnBox/UnBox.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>191</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -309,7 +307,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {191, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -319,19 +317,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {208, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>191</real>
</array>
<key>RubberWindowFrame</key>
- <string>654 195 841 654 0 0 1440 878 </string>
+ <string>454 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>208pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>UnBox.h</string>
+ <string>UnBox.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,16 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>UnBox.h</string>
+ <string>UnBox.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B6DBA6A213B59B000E44739</string>
+ <string>8B79324F21F4BACB006E9731</string>
<key>history</key>
<array>
<string>8BFDB0B1213A19500079F90D</string>
- <string>8BFDB0B2213A19500079F90D</string>
- <string>8BFDB0B4213A19500079F90D</string>
+ <string>8B79324821F4BABB006E9731</string>
+ <string>8B79324A21F4BABB006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -373,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {628, 422}}</string>
<key>RubberWindowFrame</key>
- <string>654 195 841 654 0 0 1440 878 </string>
+ <string>454 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>422pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>186pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -398,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>654 195 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {628, 159}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -454,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {628, 159}}</string>
+ <key>RubberWindowFrame</key>
+ <string>454 199 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -463,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>628pt</string>
</dict>
</array>
<key>Name</key>
@@ -482,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B6DBA6B213B59B000E44739</string>
+ <string>8B79325021F4BACB006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B6DBA6C213B59B000E44739</string>
+ <string>8B79325121F4BACB006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B6DBA6D213B59B000E44739</string>
+ <string>8B79325221F4BACB006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -659,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>557537712.47539306</real>
+ <real>569686731.11476696</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -679,7 +677,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/UnBox/UnBox.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>654 195 841 654 0 0 1440 878 </string>
+ <string>454 199 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/VariMu/VariMu.cpp b/plugins/MacAU/VariMu/VariMu.cpp
index 50babba..de02670 100755
--- a/plugins/MacAU/VariMu/VariMu.cpp
+++ b/plugins/MacAU/VariMu/VariMu.cpp
@@ -331,14 +331,11 @@ void VariMu::VariMuKernel::Process( const Float32 *inSourceP,
//nice little output stage template: if we have another scale of floating point
//number, we really don't want to meaninglessly multiply that by 1.0.
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
diff --git a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser
index 3724cac..1a4176c 100755
--- a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 398,
20,
48,
43,
@@ -49,18 +49,42 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 553985775;
- PBXWorkspaceStateSaveDate = 553985775;
+ PBXPerProjectTemplateStateSaveDate = 569686793;
+ PBXWorkspaceStateSaveDate = 569686793;
+ };
+ perUserProjectItems = {
+ 8B79326021F4BB45006E9731 /* PBXTextBookmark */ = 8B79326021F4BB45006E9731 /* PBXTextBookmark */;
+ 8B79326521F4BB59006E9731 /* PBXTextBookmark */ = 8B79326521F4BB59006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79326021F4BB45006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* VariMu.cpp */;
+ name = "VariMu.cpp: 339";
+ rLen = 0;
+ rLoc = 13742;
+ rType = 0;
+ vrLen = 1137;
+ vrLoc = 12693;
+ };
+ 8B79326521F4BB59006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* VariMu.cpp */;
+ name = "VariMu.cpp: 339";
+ rLen = 0;
+ rLoc = 13742;
+ rType = 0;
+ vrLen = 1204;
+ vrLoc = 12626;
+ };
8BA05A660720730100365D66 /* VariMu.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {754, 4823}}";
- sepNavSelRange = "{10960, 2235}";
- sepNavVisRange = "{10339, 1838}";
+ sepNavIntBoundsRect = "{{0, 0}, {754, 4875}}";
+ sepNavSelRange = "{13742, 0}";
+ sepNavVisRange = "{12626, 1204}";
sepNavWindowFrame = "{{643, 44}, {776, 834}}";
};
};
@@ -83,9 +107,9 @@
8BC6025B073B072D006C4272 /* VariMu.h */ = {
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {824, 1976}}";
- sepNavSelRange = "{5236, 185}";
- sepNavVisRange = "{1248, 2117}";
- sepNavWindowFrame = "{{606, 77}, {834, 801}}";
+ sepNavSelRange = "{5122, 0}";
+ sepNavVisRange = "{4202, 1352}";
+ sepNavWindowFrame = "{{456, 70}, {834, 801}}";
};
};
8BD3CCB8148830B20062E48C /* Source Control */ = {
diff --git a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3
index 442c0b6..b11d3d7 100755
--- a/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/VariMu/VariMu.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>844</integer>
+ <integer>844</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 681}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 699}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>623 325 810 487 0 0 1440 878 </string>
+ <string>477 100 844 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -340,7 +338,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BB8B6602102749700751000</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>VariMu.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -348,7 +346,15 @@
<key>PBXProjectModuleGUID</key>
<string>8BB8B6612102749700751000</string>
<key>PBXProjectModuleLabel</key>
- <string></string>
+ <string>VariMu.cpp</string>
+ <key>_historyCapacity</key>
+ <integer>0</integer>
+ <key>bookmark</key>
+ <string>8B79326521F4BB59006E9731</string>
+ <key>history</key>
+ <array>
+ <string>8B79326021F4BB45006E9731</string>
+ </array>
</dict>
<key>SplitCount</key>
<string>1</string>
@@ -361,18 +367,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 0}}</string>
+ <string>{{0, 0}, {637, 544}}</string>
<key>RubberWindowFrame</key>
- <string>623 325 810 487 0 0 1440 878 </string>
+ <string>477 100 844 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>0pt</string>
+ <string>544pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>441pt</string>
+ <string>150pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -386,9 +392,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
- <key>RubberWindowFrame</key>
- <string>623 325 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {637, 123}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -442,7 +446,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 414}}</string>
+ <string>{{10, 27}, {637, 123}}</string>
+ <key>RubberWindowFrame</key>
+ <string>477 100 844 740 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -451,7 +457,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>637pt</string>
</dict>
</array>
<key>Name</key>
@@ -470,11 +476,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BBD18752105423A0015A233</string>
+ <string>8B79326621F4BB59006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BBD18762105423A0015A233</string>
+ <string>8B79326721F4BB59006E9731</string>
<string>8BB8B6602102749700751000</string>
- <string>8BBD18772105423A0015A233</string>
+ <string>8B79326821F4BB59006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -627,7 +633,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>553992762.45564604</real>
+ <real>569686873.84603405</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -644,11 +650,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BBD18782105423A0015A233</string>
<string>/Users/christopherjohnson/Desktop/MacAU/VariMu/VariMu.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>623 325 810 487 0 0 1440 878 </string>
+ <string>477 100 844 740 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp
index e89cc53..cfc6806 100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.cpp
@@ -175,9 +175,7 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Reset()
filterflip = false;
for(int count = 0; count < 11; count++) {b[count] = 0.0; f[count] = 0.0;}
lastAlgorithm = 0;
- fpNShapeA = 0.0;
- fpNShapeB = 0.0;
- fpFlip = true;
+ fpNShape = 0.0;
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -259,9 +257,6 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Process( const Float32 *inS
Float64 rumbletrim = sqrt(lowcut);
//this among other things is just to give volume compensation
Float64 inputSample;
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
while (nSampleFrames-- > 0) {
inputSample = *sourceP;
@@ -323,19 +318,11 @@ void VoiceOfTheStarship::VoiceOfTheStarshipKernel::Process( const Float32 *inS
flip = !flip;
filterflip = !filterflip;
- //noise shaping to 32-bit floating point
- if (fpFlip) {
- fpTemp = inputSample;
- fpNShapeA = (fpNShapeA*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeA;
- }
- else {
- fpTemp = inputSample;
- fpNShapeB = (fpNShapeB*fpOld)+((inputSample-fpTemp)*fpNew);
- inputSample += fpNShapeB;
- }
- fpFlip = !fpFlip;
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels;
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h
index d2731b8..28d236a 100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.h
@@ -138,9 +138,7 @@ public:
Float64 b[11];
Float64 f[11];
int lastAlgorithm;
- Float64 fpNShapeA;
- Float64 fpNShapeB;
- bool fpFlip;
+ Float64 fpNShape;
};
};
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3 b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3
index e28aecb..e28aecb 100644..100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.mode1v3
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser
index 31707e8..2622f4a 100644..100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.pbxuser
@@ -12,7 +12,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 181,
+ 327,
20,
48,
43,
@@ -51,22 +51,53 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 539483684;
- PBXWorkspaceStateSaveDate = 539483684;
+ PBXPerProjectTemplateStateSaveDate = 569686894;
+ PBXWorkspaceStateSaveDate = 569686894;
};
perUserProjectItems = {
- 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */ = 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */;
- 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */ = 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */;
+ 8B79327421F4BBE8006E9731 /* PBXTextBookmark */ = 8B79327421F4BBE8006E9731 /* PBXTextBookmark */;
+ 8B79327621F4BBE8006E9731 /* PBXTextBookmark */ = 8B79327621F4BBE8006E9731 /* PBXTextBookmark */;
+ 8B79327F21F4BC16006E9731 /* PBXTextBookmark */ = 8B79327F21F4BC16006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79327421F4BBE8006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* VoiceOfTheStarship.h */;
+ name = "VoiceOfTheStarship.h: 141";
+ rLen = 0;
+ rLoc = 5399;
+ rType = 0;
+ vrLen = 878;
+ vrLoc = 4631;
+ };
+ 8B79327621F4BBE8006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */;
+ name = "VoiceOfTheStarship.cpp: 329";
+ rLen = 0;
+ rLoc = 13814;
+ rType = 0;
+ vrLen = 1135;
+ vrLoc = 12872;
+ };
+ 8B79327F21F4BC16006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */;
+ name = "VoiceOfTheStarship.cpp: 260";
+ rLen = 0;
+ rLoc = 11704;
+ rType = 0;
+ vrLen = 1504;
+ vrLoc = 10760;
+ };
8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {803, 4758}}";
- sepNavSelRange = "{13583, 0}";
- sepNavVisRange = "{12506, 267}";
+ sepNavIntBoundsRect = "{{0, 0}, {677, 4446}}";
+ sepNavSelRange = "{11704, 0}";
+ sepNavVisRange = "{10760, 1504}";
sepNavWindowFrame = "{{459, 62}, {981, 816}}";
};
};
@@ -96,32 +127,12 @@
};
8BC6025B073B072D006C4272 /* VoiceOfTheStarship.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 1937}}";
- sepNavSelRange = "{5380, 57}";
- sepNavVisRange = "{4200, 1340}";
+ sepNavIntBoundsRect = "{{0, 0}, {824, 2171}}";
+ sepNavSelRange = "{5399, 0}";
+ sepNavVisRange = "{4631, 878}";
sepNavWindowFrame = "{{670, 67}, {770, 811}}";
};
};
- 8BCA6F4B2027DF6C00D92BAD /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */;
- name = "VoiceOfTheStarship.cpp: 319";
- rLen = 0;
- rLoc = 13583;
- rType = 0;
- vrLen = 267;
- vrLoc = 12506;
- };
- 8BCA6F4C2027DF6C00D92BAD /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* VoiceOfTheStarship.cpp */;
- name = "VoiceOfTheStarship.cpp: 319";
- rLen = 0;
- rLoc = 13583;
- rType = 0;
- vrLen = 267;
- vrLoc = 12506;
- };
8BD3CCB8148830B20062E48C /* Source Control */ = {
isa = PBXSourceControlManager;
fallbackIsa = XCSourceControlManager;
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3
index e5ee563..93dc9d7 100644..100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>810</integer>
- <integer>810</integer>
+ <integer>850</integer>
+ <integer>850</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -300,14 +298,14 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
- <integer>3</integer>
+ <integer>4</integer>
<integer>2</integer>
<integer>1</integer>
<integer>0</integer>
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {262, 390}}</string>
+ <string>{{0, 0}, {262, 653}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {279, 408}}</string>
+ <string>{{0, 0}, {279, 671}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>262</real>
</array>
<key>RubberWindowFrame</key>
- <string>727 422 704 449 0 0 1440 878 </string>
+ <string>436 140 850 712 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -335,6 +333,8 @@
<key>Dock</key>
<array>
<dict>
+ <key>BecomeActive</key>
+ <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@@ -352,10 +352,11 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BCA6F4C2027DF6C00D92BAD</string>
+ <string>8B79327F21F4BC16006E9731</string>
<key>history</key>
<array>
- <string>8BCA6F4B2027DF6C00D92BAD</string>
+ <string>8B79327421F4BBE8006E9731</string>
+ <string>8B79327621F4BBE8006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -369,18 +370,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {420, 121}}</string>
+ <string>{{0, 0}, {566, 560}}</string>
<key>RubberWindowFrame</key>
- <string>727 422 704 449 0 0 1440 878 </string>
+ <string>436 140 850 712 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>121pt</string>
+ <string>560pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>282pt</string>
+ <string>106pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -394,9 +395,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {420, 255}}</string>
- <key>RubberWindowFrame</key>
- <string>727 422 704 449 0 0 1440 878 </string>
+ <string>{{10, 27}, {566, 79}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -450,7 +449,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {526, 414}}</string>
+ <string>{{10, 27}, {566, 79}}</string>
+ <key>RubberWindowFrame</key>
+ <string>436 140 850 712 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -459,7 +460,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>420pt</string>
+ <string>566pt</string>
</dict>
</array>
<key>Name</key>
@@ -478,11 +479,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BCA6F4D2027DF6C00D92BAD</string>
+ <string>8B79328021F4BC16006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BCA6F4E2027DF6C00D92BAD</string>
+ <string>8B79328121F4BC16006E9731</string>
<string>8BD3753F2011847B00FD04C9</string>
- <string>8BCA6F4F2027DF6C00D92BAD</string>
+ <string>8B79328221F4BC16006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -655,7 +656,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>539484012.35384703</real>
+ <real>569687062.55458999</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,7 +676,7 @@
<string>/Users/christopherjohnson/Desktop/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>727 422 704 449 0 0 1440 878 </string>
+ <string>436 140 850 712 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj
index cc10978..cc10978 100644..100755
--- a/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj
+++ b/plugins/MacAU/VoiceOfTheStarship/VoiceOfTheStarship.xcodeproj/project.pbxproj
diff --git a/plugins/MacAU/Wider/Wider.cpp b/plugins/MacAU/Wider/Wider.cpp
index 050f43a..3063f97 100755
--- a/plugins/MacAU/Wider/Wider.cpp
+++ b/plugins/MacAU/Wider/Wider.cpp
@@ -189,11 +189,8 @@ ComponentResult Wider::Reset(AudioUnitScope inScope, AudioUnitElement inElement
{
for(int fcount = 0; fcount < 4098; fcount++) {p[fcount] = 0.0;}
count = 0;
- flip = false;
- fpNShapeAL = 0.0;
- fpNShapeBL = 0.0;
- fpNShapeAR = 0.0;
- fpNShapeBR = 0.0;
+ fpNShapeL = 0.0;
+ fpNShapeR = 0.0;
return noErr;
}
@@ -215,9 +212,6 @@ OSStatus Wider::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
Float64 overallscale = 1.0;
overallscale /= 44100.0;
overallscale *= GetSampleRate();
- Float32 fpTemp;
- Float64 fpOld = 0.618033988749894848204586; //golden ratio!
- Float64 fpNew = 1.0 - fpOld;
long double inputSampleL;
long double inputSampleR;
Float64 drySampleL;
@@ -338,27 +332,14 @@ OSStatus Wider::ProcessBufferLists(AudioUnitRenderActionFlags & ioActionFlags,
inputSampleL = (drySampleL * dry) + ((mid+side) * wet);
inputSampleR = (drySampleR * dry) + ((mid-side) * wet);
- //noise shaping to 32-bit floating point
- if (flip) {
- fpTemp = inputSampleL;
- fpNShapeAL = (fpNShapeAL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeAL;
-
- fpTemp = inputSampleR;
- fpNShapeAR = (fpNShapeAR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeAR;
- }
- else {
- fpTemp = inputSampleL;
- fpNShapeBL = (fpNShapeBL*fpOld)+((inputSampleL-fpTemp)*fpNew);
- inputSampleL += fpNShapeBL;
-
- fpTemp = inputSampleR;
- fpNShapeBR = (fpNShapeBR*fpOld)+((inputSampleR-fpTemp)*fpNew);
- inputSampleR += fpNShapeBR;
- }
- flip = !flip;
- //end noise shaping on 32 bit output
+ //stereo 32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSampleL, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleL += (dither-fpNShapeL); fpNShapeL = dither;
+ frexpf((Float32)inputSampleR, &expon);
+ dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSampleR += (dither-fpNShapeR); fpNShapeR = dither;
+ //end 32 bit dither
*outputL = inputSampleL;
*outputR = inputSampleR;
diff --git a/plugins/MacAU/Wider/Wider.h b/plugins/MacAU/Wider/Wider.h
index 8bad13a..5d5608f 100755
--- a/plugins/MacAU/Wider/Wider.h
+++ b/plugins/MacAU/Wider/Wider.h
@@ -118,11 +118,8 @@ public:
private:
Float64 p[4099];
- long double fpNShapeAL;
- long double fpNShapeBL;
- long double fpNShapeAR;
- long double fpNShapeBR;
- bool flip;
+ long double fpNShapeL;
+ long double fpNShapeR;
int count;
};
diff --git a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser
index 7c2423a..0d5f1a6 100755
--- a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 364,
+ 450,
20,
48,
43,
@@ -49,23 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 546574001;
- PBXWorkspaceStateSaveDate = 546574001;
+ PBXPerProjectTemplateStateSaveDate = 569687155;
+ PBXWorkspaceStateSaveDate = 569687155;
};
perUserProjectItems = {
- 8BC5D08220940F340058B257 /* PBXTextBookmark */ = 8BC5D08220940F340058B257 /* PBXTextBookmark */;
- 8BC5D08320940F340058B257 /* PBXTextBookmark */ = 8BC5D08320940F340058B257 /* PBXTextBookmark */;
+ 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */ = 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */;
+ 8B79329021F4BD0E006E9731 /* PBXTextBookmark */ = 8B79329021F4BD0E006E9731 /* PBXTextBookmark */;
+ 8B79329521F4BD1F006E9731 /* PBXTextBookmark */ = 8B79329521F4BD1F006E9731 /* PBXTextBookmark */;
8BEF337F1D81EAE5008B0B7F /* PBXTextBookmark */ = 8BEF337F1D81EAE5008B0B7F /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
+ 8B79328E21F4BD0E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* Wider.h */;
+ name = "Wider.h: 123";
+ rLen = 0;
+ rLoc = 5115;
+ rType = 0;
+ vrLen = 1305;
+ vrLoc = 3927;
+ };
+ 8B79329021F4BD0E006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Wider.cpp */;
+ name = "Wider.cpp: 215";
+ rLen = 0;
+ rLoc = 8890;
+ rType = 0;
+ vrLen = 1668;
+ vrLoc = 8634;
+ };
+ 8B79329521F4BD1F006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* Wider.cpp */;
+ name = "Wider.cpp: 215";
+ rLen = 0;
+ rLoc = 8890;
+ rType = 0;
+ vrLen = 1668;
+ vrLoc = 8634;
+ };
8BA05A660720730100365D66 /* Wider.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {554, 4992}}";
- sepNavSelRange = "{14374, 15}";
- sepNavVisRange = "{0, 0}";
+ sepNavIntBoundsRect = "{{0, 0}, {852, 4940}}";
+ sepNavSelRange = "{8890, 0}";
+ sepNavVisRange = "{8634, 1668}";
sepNavWindowFrame = "{{607, 73}, {1021, 800}}";
};
};
@@ -93,31 +124,11 @@
sepNavWindowFrame = "{{424, 78}, {1021, 800}}";
};
};
- 8BC5D08220940F340058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Wider.cpp */;
- name = "Wider.cpp: 371";
- rLen = 15;
- rLoc = 14374;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
- 8BC5D08320940F340058B257 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* Wider.cpp */;
- name = "Wider.cpp: 371";
- rLen = 15;
- rLoc = 14374;
- rType = 0;
- vrLen = 0;
- vrLoc = 0;
- };
8BC6025B073B072D006C4272 /* Wider.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {974, 1716}}";
- sepNavSelRange = "{5049, 18}";
- sepNavVisRange = "{1459, 1999}";
+ sepNavIntBoundsRect = "{{0, 0}, {922, 1781}}";
+ sepNavSelRange = "{5115, 0}";
+ sepNavVisRange = "{3927, 1305}";
sepNavWindowFrame = "{{419, 78}, {1021, 800}}";
};
};
diff --git a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3
index c4329ad..11f2693 100755
--- a/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/Wider/Wider.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>-1</integer>
- <integer>-1</integer>
+ <integer>896</integer>
+ <integer>896</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -307,7 +305,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {185, 428}}</string>
+ <string>{{0, 0}, {185, 685}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -317,14 +315,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {202, 446}}</string>
+ <string>{{0, 0}, {202, 703}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
<real>185</real>
</array>
<key>RubberWindowFrame</key>
- <string>622 326 810 487 0 0 1440 878 </string>
+ <string>416 108 896 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
@@ -352,11 +350,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8BC5D08320940F340058B257</string>
+ <string>8B79329521F4BD1F006E9731</string>
<key>history</key>
<array>
<string>8BEF337F1D81EAE5008B0B7F</string>
- <string>8BC5D08220940F340058B257</string>
+ <string>8B79328E21F4BD0E006E9731</string>
+ <string>8B79329021F4BD0E006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -370,18 +369,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {603, 13}}</string>
+ <string>{{0, 0}, {689, 547}}</string>
<key>RubberWindowFrame</key>
- <string>622 326 810 487 0 0 1440 878 </string>
+ <string>416 108 896 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>13pt</string>
+ <string>547pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>428pt</string>
+ <string>151pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -395,9 +394,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {603, 401}}</string>
- <key>RubberWindowFrame</key>
- <string>622 326 810 487 0 0 1440 878 </string>
+ <string>{{10, 27}, {689, 124}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -451,7 +448,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 31}, {603, 297}}</string>
+ <string>{{10, 27}, {689, 124}}</string>
+ <key>RubberWindowFrame</key>
+ <string>416 108 896 744 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -460,7 +459,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>603pt</string>
+ <string>689pt</string>
</dict>
</array>
<key>Name</key>
@@ -479,11 +478,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8BC5D08420940F340058B257</string>
+ <string>8B79329621F4BD1F006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8BC5D08520940F340058B257</string>
+ <string>8B79329721F4BD1F006E9731</string>
<string>8BEF335B1D81E786008B0B7F</string>
- <string>8BC5D08620940F340058B257</string>
+ <string>8B79329821F4BD1F006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -636,7 +635,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>546574132.41940296</real>
+ <real>569687327.62574196</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -653,11 +652,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8BC5D08720940F340058B257</string>
<string>/Users/christopherjohnson/Desktop/MacAU/Wider/Wider.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>622 326 810 487 0 0 1440 878 </string>
+ <string>416 108 896 744 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/uLawDecode/uLawDecode.cpp b/plugins/MacAU/uLawDecode/uLawDecode.cpp
index 8bf3e5a..3f4581c 100755
--- a/plugins/MacAU/uLawDecode/uLawDecode.cpp
+++ b/plugins/MacAU/uLawDecode/uLawDecode.cpp
@@ -231,23 +231,15 @@ void uLawDecode::uLawDecodeKernel::Process( const Float32 *inSourceP,
}
//Dry/Wet control, defaults to the last slider
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser
index 7c52743..fa546fe 100755
--- a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 382,
20,
48,
43,
@@ -49,33 +49,54 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561231051;
- PBXWorkspaceStateSaveDate = 561231051;
+ PBXPerProjectTemplateStateSaveDate = 569686304;
+ PBXWorkspaceStateSaveDate = 569686304;
};
perUserProjectItems = {
- 8B2720A82173B5FC00396442 /* PBXTextBookmark */ = 8B2720A82173B5FC00396442 /* PBXTextBookmark */;
+ 8B79321B21F4B952006E9731 /* PBXTextBookmark */ = 8B79321B21F4B952006E9731 /* PBXTextBookmark */;
+ 8B79321D21F4B952006E9731 /* PBXTextBookmark */ = 8B79321D21F4B952006E9731 /* PBXTextBookmark */;
+ 8B79322221F4B963006E9731 /* PBXTextBookmark */ = 8B79322221F4B963006E9731 /* PBXTextBookmark */;
8BE1D69D2145372700D5F5B6 /* PlistBookmark */ = 8BE1D69D2145372700D5F5B6 /* PlistBookmark */;
- 8BE626FE2159745A00E4E476 /* PBXTextBookmark */ = 8BE626FE2159745A00E4E476 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B2720A82173B5FC00396442 /* PBXTextBookmark */ = {
+ 8B79321B21F4B952006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* uLawDecode.h */;
+ name = "uLawDecode.h: 67";
+ rLen = 0;
+ rLoc = 3125;
+ rType = 0;
+ vrLen = 1015;
+ vrLoc = 4252;
+ };
+ 8B79321D21F4B952006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */;
+ name = "uLawDecode.cpp: 244";
+ rLen = 0;
+ rLoc = 10226;
+ rType = 0;
+ vrLen = 974;
+ vrLoc = 9255;
+ };
+ 8B79322221F4B963006E9731 /* PBXTextBookmark */ = {
isa = PBXTextBookmark;
fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */;
- name = "uLawDecode.cpp: 224";
+ name = "uLawDecode.cpp: 244";
rLen = 0;
- rLoc = 9598;
+ rLoc = 10226;
rType = 0;
- vrLen = 437;
- vrLoc = 10287;
+ vrLen = 1006;
+ vrLoc = 9223;
};
8BA05A660720730100365D66 /* uLawDecode.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {621, 3471}}";
- sepNavSelRange = "{9598, 0}";
- sepNavVisRange = "{10287, 437}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 3471}}";
+ sepNavSelRange = "{10226, 0}";
+ sepNavVisRange = "{9223, 1006}";
sepNavWindowFrame = "{{587, 45}, {816, 833}}";
};
};
@@ -89,9 +110,9 @@
};
8BC6025B073B072D006C4272 /* uLawDecode.h */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {843, 1664}}";
+ sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}";
sepNavSelRange = "{3125, 0}";
- sepNavVisRange = "{1679, 1855}";
+ sepNavVisRange = "{4252, 1015}";
sepNavWindowFrame = "{{15, 63}, {890, 810}}";
};
};
@@ -121,16 +142,6 @@
rLen = 0;
rLoc = 9223372036854775808;
};
- 8BE626FE2159745A00E4E476 /* PBXTextBookmark */ = {
- isa = PBXTextBookmark;
- fRef = 8BA05A660720730100365D66 /* uLawDecode.cpp */;
- name = "uLawDecode.cpp: 224";
- rLen = 0;
- rLoc = 9598;
- rType = 0;
- vrLen = 434;
- vrLoc = 10290;
- };
8D01CCC60486CAD60068D4B7 /* uLawDecode */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3
index b412088..a73a00a 100755
--- a/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/uLawDecode/uLawDecode.xcodeproj/christopherjohnson.perspectivev3
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>198</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -309,7 +307,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {198, 595}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -319,19 +317,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {215, 613}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>198</real>
</array>
<key>RubberWindowFrame</key>
- <string>585 216 841 654 0 0 1440 878 </string>
+ <string>464 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>215pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -354,11 +352,12 @@
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B2720A82173B5FC00396442</string>
+ <string>8B79322221F4B963006E9731</string>
<key>history</key>
<array>
<string>8BE1D69D2145372700D5F5B6</string>
- <string>8BE626FE2159745A00E4E476</string>
+ <string>8B79321B21F4B952006E9731</string>
+ <string>8B79321D21F4B952006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -372,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 173}}</string>
+ <string>{{0, 0}, {621, 497}}</string>
<key>RubberWindowFrame</key>
- <string>585 216 841 654 0 0 1440 878 </string>
+ <string>464 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>173pt</string>
+ <string>497pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>435pt</string>
+ <string>111pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -397,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 408}}</string>
- <key>RubberWindowFrame</key>
- <string>585 216 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {621, 84}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -453,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {621, 84}}</string>
+ <key>RubberWindowFrame</key>
+ <string>464 204 841 654 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -462,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>621pt</string>
</dict>
</array>
<key>Name</key>
@@ -481,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B2720A92173B5FC00396442</string>
+ <string>8B79322321F4B963006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B2720AA2173B5FC00396442</string>
+ <string>8B79322421F4B963006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B2720AB2173B5FC00396442</string>
+ <string>8B79322521F4B963006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -658,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561231356.44708204</real>
+ <real>569686371.96209395</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -675,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B2720AC2173B5FC00396442</string>
<string>/Users/christopherjohnson/Desktop/MacAU/uLawDecode/uLawDecode.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>585 216 841 654 0 0 1440 878 </string>
+ <string>464 204 841 654 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>
diff --git a/plugins/MacAU/uLawEncode/uLawEncode.cpp b/plugins/MacAU/uLawEncode/uLawEncode.cpp
index 60e0bb1..9c663fb 100755
--- a/plugins/MacAU/uLawEncode/uLawEncode.cpp
+++ b/plugins/MacAU/uLawEncode/uLawEncode.cpp
@@ -229,23 +229,15 @@ void uLawEncode::uLawEncodeKernel::Process( const Float32 *inSourceP,
inputSample = (inputSample * wet) + (drySample * dry);
}
- //noise shaping to 32-bit floating point
- Float32 fpTemp = inputSample;
- fpNShape += (inputSample-fpTemp);
- inputSample += fpNShape;
- //for deeper space and warmth, we try a non-oscillating noise shaping
- //that is kind of ruthless: it will forever retain the rounding errors
- //except we'll dial it back a hair at the end of every buffer processed
- //end noise shaping on 32 bit output
+ //32 bit dither, made small and tidy.
+ int expon; frexpf((Float32)inputSample, &expon);
+ long double dither = (rand()/(RAND_MAX*7.737125245533627e+25))*pow(2,expon+62);
+ inputSample += (dither-fpNShape); fpNShape = dither;
+ //end 32 bit dither
*destP = inputSample;
sourceP += inNumChannels; destP += inNumChannels;
}
- fpNShape *= 0.999999;
- //we will just delicately dial back the FP noise shaping, not even every sample
- //this is a good place to put subtle 'no runaway' calculations, though bear in mind
- //that it will be called more often when you use shorter sample buffers in the DAW.
- //So, very low latency operation will call these calculations more often.
}
diff --git a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser
index 79aef9a..3d079b0 100755
--- a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser
+++ b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.pbxuser
@@ -10,7 +10,7 @@
PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
PBXFileTableDataSourceColumnWidthsKey = (
20,
- 292,
+ 444,
20,
48,
43,
@@ -49,18 +49,20 @@
PBXFileDataSource_Warnings_ColumnID,
);
};
- PBXPerProjectTemplateStateSaveDate = 561229885;
- PBXWorkspaceStateSaveDate = 561229885;
+ PBXPerProjectTemplateStateSaveDate = 569686467;
+ PBXWorkspaceStateSaveDate = 569686467;
};
perUserProjectItems = {
- 8B27203D2173B23100396442 /* PlistBookmark */ = 8B27203D2173B23100396442 /* PlistBookmark */;
- 8BE627102159750A00E4E476 /* PlistBookmark */ = 8BE627102159750A00E4E476 /* PlistBookmark */;
+ 8B79323121F4B9E7006E9731 /* PlistBookmark */ = 8B79323121F4B9E7006E9731 /* PlistBookmark */;
+ 8B79323221F4B9E7006E9731 /* PBXTextBookmark */ = 8B79323221F4B9E7006E9731 /* PBXTextBookmark */;
+ 8B79323421F4B9E7006E9731 /* PBXTextBookmark */ = 8B79323421F4B9E7006E9731 /* PBXTextBookmark */;
+ 8B79323921F4BA03006E9731 /* PBXTextBookmark */ = 8B79323921F4BA03006E9731 /* PBXTextBookmark */;
};
sourceControlManager = 8BD3CCB8148830B20062E48C /* Source Control */;
userBuildSettings = {
};
};
- 8B27203D2173B23100396442 /* PlistBookmark */ = {
+ 8B79323121F4B9E7006E9731 /* PlistBookmark */ = {
isa = PlistBookmark;
fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
fallbackIsa = PBXBookmark;
@@ -72,11 +74,41 @@
rLen = 0;
rLoc = 9223372036854775807;
};
+ 8B79323221F4B9E7006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BC6025B073B072D006C4272 /* uLawEncode.h */;
+ name = "uLawEncode.h: 50";
+ rLen = 1;
+ rLoc = 2740;
+ rType = 0;
+ vrLen = 1139;
+ vrLoc = 4128;
+ };
+ 8B79323421F4B9E7006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* uLawEncode.cpp */;
+ name = "uLawEncode.cpp: 242";
+ rLen = 0;
+ rLoc = 10181;
+ rType = 0;
+ vrLen = 1133;
+ vrLoc = 9051;
+ };
+ 8B79323921F4BA03006E9731 /* PBXTextBookmark */ = {
+ isa = PBXTextBookmark;
+ fRef = 8BA05A660720730100365D66 /* uLawEncode.cpp */;
+ name = "uLawEncode.cpp: 242";
+ rLen = 0;
+ rLoc = 10181;
+ rType = 0;
+ vrLen = 1159;
+ vrLoc = 9025;
+ };
8BA05A660720730100365D66 /* uLawEncode.cpp */ = {
uiCtxt = {
- sepNavIntBoundsRect = "{{0, 0}, {824, 3276}}";
- sepNavSelRange = "{9497, 258}";
- sepNavVisRange = "{8738, 1941}";
+ sepNavIntBoundsRect = "{{0, 0}, {670, 3406}}";
+ sepNavSelRange = "{10181, 0}";
+ sepNavVisRange = "{9025, 1159}";
sepNavWindowFrame = "{{684, 45}, {816, 833}}";
};
};
@@ -92,7 +124,7 @@
uiCtxt = {
sepNavIntBoundsRect = "{{0, 0}, {894, 1781}}";
sepNavSelRange = "{2740, 1}";
- sepNavVisRange = "{1993, 1589}";
+ sepNavVisRange = "{4128, 1139}";
sepNavWindowFrame = "{{732, 67}, {890, 810}}";
};
};
@@ -110,18 +142,6 @@
isa = PBXCodeSenseManager;
indexTemplatePath = "";
};
- 8BE627102159750A00E4E476 /* PlistBookmark */ = {
- isa = PlistBookmark;
- fRef = 8D01CCD10486CAD60068D4B7 /* Info.plist */;
- fallbackIsa = PBXBookmark;
- isK = 0;
- kPath = (
- CFBundleName,
- );
- name = /Users/christopherjohnson/Desktop/MacAU/uLawEncode/Info.plist;
- rLen = 0;
- rLoc = 9223372036854775808;
- };
8D01CCC60486CAD60068D4B7 /* uLawEncode */ = {
activeExec = 0;
};
diff --git a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3 b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3
index 75813d1..663d11c 100755
--- a/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3
+++ b/plugins/MacAU/uLawEncode/uLawEncode.xcodeproj/christopherjohnson.perspectivev3
@@ -225,8 +225,8 @@
<array/>
<key>PerspectiveWidths</key>
<array>
- <integer>841</integer>
- <integer>841</integer>
+ <integer>899</integer>
+ <integer>899</integer>
</array>
<key>Perspectives</key>
<array>
@@ -256,8 +256,6 @@
<key>Layout</key>
<array>
<dict>
- <key>BecomeActive</key>
- <true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXBottomSmartGroupGIDs</key>
@@ -282,7 +280,7 @@
<dict>
<key>PBXSmartGroupTreeModuleColumnWidthsKey</key>
<array>
- <real>288</real>
+ <real>194</real>
</array>
<key>PBXSmartGroupTreeModuleColumnsKey_v4</key>
<array>
@@ -309,7 +307,7 @@
</array>
</array>
<key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key>
- <string>{{0, 0}, {288, 595}}</string>
+ <string>{{0, 0}, {194, 656}}</string>
</dict>
<key>PBXTopSmartGroupGIDs</key>
<array/>
@@ -319,19 +317,19 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {305, 613}}</string>
+ <string>{{0, 0}, {211, 674}}</string>
<key>GroupTreeTableConfiguration</key>
<array>
<string>MainColumn</string>
- <real>288</real>
+ <real>194</real>
</array>
<key>RubberWindowFrame</key>
- <string>637 204 841 654 0 0 1440 878 </string>
+ <string>406 163 899 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXSmartGroupTreeModule</string>
<key>Proportion</key>
- <string>305pt</string>
+ <string>211pt</string>
</dict>
<dict>
<key>Dock</key>
@@ -342,7 +340,7 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274A1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>uLawEncode.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@@ -350,14 +348,16 @@
<key>PBXProjectModuleGUID</key>
<string>8BD7274B1D46E5A5000176F0</string>
<key>PBXProjectModuleLabel</key>
- <string>Info.plist</string>
+ <string>uLawEncode.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
- <string>8B27203D2173B23100396442</string>
+ <string>8B79323921F4BA03006E9731</string>
<key>history</key>
<array>
- <string>8BE627102159750A00E4E476</string>
+ <string>8B79323121F4B9E7006E9731</string>
+ <string>8B79323221F4B9E7006E9731</string>
+ <string>8B79323421F4B9E7006E9731</string>
</array>
</dict>
<key>SplitCount</key>
@@ -371,18 +371,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{0, 0}, {531, 202}}</string>
+ <string>{{0, 0}, {683, 549}}</string>
<key>RubberWindowFrame</key>
- <string>637 204 841 654 0 0 1440 878 </string>
+ <string>406 163 899 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
- <string>202pt</string>
+ <string>549pt</string>
</dict>
<dict>
<key>Proportion</key>
- <string>406pt</string>
+ <string>120pt</string>
<key>Tabs</key>
<array>
<dict>
@@ -396,9 +396,7 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 379}}</string>
- <key>RubberWindowFrame</key>
- <string>637 204 841 654 0 0 1440 878 </string>
+ <string>{{10, 27}, {683, 93}}</string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
@@ -452,7 +450,9 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
- <string>{{10, 27}, {531, 339}}</string>
+ <string>{{10, 27}, {683, 93}}</string>
+ <key>RubberWindowFrame</key>
+ <string>406 163 899 715 0 0 1440 878 </string>
</dict>
<key>Module</key>
<string>PBXBuildResultsModule</string>
@@ -461,7 +461,7 @@
</dict>
</array>
<key>Proportion</key>
- <string>531pt</string>
+ <string>683pt</string>
</dict>
</array>
<key>Name</key>
@@ -480,11 +480,11 @@
</array>
<key>TableOfContents</key>
<array>
- <string>8B27203E2173B23100396442</string>
+ <string>8B79323A21F4BA03006E9731</string>
<string>1CA23ED40692098700951B8B</string>
- <string>8B27203F2173B23100396442</string>
+ <string>8B79323B21F4BA03006E9731</string>
<string>8BD7274A1D46E5A5000176F0</string>
- <string>8B2720402173B23100396442</string>
+ <string>8B79323C21F4BA03006E9731</string>
<string>1CA23EDF0692099D00951B8B</string>
<string>1CA23EE00692099D00951B8B</string>
<string>1CA23EE10692099D00951B8B</string>
@@ -657,7 +657,7 @@
<key>StatusbarIsVisible</key>
<true/>
<key>TimeStamp</key>
- <real>561230385.17758596</real>
+ <real>569686531.54984498</real>
<key>ToolbarConfigUserDefaultsMinorVersion</key>
<string>2</string>
<key>ToolbarDisplayMode</key>
@@ -674,11 +674,10 @@
<integer>5</integer>
<key>WindowOrderList</key>
<array>
- <string>8B2720412173B23100396442</string>
<string>/Users/christopherjohnson/Desktop/MacAU/uLawEncode/uLawEncode.xcodeproj</string>
</array>
<key>WindowString</key>
- <string>637 204 841 654 0 0 1440 878 </string>
+ <string>406 163 899 715 0 0 1440 878 </string>
<key>WindowToolsV3</key>
<array>
<dict>