13
0
Commit Graph

35025 Commits

Author SHA1 Message Date
9cbf3ae4ad
Who needs PIs for Plugin GUIs?
Use abstract base class for plugin UIs wherever possible
2022-04-14 16:35:03 +02:00
74a673ce17
Create a virtual base class for PluginInsert
This in in preparation for IO-Plug GUI support.
2022-04-14 16:35:03 +02:00
f9d80c32d6
Allow to destroy Widgets when removing them from a container
This is useful when the container uses manage()d Widgets,
which are otherwise not destroyed.
2022-04-14 16:35:02 +02:00
defc902571
Allow to use Destructible as virtual base class
This is in preparation for a pure-virtual base class for
PluginInsert to expose `DropReferences` in the virtual base.

```
class PlugInsertBase : virtual public PBD::Destructible
class PluginInsert : public Processor, public PlugInsertBase
class Processor : public SessionObject
class SessionObject : public PBD::StatefulDestructible
```
2022-04-14 16:35:02 +02:00
c8bb8a3f99
Fix Pin-management IOButton - use client-name 2022-04-14 16:35:02 +02:00
db1a6720c2
Fix Region Export (clip library bounce)
Region::read_at fails if the region is not in a playlist.
It also applies fades and and region transparency which are
not relevant here.
2022-04-14 16:34:39 +02:00
844479568b
fix building OSC surface (amend 9b89dd7967) 2022-04-14 04:49:23 +02:00
99ed076e7e
Potential fix for region export on windows 2022-04-14 00:31:33 +02:00
7f12c664d2
Consistent checks for peakfile file descriptors
This fixes a crash on windows, close(-1) or closing an
already closed FD will abort the application
(Save-As can trigger the issue in done_with_peakfile_writes).

Note that g_open() returns -1 if an error occurred. However
other negative number may still be a valid FD.
2022-04-13 18:04:35 +02:00
luz paz
74453cac86 Fix user facing typos
Found via `codespell -q 3 -S *.po,./.git,./share/patchfiles,./libs,./msvc_extra_headers,./share/web_surfaces,*.patch  -L ba,buss,busses,discreet,doubleclick,hsi,ontop,ro,scrollin,seh,siz,sord,sur,te,trough,ue`
2022-04-10 19:58:47 -04:00
0e8c7272eb
Fix duplicate undo/redo when stretching multiple regions
Previously, when running timefx on multiple regions on
the same track, undo commands accumulated for each region
in the playlist. Resulting in duplicate actions on undo/redo.

```
<UndoTransaction tv-sec="1649607270" tv-usec="646684" name="pitch shift">
    <StatefulDiffCommand obj-id="1690" type-name="ARDOUR::AudioPlaylist">
      <Changes>
        <Regions>
          <Add id="4046"/>
          <Remove id="2284"/>
        </Regions>
      </Changes>
    </StatefulDiffCommand>
    <StatefulDiffCommand obj-id="1690" type-name="ARDOUR::AudioPlaylist">
      <Changes>
        <Regions>
          <Add id="4046"/>
          <Add id="4057"/>
          <Remove id="2284"/>
          <Remove id="2388"/>
        </Regions>
      </Changes>
    </StatefulDiffCommand>
...
```
2022-04-10 18:25:19 +02:00
91e1083cb1 fix typo 2022-04-09 18:35:16 -06:00
bdc8264fda given 217519b1b4, revert 5bbfac23 and cleanup DEBUG_TRACE output 2022-04-09 18:33:24 -06:00
Mads Kiilerich
217519b1b4 Put ostream operator<< for PresentationInfo in std namespace
Fix compilation error seen with gcc 12.0.1 on Fedora 36:

In file included from ../libs/ardour/ardour/variant.h:30,
                 from ../libs/ardour/ardour/parameter_descriptor.h:25,
                 from ../libs/ardour/ardour/automation_control.h:39,
                 from ../libs/ardour/ardour/amp.h:30,
                 from ../libs/ardour/session.cc:61:
../libs/pbd/pbd/compose.h: In instantiation of ‘StringPrivate::Composition& StringPrivate::Composition::arg(const T&) [with T = ARDOUR::PresentationInfo]’:
../libs/pbd/pbd/compose.h:277:31:   required from ‘std::string string_compose(const std::string&, const T1&, const T2&, const T3&, const T4&) [with T1 = std::__cxx11::basic_string<char>; T2 = unsigned int; T3 = std::__cxx11::basic_string<char>; T4 = ARDOUR::PresentationInfo; std::string = std::__cxx11::basic_string<char>]’
../libs/ardour/session.cc:3268:4:   required from here
../libs/pbd/pbd/compose.h:122:20: error: no match for ‘operator<<’ (operand types are ‘std::ostringstream’ {aka ‘std::__cxx11::basic_ostringstream<char>’} and ‘const ARDOUR::PresentationInfo’)
  122 |                 os << obj;
      |                 ~~~^~~~~~

