ARDOUR_UI::update_buffer_load ()
{
char buf[64];
- uint32_t c, p;
if (_session) {
- c = _session->capture_load ();
- p = _session->playback_load ();
-
snprintf (buf, sizeof (buf), _("Buffers p:%" PRIu32 "%% c:%" PRIu32 "%%"),
_session->playback_load(), _session->capture_load());
buffer_load_label.set_text (buf);
static void
gnome_canvas_simpleline_destroy (GtkObject *object)
{
- GnomeCanvasSimpleLine *line;
-
g_return_if_fail (object != NULL);
g_return_if_fail (GNOME_IS_CANVAS_SIMPLELINE (object));
- line = GNOME_CANVAS_SIMPLELINE (object);
-
if (GTK_OBJECT_CLASS (parent_class)->destroy)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}
int x, int y,
int width, int height)
{
- GnomeCanvasSimpleLine *simpleline;
-
- simpleline = GNOME_CANVAS_SIMPLELINE (item);
-
/* XXX not implemented */
}
double x1, y1, x2, y2;
double dx, dy;
- simpleline = GNOME_CANVAS_SIMPLELINE (item);
-
*actual_item = item;
/* Find the bounds for the line */
double firstx = (*in.begin())->when;
double endx = (*the_end)->when;
- double miny = in.get_min_y ();
- double maxy = in.get_max_y ();
in.freeze ();
in.clear ();
for (list<Point*>::iterator i = fade[In].points.begin(); i != fade[In].points.end(); ++i) {
double when = firstx + ((*i)->x * (endx - firstx));
- double value = (*i)->y; // miny + ((*i)->y * (maxy - miny));
+ double value = (*i)->y;
in.add (when, value);
}
firstx = (*out.begin())->when;
endx = (*the_end)->when;
- miny = out.get_min_y ();
- maxy = out.get_max_y ();
out.freeze ();
out.clear ();
for (list<Point*>::iterator i = fade[Out].points.begin(); i != fade[Out].points.end(); ++i) {
double when = firstx + ((*i)->x * (endx - firstx));
- double value = (*i)->y; // miny + ((*i)->y * (maxy - miny));
+ double value = (*i)->y;
out.add (when, value);
}
{
const XMLProperty* prop;
XMLNode* geometry;
- int x, y, xoff, yoff;
+ int x, y;
Gdk::Geometry g;
if ((prop = node.property ("id")) != 0) {
g.base_height = default_height;
x = 1;
y = 1;
- xoff = 0;
- yoff = 21;
if ((geometry = find_named_node (node, "geometry")) != 0) {
if (prop) {
y = atoi (prop->value());
}
-
- if ((prop = geometry->property ("x_off")) == 0) {
- prop = geometry->property ("x-off");
- }
- if (prop) {
- xoff = atoi (prop->value());
- }
- if ((prop = geometry->property ("y_off")) == 0) {
- prop = geometry->property ("y-off");
- }
- if (prop) {
- yoff = atoi (prop->value());
- }
}
set_default_size (g.base_width, g.base_height);
if (is_realized()) {
Glib::RefPtr<Gdk::Window> win = get_window();
- int x, y, xoff, yoff, width, height;
+ int x, y, width, height;
win->get_root_origin(x, y);
- win->get_position(xoff, yoff);
win->get_size(width, height);
XMLNode* geometry = new XMLNode ("geometry");
geometry->add_property("x-pos", string(buf));
snprintf(buf, sizeof(buf), "%d", y);
geometry->add_property("y-pos", string(buf));
- snprintf(buf, sizeof(buf), "%d", xoff);
- geometry->add_property("x-off", string(buf));
- snprintf(buf, sizeof(buf), "%d", yoff);
- geometry->add_property("y-off", string(buf));
snprintf(buf,sizeof(buf), "%d",gtk_paned_get_position (static_cast<Paned*>(&edit_pane)->gobj()));
geometry->add_property("edit-horizontal-pane-pos", string(buf));
geometry->add_property("notebook-shrunk", _notebook_shrunk ? "1" : "0");
XMLProperty* prop;
char buf[32];
XMLNode* node = ARDOUR_UI::instance()->editor_settings();
- int width, height;
enum Pane {
Horizontal = 0x1,
static Pane done;
- XMLNode* geometry;
-
- width = default_width;
- height = default_height;
-
- if ((geometry = find_named_node (*node, "geometry")) != 0) {
-
- prop = geometry->property ("x-size");
- if (prop) {
- width = atoi (prop->value());
- }
- prop = geometry->property ("y-size");
- if (prop) {
- height = atoi (prop->value());
- }
- }
+ XMLNode* geometry = find_named_node (*node, "geometry");
+ assert (geometry);
if (which == static_cast<Paned*> (&edit_pane)) {
pair<TimeAxisView*, int> const tvp = _editor->trackview_by_y_position (_drags->current_pointer_y ());
RouteTimeAxisView* tv = dynamic_cast<RouteTimeAxisView*> (tvp.first);
- layer_t layer = tvp.second;
-
- if (tv && tv->layer_display() == Overlaid) {
- layer = 0;
- }
/* The region motion is only processed if the pointer is over
an audio track.
{
double wx, wy;
double cx, cy;
- framepos_t where;
RouteTimeAxisView *dest_rtv = 0;
RouteTimeAxisView *source_rtv = 0;
event.button.x = wx;
event.button.y = wy;
- where = event_frame (&event, &cx, &cy);
+ event_frame (&event, &cx, &cy);
std::pair<TimeAxisView*, int> const tv = trackview_by_y_position (cy);
if (tv.first == 0) {
} else {
// find parent node, add as new child
TreeModel::iterator i;
- TreeModel::Children rows = _model->children();
boost::unordered_map<string, Gtk::TreeModel::RowReference>::iterator it;
*/
row = *(_model->insert (subrows.end()));
- }
- else {
- row = *(_model->append());
+
+ } else {
+ row = *(_model->append());
}
row[_columns.property_toggles_visible] = true;
/* find the region in our model and update its row */
TreeModel::Children rows = _model->children ();
- TreeModel::iterator i = rows.begin ();
-
}
if (what_changed.contains (ARDOUR::Properties::hidden)) {
{
string driver = driver_combo.get_active_text();
string::size_type maxlen = 0;
- int maxindex = -1;
int n = 0;
enumerate_devices (driver);
for (vector<string>::iterator i = strings.begin(); i != strings.end(); ++i, ++n) {
if ((*i).length() > maxlen) {
maxlen = (*i).length();
- maxindex = n;
}
}
MidiRegionView::button_release (GdkEventButton* ev)
{
double event_x, event_y;
- framepos_t event_frame = 0;
if (ev->button != 1) {
return false;
group->w2i(event_x, event_y);
group->ungrab(ev->time);
- event_frame = trackview.editor().pixel_to_frame(event_x);
-
switch (_mouse_state) {
case Pressed: // Clicked
MidiRegionView::channel_edit ()
{
bool first = true;
- bool mixed = false;
uint8_t current_channel;
if (_selection.empty()) {
}
for (Selection::iterator i = _selection.begin(); i != _selection.end(); ++i) {
- Selection::iterator next = i;
if (first) {
current_channel = (*i)->note()->channel ();
first = false;
- } else {
- if (current_channel != (*i)->note()->channel()) {
- mixed = true;
- }
}
}
char buf[32];
XMLNode* node = ARDOUR_UI::instance()->mixer_settings();
XMLNode* geometry;
- int width, height;
+ int height;
static int32_t done[3] = { 0, 0, 0 };
- width = default_width;
height = default_height;
if ((geometry = find_named_node (*node, "geometry")) != 0) {
-
- if ((prop = geometry->property ("x_size")) == 0) {
- prop = geometry->property ("x-size");
- }
- if (prop) {
- width = atoi (prop->value());
- }
if ((prop = geometry->property ("y_size")) == 0) {
prop = geometry->property ("y-size");
}
processor = child->processor ();
}
- int ret = false;
-
if (processor && Keyboard::is_delete_event (ev)) {
Glib::signal_idle().connect (sigc::bind (
sigc::mem_fun(*this, &ProcessorBox::idle_delete_processor),
boost::weak_ptr<Processor>(processor)));
- ret = true;
} else if (Keyboard::is_context_menu_event (ev)) {
}
show_processor_menu (ev->time);
- ret = true;
} else if (processor && Keyboard::is_button2_event (ev)
#ifndef GTKOSX
} else {
processor->activate ();
}
- ret = true;
-
}
return false;
case Seconds:
return seconds != 0;
}
+
+ /* NOTREACHED */
+ assert (false);
+ return false;
}
};
if (destructive()) {
(*chan)->capture_transition_buf->get_read_vector(&transvec);
size_t transcount = transvec.len[0] + transvec.len[1];
- bool have_start = false;
size_t ti;
for (ti=0; ti < transcount; ++ti) {
(*chan)->write_source->mark_capture_start (captrans.capture_val);
(*chan)->curr_capture_cnt = 0;
- have_start = true;
- }
- else if (captrans.type == CaptureEnd) {
+ } else if (captrans.type == CaptureEnd) {
// capture end, the capture_val represents total frames in capture
framecnt_t fade_in = 64;
framecnt_t fade_out = 64;
- framepos_t position;
- framecnt_t len;
- frameoffset_t offset;
switch (region->coverage (start, end)) {
case OverlapNone:
}
case OverlapStart: {
- position = region->position() - start;
- len = end - region->position();
-
if (end > region->position() + region->fade_in()->back()->when)
fade_in = region->fade_in()->back()->when; //end is after fade-in, preserve the fade-in
if (end > region->last_frame() - region->fade_out()->back()->when)
}
case OverlapEnd: {
- position = 0;
- offset = start - region->position();
- len = region->length() - offset;
-
if (start < region->last_frame() - region->fade_out()->back()->when) //start is before fade-out, preserve the fadeout
fade_out = region->fade_out()->back()->when;
boost::shared_ptr<gain_t> gbuf;
framecnt_t to_read;
framecnt_t to_zero;
- pair<framepos_t,framepos_t> extent = _playlist->get_extent();
/* we must be careful not to read beyond the end of our "section" of
* the playlist, because otherwise we may read data that exists, but
MidiRegion::SourceList srcs;
MidiRegion::SourceList::iterator src;
vector<CaptureInfo*>::iterator ci;
- bool mark_write_completed = false;
finish_capture (true);
}
}
-
- mark_write_completed = true;
}
use_new_write_source (0);
void
MidiTrack::map_input_active (bool yn)
{
- bool changed = false;
-
if (!_input) {
return;
}
MidiPort* mp = dynamic_cast<MidiPort*> (&*p);
if (yn != mp->input_active()) {
mp->set_input_active (yn);
- changed = true;
}
}
}
{
RegionList::iterator i;
framecnt_t old_length = 0;
- int ret = -1;
if (!holding_state()) {
old_length = _get_extent().second;
}
notify_region_removed (region);
- ret = 0;
break;
}
}
return;
}
- pair<PluginStatusList::iterator, bool> res = statuses.insert (ps);
- //cerr << "Added " << t << " " << id << " " << status << " success ? " << res.second << endl;
+ statuses.insert (ps);
}
ARDOUR::PluginInfoList&
DEBUG_TRACE (DEBUG::Processors, string_compose (
"%1 adding processor %2\n", name(), processor->name()));
- ChanCount old_pms = processor_max_streams;
-
if (!_session.engine().connected() || !processor) {
return 1;
}
loc = _processors.end ();
}
- ChanCount old_pms = processor_max_streams;
-
if (!_session.engine().connected()) {
return 1;
}
pi->set_count (1);
}
- ProcessorList::iterator inserted = _processors.insert (loc, *i);
+ _processors.insert (loc, *i);
if ((*i)->active()) {
(*i)->activate ();
void
Route::clear_processors (Placement p)
{
- const ChanCount old_pms = processor_max_streams;
-
if (!_session.engine().connected()) {
return;
}
return 0;
}
- ChanCount old_pms = processor_max_streams;
-
if (!_session.engine().connected()) {
return 1;
}
Session::silent_process_routes (pframes_t nframes, bool& need_butler)
{
bool record_active = actively_recording();
- int declick = get_transport_declick_required();
bool rec_monitors = get_rec_monitors_input();
boost::shared_ptr<RouteList> r = routes.reader ();
- if (transport_sub_state & StopPendingCapture) {
- /* force a declick out */
- declick = -1;
- }
-
const framepos_t start_frame = _transport_frame;
const framepos_t end_frame = _transport_frame + lrintf(nframes * _transport_speed);
memset (delta_accumulator, 0, sizeof (int32_t) * delta_accumulator_size);
average_slave_delta = 0L;
- this_delta = 0;
}
}
framecnt_t
SndFileSource::destructive_write_unlocked (Sample* data, framecnt_t cnt)
{
- framepos_t old_file_pos;
-
if (!writable()) {
warning << string_compose (_("attempt to write a non-writable audio file source (%1)"), _path) << endmsg;
return 0;
}
}
- old_file_pos = file_pos;
update_length (file_pos, cnt);
if (_build_peakfiles) {
Plugin::FeatureSet features;
Sample* data = 0;
- float* bufs[1] = { 0 };
int buff_size = 1024;
int step_size = 64;
data = new Sample[buff_size];
- bufs[0] = data;
AnalysisFeatureList::iterator i = positions.begin();
{
{
/* for some reason this appears necessary to get glib's thread private stuff to work */
- GPrivate* key;
- key = g_private_new (NULL);
+ g_private_new (NULL);
}
_key = g_private_new (free_per_thread_pool);