13
0
Commit Graph

160 Commits

Author SHA1 Message Date
nick_m
5c2ccc4f3e Allow negative return in TempoMap::beat_at_frame() and its exact_ variant.
- audio-locked midi regions can be start-trimmed properly
	  when close to 1|1|0
	- a midi region placed before the first meter
	  will continue the tempo curve and first meter.

Only a couple of callers require change, as bbt_at_beat() already
deals with this.
2016-08-14 03:04:53 +10:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
nick_m
34c9ac9dd7 Tempo ramps - rename bbt_time() -> bbt_at_frame(), frame_time() -> frame_at_bbt() 2016-05-27 23:38:17 +10:00
nick_m
72812d2cd0 Tempo ramps - rulers don't request negative bbt.
- i'm reluctant to fix this at the map level.
2016-05-27 23:38:14 +10:00
nick_m
58f01bb3f7 Tempo rambo - more bbt scale fiddling. 2016-05-27 23:38:12 +10:00
nick_m
a84527cd17 Tempo ramps - bbt ruler scale tweaks. 2016-05-27 23:38:12 +10:00
nick_m
1be5a42737 Tempo ramps - small tweak to ruler scale. 2016-05-27 23:38:12 +10:00
nick_m
e2c97ab9b8 Tempo ramps- bbt ruler scale accounts for non-beat ranges for consistent results. 2016-05-27 23:38:12 +10:00
nick_m
b415b59f79 Tempo ramps - respect tempo note type and meter note divisor correctly.
- tempo and meter position is now pulse-based,
	  although meter still has a beat for convenience.
2016-05-27 23:38:11 +10:00
nick_m
a0558694df Tempo ramps - audio-locked meters have a bbt of 1|1|0
- possibly lots going wrong with this due to multiple occurences
	  of 1|1|0.
2016-05-27 23:38:11 +10:00
nick_m
7fc3b0c34c Initial stab at tempo ramps.
Replaces the list of points in TempoMap with TempoSection functions, which
compute tempo-at or tick-at time relative to tempo section start.
TempoMap consults them additively to determine things like bbt_time(),
frame_time() get_grid() etc.
This has a marked effect on scrolling speed along with the code simplification
in the places it has been attempted.

Several things are broken here.
Currently every ramp except the last one is an exponential ramp. this may
be simple to fix :).
Mouse-over midi grid doesn't match mouse click grid. should also be simple.

Many things seem to work, but their accuracy should be in question until
each area has been addressed.
2016-05-27 23:38:09 +10:00
17ace643e4 OMNIBUS COMMIT: prefer const XMLNode::property method (and provide a real one) 2016-05-04 23:09:45 -04:00
56770ff0af change GTKOSX macro constant to use __APPLE__ instead 2016-02-22 15:31:25 -05:00
6991a07902 remove all trace of SAE from source code.
This had become incoherent over time, and posed a development hazard and burden going forward
2016-02-22 15:31:24 -05:00
André Nusser
d0cdf9660a Remove two useless separator elements from editor ruler popups. 2015-12-09 21:52:00 +01:00
22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
4dc63966f0 globally remove all trailing whitespace from ardour code base.
Paul Davis was responsible for introducing almost all of this.
2015-10-04 14:51:05 -04:00
6b019a4953 Move UIConfiguration Singleton into UIConfiguration header
This removes the direct dependence on ardour_ui.h from 39 files
2015-09-16 16:55:17 -04:00
ahellquist
80d8e86f1c Update editor_rulers.cc
Change ruler context actions from "Make Loop range" to "New Loop range"
change ruler context actions from "Make Punch range" to "New Loop range"

