Commit Graph

53 Commits

Author SHA1 Message Date
Mads Kiilerich 17fafc376b
gtkmm: use ALIGN_END instead of deprecated Gtk::AlignmentEnum::ALIGN_RIGHT 2022-04-08 21:11:06 +02:00
Mads Kiilerich 2aa72891f3
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_LEFT 2022-04-08 21:11:06 +02: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 b51621a1ae
Fix assert() when using DnD to import MIDI files
When importing a multi-track MIDI files with identical track-names,
Ardour would create the same file for each track. Effectively
overwriting an existing file.

The following MIDI file would create the same file twice
in `interchange/`, once for each MTrk.

```
MFile 1 2 240
MTrk
0 Meta SeqName "Foo Bar"
0 TimeSig 4/4 24 8
0 Tempo 666667
0 Meta TrkEnd
TrkEnd
MTrk
0 Meta TrkName "Foo Bar"
0 On ch=10 n=36 v=95
...
```
2022-01-19 19:22:51 +01:00
Robin Gareus 37877fbdc2
Unify Source and RegionList abstraction 2022-01-19 17:13:51 +01:00
Robin Gareus 0204ea1f24
Unify Region Drag/Drop
Identify Regions using PDB::ID. This allows dragging regions
from almost anywhere to anywhere, without special cases.
2022-01-19 17:13:51 +01:00
Robin Gareus 806f62ffe6
Allow import via DnD to Source list (not region list) 2022-01-11 00:56:32 +01:00
Robin Gareus 056189c76c
Clean up DnD, use MIME-types
This is in preparation for allowing to drag trigger-regions
or trigger-slots. Those will not use a static singleton
PublicEditor API.

Additionally this constrains Ardour-internal drags to Ardour
(via Gtk::TARGET_SAME_APP).
2022-01-10 21:29:29 +01:00
Robin Gareus 3c03e4951e
Use updated temporal API 2/2 2021-12-11 15:51:31 +01:00
Ben Loftis 84111a343e Deinterlace MIDI: gui part 2021-11-19 10:28:37 -06:00
Robin Gareus 0b2b361b32
Dis/reconnect to session signals for each session
This allows to load a session from a running instance.
Prior to this change this caused a crash (_session = null)

```
#1  ARDOUR::Session::session_directory() const (this=0x0) at ../libs/ardour/ardour/session.h:257
#2  EditorSources::populate_row(Gtk::TreeRow, boost::shared_ptr<ARDOUR::Region>) (this=0x555559836900, row=..., region=...) at ../gtk2_ardour/editor_sources.cc:433
#3  EditorSources::regions_changed
[ .. signal propagation ..]
#20 ARDOUR::Region::send_change
#21 PBD::Stateful::resume_property_changes
#22 ARDOUR::AudioRegion::_set_state
#23 ARDOUR::AudioRegion::set_state
#24 ARDOUR::RegionFactory::create
#25 ARDOUR::Session::XMLAudioRegionFactory
#27 ARDOUR::Session::load_regions
#28 ARDOUR::Session::set_state
#29 ARDOUR::Session::post_engine_init
#30 ARDOUR::Session::Session
#31 ARDOUR_UI::load_session_stage_two
#32 ARDOUR_UI::load_session
#33 ARDOUR_UI::open_recent_session
```
2021-09-19 04:56:13 +02:00
Paul Davis 07324bd1e2 change the way source list adds new regions to match the way the region list does it
This avoids duplicates, updates rows etc
2021-08-28 15:29:44 -06:00
Paul Davis d5223c0c2c allow Editor source list to contain empty MIDI whole file regions 2021-08-28 15:28:41 -06:00
Paul Davis 6f861c63b5 nutempo #warning removal 2021-08-13 12:51:33 -06: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 f4490f54c5 change Timecode::BBT_Time to use Temporal namespace, plus a couple of other minor changes to enable compilation
This still uses the tempo map object in libs/ardour, not the new one in libs/temporal, and isn't likely to be functional
(though it could be)
2021-08-13 12:51:28 -06:00
Ben Loftis 51d57a3fb6 Source and Region list: fix disappearing list items (break out of the loop instead of returning, so the list always gets thawed) 2021-05-28 18:51:35 -05:00
Robin Gareus b0d4f77d92
Optimize RegionList redisplay for batch changes 2021-05-07 23:29:25 +02:00
Robin Gareus 283cade057
Update GUI Region[s]PropertyChanged signal handlers (2/3) 2021-05-07 23:29:25 +02:00
Robin Gareus 887f8a70bc
Show x-run count in source-list 2021-02-14 16:22:42 +01:00
Robin Gareus 22ab752924
NO-OP: whitespace 2020-07-26 17:17:33 +02:00
Ben Loftis 5cdaa5f935 Source list: some tweaks to match Region list 2020-07-26 09:53:48 -05:00
Ben Loftis af4ab3708b Source List: allow Name field to be edited 2020-07-26 09:53:47 -05:00
Ben Loftis cdee15b780 Source List: Add captured_for as a column. 2020-07-26 09:53:47 -05:00
Ben Loftis d98d3f25d8 Source List: Add channel-count as a separate column 2020-07-26 09:53:47 -05:00
Ben Loftis f5bdfb14fd Source List: watch for name-changes in Source entries. 2020-07-26 09:53:47 -05:00
Paul Davis 764dd20f93 Editor: allow name and path column in editor source list to be manually resizable 2020-07-19 23:10:43 -06:00
Edgar Aichinger e20f74dcf1
Fix typos, consistent translatable strings 2020-04-15 18:02:35 +02:00
Robin Gareus 1aae553dae
Fix source list selection
Retain selection when showing context-menu.
2020-03-31 21:00:45 +02:00
Paul Davis 75260f9c9b fix (potentially serious) typo that confused comparison with assignment 2020-03-06 15:54:00 -07:00
Robin Gareus a886f2bfcb
Cleanup SourceList: remove unused copy/pasted region-list code 2020-02-25 16:17:00 +01:00
Robin Gareus f158d2064d
NO-OP: whitespace 2020-02-25 16:17:00 +01:00
Robin Gareus 589437c74a
SourceList: Drop references as requested 2020-02-25 16:17:00 +01:00
Robin Gareus b228dce1c1
Use weak-ptr for source added/removed signals (2/2) 2019-12-25 18:00:57 +01:00
Paul Davis cb116ca634 remove unused assignment 2019-10-10 16:52:00 -06:00
Robin Gareus f940cbe794
Remove unused EditorSources selection filter 2019-08-13 00:53:04 +02:00
Robin Gareus 8a9b38e540
Remove remnants of hack from 9f3f3738e7
This fixes multiple selection. The original code using
"selection_countdown" is no longer in place. There's no "counter" to arm.

