Commit Graph

46 Commits

Author SHA1 Message Date
Paul Davis b35518e212 switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr
This is mostly a simple lexical search+replace but the absence of operator< for
std::weak_ptr<T> leads to some complications, particularly with Evoral::Sequence
and ExportPortChannel.
2023-03-24 14:19:15 -06:00
Robin Gareus 4e77bbdd96
dd import_markers option (2/4) 2022-11-22 01:45:42 +01:00
Robin Gareus 0b5e502546
Video import/export overhaul and ffmpeg-5.0 compat
* Update commandline parameters for ffmpeg 5.0
* Simplify video-export, allow only standard settings
* Check ffmpeg exit code and parse errors
* Fix SessionhandleRef on audio-import (clear import status)
* Cleanup and reformat sourcecode
2022-04-01 01:35:08 +02:00
Paul Davis 4b26ce3f5f remove assert(video_timeline)
The idle visual changer can run after the video timeline has been deleted, and this
is not an error.
2021-12-15 16:09:28 -07:00
Paul Davis 2a08e4bdaa continued work on timeline types conversion. in theory, just editor_ops.cc remains 2021-08-13 12:51:29 -06:00
Paul Davis 7433bc27e0 intermediate, unfinished snapshot of ongoing timeline types work on GTK GUI 2021-08-13 12:51:29 -06:00
Robin Gareus 2b066293fb
Set playlist ID when importing to new tracks
This amends 730a0954 and b27bb586.
This also restores the original API for do_import()
and do_embed() as used by Lua scripts.

Note that this uses distinct IDs when importing both audio
and MIDI in the same DnD request.
2021-07-08 05:28:10 +02:00
Robin Gareus f60e459ba9
Don't auto-save when importing audio from video 2020-08-31 02:35:37 +02:00
Robin Gareus a4a96f7556
Prevent rare crash at exit in optimized builds
update_video_timeline() is called after destroying the
video_timeline instance at exit.

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  __GI_abort () at abort.c:79
#2  __assert_fail_base at assert.c:92
#3  __GI___assert_fail at assert.c:101
#4  Editor::update_video_timeline(bool) (this=0x55a10a25a060, flush=false) at ../gtk2_ardour/editor_videotimeline.cc:57
#5  Editor::visual_changer(Editor::VisualChange const&) (this=0x55a10a25a060, vc=...) at ../gtk2_ardour/editor.cc:4746
#6  Editor::idle_visual_changer() (this=0x55a10a25a060) at ../gtk2_ardour/editor.cc:4687
#7  Editor::_idle_visual_changer(void*) (arg=0x55a10a25a060) at ../gtk2_ardour/editor.cc:4645
#8  g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#9   () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#10 g_main_loop_run () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#11 gtk_main () at /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#12 Gtkmm2ext::UI::run(Receiver&) (this=0x55a105ababe0, old_receiver=...) at ../libs/gtkmm2ext/gtk_ui.cc:293
#13 main(int, char**) (argc=1, argv=0x7fffcd806dc8) at ../gtk2_ardour/main.cc:437
2020-05-22 01:39:43 +02:00
Robin Gareus 4050ca5633
Update GPL boilerplate and (C)
Copyright-holder and year information is extracted from git log.

git history begins in 2005. So (C) from 1998..2005 is lost. Also some
(C) assignment of commits where the committer didn't use --author.
2019-08-03 15:53:15 +02:00
Paul Davis 30b087ab3d globally change all use of "frame" to refer to audio into "sample".
Generated by tools/f2s. Some hand-editing will be required in a few places to fix up comments related to timecode
and video in order to keep the legible
2017-09-18 12:39:17 -04:00
Robin Gareus d9767b10ac Fix another crash at exit.
During ARDOUR_UI::finish(), after destroying various instances:
close_all_dialogs() -> ArdourDialog::on_response() -> GUIIdle()

The event loop recurses and may execute a previously scheduled
Editor::idle_visual_changer()
2017-07-03 14:03:10 +02:00
Paul Davis cf52d6e4b4 enough with umpteen "i18n.h" files. Consolidate on pbd/i18n.h 2016-07-14 14:45:23 -04:00
Robin Gareus 2397429e99 use quotes for in-tree pbd/glib wrapper include 2015-10-05 22:15:18 +02:00
Robin Gareus f27800ea41 use pbd's gstdio compatibility wrapper (GUI) 2015-09-17 14:38:09 +02:00
Robin Gareus c90400364a prepare saving video-export settings.
* migrate dialog from Editor to UI.
* make it a WM proxied window
* prepare applying state after construction..
2015-02-28 02:36:58 +01:00
Paul Davis 232cb73983 remove final reference to jack headers 2014-04-10 10:17:36 -04:00
Paul Davis 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
Paul Davis 84f55440a3 fix redrawing of canvas with an optimized build
Best guess right now is that optimization does something bad when ceil() is called twice on a very large dbl-precision number,
which results in a zero (empty) redraw area. Without the removal of the redundant ceil & floor functions, no expose events
would be delivered to the canvas in an optimized build during drags (and maybe more).
2013-12-23 15:35:49 -05:00
Robin Gareus dc7878760d vtl: do not lock audio [to video] when extracting audio-only. 2013-12-23 10:28:32 +01:00
Paul Davis e5888d3983 merge with master and fix 2 conflicts 2013-10-16 22:06:56 -04:00
John Emmas e466ce40ad Merge branch 'master' into windows+cc
Conflicts (hopefully resolved):
	gtk2_ardour/ardour_ui.cc
