Commit Graph

63 Commits

Author SHA1 Message Date
Robin Gareus 6ac0aae35f
Implement playlist switch undo/redo 2023-06-10 15:03:46 +02:00
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
luz paz 364f2f0788 Fix typos in gtk2_ardour/ directory
Found via `codespell -q 3 -S *.po,./share/patchfiles,./libs -L ba,buss,busses,doubleclick,hsi,ontop,ro,seh,siz,sur,te,trough,ue`
2022-01-26 12:35:38 -05:00
Robin Gareus e00003b14b
Playlist Selector cleanup code, fix selection
* expand parent rows of selected playlist
* do not subscribe multiple times to the same signal
* scope variables, remove cruft
* fix some many whitespace / indent issues
2021-07-22 01:42:01 +02:00
Ben Loftis ff3f0e1d62 Playlist UI Tweaks: show the current track playlists in the copy+share+steal cases (second part of 3b3473) 2021-07-20 16:10:40 -05:00
Ben Loftis 3b3473c6eb Playlist UI Tweaks: revert to prior behavior of showing the current track as a copy/share/steal source 2021-07-20 14:59:47 -05:00
Ben Loftis 0e647ca98b Playlist UI tweaks: Fix the display+packing for the Advanced cases of the playlist selector dialog. 2021-07-20 10:26:37 -05:00
Ben Loftis e152b80abd Playlist UI Tweaks: add playlist-creation buttons to Playlist Selector dialog.
Also fix gtk packing so the list grows if you resize the window.
2021-07-17 20:52:26 -05:00
Ben Loftis d4392b4a1b
Playlist UI Tweaks: provide radio-buttons to switch ALL, Rec-armed, and grouped playlists (wip) 2021-07-03 19:06:04 +02:00
Ben Loftis 88e0b24163
Playlist UI Tweaks: allow Enter to control the transport, not close the playlist-selector dialog 2021-07-02 02:05:32 +02:00
Ben Loftis 6077cf1f7b Playlist UI Tweaks: only trigger playlist changes on a user-selection, not libardour
* avoid redundant updates when the user selects a playlist
* every track potentially has a playlist selector so avoid recursive updates
2021-06-27 09:54:06 -05:00
Ben Loftis e63dc0eb29 Playlist UI tweaks: move pgroup_id out of the menu text, and into a column of the playlist selector 2021-06-08 08:33:48 -05:00
Ben Loftis 1c9bb9ab41 Playlist UI tweaks: refactor PlaylistSelector (life-cycle, code-cleanup)
* You can now show a selector for each track, rather than one global dialog
* Removed the 'cancel' button: it was too easy to unintentionally revert your selection
* Correctly sort and name new playlists when they are added or renamed from the P menu
* Fix problem where list contents disappeared when changing desktops (on_unmap_event)
2021-06-08 08:33:48 -05:00
Paul Davis 66264eb68f use existing API for key forwarding 2021-06-06 08:11:13 -06:00
Paul Davis b03c8e7849 add key forwarding to playlist selector dialog 2021-06-06 08:06:11 -06:00
Ben Loftis 6e72232636 Playlist UI tweaks: revert to generic Gtk terms on dialog 2021-06-01 17:55:09 -05:00
Ben Loftis 892d641987 Playlist UI tweaks: Add (select, share, copy, steal) operations to the playlist selector (under Advanced... menu)
Use the same sorting for the menu list and playlist_selector items
Implement Copy, Share and Steal playlist actions. Need a RouteTimeAxis for this.
Rename persistent dialog buttons to make it clear you can Revert
2021-06-01 09:39:39 -05:00
Nikolaus Gullotta a51e51b4f2 Playlist UI tweaks: Update PlaylistSelector (gtk2_ardour part)
Window is now no longer modal
Subscribes to new Track::PlaylistAdded signal
Move RouteUI setting to new dedicated method
Rename show_for to show
Hide PlaylistSelector if DropReference signal is emitted
2021-06-01 09:16:41 -05:00
Nikolaus Gullotta 8e22c4811e
Changes to PlaylistSelector
Users should be able to see the playlist they're about to switch to
while the dialog is up. Additionally, if the user cancels, the change
should be nullified and the original playlist used.
2020-09-09 15:08:13 -05:00
Robin Gareus ec6237d703
Allow to select playlists from other MIDI tracks #6692 2020-08-25 23:13:22 +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
Robin Gareus c09c7bab52
Update GUI, use Session::playlists() getter (2/2) 2019-03-19 05:14:40 +01:00
Robin Gareus c724f3f82c Fix crash in playlist selector for removed tracks.
Removing a Track does not delete its playlists and one can keep
Playlists after Cleanup. Don't crash if a the track that the playlist
originally belonged to does no longer exist.
2017-09-23 01:57:25 +02:00
Paul Davis 11baba0275 remove Session::track_by_diskstream_id() 2017-09-18 11:40:52 -04:00
Paul Davis a4a87f56e9 mega-commit to save state of first "it compilesand links" state for separated disk i/o changes.
THIS WILL NOT RUN. THIS REQUIRES MANY CHANGES
2017-09-18 11:40:52 -04: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 22b07e0233 NOOP, remove trailing tabs/whitespace. 2015-10-05 16:17:49 +02:00
Paul Davis 3973ce81b3 remove all of Gtk::Window::set_position (WIN_POS_MOUSE) for anything deriving from ArdourDialog or ArdourWindow; move the set_position() call into those classes' constructors, so that they are called before the windows are realized, and thus it actually works 2013-05-02 18:13:35 -04:00
Carl Hetherington 50aeca5fa5 Fix capitalisation.
git-svn-id: svn://localhost/ardour2/branches/3.0@12524 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-06-01 15:19:19 +00:00
David Robillard 6fa6514cfd Remove over 500 unnecessary includes (including 54 of session.h).
It's slightly possible that this causes trivial build failures on different
configurations, but otherwise shouldn't cause any problems (i.e. no actual
changes other than include/naming/namespace stuff).  I deliberately avoided
removing libardour-config.h since this can mysteriously break things, though a
few of those do seem to be unnecessary.