This might also fix a similar problem with clang, and
https://github.com/Ardour/ardour/commit/5bbfac23808 can be backed out.
2022-04-09 18:03:21 -06:00
Mads Kiilerich
705de9389b wscript: address some pyflake warnings
gtk2_ardour/wscript:15:1 redefinition of unused 'TaskGen' from line 3
wscript:102:9 dictionary key 'sse' repeated with different values
wscript:104:9 dictionary key 'sse' repeated with different values
2022-04-09 12:16:41 +02:00
Mads Kiilerich
5b7431f243 wscript: drop unnecessary trailing ";" 2022-04-09 12:16:41 +02:00
Mads Kiilerich
49855e52aa wscript: consistently have at most one empty separator line 2022-04-09 12:16:40 +02:00
Mads Kiilerich
bac32a8c2d wscript: consistently use 4 spaces for indentation 2022-04-09 12:16:40 +02:00
Mads Kiilerich
c3bdcdd3fa wscript: consistently use space indentation instead of tab indentation 2022-04-09 12:16:40 +02:00
Mads Kiilerich
06f8936a73 wscript: remove trailing whitespace 2022-04-09 12:16:37 +02:00
Mads Kiilerich
4cec4a659b wscript: drop X bit
The wscripts are not executed directly and do not need X.
2022-04-09 12:02:23 +02:00
Mads Kiilerich
4fb3a23adb wscript: use consistent python shebang path
Most wscripts use
  #!/usr/bin/env python
Use that consistently.

The wscripts are not executed directly and do not need the shebang path,
but it might guide editors and other tools to recognize the files as
being Python-ish.
2022-04-09 11:44:28 +02:00
luz paz
8017ba2340
Fix typo in color theme comment 2022-04-09 02:27:40 +02:00
luz paz
58e5ee6051
Fix pointer typo (callbck->callback) 2022-04-09 02:25:59 +02:00
fa204b632f
Fetch tempo-map for main process thread (amend 9e69c0d184) 2022-04-09 02:25:30 +02:00
luz paz
fb55878375
Fix source typos (heirarchy->hierarchy) 2022-04-08 21:38:00 +02:00
Mads Kiilerich
5bf088e8d1
gtk2_ardour: use set_can_focus() on Gtk::Button
The code was calling the Gtk::Widget::can_focus() getter as on odd
statement without side effects.

It seems like it meant to call set_can_focus, and thus prepare for
actually grabbing the focus in the next line.
2022-04-08 21:11:07 +02:00
Mads Kiilerich
cb4e10683d
gtkmm: use size_request() function instead of deprecated Gtk::Widget::size_request(&) 2022-04-08 21:11:07 +02:00
Mads Kiilerich
7f649efd42
gtkmm: use set_can_focus() instead of deprecated Gtk::Widget::set_flags(CAN_FOCUS) 2022-04-08 21:11:06 +02:00
Mads Kiilerich
4c3c433700
gtkmm: use get_first_cell() instead of deprecated Gtk::TreeViewColumn::get_first_cell_renderer() 2022-04-08 21:11:06 +02:00
Mads Kiilerich
f9b3ed0523
gtkmm: use get_color_selection() instead of deprecated Gtk::ColorSelectionDialog::get_colorsel() 2022-04-08 21:11:06 +02:00
Mads Kiilerich
440264e0b8
gtkmm: use ALIGN_START instead of deprecated Gtk::AlignmentEnum::ALIGN_TOP 2022-04-08 21:11:06 +02:00
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
Mads Kiilerich
1390743d52
gtkmm: use remove_all() instead of deprecated Gtk::ComboBoxText::clear_items() 2022-04-08 21:11:06 +02:00
Mads Kiilerich
9e34eb21fe
gtkmm: use insert() instead of deprecated Gtk::ComboBoxText::insert_text() 2022-04-08 21:11:06 +02:00
Mads Kiilerich
1a0f862a0c
gtkmm: use prepend() instead of deprecated Gtk::ComboBoxText::prepend_text() 2022-04-08 21:11:05 +02:00
Mads Kiilerich
09c6e68ae8
gtkmm: use append() instead of deprecated Gtk::ComboBoxText::append_text() 2022-04-08 21:10:56 +02:00
Mads Kiilerich
71ea2cc7b9
gtkmm: use get_sensitive() instead of deprecated Gtk::Widget::sensitive() 2022-04-08 20:20:33 +02:00
Mads Kiilerich
a9965e9b93
gtkmm: use get_is_toplevel() instead of deprecated Gtk::Widget::is_toplevel() 2022-04-08 20:20:33 +02:00
Mads Kiilerich
91b08d5f45
gtkmm: use get_realized() instead of deprecated Gtk::Widget::is_realized() 2022-04-08 20:20:32 +02:00
Mads Kiilerich
a86aa31747
gtkmm: use get_visible() instead of deprecated Gtk::Widget::is_visible() 2022-04-08 20:20:10 +02:00
Mads Kiilerich
d52c727ec5
gtkmm: use get_mapped instead of deprecated Gtk::Widget::is_mapped() 2022-04-08 20:20:10 +02:00
JungHee Lee
539ef331d1
Update ko.po
Ardour 6.9 Update.
2022-04-08 20:07:49 +02:00
7293904e53 use new TempoCommand when putting tempo map ops into undo/redo history 2022-04-08 11:58:04 -06:00
9c4024ff0c fix creation of TempoCommands for undo/redo history 2022-04-08 11:58:04 -06:00
7fd8544e31 temporal: fix copy-n-paste error in TempoCommand cosntructor 2022-04-08 11:58:04 -06:00
e466736e2d temporal: remove MementoBinder API for tempo map undo/redo 2022-04-08 11:58:04 -06:00
a806ede94d temporal: add TempoCommand, a Command-derived structure for managing undo/redo w.r.t TempoMap 2022-04-08 11:58:04 -06:00
883a44e6a4 temporal: TempoMap::use() returns a const ptr to enforce semantics (GUI version)
This commit leaves two issues outstanding:

1. unclear/ugly semantics for drag operations that reset the GUI thread's tempo map to the writable copy
2. undo/redo for the tempo map

These will be addressed in future commits
2022-04-08 11:58:04 -06:00