Commit graph

10663 commits

Author SHA1 Message Date
Robin Gareus
ac6f44d92b MacVST UI resizing 2016-11-15 18:17:47 +01:00
Robin Gareus
a15a316236 consolidate VST UI code 2016-11-15 17:10:13 +01:00
Olivier Humbert
3ff588e189 French translation update
more translations
2016-11-15 03:15:10 +01:00
Olivier Humbert
c5f176ad48 Adding myself
adding my name
2016-11-15 03:15:10 +01:00
Olivier Humbert
7b1432fef1 French translation update
one small fix
2016-11-15 03:15:10 +01:00
Olivier Humbert
9abc5403e9 French translation update
A few more translations and fixes for French.
2016-11-15 03:15:09 +01:00
Olivier Humbert
fbd301ae09 French translation update
This one:
* adds a French translation for a string
* adds myself on the header
2016-11-15 03:15:09 +01:00
Olivier Humbert
5c1f7b2a7d French translation update
This translates one string.
2016-11-15 03:15:09 +01:00
Robin Gareus
9280e148cc Add missing #include 2016-11-15 00:44:14 +01:00
Robin Gareus
ea1231fb95 show VST preset clean/dirty state 2016-11-15 00:32:59 +01:00
Robin Gareus
a610157955 MacVST Program/Preset support 2016-11-15 00:32:59 +01:00
Tim Mayberry
c16eb83fec Fix crash when selecting MIDI note
Replace now always invalid assertion with initialization

Related to #7110
2016-11-15 08:16:31 +10:00
Robin Gareus
f30fbcaaf9 Fix VST state-lock SNAFU (effSetChunk and process are exclusive) 2016-11-14 21:06:18 +01:00
nick_m
0b2ae7dad9 change note selection node name - should fix 7110 2016-11-15 03:48:20 +11:00
Robin Gareus
6794a83661 potential fix for #7110 (older sessions have no id) 2016-11-14 04:12:58 +01:00
Robin Gareus
da480d5540 Suffix plugin type in instrument-list to avoid ambiguities 2016-11-14 01:14:52 +01:00
Robin Gareus
68cbbe892f fix MacVST UI idle calls 2016-11-13 18:47:08 +01:00
Robin Gareus
80fa696564 basic Mac VST Cocoa UI support 2016-11-13 16:35:06 +01:00
Robin Gareus
7daee17f87 fix buffer overflow printing tempo/meter 2016-11-12 16:19:27 +01:00
Robin Gareus
857c0d4a5e Refine instrument fan-out:
* prefix (rather than suffix) portgroup-name
* check if group already exists
* disconnect targets (when autoconnect preference is enabled)
* expose tracks/busses option
2016-11-11 10:48:33 +01:00
Tim Mayberry
dac2d41ee2 Add option to zoom using button press in the time rulers and dragging vertically
This is a common operation used for zooming in other DAWs like Ableton Live and
Cubase. To support such a usage pattern without changing the existing behaviour
of the ruler area I've made it an option that is false by default.

The behaviour of RulerDragZoom is intentionally different than a CursorDrag
that occurs in the rest of the ruler area in that it doesn't follow the snap to
grid setting and no locate related stuff occurs until button release.

There are some issues with responsiveness with more than a few hundred regions
or a large amount of MIDI events/notes.

Implements feature #6768
2016-11-11 14:13:53 +10:00
Tim Mayberry
37a7d87786 Use the frame corresponding to the current mouse position when zoom dragging
Editor::mouse_frame only works within the track canvas. If a zoom drag is
initiated and the mouse cursor goes outside of the track canvas the zoom
position should still based on the current x position of the cursor.
2016-11-11 14:13:53 +10:00
Tim Mayberry
9485748e17 Change Editor temporal zoom methods to be able to use different scale for the zoom 2016-11-11 14:13:53 +10:00
Robin Gareus
4499066f39 static MonitorSection Action -- fixes #7098
ActionManager registered actions are static global and cannot reference
an instance (this) directly.
2016-11-11 03:54:50 +01:00
Robin Gareus
f83dbf83f4 keep meterbridge on top 2016-11-11 01:14:18 +01:00
Robin Gareus
9990da35d8 prevent crash during track-deletion (un-selecting deleted tracks) 2016-11-10 23:20:58 +01:00
Robin Gareus
33942e6d52 Implement instrument fan-out options (group, track/bus) 2016-11-10 21:39:20 +01:00
nick_m
d9dea0a3aa rename Region pos_beats -> quarter_note 2016-11-11 03:37:08 +11:00
nick_m
a432f6585c TempoSection::tempo_at methods return a Tempo, document the opposite direction. 2016-11-11 03:37:08 +11:00
nick_m
33e95a1577 rename Tempo _beats_per_minute to _note_types_per_minute, provide pulse helpers.
- adds quarter_notes_per_minute(), note_divisions_per_minute (double)
	  pulses_per_minute() and frames_per_quarter_note()

	- this should be a no-op except for the use of tempo by
	  the vst callback which definitely uses quarter notes per minute.

	- the XML node for TempoSection named 'beats-per-minute'
	  has been renamed.
