13
0
Commit Graph

610 Commits

Author SHA1 Message Date
c91c028c37 do not add items twice to their canvas parent! 2017-01-19 00:24:54 +01:00
88b3aa926a Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2017-01-16 15:21:47 +00:00
09a8ec534f canvas::grid: get padding and margin to work; remove some debug output 2017-01-15 21:40:42 +00:00
7c17327f56 get grid layout working 2017-01-15 12:13:03 +00:00
04e346a3d8 tweak Grid repositioning code to be a little more O(N) 2017-01-15 12:13:03 +00:00
99b86f0f05 basic (and probably wrong) Canvas::Grid child placement 2017-01-15 12:13:03 +00:00
0d1a083a5d include Canvas::Grid in build script 2017-01-15 12:13:03 +00:00
9ed87f6693 initial skeleton for a Grid canvas item 2017-01-15 12:13:03 +00:00
nick_m
3129370bc5 add ArdourCanvas::Flag::width() 2016-12-29 04:16:09 +11:00
004431426d Towards packing CairoWidgets on ArdourCanvas. 2016-12-19 13:36:42 +01:00
218d376154 vertically center text in time rulers 2016-12-19 13:27:22 +01:00
6bbb2c72f0 NO-OP: whitespace 2016-12-19 13:27:22 +01:00
nick_m
d118a60090 fix unused Outside filled framed curve for constant points outside the draw area. 2016-12-16 02:54:10 +11:00
nick_m
49c6d13386 revert c3ab67dd now that this misbehaviour is understood. 2016-12-16 02:52:39 +11:00
nick_m
d3ad6dc001 fix issue with disappearing tempo curve at constant tempi. 2016-12-16 02:50:07 +11:00
nick_m
9afe719827 amend incomplete change in previous commit. 2016-12-16 02:01:50 +11:00
nick_m
a99331a4e9 more work on patch change redisplay.
- fixes just-introduced undo crash.
2016-12-16 01:58:58 +11:00
nick_m
c3ab67ddb6 go back to always interpolating framed curve points. 2016-12-11 23:54:03 +11:00
f1f47664ff fix compilation with newer version of *mm and gcc-6.2 (RefPtr<> cast) 2016-11-30 16:00:05 +01:00
24c799cde3 prefer bool operator 2016-11-30 12:15:35 +01:00
5ed764178a Fix crash with empty patch-names.
An empty text will not produce a bounding box.
2016-10-29 19:57:43 +02:00
nick_m
92920307ae Tempo curve cleanup, now also works on optimized builds. 2016-10-17 01:28:33 +11:00
1552547f65 stop using gkd_pango_context_get() in ArdourCanvas::Canvas and require concrete instances to supply a Pango::Context; do this for GtkCanvas and Push2Canvas 2016-10-13 17:18:54 -04:00
1fe19ead70 Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2016-09-30 08:20:14 +01:00
c8ae41d598 fix errors reported by pixman for meter redraws (and add more comments to help the coordinate challenged 2016-09-28 13:37:19 -05:00
81f2ed452b provide ArdourCanvas::Text::{width,height}() 2016-09-27 14:59:32 -05:00
df5bb70616 optimize canvas meter redrawing (as in the non-canvas version) 2016-09-27 14:59:32 -05:00
1c94f6490e bug fixes for vertically-drawn Canvas::Meter 2016-09-27 14:59:32 -05:00
fccd0da9c6 bug fixes for Canvas::Box 2016-09-27 14:59:32 -05:00
29b8072555 add canvas-based Meter object 2016-09-27 14:59:32 -05:00
85c1523611 add new Box container for Canvas.
API subject to change and improvement
2016-09-27 14:59:32 -05:00
ba82e673fd add variant of Rect::expand() that allows different amounts in each direction 2016-09-27 14:59:32 -05:00
5d43d2e43f don't do as much work if a Rectangle has no outline width or outline what values 2016-09-27 14:59:32 -05:00
f66f7ba136 make inclusion/exclusion of hidden children optional in Item::add_child_bounding_boxes 2016-09-27 14:59:32 -05:00
5672419fff add Item::add_front() 2016-09-27 14:59:32 -05:00
095bdb7d40 make Item::child_changed() virtual 2016-09-27 14:59:32 -05:00
0613f8e3bd put change_alpha() into ArdourCanvas namespace as intended 2016-09-27 14:59:31 -05:00
216ce7bcb8 a slew of unconnected mostly minor tweaks to get Push2 support back to where it was...
... prior to using the canvas for the video screen
2016-09-27 14:59:31 -05:00
d4a64299c5 Add missing header include guards in canvas library 2016-09-13 14:32:22 +10:00
0ff233d234 Update our MSVC project files to generate the most recent Ardour session file format (ver 5) rather than the older v3 format 2016-08-30 07:15:00 +01:00
eec294a97e the endless quest to plug memory leaks -- episode 378 2016-07-25 17:16:32 +02:00
062712c691 Remove 'i18n.h' from some VC projects where it's no longer needed 2016-07-18 09:41:46 +01:00
cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
205fbb99ad canvas HSV color serialization needs LocaleGuard 2016-07-14 11:46:02 -04:00
a66ad18402 initialize some uninitialized variables 2016-07-13 04:31:34 +02:00
17b162c5da add fill-area feature to poly-line 2016-07-05 00:39:39 +02:00
nick_m
360f87b217 Fix FramedCurve Outside fill for curve. 2016-06-04 07:03:18 +10:00
nick_m
1eb8216408 More FramedCurve render work
- draw last point correctly if applicable

	- comment intent.
2016-06-04 06:40:59 +10:00
nick_m
62be6b2ed8 Fix framed curve thinko.
- in FramedCurve, the first _point is used for the bounding box.
	  Don't confuse this with actual data.
2016-06-04 06:00:41 +10:00
nick_m
575bb7792f Small cleanup in FramedCurve. 2016-06-03 02:02:50 +10:00
nick_m
8f88f42ba9 Fix assorted drawing bugs in framed curve.
- treat drawing area of boxes and curves similarly.

	- handle a redraw request between
	  the last sample and the last point.
2016-06-03 00:00:31 +10:00
81a2fe39e8 port 7e716d27 to XFadeCurve 2016-06-01 17:48:33 +02:00
nick_m
7e716d27a8 Fix conditional on uninitialised idx (via n_samples) in framed curve.
- possibly fixes drawing artefacts in the tempo curve.
2016-06-02 01:11:23 +10:00
nick_m
0d7f73cb27 Hopefully finally fix tempo curve flickering. 2016-05-29 05:12:07 +10:00
4c4bb98052 Accommodate newly introduced source(s) in our MSVC project (cairocanvas) 2016-05-28 10:43:50 +01:00
nick_m
2d31fa7bb1 Tempo ramps - finally fix flicker in framed curve. 2016-05-27 23:38:17 +10:00
nick_m
2a8104f2f8 Yr,[p ramps - fix flickering tempo curves when zoomed in. 2016-05-27 23:38:17 +10:00
nick_m
0c7ecc6cbb Tempo ramps - add Canvas::FramedCurve and use it in the tempo marker bar. 2016-05-27 23:38:16 +10:00
nick_m
6209b3f445 Tempo ramps - revert earlier change to Canvas::Curve 2016-05-27 23:38:16 +10:00
nick_m
86b0268e8b Tempo ramps - add visualtempo curve, dragging bbt or music rulers with constraint modifier dilates previous tempo. 2016-05-27 23:38:16 +10:00
nick_m
4f7a4cd233 Crapola - this is an experimental performance hack that must be reverted. 2016-05-27 23:38:14 +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
742e113a7b backport canvas color functions from Mixbus 2016-05-17 18:17:51 +02:00
6d343ba3c6 fix LocaleGuard contstructor (3dc77280) 2016-05-07 12:19:41 +02:00
3dc7728038 we always only use the "C" locale when saving. 2016-05-05 21:49:56 +02:00
da26a55b31 canvas tooltips, too 2016-04-27 01:24:37 +02:00
40aa4cfe06 Modify our MSVC projects to build liblua as a DLL rather than a static lib 2016-04-04 16:40:20 +01:00
208dec7231 remove debug output 2016-03-01 18:37:19 +01:00
79d9973fa0 fix waveform flickering during recording 2016-03-01 18:06:29 +01:00
a27fed772b NO OP, whitespace 2016-03-01 14:43:44 +01:00
4384aff43f protect current_request with request_queue_lock 2016-03-01 14:43:28 +01:00
36d30f8c89 use glib mutex API 2016-03-01 12:53:54 +01:00
ba78359129 prepare for update to waf 1.8
uselib is no longer implicit (inherited by .use). This is still incomplete,
some uselibs for non-linux variants may be missing.

bld.is_defined("HAVE_XXX") also no longer works and will have to be
changed (I think to bld.env["HAVE_XXX"]) in countless places.
2016-02-28 21:16:44 +01:00
49148b627c force waveform images to be least 1px wide 2016-02-28 18:07:46 +01:00
4cd77f0544 try to narrow down #6478 2016-02-27 23:16:05 +01:00
d3634c5779 Accommodate 'lua' search paths in various projects where they're needed
(i.e. so that MSVC can find header files from lua).
2016-02-27 16:29:55 +00:00
Adrian Knoth
6fa88273aa Spelling correction patch from Debian
Patch taken (and forward-ported to HEAD) from
<https://anonscm.debian.org/cgit/pkg-multimedia/ardour.git/plain/debian/patches/0100-fix-typos.patch>
2016-02-22 15:13:01 -05:00
2d18283379 make threaded waveview rendering a configure time option (enabled by default) 2016-02-21 12:34:10 -05:00
b0518fa2be Revert "disable threaded waveform rendering for 4.7"
This reverts commit b0032adb44.
2016-02-19 21:13:29 +01:00
b0032adb44 disable threaded waveform rendering for 4.7 2016-02-18 18:56:05 -05:00
d61cf81997 The return of threaded waveform rendering and related crashes. 2016-01-16 14:18:59 +01:00
2992506652 disable threaded waveview rendering.
This will be re-enabled once 4.5 has been released
2015-12-16 10:28:17 -05:00
5f4f89fb39 Move PBD symbol demangle functions into pbd/demangle.h/cc
Add pbd/demangle.cc source file and move functions from pbd/stacktrace.cc into
it
2015-12-01 14:22:38 +10:00
73d1de3b75 NOOP, remove trailing whitespace, replace tabs in python scripts 2015-11-29 17:54:31 +01:00
160b24b137 fix crash when cleaning up canvas items
Backport from Mixbus. In Ardour this does not currently matter
since there is no top-level canvas destroyed top-down.

...
Editor::session_going_away
MixerStrip::~MixerStrip
MixbusStripCanvas::~MixbusStripCanvas
ArdourCanvas::GtkCanvas::~GtkCanvas
ArdourCanvas::Canvas::~Canvas
ArdourCanvas::Root::~Root
ArdourCanvas::Container::~Container
ArdourCanvas::Item::~Item
ArdourCanvas::Item::clear_items
GtkCanvas::item_going_away()
queue_draw_item_area()

..expose can take place async to garbage collection: crash in one of the
items.
2015-11-02 05:15:55 +01:00
5bdc869e49 remove invalid assertion - #6634
There is a highly unlikely case where the render thread can have zero
requests in the queue, but it is not supposed to be terminated.

 1) WaveView::queue_get_image(); 
wake up thread, *but* the thread does not start yet
 2) WaveView::cancel_my_render_request(); 