2013-10-14 19:31:22 +01:00
Robin Gareus c2b2953f8c export video-range: add to context menu 2013-10-12 22:56:08 +02:00
John Emmas 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
Paul Davis 7a30e63eaa fix merge conflicts with master 2013-09-14 16:42:40 -04:00
Paul Davis 4861eca974 Merge branch 'master' into windows 2013-09-13 11:55:56 -04:00
Robin Gareus 8432f78346 vtl: export selected range 2013-09-12 22:46:11 +02:00
Paul Davis c222acecaa fix #5609 (import with 1 track per channel mis-associates tracks + channels)
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-08-08 15:24:15 -04:00
Paul Davis 6a436fd826 fix merge conflict from master 2013-07-31 20:11:15 -04:00
Paul Davis d5209cb4bf fix #5609 (import with 1 track per channel mis-associates tracks + channels)
when using ImportDistinctChannels, correctly name regions so that playlists for each channel/track
are also named differently, and thus reloaded properly when the session is reloaded.
2013-07-23 11:29:10 -04:00
Paul Davis 15be154515 use g_unlink() rather than unlink() universally, requires <glib/gstdio.h> in several files 2013-07-15 14:29:00 -04:00
Paul Davis 3031a99364 Merge branch 'master' into cairocanvas 2013-06-25 22:24:47 -04:00
Robin Gareus e6e5aab812 move video export info to online-manual, allow to open it. 2013-06-19 20:26:53 +02:00
Robin Gareus 74f2472c7d vtl: more frame->sample renames and cleaning 2013-04-17 09:10:47 +02:00
Robin Gareus 5cac4a6885 vtl: get rid of unused "bar" inside the ruler 2013-04-17 02:27:17 +02:00
Paul Davis caaa70a810 remove commented out popup about video export success 2013-04-16 14:03:21 -04:00
Paul Davis 8877199ae0 leftmost_position => leftmost_sample, current_page_frames => current_page_samples 2013-04-12 11:21:12 -04:00
Paul Davis 4258a34912 change all frame_to_pixel and pixel_to_frame to sample_to_pixel and pixel_to_sample 2013-04-12 11:15:45 -04:00
Paul Davis ecfd2a7455 remove all unit-based methods from (Public)Editor; rationalize Editor::event_frame() to clearly identify whether the passed-in GdkEvent has window units or canvas units (the latter will be true for all events that are handled by the canvas and then passed to Editor 2013-04-12 11:09:49 -04:00
Robin Gareus 6ae4f10437 Merge branch 'master' into cairocanvas
Conflicts:
	gtk2_ardour/editor.h
	gtk2_ardour/editor_canvas.cc
	gtk2_ardour/wscript
2013-04-11 22:24:05 +02:00
Robin Gareus 66ee2c8e59 enable videotimeline by default 2013-04-11 19:49:48 +02:00
Robin Gareus 6830d83236 vtl: make videotimeline work with new cairo canvas
timeline thumbnail display, moving (drag/drop) and zoom works.

There still some crashes e.g. resizing the height of the timeline
and with off-screen image buffering when zooming in.
Likely due to concurrency issues:
VideoImageFrame::exposeimg() and direct access of the pixbuf:
"Assertion `!_bounding_box_dirty' failed." in canvas/item.cc:191

more work is needed..
2013-04-06 04:10:27 +02:00
Paul Davis 8eef4b1904 master merge; new files not added after initial cairocanvas patch application 2013-04-05 17:16:33 -04:00
Robin Gareus b358a09165 vtl: A/V sync lock on import
When extracting and importing audio from a video,
mark the audio region's position as locked to the
video.

While locked, the audio region can only be moved
by moving the video with a granularity of one Timecode
frame.
2013-04-04 15:44:32 +02:00
Robin Gareus 950643462a vtl: prepare audio offset on A/V import 2013-03-28 16:58:30 +01:00
Robin Gareus 0c3e840700 videotimline
squashed 694 commits from http://gareus.org/gitweb/?p=ardour3.git
2013-03-13 20:28:15 +01:00