This to make it consistent with other ruler context actions eg. "New....."
2015-04-21 17:38:27 +02:00
91fac4c96d merge fix for tempo branch 2015-04-21 08:35:20 -05:00
ffd32ae5e1 Right-clicking on the Loop/Punch ruler should "Do Something". 2015-03-13 16:25:59 -05:00
8445e8c283 add video-monitor to timeline context-menu 2015-03-11 21:19:19 +01:00
1973243a98 Separate out creation of xrun markers from Editor::mouse_add_new_marker()
Remove the is_xrun parameter from Editor::mouse_add_new_marker(), and just
create the marker directly in ARDOUR_UI::create_xrun_marker(), so that xrun
markers don't become automatically selected when they appear.
2015-02-12 18:06:16 +00:00
fa72223268 restore ardour-style ruler labels for timecode ruler.
Also reduce font size used to a cross-platform single definition.
2014-12-21 11:55:08 -05:00
9278ae23c4 tweaks to minsec and timecode ruler display, especially at very high zoom.
Imported from work on Tracks done in Tel Aviv, November 2014
2014-12-11 12:51:01 -05:00
dcf632d99f assign minsec_ruler_scale and minsec_mark_modulo when zoomed very far out
Avoids crash when computing % minsec_mark_modulo.
2014-11-23 14:36:38 +02:00
ba4d1cd1c1 remove "canvasvar_" from all functions related to obtaining values from ARDOUR_UI::config() 2014-10-21 22:58:58 -04:00
bb69a55784 try to get font size for rulers right or at least better on OS X 2014-07-15 17:48:30 -04:00
a3c378cf62 move utility functions into a dedicated namespace 2014-06-25 21:47:54 +02:00
bbd4f83604 do not include ruler visibility items in context click menu on timebars 2014-06-25 15:32:42 -04:00
298085eec2 use new ruler dialog class for context clicks on ruler labels area 2014-06-25 15:23:25 -04:00
6a5d805b38 more canvas refactoring.
Remove Canvas::Layout, use Canvas::Container for the same purpose, move child-rendering into Item::render_children() so that it
could theoretically be used by any derived type.
2014-06-22 11:41:05 -04:00
0796ccfb65 use newly factored canvas in gtk2_ardour 2014-06-21 11:44:22 -04:00
7d678604fa add all the fonts, and use the right name for the rulers as a result 2014-06-13 12:51:46 -04:00
fec46824bd use canvas ruler font specification rather than get_font_for_style() 2014-06-13 12:22:39 -04:00
6958409187 remove no-longer-used code 2014-06-12 16:18:38 -04:00
ea355bfe15 add canvas rulers event dispatch and reinstate scrolling behaviour 2014-06-12 15:58:05 -04:00
887e75260d use new ArdourCanvas::Ruler constructor 2014-06-12 10:35:32 -04:00
4b07d01532 remove header file includes of now-removed gtk custom ruler 2014-06-12 00:18:15 -04:00
b73352880e use canvas rulers now instead of gtk widgets
Some bugs that exist in master are still present.
2014-06-11 23:54:28 -04:00
da7a860256 remove useless groups from timebar area, clarify scroll group naming in editor 2014-06-03 16:11:24 -04:00
Devin J. Pohly
e7b3020294 fix rounding error in the min:sec ruler
When zoomed in to the millisecond level, the framerate was being divided
by 1000 as an integer to generate a ruler tick interval, which doesn't
work so well at things like 44100 or 88200.  Instead, just count this
value in milliseconds, dividing by 1000 when we are done.

This was purely a display issue - the grid was in the correct place.
2014-05-14 09:08:43 -04:00
Devin J. Pohly
db48bee3c7 fix major/minor ticks on min:sec ruler
All ticks from 0:00.000 to 0:00.999... were major, and everything after
was minor, instead of the correct distribution.
2014-05-14 09:08:14 -04:00
c04285addf convert canvas_event_frame() and window_event_frame() to canvas_event_sample() and window_event_sample() to go along with the convention adopted in cairocanvas code re: frames+samples 2014-02-26 08:43:53 -05:00
78801e12a6 indent/align 2014-02-25 12:02:51 -05:00
3020b224fa Merge windows+cc branch into cairocanvas branch. Not finished, need to now merge windows branch to get changes from there 2014-01-10 16:07:57 -05:00
4f465d37b3 fix dragging playhead using time rulers 2014-01-04 16:28:00 +01:00
19bb2b33a8 Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved):
	gtk2_ardour/marker.cc
	gtk2_ardour/midi_region_view.h
	gtk2_ardour/region_gain_line.h
	gtk2_ardour/utils.cc
	gtk2_ardour/video_image_frame.cc
	gtk2_ardour/wscript
	libs/backends/jack/wscript
2013-09-21 09:17:25 +01:00
22e15422e8 Fix ambiguous type CheckMenuItem that is also defined via windows.h 2013-07-17 16:48:40 +10:00
ddd21c110c fix various event coordinate system problems with button events on the rulers 2013-04-18 15:14:48 -04:00