Merged with trunk, and a few trivial GUI updates etc.

git-svn-id: svn://localhost/ardour2/branches/midi@664 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
David Robillard 2006-07-05 19:47:25 +00:00
parent 5dc4abef79
commit 22c20ab6f2
200 changed files with 5920 additions and 12700 deletions

View file

@ -27,7 +27,7 @@ gtkardour.Merge ([
libraries['ardour_cp'],
libraries['gtkmm2ext'],
libraries['midi++2'],
libraries['pbd3'],
libraries['pbd'],
libraries['gtkmm2'],
libraries['glib2'],
libraries['libgnomecanvas2'],
@ -255,8 +255,7 @@ else:
env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour2', ardoursh))
if env['NLS']:
Export('gtkardour', 'intl_files')
SConscript ('po/SConscript')
i18n (gtkardour, gtkardour_files+skipped_files+fft_analysis_files, env)
# configuration files
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour2'), 'ardour2_ui.rc'))

View file

@ -5,6 +5,9 @@ cFrameBase 0.75 0.75 0.76 1.0
cAudioTrackBase 0.75 0.75 0.85 0.41
cAudioTrackOutline 0.00 0.00 0.00 1.00
cAudioBusBase 0.75 0.80 0.75 0.41
cMidiTrackBase 0.85 0.75 0.75 0.41
cMidiTrackOutline 0.00 0.00 0.00 1.00
cMidiBusBase 0.80 0.75 0.75 0.41
cMeterBar 0.40 0.40 0.40 1.0
cTempoBar 0.45 0.45 0.45 1.0
cMarkerBar 0.50 0.50 0.50 1.0

View file

@ -520,6 +520,25 @@ style "audio_bus_base"
bg[NORMAL] = {0, 0.36, 0.40 }
}
style "midi_track_base" = "default_base"
{
font_name = "sans 6"
fg[NORMAL] = { 0.77, 0.77, 0.72 }
bg[NORMAL] = { 0.22, 0.18, 0.18 }
bg[ACTIVE] = { 0.20, 0.20, 0.20 }
bg[PRELIGHT] = { 0.20, 0.20, 0.20 }
bg[INSENSITIVE] = { 0.20, 0.20, 0.20 }
bg[SELECTED] = { 0.20, 0.20, 0.20 }
}
style "midi_bus_base"
{
font_name = "sans 6"
fg[NORMAL] = { 0.77, 0.77, 0.72 }
fg[NORMAL] = { 0.8, 0.7, 0.2 }
bg[NORMAL] = {0.40, 0.36, 0.00 }
}
style "track_name_display"
{
font_name = "sans medium 8"

View file

@ -544,7 +544,7 @@ ARDOUR_UI::update_buffer_load ()
}
void
ARDOUR_UI::count_recenabled_diskstreams (AudioDiskstream& ds)
ARDOUR_UI::count_recenabled_diskstreams (Diskstream& ds)
{
if (ds.record_enabled()) {
rec_enabled_diskstreams++;
@ -572,7 +572,7 @@ ARDOUR_UI::update_disk_space()
if (session->actively_recording()){
rec_enabled_diskstreams = 0;
session->foreach_audio_diskstream (this, &ARDOUR_UI::count_recenabled_diskstreams);
session->foreach_diskstream (this, &ARDOUR_UI::count_recenabled_diskstreams);
if (rec_enabled_diskstreams) {
frames /= rec_enabled_diskstreams;
@ -1431,7 +1431,7 @@ ARDOUR_UI::stop_blinking ()
void
ARDOUR_UI::add_diskstream_to_menu (AudioDiskstream& dstream)
ARDOUR_UI::add_diskstream_to_menu (Diskstream& dstream)
{
using namespace Gtk;
using namespace Menu_Helpers;
@ -1469,7 +1469,7 @@ ARDOUR_UI::select_diskstream (GdkEventButton *ev)
MenuList& items = diskstream_menu->items();
items.push_back (MenuElem (_("No Stream"), (bind (mem_fun(*this, &ARDOUR_UI::diskstream_selected), -1))));
session->foreach_audio_diskstream (this, &ARDOUR_UI::add_diskstream_to_menu);
session->foreach_diskstream (this, &ARDOUR_UI::add_diskstream_to_menu);
if (ev) {
diskstream_menu->popup (ev->button, ev->time);

View file

@ -546,7 +546,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
void session_add_audio_route (bool disk, int32_t input_channels, int32_t output_channels, ARDOUR::TrackMode mode);
void session_add_midi_route (bool disk);
void add_diskstream_to_menu (ARDOUR::AudioDiskstream&);
void add_diskstream_to_menu (ARDOUR::Diskstream&);
void diskstream_selected (gint32);
Gtk::Menu *diskstream_menu;
gint32 selected_dstream;
@ -637,7 +637,7 @@ class ARDOUR_UI : public Gtkmm2ext::UI
void toggle_monitor_enable (guint32);
uint32_t rec_enabled_diskstreams;
void count_recenabled_diskstreams (ARDOUR::AudioDiskstream&);
void count_recenabled_diskstreams (ARDOUR::Diskstream&);
About* about;
bool shown_flag;

View file

@ -76,7 +76,7 @@ ARDOUR_UI::connect_to_session (Session *s)
rec_button.set_sensitive (true);
shuttle_box.set_sensitive (true);
if (session->n_audio_diskstreams() == 0) {
if (session->n_diskstreams() == 0) {
session->DiskstreamAdded.connect (mem_fun(*this, &ARDOUR_UI::diskstream_added));
}

View file

@ -241,7 +241,6 @@ AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session& sess, Route& rt
map_frozen ();
} else {
/* bus */
controls_ebox.set_name ("BusControlsBaseUnselected");
@ -826,7 +825,7 @@ AudioTimeAxisView::rename_current_playlist ()
AudioPlaylist *pl;
AudioDiskstream *ds;
if (((ds = get_diskstream()) == 0) || ds->destructive()
if (((ds = dynamic_cast<AudioDiskstream*>(get_diskstream())) == 0) || ds->destructive()
|| ((pl = dynamic_cast<AudioPlaylist*>(ds->playlist())) == 0)) {
return;
}
@ -856,7 +855,7 @@ AudioTimeAxisView::use_copy_playlist (bool prompt)
AudioDiskstream *ds;
string name;
if (((ds = get_diskstream()) == 0) || ds->destructive()
if (((ds = dynamic_cast<AudioDiskstream*>(get_diskstream())) == 0) || ds->destructive()
|| ((pl = dynamic_cast<AudioPlaylist*>(ds->playlist())) == 0)) {
return;
}
@ -897,7 +896,7 @@ AudioTimeAxisView::use_new_playlist (bool prompt)
AudioDiskstream *ds;
string name;
if (((ds = get_diskstream()) == 0) || ds->destructive()
if (((ds = dynamic_cast<AudioDiskstream*>(get_diskstream())) == 0) || ds->destructive()
|| ((pl = dynamic_cast<AudioPlaylist*>(ds->playlist())) == 0)) {
return;
}
@ -936,7 +935,7 @@ AudioTimeAxisView::clear_playlist ()
AudioPlaylist *pl;
AudioDiskstream *ds;
if ((ds = get_diskstream()) != 0) {
if ((ds = dynamic_cast<AudioDiskstream*>(get_diskstream())) != 0) {
if ((pl = dynamic_cast<AudioPlaylist*>(ds->playlist())) != 0) {
editor.clear_playlist (*pl);
}
@ -994,7 +993,7 @@ AudioTimeAxisView::update_diskstream_display ()
{
AudioDiskstream *ds;
if ((ds = get_diskstream()) != 0) {
if ((ds = dynamic_cast<AudioDiskstream*>(get_diskstream())) != 0) {
set_playlist (dynamic_cast<AudioPlaylist*> (ds->playlist ()));
}
@ -1096,7 +1095,7 @@ AudioTimeAxisView::name() const
Playlist *
AudioTimeAxisView::playlist () const
{
AudioDiskstream *ds;
Diskstream *ds;
if ((ds = get_diskstream()) != 0) {
return ds->playlist();
@ -1143,10 +1142,16 @@ AudioTimeAxisView::hide_click ()
editor.hide_track_in_display (*this);
}
ARDOUR::AudioDiskstream*
AudioTimeAxisView::get_diskstream() const
{
return dynamic_cast<ARDOUR::AudioDiskstream*>(RouteUI::get_diskstream());
}
Region*
AudioTimeAxisView::find_next_region (jack_nframes_t pos, RegionPoint point, int32_t dir)
{
AudioDiskstream *stream;
Diskstream *stream;
Playlist *playlist;
if ((stream = get_diskstream()) != 0 && (playlist = stream->playlist()) != 0) {
@ -1721,7 +1726,7 @@ bool
AudioTimeAxisView::cut_copy_clear (Selection& selection, CutCopyOp op)
{
Playlist* what_we_got;
AudioDiskstream* ds = get_diskstream();
AudioDiskstream* ds = dynamic_cast<AudioDiskstream*>(get_diskstream());
Playlist* playlist;
bool ret = false;

View file

@ -99,6 +99,8 @@ class AudioTimeAxisView : public RouteUI, public TimeAxisView
void hide_dependent_views (TimeAxisViewItem&);
void reveal_dependent_views (TimeAxisViewItem&);
ARDOUR::AudioDiskstream* get_diskstream() const;
ARDOUR::Region* find_next_region (jack_nframes_t pos, ARDOUR::RegionPoint, int32_t dir);
string name() const;

View file

@ -7,6 +7,9 @@ COLORID(cFrameBase)
COLORID(cAudioTrackBase)
COLORID(cAudioTrackOutline)
COLORID(cAudioBusBase)
COLORID(cMidiTrackBase)
COLORID(cMidiTrackOutline)
COLORID(cMidiBusBase)
COLORID(cTimeStretchFill)
COLORID(cTimeStretchOutline)
COLORID(cAutomationLine)

View file

@ -1599,7 +1599,7 @@ Editor::build_track_region_context_menu (jack_nframes_t frame)
AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (clicked_trackview);
if (atv) {
AudioDiskstream* ds;
Diskstream* ds;
Playlist* pl;
if ((ds = atv->get_diskstream()) && ((pl = ds->playlist()))) {
@ -1626,7 +1626,7 @@ Editor::build_track_crossfade_context_menu (jack_nframes_t frame)
AudioTimeAxisView* atv = dynamic_cast<AudioTimeAxisView*> (clicked_trackview);
if (atv) {
AudioDiskstream* ds;
Diskstream* ds;
Playlist* pl;
AudioPlaylist* apl;

View file

@ -20,9 +20,9 @@
#include <fft_result.h>
#include <fft_graph.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <cstdlib>
#include <string>
#include <cmath>
#include <iostream>

View file

@ -665,15 +665,16 @@ MixerStrip::select_stream_input ()
MenuList& items = stream_menu->items();
stream_menu->set_name ("ArdourContextMenu");
Session::AudioDiskstreamList streams = _session.audio_disk_streams();
Session::DiskstreamList streams = _session.disk_streams();
for (Session::AudioDiskstreamList::iterator i = streams.begin(); i != streams.end(); ++i) {
for (Session::DiskstreamList::iterator i = streams.begin(); i != streams.end(); ++i) {
AudioDiskstream* ads = dynamic_cast<AudioDiskstream*>(*i);
if (!(*i)->hidden()) {
if (ads && !(*i)->hidden()) {
items.push_back (CheckMenuElem ((*i)->name(), bind (mem_fun(*this, &MixerStrip::stream_input_chosen), *i)));
items.push_back (CheckMenuElem (ads->name(), bind (mem_fun(*this, &MixerStrip::stream_input_chosen), ads)));
if (get_diskstream() == *i) {
if (get_diskstream() == ads) {
ignore_toggle = true;
static_cast<CheckMenuItem *> (&items.back())->set_active (true);
ignore_toggle = false;

View file

@ -90,7 +90,7 @@ void
PlaylistSelector::show_for (RouteUI* ruix)
{
vector<const char*> item;
AudioDiskstream* this_ds;
Diskstream* this_ds;
string str;
rui = ruix;

View file

@ -27,7 +27,7 @@ print "Updating pot file: "
domain = gtkardour['DOMAIN']
potfile = gtkardour['POTFILE']
poaction = Action('intltool-update -p -g=' + domain)
poaction = env.Action('intltool-update -p -g=' + domain)
Execute(poaction)

View file

@ -1,5 +1,5 @@
/*
Copyright (C) 2002 Paul Davis
Copyright (C) 2002-2006 Paul Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -35,6 +35,8 @@
#include <ardour/route.h>
#include <ardour/audio_track.h>
#include <ardour/audio_diskstream.h>
#include <ardour/midi_track.h>
#include <ardour/midi_diskstream.h>
#include "i18n.h"
using namespace sigc;
@ -879,13 +881,22 @@ RouteUI::is_audio_track () const
return dynamic_cast<AudioTrack*>(&_route) != 0;
}
AudioDiskstream*
bool
RouteUI::is_midi_track () const
{
return dynamic_cast<MidiTrack*>(&_route) != 0;
}
Diskstream*
RouteUI::get_diskstream () const
{
AudioTrack *at;
MidiTrack *mt;
if ((at = dynamic_cast<AudioTrack*>(&_route)) != 0) {
return &at->disk_stream();
} else if ((mt = dynamic_cast<MidiTrack*>(&_route)) != 0) {
return &mt->disk_stream();
} else {
return 0;
}
@ -896,6 +907,13 @@ RouteUI::audio_track() const
{
return dynamic_cast<AudioTrack*>(&_route);
}
MidiTrack*
RouteUI::midi_track() const
{
return dynamic_cast<MidiTrack*>(&_route);
}
string
RouteUI::name() const
{

View file

@ -35,6 +35,7 @@ namespace Gtkmm2ext {
namespace ARDOUR {
class AudioTrack;
class MidiTrack;
}
namespace Gtk {
@ -50,10 +51,13 @@ class RouteUI : public virtual AxisView
virtual ~RouteUI();
bool is_audio_track() const;
ARDOUR::AudioDiskstream* get_diskstream() const;
bool is_midi_track() const;
//ARDOUR::AudioDiskstream* get_diskstream() const;
ARDOUR::Diskstream* get_diskstream() const;
ARDOUR::Route& route() const { return _route; }
ARDOUR::AudioTrack* audio_track() const;
ARDOUR::MidiTrack* midi_track() const;
string name() const;

View file

@ -39,10 +39,14 @@ StreamView::StreamView (AudioTimeAxisView& tv)
crossfades_visible = true;
if (tv.is_audio_track()) {
/* TRACK */
/* AUDIO TRACK */
//stream_base_color = RGBA_TO_UINT (222,223,218,255);
stream_base_color = color_map[cAudioTrackBase];
} else if (tv.is_midi_track()) {
/* MIDI TRACK */
stream_base_color = color_map[cMidiTrackBase];
} else {
// FIXME: distinction between audio and midi busses
/* BUS */
//stream_base_color = RGBA_TO_UINT (230,226,238,255);
stream_base_color = color_map[cAudioBusBase];