summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
2017-07-03Prefer Stereo-Balance Panner for stereo tracksRobin Gareus
2017-07-03FP8: toggle editor/mixer (now that "link" button is used)Robin Gareus
..and some TODO notes.
2017-07-02Add binding-proxy to ClickBoxRobin Gareus
2017-07-02FP8: properly control enum+integer parameters.Robin Gareus
2017-07-02Add API to step though parameter enumerationsRobin Gareus
2017-07-02FP8: Implement "Control-Link"Robin Gareus
2017-07-02Add control-focus notifications from bindable widgets.Robin Gareus
2017-07-02Controllable focus notification APIRobin Gareus
This allows to inform control-surfaces about the current GUI control-element. "Link" control-surface interaction to GUI focus.
2017-07-02OSC: GUI indicate invalid port and set to old port on defocus if not validLen Ovens
2017-07-02FP8: plugin GUI display optionsRobin Gareus
2017-07-02Prepare x-thread signals plugin-GUI visibilityRobin Gareus
2017-07-02FP8: fix 2-line textRobin Gareus
2017-07-01Remove old libardour API for plugin UIsRobin Gareus
2017-07-01OSC: issue 7176 patch applied. shows plugin descriptors.Len Ovens
2017-07-01OSC: add feedback for solo isolate and solo safe to strips (issue 7161)Len Ovens
2017-07-01OSC: add strip type flag for master and monitor to strip listLen Ovens
2017-07-01Fix thinko in dd3f922788Robin Gareus
2017-07-01FP8: Use Mixer-OrderRobin Gareus
2017-06-30OSC: include all of select in feedback[13]Len Ovens
2017-06-30OSC: try to prevent race when clearing devicesLen Ovens
2017-06-30OSC: test param type in a way that works when optimized too.Len Ovens
2017-07-01FP8: Clear input port on close. Fixes crash when switching snapshotsRobin Gareus
The midi_input_handler for the AsyncMIDIPort is connected to the main event-loop. Events may still be delivered after the surface was destroyed. That by itself is not harmful, unless a given message produces a reply: The _output_port is already gone, FaderPort8::tx_midi crashes.
2017-07-01Addressing #7371: don't trigger session->undo() from non-GUI-threadJohannes Mueller
When triggering Session::undo() or Session::redo() from a non-GUI-thread (e.g. from a surface protocol) Ardour crashes if setting a CairoWidget dirty due to a ENSURE_GUI_THREAD assertion. (see #7371) By triggering undo by BasicUI::access_action() rather than by Session::undo() we ensure that the GUI thread will finally call Session::undo(). So more like a workaround ... but better than crashing :)
2017-06-30Don't invert azimuth & elevation display valueRobin Gareus
2017-06-30NO-OP: whitespaceRobin Gareus
2017-06-30Remove cruft (ParameterDescriptor sets this)Robin Gareus
2017-06-30FP8: Scribble-strip display preferencesRobin Gareus
2017-06-30FP8: Allow to select Plugin PresetsRobin Gareus
2017-06-30FP8: don't allow to toggle Channelstrip bypass/enableRobin Gareus
2017-06-30FaderPort8 updatesRobin Gareus
* use 2 lines for Plugin Parameter Names * Expose Plugin Bypass/Enable per plugin - Shift + Select in Plugin Select Mode - Bypass Button in Plugin Parameter Edit Mode
2017-06-30Tweak LV2 float parameter printingRobin Gareus
2017-06-29Accommodate newly introduced source(s) in our MSVC project (gtkmm2ext)John Emmas
2017-06-29Accommodate newly introduced source(s) in our MSVC project (cairocanvas)John Emmas
2017-06-29Remove ambiguity ('CheckMenuItem' conflicts with an item already existing in ↵John Emmas
MSVC)
2017-06-29Fix multi-channel delaylines #7409 part 2/2Robin Gareus
2017-06-29Fix send mono to stereo (or N to M; M > N) sends #7409 part 1/2Robin Gareus
2017-06-29Add a convenience MenuHelper c'torRobin Gareus
This is pretty much Gtkmm's * CheckMenuElem::CheckMenuElem * MenuElem::MenuElem except MenuItems are created with bool mnemonic = false;
2017-06-28fix OSX builds (llmath compat)Robin Gareus
2017-06-27Distinguish error-messages.Robin Gareus
The vast majority of errors reported by users as "Cannot configure audio/midi engine with session parameters" have nothing to do with engine-parameters.
2017-06-27Update fluidsynthRobin Gareus
Fix potential crashes in case fluid-synth runs into an OOM error, and address a const-cast compiler warning. Switch to track github repo (instead of sf.net git)
2017-06-26Add convenience fn to compute a file's sha1sumRobin Gareus
2017-06-26Fix friend declaration in WaveView code for non-c++11 buildsTim Mayberry
2017-06-26Reimplementation of large parts of the WaveView classTim Mayberry
The drawing itself should be unchanged but much of the rest of the implementation has changed. The WaveViewThreads and WaveViewDrawingThread classes were added and allow multiple drawing threads. The Item::prepare_for_render interface is implemented by WaveView to enable queuing draw requests for the drawing threads to process as soon as the state change occurs during Editor::visual_changer, which often means the images will be finished by the time they are needed in WaveView::render. This can significantly reduce total render time and also flickering caused by images not being ready for display. If the drawing thread/s cannot finish the request by the time it is required in WaveView::render then cancel it and draw the WaveViewImage in the GUI thread if it is likely it can be completed in the current render pass/frame. This change also helps reduce the flickering caused by images not being ready with threaded rendering, but with several drawing threads, drawing in the GUI thread may not often occur (unless explicitly requested). Allow unfinished images to be returned from the cache in WaveView::prepare_for_render so that new draw requests aren't queued for duplicate images. This reduces the amount of drawing for instance in compositions where there are many instances of the same sample/waveform displayed on the canvas as only a single image should be drawn. Use a random width within a certain range for WaveView::optimal_image_width_samples so that image drawing is less likely to occur at the same time (which will cause a spike in render/draw time and increase the chance of flickering waveforms). Move implementations of the private WaveView classes into wave_view_private.h and wave_view_private.cc source files. Incorporate a fix for limiting the waveview image size to the cairo image size limit. Should hopefully Resolve: #6478
2017-06-26Add Canvas::get_microseconds_since_render_start() methodTim Mayberry
Initial use is for the WaveView class to determine whether on not to draw the waveform in the GUI thread.
2017-06-26Add Canvas::get_last_render_start_timestamp methodTim Mayberry
2017-06-26Only call Gtk::Widget::queue_draw_area in canvas when item and visible area ↵Tim Mayberry
intersect Refactor GtkCanvas::request_redraw to use Rect::intersection
2017-06-26Add an optional ArdourCanvas::Item::prepare_for_render interfaceTim Mayberry
Called when an item has requested a redraw and intersects with visible canvas area. Also add Canvas::prepare_for_render that will call Item::prepare_for_render for items visible on the canvas.
2017-06-26Add PreRender signal to the canvasTim Mayberry
Emitted by the canvas immediately before rendering.
2017-06-26Whitespace fixes in canvas.hTim Mayberry
2017-06-25Allow saving state w/o backendRobin Gareus
Connections are remembered by ARDOUR::Port to re-establish at load.