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
bbece8f8d9
try using threaded waveviews in tracks also
2015-06-29 14:18:15 -04:00
a38e67d55b
never use threaded waveview rendering for Tracks
2015-06-29 14:18:15 -04:00
329753241f
clip level is adjusted only by region amplitude (which is audible), not by _amplitude_above_axis
2015-06-29 14:18:15 -04:00
bace0e85dc
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-29 14:18:15 -04:00
7fae6bcd87
copy all XCode project files from Tracks.
...
Rationale: the Waves team maintains the XCode project files, the Ardour crew doesn't. Thus, the Waves'
version is more canonical
2015-06-29 14:18:10 -04:00
14ffde884f
conditionalize background fades depending on whether this is a tracks or other build
2015-06-29 14:18:10 -04:00
26b0201c69
tweak for static library build
2015-06-29 14:18:10 -04:00
5aa834e1d8
fix windows debug builds:
...
undefined reference to `std::basic_ostream >& boost::operator<< , ArdourCanvas::Rect>(std::basic_ostream >&, boost::optional const&)'
2015-06-25 14:33:45 +02:00
fe672c827c
show zero line when a DC offset moves waveform so that it doesn't intersect with the zero line (from Nimal Ratnayake <nimalr@pdn.ac.lk>)
2015-06-24 14:12:13 -04:00
2b81d4d0fe
do not draw waveform outline at x-positions where the waveform "spread" would not leave at least 1 pixel between the two outline pixels.
...
Plus a better comment.
2015-06-23 17:12:52 -04:00
e9224a58d1
several changes, major and minor, to improve threaded waveview rendering
2015-06-23 14:26:26 -04:00
dece3c20ca
create sortable, linear list for cache clearing on demand, rather than trying to maintain it in parallel with the cache map
2015-06-23 08:42:55 -04:00
424f6539b4
change location for initialization of static WaveView image cache, and provide a visible method to set the cache flush threshold
2015-06-23 08:17:48 -04:00
239052759f
stop endless loop in WaveViewCache::cache_flush()
...
Still need to figure out how this could ever happen. It requires an image (shared pointer) to
be in the linear cache image list but not in the map
2015-06-22 22:00:45 -04:00
10203b5517
two more corrections to waveform zooming changes
2015-06-19 08:32:05 -04:00
3cf8cb3c3e
fix call to consolidate image cache to use the information held in the request
2015-06-19 08:29:05 -04:00
8491a015e3
stop pixel jitter when changing waveview height.
...
To avoid pixel jitter, the top and bottom of each line in the waveview must be computed together in a single computation,
rather than independently.
Also, remove various height corrections and cairo translations that are not necessary or relevant anymore. A subsequent
commit for the GUI will pick up on this work to get the appearance completely correct
2015-06-19 08:14:02 -04:00
1043357cc9
attempt to correctly respond to changes in _amplitude_above_axis in ArdourCanvas::WaveView
2015-06-19 08:10:45 -04:00
2ec9151170
fix compiler const-cast warning
2015-06-19 08:10:35 -04:00
a1932c7feb
Correctly re-start an iteration (if we delete one of the items being iterated)
2015-06-19 12:55:38 +01:00
d65f03d074
fixes for canvas text display on Retina (from Valeriy)
2015-06-16 07:52:00 -04:00
b86a8edcff
NOOP, reindent code.
2015-06-13 22:05:29 +02:00
c8e16998bf
fix crash on OSX displaying MIDI sysex, or similar text.
2015-06-13 22:04:31 +02:00
cc543280d9
We were 2 more debug "bits" away from overflow, so recast PBD::DEBUG mechanism away from a 64bit integer and toward std::bitset.
...
Clean up a few minor related PBD::DEBUG issues along the way
2015-06-12 18:14:09 -04:00
10643779b6
more refactoring of WaveView threaded code to try to get to heart of crash bug
2015-06-11 17:04:08 -04:00
077e625734
don't queue a callback with the idle event for waveview image generation if one is already queued.
...
Also, hold relevant lock when waking image rendering thread.
2015-06-11 13:35:01 -04:00
753d1ac392
possible fix for crashes related to vanishing waveviews (and if it doesn't fix anything, it is still more correct than it was)
2015-06-10 22:26:58 -04:00
ac2b0a327c
fix basic error with computation of partial image width; add use of DEBUG_TRACE (DEBUG::WaveView,...)
2015-06-10 18:48:12 -04:00
1c6c9e95ba
add PBD::DEBUG::WaveView
2015-06-10 18:48:12 -04:00
801af5df9e
Add the new (UINTSDEFINED) preprocessor directive to all out MSVC projects (just to be on the safe side)
2015-06-09 13:18:42 +01:00
bc945bb3d3
use existing partial existing waveview images (if they exist) while waiting for the full ones
2015-06-04 17:46:53 -04:00
25797d8618
don't use the return value from AudioRegion::read_peaks() because it is either zero or n_peaks
2015-06-02 12:17:50 -04:00
9706125526
Amend WaveView::send_request() such that it'll compile with MSVC
...
Hopefully, this was the original intention (I've simply amended a function call to match similar usages elsewhere in the code).
2015-06-02 11:17:31 +01:00
95c991ba35
reinstate absent image.
...
Then go back to bed and be ill some more.
2015-06-01 21:08:56 -04:00
0288454387
remove debug output and get logic correct to cause first render to always use the render thread
2015-06-01 14:55:17 -04:00
d17e35772d
drop in threaded waveview changes via the two affected files.
...
Rebasing the feature branch against master was too messy, and only these two files were
changed. The development history of this branch could easily have been --squash'ed anyway,
so not much of a loss
2015-06-01 14:45:41 -04:00
d7a9c11315
fix x-fade display access beyond array boundaries
2015-05-19 19:28:22 +02:00
198c4d1d88
gfx-card & performance testing
2015-05-02 04:54:59 +02:00
89f5e22896
fix double precision abs value computation
2015-04-29 19:56:35 +02:00
84aab564b4
enable fade-out display by default in A4.
...
..because fade outs are implicit in A4.
Eventually the GUI needs to set_show_background_fade() as needed.
2015-04-29 19:55:53 +02:00
c36504f2ec
NOOP: fix indentation
2015-04-29 09:05:15 -04:00
GZharun
1a84fa3c42
[Summary] Should have been committed with previous: made background fade optional and not shown by default
2015-04-29 08:59:24 -04:00
80ae2bbe23
fix issue with manual merge conflict
2015-04-29 08:23:13 -04:00
2828dcaaf9
make computation of OS X pango text width correction less intrusive/more efficient.
...
Compute the correction only once after each font specification setting.
Conflicts:
libs/canvas/canvas/text.h
2015-04-29 08:20:31 -04:00
a83050a255
manually apply grygorii's API to manage a correction for pango errors in text size computation on OS X
2015-04-29 08:19:22 -04:00
5ab699f898
manually apply grygorii's waveform amplitude implementation
2015-04-29 07:54:21 -04:00
GZharun
96371c8327
[Summary] Fixed issue when width request from Cavas text returned old width value
...
[Reviewed by] Paul Davis
Conflicts:
libs/canvas/canvas/text.h
2015-04-29 07:27:34 -04:00
84cb8913b0
change placement of ruler divider so that the lower line is at the specified height, rather than the upper
2015-04-29 07:26:29 -04:00
697d8a2732
do the right thing when TrackingText::offset is changed
2015-04-29 07:26:18 -04:00
d9cb8a807e
Fix method hiding in Canvas::Text
2015-04-29 07:25:58 -04:00
2673ef4af4
change ruler rendering to change tick heights and move text down
2015-04-29 07:23:36 -04:00
065c6d813e
add missing API
2015-04-29 07:22:48 -04:00
4cf402bdcf
add API to Ruler to optionally draw a divider (2 single pixel horizontal lines) at some position within the vertical extent of the ruler
2015-04-29 07:22:36 -04:00
38728f0835
correct implementation for Rectangle::vertical_fraction()
2015-04-29 07:22:21 -04:00
59ce8663f9
add Rectangle::vertical_fraction() as a convenience method
...
Conflicts:
libs/canvas/rectangle.cc
2015-04-29 07:22:05 -04:00
nick_m
dff83c77cf
Amend ac1f7e0b
2015-04-17 05:36:13 +10:00
nick_m
ac1f7e0b9f
Indicate all clips on rectified view.
2015-04-17 05:26:57 +10:00
nick_m
7f41de7427
Improve waveview height and scaling.
...
The top line of the selection rect is arguably 1 px too low, but
waveviews seem centered on the area properly.
2015-04-17 05:03:51 +10:00
b3fb73812c
Position (and size) canvas tooltips such that they better resemble Gtk tooltips
...
Mixbus in particular uses both types of tooltip so we might as well make them look the same.
N.B. The appearance is fine now on Windows but needs to be tested on the other platforms (i.e. some tweaking might be necessary).
2015-04-09 15:46:12 +01:00