|
|
|
09-10-2019, 06:01 PM
|
#1
|
Human being with feelings
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
|
v5.983+dev0910 - September 10 2019
v5.983+dev0910 - September 10 2019
+ API: add support for CC shapes to MIDI_Get(Set)AllEvts
+ Fades: prevent race condition from causing playback glitches during rapid item movement/size/split [t=224925]
# API: add support for bezier tension to MIDI_GetAllEvts/MIDI_SetAllEvts
# FX chain: improve buttons-on-top alignment
Full changelog / Latest pre-releases
Other additions,
+ API: add MIDI_GetCCShape, MIDI_SetCCShape
+ API: add reduce_open_files() utility function for users running up against open file handle limitations
+ ASIO: permit buffer sizes that are not a power of 2 if the device does not very specifically request otherwise [t=200746]
+ Automation items: remove preference to attach automation items to the underlying envelope (superseded by per-automation-item transition time setting)
+ Batch converter: log files will warn if FX were not loaded
+ Defaults: enable Live FX multiprocessing
+ Defaults: enable track record monitoring on new tracks
+ Envelopes: add action to attach automation items to underlying envelope
+ Fade editor: fixed an obscure possible bug
+ FX chain: add preference to display FX list on right side of chain window
+ FX chain: option to put add/delete buttons above list
+ FX: allow embed of some plug-in UIs into TCP (done via action or FX menus)
+ FX: embed support for ReaEQ, ReaXComp, ReaComp, ReaSurround, and graphical JSFX
+ JSFX/ReaScript: fix gfx_showmenu() coordinates on macOS retina displays
+ Keyboard: add "Main (override all contexts including text fields)" section which allows global keyboard overrides
+ macOS: add (default) option to retina-render themed elements on old themes (sharper text)
+ macOS: add prefs/general/advanced options to disable retina support
+ macOS: added "force layer" drawing mode in preferences/general/advanced
+ macOS: optimize drawing speed on newer macOS versions/retina displays (when in automatic mode in preferences/general/advanced)
+ macOS: retina display improvements (retina display of arrange, ruler, MIDI editor, etc)
+ macOS: use Metal display output on 10.11+ for various windows
+ macOS: windows without defined main menu inherit the main menu from their owners
+ macOS: workaround appearance issues when user forces dark mode rendering for app (requires Metal to be enabled) [t=222366]
+ Main window: allow positioning TCP on right side of arrange
+ Menus: a very light refresh of the main file/edit/view/insert menus
+ MIDI editor: 14-bit registered parameter/non-registered parameter CC editing
+ MIDI editor: add CC lane mouse modifier to insert a single CC event
+ MIDI editor: add option to display note length in velocity lane
+ MIDI editor: always select the associated note when clicking on velocity stem, regardless of user preference to select CC event on single click
+ MIDI editor: combine note properties and event properties into one modeless dialog
+ MIDI editor: display CC events as square envelopes rather than bars
+ MIDI editor: draw CC/velocity as dots and lines rather than bars
+ MIDI editor: fix incorrect CC event drawing when coloring notes by velocity
+ MIDI editor: improve hidpi/retina drawing
+ MIDI editor: repopulate raw MIDI display window when switching active media item
+ MIDI editor: respect CC drawing density preference
+ MIDI: support linear and curve CC envelopes
+ Misc: fixed a few minor memory leaks
+ Modal windows: remember window positions (configurable option in preferences/general/advanced to tweak behavior)
+ Mouse modifiers: add double-click behaviors to reset CC value, curvature, edit properties
+ Multiprocessing: auto-detect up to 128 threads
+ Multiprocessing: increase anticipative FX hard limit to 128 threads, live FX hard limit to 64 threads
+ Multiprocessing: remove old 4.x scheduler mode
+ Multiprocessing: remove old option to not use native synchronization events
+ Notation editor: add multi-tremolo support
+ Peaks: option to fully-read peaks files under a certain size (to reduce open file count)
+ Performance meter: improve win32 hidpi drawing
+ Performance: improve track panel UI behavior with large track counts
+ Preferences: add option in disk settings to periodically close excess open files
+ ReaFIR: add context menu mode configuration
+ Render: support rendering only selected regions in an existing region render matrix [t=193405]
+ Resampler: Added SSE2-optimized sinc calculation (from Theo Niessink)
+ Resampling: optimize and improve quality of resampling at whole ratios and for common rates
+ Sliders: improve ReaPlugs/UI slider appearance on hidpi and linux
+ Splash screen: improve win32 HiDPI
+ Toolbars: improve hidpi/retina sizing (including editor and icon picker)
+ Track wiring diagram view
+ Tracks: complete overhaul of track/mixer panels for performance
+ UI scaling: apply advanced preference scaling changes immediately
+ UI scaling: fix theme rendering bugs when using custom scaling
+ Video: fix render configuration from API [t=224539]
+ WALTER: add additional 8 font slots
+ Wet/dry knobs: improve drawing at different DPI settings
+ Wet/dry knobs: improve mouse-up and doubleclick behavior
+ Wet/dry knobs: macOS retina support
+ Windows: HiDPI display improvements (auto-rescale more UI when running HiDPI aware)
+ Windows: improve appearance of various ReaPlugs when resizing
+ Windows: improve appearance of various windows during resize
+ Windows: improve docker appearance during resize
|
|
|
09-11-2019, 02:36 AM
|
#2
|
Human being with feelings
Join Date: Aug 2015
Posts: 3,671
|
thanks for fixing the race condition pop issue! i haven't been able to trigger it this morning. however, is it just me, or am i now hearing a (non-clipping, much quieter) pop on play stop on these stretched items? i have "tiny fade" enabled/disabled to no effect
|
|
|
09-11-2019, 03:47 AM
|
#3
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by mccrabney
thanks for fixing the race condition pop issue! i haven't been able to trigger it this morning. however, is it just me, or am i now hearing a (non-clipping, much quieter) pop on play stop on these stretched items? i have "tiny fade" enabled/disabled to no effect
|
Hmm on playback stop, I don't think anything has changed, so whatever you hear there should be the same as 5.983 etc. If you're hearing a pop when playing back the end of the item, let me know.
|
|
|
09-11-2019, 10:19 AM
|
#4
|
Human being with feelings
Join Date: Dec 2016
Posts: 876
|
+ API: add support for CC shapes to MIDI_Get(Set)AllEvts
# API: add support for bezier tension to MIDI_GetAllEvts/MIDI_SetAllEvts
Thank you thank you thank!!!
|
|
|
09-11-2019, 10:45 AM
|
#5
|
Human being with feelings
Join Date: Apr 2016
Location: ASU`ogacihC
Posts: 3,913
|
From past additions,..
Quote:
+ Keyboard: add "Main (override all contexts including text fields)" section which allows global keyboard overrides
|
Can someone explain that? Or is that from pre-global-key builds and was never removed from dev changelog?
|
|
|
09-11-2019, 11:29 AM
|
#6
|
Human being with feelings
Join Date: Nov 2007
Location: France
Posts: 919
|
If I draw a pitch CC line ramp and sent it to a hardware synth, the pith increase is stepped.
Is it a matter of CC resolution, is there a preference to setup ?
|
|
|
09-11-2019, 12:22 PM
|
#7
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,622
|
Quote:
#+ Fades: prevent race condition from causing playback glitches during rapid item movement/size/split [t=224925]
|
Yeeesss, thank you!!!
|
|
|
09-11-2019, 12:51 PM
|
#8
|
Human being with feelings
Join Date: May 2010
Location: Austin, TX
Posts: 791
|
Quote:
Originally Posted by dupont
If I draw a pitch CC line ramp and sent it to a hardware synth, the pith increase is stepped.
Is it a matter of CC resolution, is there a preference to setup ?
|
Yep, under playback interpolation
|
|
|
09-11-2019, 02:22 PM
|
#9
|
Human being with feelings
Join Date: Nov 2007
Location: France
Posts: 919
|
Quote:
Originally Posted by lachrimae
Yep, under playback interpolation
|
thanks
|
|
|
09-12-2019, 04:40 AM
|
#10
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by Edgemeal
v5.983+dev0910 - September 10 2019
+ API: add support for CC shapes to MIDI_Get(Set)AllEvts
# API: add support for bezier tension to MIDI_GetAllEvts/MIDI_SetAllEvts
|
Yay!
The API help refers to "msg" starting with "version2:". This should probably be "buf" instead:
Code:
Lua: boolean reaper.MIDI_SetAllEvts(MediaItem_Take take, string buf)
If msg begins with 'version2:', the buffer must be a list of { int offset, char flag, int msglen, int extramsglen, unsigned char msg[] }.
Which string.pack/unpack formula can be used to pack/unpack the new format of "int offset, char flag, int msglen, int extramsglen, unsigned char msg[]"?
Quote:
The only extra data currently supported are:
3 bytes for bezier type: 1'b'0 for normal or 1'b'1 for locked
6 bytes for bezier tension: 4't' plus 4 bytes representing a float
|
What is a locked bezier type?
Existing scripts don't use the new "version2:" option, which means that the Get/SetAllEvts functions will not throw an error, but will work as before, without shape information, even in new versions of REAPER. I am not sure that is a good idea, since neither the script nor the user may not realize that subtle changes are being made to the CC shapes -- until it is too late and lots of undoing have to be done. If a function doesn't work properly, I prefer it to fail spectacularly, so that the user immediately knows that something is wrong. Perhaps the Get/SetAllEvts functions can either be deprecated, or they should be changed in such a way that older scripts won't work any more (but can easily be adapted by the author).
|
|
|
09-12-2019, 04:55 AM
|
#11
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,751
|
Here's an example:
Code:
buf=string.pack("c9ibiic3bc1bbc1fibiic3ibiic3",
'version2:',
960, 5<<4, 3, 9, '\xB0\x07\x40', 1, 'b', 0, 4, 't', -0.5,
960, 0, 3, 0, '\xB0\x07\x20',
960*6, 0, 3, 0, '\xB0\x7B\x00')
|
|
|
09-12-2019, 04:59 AM
|
#12
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,751
|
The locked bezier type is for REAPER's internal use. After certain types of edits, the bezier shape calculation is slightly different. It's included in the API just for completeness.
|
|
|
09-12-2019, 07:14 AM
|
#13
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by schwa
Here's an example:
Code:
buf=string.pack("c9ibiic3bc1bbc1fibiic3ibiic3",
'version2:',
960, 5<<4, 3, 9, '\xB0\x07\x40', 1, 'b', 0, 4, 't', -0.5,
960, 0, 3, 0, '\xB0\x07\x20',
960*6, 0, 3, 0, '\xB0\x7B\x00')
|
Would it not be faster and more elegant to format each event as "i4Bs4s4", with msg and extramsg as two separate s4?
If I understand the new format correctly, a script would have to check the lengths, then read the msg in a separate with msg:sub(). Similarly, packing can't be done in a single step unless the lengths were hard-coded beforehand, and will take longer to execute.
I'm curious why the new flags are strange text codes instead of just bits? I hope this is preparation for storing notation text inside note-on events!
(BTW, while you are working on these API functions, please take a look at the suggestions in the MIDI CC envelope discussion thread.)
|
|
|
09-12-2019, 07:19 AM
|
#14
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
We're going to redo the way these bezier parameters are encoded, stay tuned (and don't use the current system!)
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 08:57 AM.
|