Shift/Tab name edit works regardless.
"s/m/r" solo/mute/rec shortcuts in the treeview have been discontinued
since a long time as well. Keyboard shortcuts are per window, regardless
of grab_focus()

PS. This change makes it easier for a user to start a drag/drop
operation of multiple regions. That currently assert()s, only
the first selected region is used.
2019-08-13 00:52:21 +02:00
Ben Loftis 82ebfa75f3 Source List: Explicitly check whether a file is in the {Audio|MIDI} folder where it should be.
Anywhere else (even somewhere else inside the session folder) should be flagged "weird"
2019-08-12 10:48:08 -05:00
Ben Loftis ff440276c1 Source List: Source regions can be tagged, too. 2019-08-12 10:48:08 -05: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
Ben Loftis d400dd813a (Source List) Handle Session::RemoveSource 2019-08-01 12:11:31 -05:00
Ben Loftis 595959abf7 (Source List) Replace missing initializer; fixes a bug where Sources did not appear on startup. 2019-08-01 12:11:31 -05:00
Ben Loftis 50786b3e5c (Source List) Recover Regions feature: WIP 2019-08-01 12:11:31 -05:00
Ben Loftis fc981d4399 (Source List) Revert to displaying whole-file Regions instead of Sources.
This preserves the stereo-ness of files that were imported or recorded in stereo.

ToDo  (maybe someday): provide a disclosure triangle that exposes the individual channels in a multichannel region
2019-08-01 12:11:31 -05:00
Ben Loftis 52611e2374 (Source List) No need to show the path when file is internal to session. 2019-08-01 12:11:31 -05:00
Ben Loftis e0bdcd7137 (Source List) Clean up the natural_position implementation (gtk2 part). 2019-08-01 12:11:31 -05:00
Ben Loftis 77950c36c5 (Source List) Implement remove_selected_sources when the user clicks Delete key. 2019-08-01 12:11:31 -05:00
Paul Davis 98c509cc48 (Source List) NOOP: whitespace cleanup
remove debug output
2019-08-01 12:11:31 -05:00
Ben Loftis b409c58ee6 (Source List) Fix drag-n-drop. 2019-08-01 12:11:31 -05:00
Ben Loftis 71c2ed8160 (Source List) Source list, Region List: Resolve various action+behaviors between the 2 lists.
Duplicate the remove_unsued_region action in the Session->Cleanup menu, for discoverability.
Region list should use the same Region actions as the canvas...
OK, now resolve the change in use-cases of Region List and Source List.  tentative.
Rough-in remove_selected_sources (Delete in Sources list).
Column tweaks.
2019-08-01 12:11:31 -05:00