and now the thread starts.

1,2 are initiated by user actions from the GUI thread and are normally
orders of magnitude slower than scheduler-thread wakeup.
2015-10-22 12:20:42 +02:00
1c0265e27c Include button number in canvas button press/release debug info 2015-10-06 13:29:57 +10: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
8a4bf386a4 amend previous commit. 2015-09-14 21:25:57 +02:00
9a533c925b fix short x-fade rendering 2015-09-14 21:18:56 +02:00
ec06f2c49f spelling error fixes (notably "overriden" => "overidden") from IOhannes m zmölnig 2015-09-11 09:23:43 -04:00
57321bef35 consistent pango-text layout size - fixes #6490
Use gdk_pango_layout() for all text-size calculations.
In Canvas::Text always use the same context (local image surface)
for layouting (prior to this, local and window-context mix resulted in 
different sizes).
2015-09-06 16:39:08 +02:00
2f69ee8ec8 a couple of debug output statements to help diagnose a crash, part 2 2015-09-02 12:58:07 -04:00
e91a0f7e11 a couple of debug output statements to help diagnose a crash 2015-09-02 12:24:37 -04:00
93aa8d3734 waveform, mutex for _current_image
may be used in render-thread while invalidate_image_cache() is called.
possible fix for #6478
2015-09-02 14:28:26 +02:00
c6d6f038b4 handle waveform drawing thread shutdown 2015-09-02 01:46:31 +02:00
e69368cc8f clear out some SessionHandleRef's on close. 2015-08-20 22:27:35 +02:00
63e3f326e9 clear waveform cache when shape changes - fixes #6525 2015-08-20 03:01:51 +02:00
ca0c9b3636 Replace "%z" modifier with glib macro for portability. 2015-07-30 17:00:03 +02:00