2016-11-11 03:37:08 +11:00
nick_m
594137f5cc remove public pulse methods from TempoMap.
- the only object whose musical position is not expressed in
	  quarter notes is MetricSection.
	  there is now no need to expose this.
2016-11-11 03:37:08 +11:00
nick_m
1d540605ac clamp setting tempo via vertical drag.
- a bit suboptimal. we really need the opposite of _trackview_only
	  to prevent jumping to track canvas scrolled coordinates in the first place.
2016-11-11 03:37:08 +11:00
nick_m
dca96d8b5d rename Region pulse to pos_beats. use new beat distance api where required.
- add more debugging output detecting regions whose
	  beat and frame position do not align on a playlist.
	  this is required as a check as we have never used
	  frame rounding on constant tempi before 8884a5723dc
2016-11-11 03:37:08 +11:00
nick_m
ac23496b40 MidiRegion _start/_length beats are frame based only when lock style is Audiotime 2016-11-11 03:37:08 +11:00
nick_m
0e867b544b Refactor tempo api, include quarter-note distance in frames method.
- moves frame rounding up to TempoMap, which is needed
	  in order to calculate pulse distance without frame rounding.

	- the time unit for tempo is still minute, but this now also
	  applies to meter sections. (new audio locked meter sections no
	  longer require a frame position).

	- there is no longer a discontinuity
	  in the pulse for audio-locked meter/tempi.

	- temporarily add debugging output in Region::set_position()
	  to test for region beat not matching region frame.
2016-11-11 03:37:08 +11:00
Tim Mayberry
8520312f97 Check and link to the pangoft2 module with a mingw build if it exists
This is necessary when pango has been built without all modules included as
bundle_env_mingw.cc uses a function from the pango module and results a linker
error:

bundle_env_mingw.cc:114: undefined reference to `pango_ft2_font_map_get_type'

Minimum pango version is taken from the official build scripts.
2016-11-10 15:23:43 +10:00
Robin Gareus
b116a68a5c C++ implementation of fan_out_instrument.lua 2016-11-10 04:54:59 +01:00
Len Ovens
b63af3162e Set session dirty if tracks are reordered by user. 2016-11-07 08:29:34 -08:00
Len Ovens
932cc4d347 One more piece to the moving master puzzle. 2016-11-06 21:59:33 -08:00
Len Ovens
1457050d7a Fix Drifting Master hopefully for real this time. 2016-11-04 08:39:41 -07:00
Robin Gareus
da32ae4e1f prevent infinite loop when calculating tick marks on low zoom levels 2016-11-02 17:54:24 +01:00
Robin Gareus
9773cfa926 Drop UpdateMidnam shared_ptr reference when the plugin is removed 2016-10-30 17:39:55 +01:00
Len Ovens
997b48baf7 Fix moving master 2016-10-30 06:48:05 -07:00
Robin Gareus
cfafb01b32 GUI support for plugin provided midnam 2016-10-29 19:57:43 +02:00
Robin Gareus
01747f54d8 Prevent duplicate moves when selecting regions on shared playlists
selecting regions on multiple tracks which share playlists and
dragging them has various odd side-effects. This prevents the worst
of such edge-cases.

A cleaner solution would be to not allow selecting the same region
on multiple tracks at the same time in the first place.

Comments are welcome.
2016-10-27 03:33:51 +02:00
nick_m
24846f478b clean up ghost note wrt create drag.
- hide ghost note when add dragging.

	- new note length snaps as per ghost note start (shifted snap).

	- prevent ghost note from appearing before region start.
2016-10-26 04:52:09 +11:00
Paul Davis
7df9917a11 minor code-tidying tweak - continue if port handle is null, rather than nest inside conditional 2016-10-21 16:31:16 -04:00
Ben Loftis
259f049adc Track Insert/Remove Time dialog:
Disambiguate "glued" -> glued-to-musical-time (MIDI) regions.
 *Users didn't know that this is necessary to operate on MIDI regions.
2016-10-20 16:18:19 -05:00
Ben Loftis
9e5811d13e Track Insert/Remove dialog improvements:
By default, enable glued regions and markers.
 If you are removing time, you probably want MIDI regions to move.
2016-10-20 16:02:18 -05:00
Ben Loftis
9a9a9f9eac Track Add/Remove Time dialog improvements:
Add a clock to show the position of the edit, to remove ambiguity
 If a Range is selected, pre-fill the position and length clocks
 Clock format should default to the editor's secondary clock mode
2016-10-20 16:02:18 -05:00