mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 15:25:01 +01:00
add new profile object, use it to remove certain horizontal elements from GUI if screen is narrow; make verbose canvas cursor use primary clock mode if secondary clock is not visible
git-svn-id: svn://localhost/ardour2/trunk@1676 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
2dd0b9321c
commit
c36c7f4b94
9 changed files with 70 additions and 10 deletions
|
|
@ -16,7 +16,7 @@ import SCons.Node.FS
|
||||||
SConsignFile()
|
SConsignFile()
|
||||||
EnsureSConsVersion(0, 96)
|
EnsureSConsVersion(0, 96)
|
||||||
|
|
||||||
ardour_version = '2.0beta12'
|
ardour_version = '2.0rc1'
|
||||||
|
|
||||||
subst_dict = { }
|
subst_dict = { }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -50,6 +50,7 @@
|
||||||
#include <midi++/mmc.h>
|
#include <midi++/mmc.h>
|
||||||
|
|
||||||
#include <ardour/ardour.h>
|
#include <ardour/ardour.h>
|
||||||
|
#include <ardour/profile.h>
|
||||||
#include <ardour/session_route.h>
|
#include <ardour/session_route.h>
|
||||||
#include <ardour/port.h>
|
#include <ardour/port.h>
|
||||||
#include <ardour/audioengine.h>
|
#include <ardour/audioengine.h>
|
||||||
|
|
@ -642,11 +643,11 @@ ARDOUR_UI::update_sample_rate (nframes_t ignored)
|
||||||
nframes_t rate = engine->frame_rate();
|
nframes_t rate = engine->frame_rate();
|
||||||
|
|
||||||
if (fmod (rate, 1000.0) != 0.0) {
|
if (fmod (rate, 1000.0) != 0.0) {
|
||||||
snprintf (buf, sizeof (buf), _("%.1f kHz / %4.1f msecs"),
|
snprintf (buf, sizeof (buf), _("%.1f kHz / %4.1f ms"),
|
||||||
(float) rate/1000.0f,
|
(float) rate/1000.0f,
|
||||||
(engine->frames_per_cycle() / (float) rate) * 1000.0f);
|
(engine->frames_per_cycle() / (float) rate) * 1000.0f);
|
||||||
} else {
|
} else {
|
||||||
snprintf (buf, sizeof (buf), _("%u kHz / %4.1f msecs"),
|
snprintf (buf, sizeof (buf), _("%u kHz / %4.1f ms"),
|
||||||
rate/1000,
|
rate/1000,
|
||||||
(engine->frames_per_cycle() / (float) rate) * 1000.0f);
|
(engine->frames_per_cycle() / (float) rate) * 1000.0f);
|
||||||
}
|
}
|
||||||
|
|
@ -2711,3 +2712,11 @@ ARDOUR_UI::TransportControllable::set_id (const string& str)
|
||||||
{
|
{
|
||||||
_id = str;
|
_id = str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
ARDOUR_UI::setup_profile ()
|
||||||
|
{
|
||||||
|
if (gdk_screen_width() < 1200) {
|
||||||
|
Profile->set_small_screen ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,8 @@ class ARDOUR_UI : public Gtkmm2ext::UI
|
||||||
void set_keybindings_path (std::string path);
|
void set_keybindings_path (std::string path);
|
||||||
void save_keybindings ();
|
void save_keybindings ();
|
||||||
|
|
||||||
|
void setup_profile ();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
friend class PublicEditor;
|
friend class PublicEditor;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@
|
||||||
|
|
||||||
#include <ardour/audioengine.h>
|
#include <ardour/audioengine.h>
|
||||||
#include <ardour/ardour.h>
|
#include <ardour/ardour.h>
|
||||||
|
#include <ardour/profile.h>
|
||||||
#include <ardour/route.h>
|
#include <ardour/route.h>
|
||||||
|
|
||||||
#include "ardour_ui.h"
|
#include "ardour_ui.h"
|
||||||
|
|
@ -364,7 +365,9 @@ ARDOUR_UI::setup_transport ()
|
||||||
|
|
||||||
HBox* clock_box = manage (new HBox);
|
HBox* clock_box = manage (new HBox);
|
||||||
clock_box->pack_start (primary_clock, false, false);
|
clock_box->pack_start (primary_clock, false, false);
|
||||||
|
if (!ARDOUR::Profile->get_small_screen()) {
|
||||||
clock_box->pack_start (secondary_clock, false, false);
|
clock_box->pack_start (secondary_clock, false, false);
|
||||||
|
}
|
||||||
VBox* time_controls_box = manage (new VBox);
|
VBox* time_controls_box = manage (new VBox);
|
||||||
time_controls_box->pack_start (sync_option_combo, false, false);
|
time_controls_box->pack_start (sync_option_combo, false, false);
|
||||||
time_controls_box->pack_start (time_master_button, false, false);
|
time_controls_box->pack_start (time_master_button, false, false);
|
||||||
|
|
|
||||||
|
|
@ -37,6 +37,7 @@
|
||||||
#include "actions.h"
|
#include "actions.h"
|
||||||
|
|
||||||
#include <ardour/session.h>
|
#include <ardour/session.h>
|
||||||
|
#include <ardour/profile.h>
|
||||||
#include <ardour/audioengine.h>
|
#include <ardour/audioengine.h>
|
||||||
#include <ardour/control_protocol_manager.h>
|
#include <ardour/control_protocol_manager.h>
|
||||||
|
|
||||||
|
|
@ -698,11 +699,13 @@ ARDOUR_UI::build_menu_bar ()
|
||||||
sample_rate_label.set_name ("SampleRate");
|
sample_rate_label.set_name ("SampleRate");
|
||||||
|
|
||||||
menu_hbox.pack_start (*menu_bar, true, true);
|
menu_hbox.pack_start (*menu_bar, true, true);
|
||||||
menu_hbox.pack_end (wall_clock_box, false, false, 10);
|
if (!Profile->get_small_screen()) {
|
||||||
menu_hbox.pack_end (disk_space_box, false, false, 10);
|
menu_hbox.pack_end (wall_clock_box, false, false, 2);
|
||||||
menu_hbox.pack_end (cpu_load_box, false, false, 10);
|
menu_hbox.pack_end (disk_space_box, false, false, 4);
|
||||||
menu_hbox.pack_end (buffer_load_box, false, false, 10);
|
}
|
||||||
menu_hbox.pack_end (sample_rate_box, false, false, 10);
|
menu_hbox.pack_end (cpu_load_box, false, false, 4);
|
||||||
|
menu_hbox.pack_end (buffer_load_box, false, false, 4);
|
||||||
|
menu_hbox.pack_end (sample_rate_box, false, false, 4);
|
||||||
|
|
||||||
menu_bar_base.set_name ("MainMenuBar");
|
menu_bar_base.set_name ("MainMenuBar");
|
||||||
menu_bar_base.add (menu_hbox);
|
menu_bar_base.add (menu_hbox);
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,7 @@
|
||||||
#include "rgb_macros.h"
|
#include "rgb_macros.h"
|
||||||
|
|
||||||
#include <ardour/types.h>
|
#include <ardour/types.h>
|
||||||
|
#include <ardour/profile.h>
|
||||||
#include <ardour/route.h>
|
#include <ardour/route.h>
|
||||||
#include <ardour/audio_track.h>
|
#include <ardour/audio_track.h>
|
||||||
#include <ardour/audio_diskstream.h>
|
#include <ardour/audio_diskstream.h>
|
||||||
|
|
@ -3307,6 +3308,12 @@ Editor::region_drag_finished_callback (ArdourCanvas::Item* item, GdkEvent* event
|
||||||
where = (nframes_t) (unit_to_frame (ix1) * speed);
|
where = (nframes_t) (unit_to_frame (ix1) * speed);
|
||||||
boost::shared_ptr<Region> new_region (RegionFactory::create (rv->region()));
|
boost::shared_ptr<Region> new_region (RegionFactory::create (rv->region()));
|
||||||
|
|
||||||
|
/* undo the previous hide_dependent_views so that xfades don't
|
||||||
|
disappear on copying regions
|
||||||
|
*/
|
||||||
|
|
||||||
|
rv->get_time_axis_view().reveal_dependent_views (*rv);
|
||||||
|
|
||||||
if (!drag_info.copy) {
|
if (!drag_info.copy) {
|
||||||
|
|
||||||
/* the region that used to be in the old playlist is not
|
/* the region that used to be in the old playlist is not
|
||||||
|
|
@ -3510,7 +3517,7 @@ Editor::show_verbose_time_cursor (nframes_t frame, double offset, double xpos, d
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (ARDOUR_UI::instance()->secondary_clock.mode ()) {
|
switch (Profile->get_small_screen() ? ARDOUR_UI::instance()->primary_clock.mode () : ARDOUR_UI::instance()->secondary_clock.mode ()) {
|
||||||
case AudioClock::BBT:
|
case AudioClock::BBT:
|
||||||
session->bbt_time (frame, bbt);
|
session->bbt_time (frame, bbt);
|
||||||
snprintf (buf, sizeof (buf), "%02" PRIu32 "|%02" PRIu32 "|%02" PRIu32, bbt.bars, bbt.beats, bbt.ticks);
|
snprintf (buf, sizeof (buf), "%02" PRIu32 "|%02" PRIu32 "|%02" PRIu32, bbt.bars, bbt.beats, bbt.ticks);
|
||||||
|
|
|
||||||
|
|
@ -273,6 +273,7 @@ int main (int argc, char *argv[])
|
||||||
ARDOUR::init (use_vst, try_hw_optimization);
|
ARDOUR::init (use_vst, try_hw_optimization);
|
||||||
setup_gtk_ardour_enums ();
|
setup_gtk_ardour_enums ();
|
||||||
Config->set_current_owner (ConfigVariableBase::Interface);
|
Config->set_current_owner (ConfigVariableBase::Interface);
|
||||||
|
ui->setup_profile ();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
engine = new ARDOUR::AudioEngine (jack_client_name);
|
engine = new ARDOUR::AudioEngine (jack_client_name);
|
||||||
|
|
|
||||||
31
libs/ardour/ardour/profile.h
Normal file
31
libs/ardour/ardour/profile.h
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
#ifndef __ardour_profile_h__
|
||||||
|
#define __ardour_profile_h__
|
||||||
|
|
||||||
|
#include <boost/dynamic_bitset.hpp>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
namespace ARDOUR {
|
||||||
|
|
||||||
|
class RuntimeProfile {
|
||||||
|
public:
|
||||||
|
enum Element {
|
||||||
|
SmallScreen,
|
||||||
|
LastElement
|
||||||
|
};
|
||||||
|
|
||||||
|
RuntimeProfile() { bits.resize (LastElement); }
|
||||||
|
~RuntimeProfile() {}
|
||||||
|
|
||||||
|
void set_small_screen() { bits[SmallScreen] = true; }
|
||||||
|
bool get_small_screen() const { return bits[SmallScreen]; }
|
||||||
|
|
||||||
|
private:
|
||||||
|
boost::dynamic_bitset<uint64_t> bits;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
extern RuntimeProfile* Profile;
|
||||||
|
|
||||||
|
}; // namespace ARDOUR
|
||||||
|
|
||||||
|
#endif /* __ardour_profile_h__ */
|
||||||
|
|
@ -42,6 +42,7 @@
|
||||||
#include <ardour/ardour.h>
|
#include <ardour/ardour.h>
|
||||||
#include <ardour/audio_library.h>
|
#include <ardour/audio_library.h>
|
||||||
#include <ardour/configuration.h>
|
#include <ardour/configuration.h>
|
||||||
|
#include <ardour/profile.h>
|
||||||
#include <ardour/plugin_manager.h>
|
#include <ardour/plugin_manager.h>
|
||||||
#include <ardour/audiosource.h>
|
#include <ardour/audiosource.h>
|
||||||
#include <ardour/utils.h>
|
#include <ardour/utils.h>
|
||||||
|
|
@ -61,6 +62,7 @@
|
||||||
#include "i18n.h"
|
#include "i18n.h"
|
||||||
|
|
||||||
ARDOUR::Configuration* ARDOUR::Config = 0;
|
ARDOUR::Configuration* ARDOUR::Config = 0;
|
||||||
|
ARDOUR::RuntimeProfile* ARDOUR::Profile = 0;
|
||||||
ARDOUR::AudioLibrary* ARDOUR::Library = 0;
|
ARDOUR::AudioLibrary* ARDOUR::Library = 0;
|
||||||
|
|
||||||
#ifdef HAVE_LIBLO
|
#ifdef HAVE_LIBLO
|
||||||
|
|
@ -294,6 +296,8 @@ ARDOUR::init (bool use_vst, bool try_optimization)
|
||||||
|
|
||||||
Config->set_use_vst (use_vst);
|
Config->set_use_vst (use_vst);
|
||||||
|
|
||||||
|
Profile = new RuntimeProfile;
|
||||||
|
|
||||||
if (setup_midi ()) {
|
if (setup_midi ()) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue