13
0

Merge branch 'ardour'

This commit is contained in:
Robin Gareus 2024-05-20 22:02:53 +02:00
commit 199fc6fd14
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
12 changed files with 33 additions and 43 deletions

View File

@ -721,7 +721,6 @@ Editor::Editor ()
Location::start_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
Location::end_changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
Location::changed.connect (*this, invalidator (*this), boost::bind (&Editor::location_changed, this, _1), gui_context());
Location::flags_changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::update_section_rects, this), gui_context ());
#if SELECTION_PROPERTIES_BOX_TODO
add_notebook_page (_("Selection"), *_properties_box);
@ -1472,6 +1471,7 @@ Editor::set_session (Session *t)
}
refresh_location_display ();
update_section_rects ();
/* restore rulers before calling set_state() which sets the grid,
* which changes rulers and calls store_ruler_visibility() overriding
@ -1519,6 +1519,7 @@ Editor::set_session (Session *t)
_session->locations()->changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::refresh_location_display, this), gui_context());
_session->auto_loop_location_changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::loop_location_changed, this, _1), gui_context ());
_session->history().Changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::history_changed, this), gui_context());
Location::flags_changed.connect (_session_connections, invalidator (*this), boost::bind (&Editor::update_section_rects, this), gui_context ());
_playhead_cursor->track_canvas_item().reparent ((ArdourCanvas::Item*) get_cursor_scroll_group());
_playhead_cursor->show ();

View File

@ -844,7 +844,7 @@ Editor::mouse_add_new_marker (timepos_t where, Location::Flags extra_flags, int3
markername = string_compose (_("cue %1"), cue_marker_name (cue_id));
} else {
if (flags & Location::IsSection) {
namebase = ARDOUR::Profile->get_livetrax() ? _("mark") : _("verse");
namebase = _("section");
} else {
namebase = _("mark");
}

View File

@ -910,11 +910,8 @@ MidiRegionView::create_note_at (timepos_t const & t, double y, Temporal::Beats l
apply_note_diff();
trackview.editor().set_selected_midi_region_view (*this);
list<Evoral::event_id_t> to_be_selected;
to_be_selected.push_back (new_note->id());
select_notes (to_be_selected, true);
play_midi_note (new_note);
/* apply_note_diff above selects and plays the newly created note */
}
void

View File

@ -34,22 +34,15 @@ NotePlayer::NotePlayer (std::shared_ptr<MidiTrack> mt)
NotePlayer::~NotePlayer ()
{
clear ();
}
void
NotePlayer::add (std::shared_ptr<NoteType> note)
{
/* Must not be called once play() has been called */
notes.push_back (note);
}
void
NotePlayer::clear ()
{
off ();
notes.clear ();
}
void
NotePlayer::on ()
{
@ -63,8 +56,7 @@ NotePlayer::play ()
{
on ();
/* note: if there is more than 1 note, we will silence them all at the same time
*/
/* note: if there is more than 1 note, we will silence them all at the same time */
const uint32_t note_length_ms = 100;

View File

@ -27,6 +27,10 @@
#include "evoral/Note.h"
namespace Temporal {
class Beats;
}
namespace ARDOUR {
class MidiTrack;
}
@ -40,13 +44,11 @@ public:
void add (std::shared_ptr<NoteType>);
void play ();
void on ();
void off ();
void clear ();
static bool _off (NotePlayer*);
private:
void on ();
void off ();
static bool _off (NotePlayer*);
typedef std::vector< std::shared_ptr<NoteType> > Notes;
std::shared_ptr<ARDOUR::MidiTrack> track;

View File

@ -36,10 +36,7 @@ RulerDialog::RulerDialog ()
get_vbox()->pack_start (meter_button);
get_vbox()->pack_start (tempo_button);
get_vbox()->pack_start (range_button);
get_vbox()->pack_start (loop_punch_button);
get_vbox()->pack_start (cdmark_button);
get_vbox()->pack_start (mark_button);
get_vbox()->pack_start (cuemark_button);
get_vbox()->pack_start (section_button);
get_vbox()->pack_start (video_button);

View File

@ -41,12 +41,9 @@ private:
Gtk::CheckButton bbt_button;
Gtk::CheckButton tempo_button;
Gtk::CheckButton meter_button;
Gtk::CheckButton loop_punch_button;
Gtk::CheckButton range_button;
Gtk::CheckButton mark_button;
Gtk::CheckButton cdmark_button;
Gtk::CheckButton section_button;
Gtk::CheckButton cuemark_button;
Gtk::CheckButton video_button;
void connect_action (Gtk::CheckButton& button, std::string const &action_name_part);

View File

@ -195,7 +195,7 @@ Butler::thread_work ()
#ifdef HAVE_IOPRIO
// ioprio_set (IOPRIO_WHO_PROCESS, 0 /*calling thread*/, IOPRIO_PRIO_VALUE (IOPRIO_CLASS_RT, 4))
if (0 != syscall (SYS_ioprio_set, 1, 0, (1 << 13) | 4)) {
warning << _("Cannot set I/O Priority for disk read/write thread") << endmsg;
info << _("Cannot set I/O Priority for disk read/write thread") << endmsg;
}
#endif

View File

@ -2969,14 +2969,21 @@ VST3PI::getContextInfoValue (double& value, FIDString id)
tresult
VST3PI::setContextInfoValue (FIDString id, double value)
{
if (!_owner) {
Stripable* s = dynamic_cast<Stripable*> (_owner);
if (!s) {
DEBUG_TRACE (DEBUG::VST3Callbacks, "VST3PI::setContextInfoValue<double>: not initialized");
return kNotInitialized;
}
DEBUG_TRACE (DEBUG::VST3Callbacks, string_compose ("VST3PI::setContextInfoValue<double> %1 to %2\n", id, value));
if (s->session ().loading () || s->session ().deletion_in_progress ()) {
return kResultOk;
}
if (0 == strcmp (id, ContextInfo::kVolume)) {
std::shared_ptr<AutomationControl> ac = lookup_ac (_owner, id);
ac->set_value (value, Controllable::NoGroup);
assert (ac);
if (ac) {
ac->set_value (value, Controllable::NoGroup);
}
} else if (0 == strcmp (id, ContextInfo::kPan)) {
std::shared_ptr<AutomationControl> ac = lookup_ac (_owner, id);
if (ac) {
@ -3005,6 +3012,9 @@ VST3PI::setContextInfoValue (FIDString id, int32 value)
return kNotInitialized;
}
DEBUG_TRACE (DEBUG::VST3Callbacks, string_compose ("VST3PI::setContextInfoValue<int> %1 to %2\n", id, value));
if (s->session ().loading () || s->session ().deletion_in_progress ()) {
return kResultOk;
}
if (0 == strcmp (id, ContextInfo::kColor)) {
#if BYTEORDER == kBigEndian
SWAP_32 (value) // ABGR32 -> RGBA32
@ -3022,10 +3032,11 @@ VST3PI::setContextInfoValue (FIDString id, int32 value)
}
} else if (0 == strcmp (id, ContextInfo::kMultiSelect)) {
_add_to_selection = value != 0;
} else if (0 == strcmp (id, ContextInfo::kMute)) {
s->session ().set_control (lookup_ac (_owner, id), value != 0 ? 1 : 0, Controllable::NoGroup);
} else if (0 == strcmp (id, ContextInfo::kSolo)) {
s->session ().set_control (lookup_ac (_owner, id), value != 0 ? 1 : 0, Controllable::NoGroup);
} else if (0 == strcmp (id, ContextInfo::kMute) || 0 == strcmp (id, ContextInfo::kSolo)) {
std::shared_ptr<AutomationControl> ac = lookup_ac (_owner, id);
if (ac) {
s->session ().set_control (ac, value != 0 ? 1 : 0, Controllable::NoGroup);
}
} else {
DEBUG_TRACE (DEBUG::VST3Callbacks, "VST3PI::setContextInfoValue<int>: unsupported ID\n");
return kNotImplemented;

View File

@ -395,7 +395,7 @@ for x in $BUILD_ROOT/../share/osc/*.preset ; do
done
# Mixbus MixerSettings (if any)
for x in $BUILD_ROOT/../mixer_settings/*.lua ; do
for x in $BUILD_ROOT/../share/mixer_settings/*.lua ; do
mkdir -p $MixerSettings # create on demand
cp "$x" $MixerSettings
done

View File

@ -34,9 +34,6 @@ while [ $# -gt 0 ] ; do
--mixbus)
APPNAME=Mixbus ;
shift ;;
--mixbus32c)
APPNAME=Mixbus32C ;
shift ;;
--livetrax)
APPNAME=LiveTrax ;
shift ;;

View File

@ -14,7 +14,6 @@ fi
mkdir -p "$CACHEDIR"
MIXBUS=
MIXBUS32C=
WITH_HARVID=1
WITH_XJADEO=1
WITH_HARRISON_LV2=
@ -44,7 +43,6 @@ while [ $# -gt 0 ] ; do
WITH_COMMERCIAL_X42_LV2=1
WITH_GRATIS_X42_LV2=1
WITH_GMSYNTH=1
STRIP= ;
PRODUCT_PKG_DIR=Mixbus;
APPNAME=Mixbus ;
BUNDLENAME=Mixbus${major_version} ;
@ -231,9 +229,7 @@ MAIN_EXECUTABLE=$EXECUTABLE
echo "Copying ardour executable ...."
cp $BUILD_ROOT/gtk2_ardour/ardour-$release_version $APPROOT/MacOS/$MAIN_EXECUTABLE
if test x$MIXBUS32C != x ; then
cp Mixbus32C.icns $Resources/appIcon.icns
elif test x$MIXBUS != x ; then
if test x$MIXBUS != x ; then
cp Mixbus.icns $Resources/appIcon.icns
elif test x$LIVETRAX != x ; then
cp LiveTrax.icns $Resources/appIcon.icns