This commit only targets includes of ardour/*.h.  There is also a very large
number of unnecessary includes of stuff in gtk2_ardour; tackling that should
also give a big improvement in build time when things are modified.


git-svn-id: svn://localhost/ardour2/branches/3.0@12420 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-05-24 06:09:29 +00:00
Carl Hetherington 3fa134e8ae Fix another out-of-scope variable access (#4811).
git-svn-id: svn://localhost/ardour2/branches/3.0@11809 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07 01:54:06 +00:00
Carl Hetherington 8d300dae85 Fix out-of-scope access to variable (#4810).
git-svn-id: svn://localhost/ardour2/branches/3.0@11808 d708f5d6-7413-0410-9779-e7cbd77b26cf
2012-04-07 01:53:56 +00:00
Paul Davis d23a6de077 fix for most (all? we can dream ...) issues involved in #4399 (editing multiply-applies operations to playlists used more than once), and as a side-issue, fix playlist selection which broke when we hid Diskstreams inside Tracks by using orig_track_id() rather than orig_diskstream_id()
git-svn-id: svn://localhost/ardour2/branches/3.0@10968 d708f5d6-7413-0410-9779-e7cbd77b26cf
2011-12-10 19:20:15 +00:00
Carl Hetherington 1b9bf21aa4 A little copy-editing.
git-svn-id: svn://localhost/ardour2/branches/3.0@7046 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-05-02 23:54:25 +00:00
Carl Hetherington 061a85191c Move Diskstream ownership to Track, so that Session no longer holds lists of Diskstreams. Breaks 3.0 file format again.
git-svn-id: svn://localhost/ardour2/branches/3.0@6945 d708f5d6-7413-0410-9779-e7cbd77b26cf
2010-04-21 20:42:22 +00:00
Paul Davis f6fdd8dcbf switch to using boost::signals2 instead of sigc++, at least for libardour. not finished yet, but compiles, loads sessions, records and can close a session without a crash
git-svn-id: svn://localhost/ardour2/branches/3.0@6372 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-17 18:24:23 +00:00
Paul Davis 8687895abb remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-12 15:02:15 +00:00
Paul Davis 64dc5427e4 make all use of bind/mem_fun be explicitly sigc::
git-svn-id: svn://localhost/ardour2/branches/3.0@6354 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-11 23:29:48 +00:00
Carl Hetherington 478fd92039 Use a shared_ptr for SessionPlaylists so that it can be explicitly destroyed in ~Session to ease debugging.
git-svn-id: svn://localhost/ardour2/branches/3.0@6282 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-04 19:09:08 +00:00
Carl Hetherington ee9455af40 Move some (most) playlist-related code and data into a separate object
(SessionPlaylists).  Main point being to ensure that, when a Session
is destroyed (especially as a result of its constructor throwing an
exception) SessionPlaylists::track is disconnected from its signal
at the same time as the list of playlists is destroyed.  Otherwise
problems abound.


git-svn-id: svn://localhost/ardour2/branches/3.0@6270 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-12-03 21:52:10 +00:00
Carl Hetherington 09ec342926 Tidy up window titles, according to GNOME HIG and as suggested in mantis 2803.
git-svn-id: svn://localhost/ardour2/branches/3.0@5805 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-19 17:25:37 +00:00
David Robillard bb9cc45cd2 Strip trailing whitespace and fix other whitespace errors (e.g. space/tab mixing). Whitespace changes only.
Vimmers, try let c_space_errors = 1 in your .vimrc to highlight this kind of stuff in red.  I don't know the emacs equivalent...


git-svn-id: svn://localhost/ardour2/branches/3.0@5773 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-10-14 16:10:01 +00:00
David Robillard e0aaed6d65 *** NEW CODING POLICY ***
All #include statements that include a header that is a part of a library
bundled with ardour MUST use quotes, not angle brackets.

Do this:

#include "ardour/types.h"

NOT this:

#include <ardour/types.h>

Rationale:

This is best practice in general, to ensure we include the local version
and not the system version.  That quotes mean "local" (in some sense)
and angle brackets mean "system" (in some sense) is a ubiquitous
convention and IIRC right in the C spec somewhere.

More pragmatically, this is required by (my) waf (stuff) for dependencies
to work correctly.  That is:

!!! FAILURE TO DO THIS CAN RESULT IN BROKEN BUILDS !!!

Failure to comply is punishable by death by torture. :)

P.S. It's not that dramatic in all cases, but this (in combination with some
GCC flags specific to the include type) is the best way I have found to be
absolutely 100% positive the local ones are being used (and we definitely
want to be absolutely 100% positive on that one).


git-svn-id: svn://localhost/ardour2/branches/3.0@4655 d708f5d6-7413-0410-9779-e7cbd77b26cf
2009-02-25 18:26:51 +00:00
Sakari Bergen 572fa80aa7 Add Import from session -functionality
git-svn-id: svn://localhost/ardour2/branches/3.0@3805 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-09-26 08:29:30 +00:00
David Robillard cd9fdb935f Use boost::shared_ptr instead of raw pointers for RouteUI track (etc) accessors (fix FIXME in route_ui.h).
git-svn-id: svn://localhost/ardour2/trunk@1986 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-06-15 22:05:07 +00:00
Paul Davis c69ef10067 fix rect redraw problem(s); make zoom range rect visible again at the right time; apply tim's window title patch
git-svn-id: svn://localhost/ardour2/trunk@1617 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-03-18 16:45:43 +00:00
Paul Davis d6ef740e90 remove all lines to avoid recompiles after commits
git-svn-id: svn://localhost/ardour2/trunk@1488 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-02-22 18:36:03 +00:00
Paul Davis bb02870c15 various fixes to named selection mgmt and display, plus fixes for xfade mgmt and a bit of debugging for them too
git-svn-id: svn://localhost/ardour2/trunk@1313 d708f5d6-7413-0410-9779-e7cbd77b26cf
2007-01-11 21:45:21 +00:00
Paul Davis 486020b403 save keybindings to file used at startup; allow keybindings file to be cmdline-specified; remove some GTK2FIX comments; fix feedback based on john anderson's patch; apply scons patches; fix crash when taking MIDI ports online+offline; try to prevent aborts when shutting down due to metering thread; start work on reconstructing GlobalFOOCommand commands; use ftruncate to hint at peakfile preallocation to reduce fragmentation
git-svn-id: svn://localhost/ardour2/trunk@1223 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-12-19 02:41:19 +00:00
Paul Davis af12adb34f use shared_ptr for all Playlist handling; cleanup works again
git-svn-id: svn://localhost/ardour2/trunk@1209 d708f5d6-7413-0410-9779-e7cbd77b26cf
2006-12-14 14:15:43 +00:00