John Emmas
83d0b6cd7a
Add newly introduced sources to MSVC project
...
(scroll_group stuff)
2014-08-17 13:46:21 -04:00
Paul Davis
fdbb93ea3c
merge onecanvas and cairocanvas branches, and manually resolve conflicts, including rounding in item_to_window() methods
2014-08-17 13:44:57 -04:00
Paul Davis
e8e3460665
more profound changes to canvas scrolling, in particular find appropriate ScrollGroup for Canvas::{window,canvas}_to_{canvas,window}()
...
Conflicts:
gtk2_ardour/editor_mouse.cc
2014-08-17 13:43:52 -04:00
Paul Davis
0bfbb030fa
fix missing leftover Canvas::pick_current_item() which was confusing button release event coordinates
2014-08-17 13:39:19 -04:00
Paul Davis
f60e579653
use window-based coordinates when picking current item so that we get per-item (per-scroll-group,really) computation of position and coverage.
2014-08-17 13:39:15 -04:00
Paul Davis
bed0c78432
various changes to get independent scrolling to work better in canvas. mostly tweaks relating to how scroll offsets are used during rendering.
...
Event handling offsets still require work.
2014-08-17 13:39:10 -04:00
Paul Davis
7bbd63dc39
clean up ArdourCanvas::Arrow implementation to remove unshown polygon/head
2014-08-17 13:39:02 -04:00
Paul Davis
d408fffe4e
rationalize and centralize computation of positional offset and scroll offset for canvas items
2014-08-17 13:38:45 -04:00
Paul Davis
2b361eecec
inline ScrollGroup::canvas_position() for no particular reason
2014-08-17 13:38:35 -04:00
Paul Davis
11e789df5b
avoid recursing through the entire canvas when scrolling - only scroll explicitly identified ScrollGroups
2014-08-17 13:37:45 -04:00
Paul Davis
cb9453b475
different approach to independent scrolling, involving ArdourCanvas::ScrollGroup
...
The idea now is that a scroll group item can be added to the canvas which will causes its children to scroll in either or both
directions (horizontal or vertical). There are few complications: the position() of the ScrollGroup is ambiguous depending
on whether you want it with scroll taken into account or not, so Item::canvas_position() was added, which defaults to
the same value as Item::position() but is overridden by ScrollGroup to return the position independent of scrolling. This
method is used when translating between item/canvas/window coordinate systems.
Note that the basic idea is that we MOVE the scroll group when a scroll happens. This mirrors what happens in the GnomeCanvas,
where Nick Mainsbridge came up with a great idea that allowed unification of the time bar and track canvases.
2014-08-17 13:37:27 -04:00
Paul Davis
87fa554ac9
initial redesign of canvas scrolling to facilitate independent x- and y-axis scrolling of specific groups within the canvas.
...
This commit should cause no change in behaviour, but contains all the code and changes necessary
for the next step
2014-08-17 13:37:16 -04:00
Paul Davis
6d3b9fe7e6
overwrite state of libs/canvas with code from corresponding period in ardour-cairocanvas
...
This makes continued merges with ardour codebase easier, at the
small cost of removing the XML-based constructors. They were not
in use anyway and their use doesn't really fit into the
conception of the canvas as a dynamic UI element. Could reintroduce
them at a later date.
2014-08-17 13:29:01 -04:00
Robin Gareus
bafc5b816c
test possible 'flickering' with nvidia
2014-08-16 17:59:45 -04:00
Robin Gareus
31c49330f0
don't allow waveform to bleed into TimeAxisViewItem frame border
2014-08-16 17:59:10 -04:00
John Emmas
8dd1ed2b7a
Add newly introduced sources to MSVC project
...
(xfade_curve stuff)
Conflicts:
libs/canvas/MSVCcanvas/cairocanvas.vcproj
2014-08-16 17:58:17 -04:00
John Emmas
c7dc741bed
Rearrange some #includes to keep MSVC happy
2014-08-16 17:58:01 -04:00
Robin Gareus
81068a7932
smooth visual curve drawing
2014-08-16 17:57:42 -04:00
Robin Gareus
08666b2cfd
smoothen rendering of x-fades
2014-08-16 17:56:05 -04:00
Robin Gareus
f91194f60f
fix prev commit
2014-08-16 17:55:54 -04:00
Robin Gareus
93fea9021e
renice x-fade rendering w/cairo-antialiasing
2014-08-16 17:55:47 -04:00
Robin Gareus
ec99a4f5c2
Canvas: new x-fade drawing, two curve widget
...
Conflicts:
libs/canvas/wscript
2014-08-16 17:23:25 -04:00
Robin Gareus
9ec7b79ac9
Revert "cairo sub-surface prototype & example
...
This reverts commit c57fcde78c .
and also commit f1f8f89fcb .
2014-08-16 17:21:08 -04:00
Robin Gareus
17e94e02e8
exercise subsurface rendering for x-fade curves
2014-08-16 17:20:57 -04:00
Robin Gareus
da7cdb9b26
cairo sub-surface prototype - intermediate flattened group renderer.
2014-08-16 17:20:51 -04:00
Robin Gareus
87974bf89c
Curve: anti-aliasing.
...
use cairo for anti-aliasing, and ignore explicit Catmull-Rom
points for that fall on the same x-cordinate.
2014-08-16 17:20:27 -04:00
Robin Gareus
3d9b03017c
implement Curve in/outside fill
2014-08-16 17:20:09 -04:00
Robin Gareus
264947595a
directly apply waveform clip-level changes
2014-08-16 17:19:17 -04:00
Robin Gareus
b53cb263e5
"We brake for nobody." oh wait. - fixes Rectified Waveform view.
2014-08-16 17:16:41 -04:00
Robin Gareus
eaa4b4bdd7
fix prev commit, window-offset for x-fade drawing
2014-08-16 17:16:23 -04:00
Robin Gareus
4242022ee9
fix x-fade drawing
...
Catmull-Rom curve samples are not equally spaced on the x-axis.
Furthermore, Curve::map_value() is not needed, cairo line_to
already interpolates.
2014-08-16 17:16:18 -04:00
Paul Davis
7e31e1399f
first pass at tightening up waveform drawing algorithm to generally round down when dealing with fractional pixels
2014-08-16 16:35:21 -04:00
Paul Davis
1c84289254
remove redundant os.path.join() calls when specifying install path as bld.env['LIBDIR']
2014-08-16 16:10:30 -04:00
Paul Davis
937c0764be
finish unfinished work at basing all install paths on the program name
...
Conflicts:
libs/backends/jack/wscript
libs/backends/wavesaudio/wscript
libs/canvas/wscript
wscript
2014-08-16 16:10:15 -04:00
VKamyshniy
5c39b2e283
[Summary] Fixing the (C) info
2014-07-18 21:57:41 +03:00
GZharun
8c69a972b2
[Summary] Made Tracks buildable on MAC OS X 10.9 Maverricks.
...
[Details] Important: On Mavericks Tracks could be successfully built with static library linkage so far.
Use --internal-static-libs flag configuring the build.
[Reviewed by] Partially reviewed by Paul Davis. Some Improvements may be promoted in future.
2014-07-15 15:14:08 +03:00
VKamyshniy
3833e3b627
Merge branch 'master' of git.waves.com:waves/tracks
2014-07-04 18:04:39 +03:00
grygoriiz
6d1ab63d85
Added micro version number support for Tracks versioning
2014-06-17 16:16:02 +03:00
Valeriy Kamyshniy
a1709c74c6
Adding XML scripting to ArdourCanvas
...
[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 452743]
2014-04-14 12:37:20 -05:00
Valeriy Kamyshniy
accfc900be
cleanup
...
[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 446439]
2014-03-26 10:20:59 -05:00
Grygorii Zharun
f300eaba93
[Summary] Fixed MAC build
...
[Details] Added fixes to make the code cross platform compilable
[Reviewed by] N/A
[git-p4: depot-paths = "//Abdaw/dev_main/tracks/": change = 446294]
2014-03-26 06:31:34 -05:00
Valeriy Kamyshniy
101f356e40
[P4/git history rebuild] change line widths. THIS COMMIT IS WRONG. It is included here to ensure maximal fidelity the initial p4 condition
2014-05-27 22:55:02 -04:00
Valeriy Kamyshniy
33f06cc498
[P4/git history rebuild] odd commit probably caused by a missing Ardour commit. Probably needs reverting in a future global merge
2014-05-27 22:54:22 -04:00
Paul Davis
9df3157dfc
big rework of scrolling, horizontal part considered almost 100% done.
...
Many more changes than I would typically like in a single commit, but this was all very intertwined.
Vertical scrolling using track-stepping still to follow.
2014-03-20 13:29:45 -04:00
Paul Davis
c2946ee00f
don't queue redraws when various canvas item properties are "reset" to the same value, plus supporting functions
2014-03-11 07:36:09 -04:00
Paul Davis
032f394b2a
tiny red dots, be gone (expand poly_item bounding box by correct (?) amount)
2014-03-10 11:10:38 -04:00
Paul Davis
ec0be1310f
missing iterator advance
2014-03-10 11:10:38 -04:00
Paul Davis
52c8b6d66a
stupid hack to fix rectangle damage noise
2014-03-09 11:39:57 -04:00
Paul Davis
6d3bd4e53c
use fill transparency detection to avoid rendering transparent (invisible) rectangle fill area
2014-03-07 12:29:26 -05:00
Paul Davis
12ef19d90a
if a Fill object is given a zero-alpha (transparent) color, note that
2014-03-07 12:28:52 -05:00