Jeff0S/sws — pull request #662 by Breeder (2014-08-06 18:36:00+00:00)
Title: Loudness analyzer updates, added actions, misc stuff...

Sorry for such a massive pull request, things just got added while working on loudness analyzer :)

---
#### Analyze and normalize loudness:
##### Analyze loudness dialog:
- Analyzer can now measure true peak (disabled by default since it prolongs analysis due to resampling - see Options to enable/disable)
- Double-click true peak cell to move edit cursor to true peak location (or right-click selected item/track in list view to reveal the option)
- Added user preference to display either LUFS or LU (see Options->Unit).
- To set reference level for 0 LU and formatting of LU unit, see Options->Global preferences (or run SWS/BR: Global loudness preferences)
- Right-click menu entry for normalizing follows Options->Unit and will alternate between "Normalize to -23 LUFS" and "Normalize to 0 LU"
- Normalizing to specific value can normalize to both LUFS and LU
- Export list of analyzed items/tracks to clipboard or file
- To export the list, select items in list view, right-click them and select "Export formated list to clipboard/file"
- For setting the format of exported items, see Options->Export format
- Formating supports wildcards. Wildcards description can be found in the same dialog. To hide description, simply resize the dialog
- Besides typing, wildcards can also be inserted using the "Wildcard" button.
- Previously used format patterns are stored in the "Wildcard" button submenu
- Other:
- Right-click menu entry for creating loudness graph no longer queries range, instead it uses range set in Options->Global preferences (or SWS/BR: Global loudness preferences)
- Normalize dialog is no longer modal (but will be closed if loudness analyzer is closed/hidden to avoid confusion)
- Display new items/tracks in list view as soon as they're analyzed
- Analyze button changes caption depending on what is to be analyzed
- Added Help... menu entry to options menus
- Note: opens http://wiki.cockos.com/wiki/index.php/Measure_and_normalize_loudness_with_SWS|wiki page on everything loudness related in SWS| which is currently unfinished (if you want to contribute you're more than welcome)
- Various small fixes

##### Added actions:
+SWS/BR: Global loudness preferences...
- Note: Preferences set here affect everything loudness related in SWS (analyze loudness dialog and separate normalize actions)
- 0 LU reference can be set to an arbitrary value (most common values are provided in the dropdown)
- LU unit format only affects display of LU unit in various dialogs
- Envelope graph range affects drawing range when drawing loudness envelopes in Analyze loudness dialog
+SWS/BR: Normalize loudness of selected items to 0 LU
+SWS/BR: Normalize loudness of selected tracks to 0 LU

##### Other:
- Renamed SWS/BR: Normalize loudness of selected items to SWS/BR: Normalize loudness of selected items/tracks (also no longer modal)
- Removed SWS/BR: Normalize loudness of selected tracks

---
#### Added actions
##### Main:
- SWS/BR: Select envelope points on/between grid (2 versions: time selection and normal)
- SWS/BR: Add envelope points located on/between grid to existing selection (2 versions: time selection and normal)
- SWS/BR: Delete envelope points on/between grid (2 versions: time selection and normal)
- SWS/BR: Create project marker at mouse cursor
- SWS/BR: Create project marker at mouse cursor (obey snapping)
- SWS/BR: Insert 2 envelope points at time selection to all visible track envelopes
- SWS/BR: Insert 2 envelope points at time selection to all visible track envelopes in selected tracks
- SWS/BR: Show all active FX envelopes for selected tracks
- SWS/BR: Show all FX envelopes for selected tracks
- SWS/BR: Show all/volume/pan/mute active send envelopes for selected track
- SWS/BR: Show all/volume/pan/mute send envelopes for selected track
- Note: all show FX/send envelope actions come in 3 flavors : show, hide and toggle show
- SWS/BR: Show/hide track envelope for last adjusted send (3 verions)
- Note: that's right, due to API limitation it's last adjusted, not touched
- SWS/BR: Enable "Ignore project tempo" for selected MIDI items preserving time position of MIDI events (use tempo at item's start)
- Note: the action is meant for http://forum.cockos.com/showthread.php?p=1374175#post1374175|these kind of issues|

##### MIDI editor:
- SWS/BR: Save/Restore selected events in last clicked CC lane (8 slots) (Restore has 2 versions: last clicked lane or all visible lanes)
- SWS/BR: Insert CC event at edit cursor in CC lane under mouse cursor (active item only)

---
#### ReaScript
##### Other:
- Changed envelope object type in BR_EnvAlloc and other functions to avoid confusion (existing scripts should be unaffected)

---
#### Fixes
+ Improved deleting tempo markers with different time signatures when using SWS/BR: Delete tempo marker and preserve position and length of items (including MIDI events)
+ Preserve options between REAPER sessions set with these actions:
- SWS/BR: Set "Apply trim when adding volume/pan envelope"
- SWS/BR: Toggle "Playback position follows project timebase when changing tempo"

---
#### Other
+ Increased all SWS/BR slot actions to 8 slots
+ Display proper dialog icon (same one REAPER uses) in all dialogs (win only)
+ Added tempo actions to Main menu > Extensions > Tempo