summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-08NO-OP: whitespace and some guaranteed assertion removalRobin Gareus
2018-12-08Fix crash when closing session, recursive mon-section removalRobin Gareus
2018-12-08Fix gmsynth detectionRobin Gareus
Previously this worked since gmsynth was sorted after reasonably synth
2018-12-07Tweaks to Mixer and Monitor keybindings:Ben Loftis
Add Mixer-specific view keybindings for list, vca, mon. (thanks to: the_CLA) Move monitor keybindings (mute, dim, mono) to be globally-accessible. Implement new mixer-specific actions to show/hide monitor,vcas,mixbuses (the_CLA) Move monitor funcs (mute,dim,mono) to globally-accessible actions. Make a new Monitor group insted of using Transport group. Allow use-monitor-section to be controlled by both menu and session-options dialog.
2018-12-07Fix progress report when resampling to fixed-point on importRobin Gareus
2018-12-07Fix importing to a fixed-point format with resamplingRobin Gareus
ResampledImportableSource::read() returns audio-frames; multiplication by number of channels read beyond the buffer.
2018-12-06add syntactic sugar for fetching toggle and radio actionsPaul Davis
2018-12-07Remove redundant call (there's no session, nothing to save)Robin Gareus
2018-12-07Fix editor sizing issue introduced in 4dc65e66Robin Gareus
Previously Editor::instant_save() returned if no session was loaded, effectively Config->add_instant_xml(get_state()); was never called. instant save() is called early on, in Editor's c'tor before the editor is realized and saves invalid window-size and window-state, which are used later.
2018-12-06Prefer testing the session instead of using a global variableRobin Gareus
2018-12-06Fix inconsistent session-checkRobin Gareus
under some circumstances, e.g. session-exit it is possible to to have inconsistent information ARDOUR_UI::instance()->session_loaded == true && ARDOUR_UI::instance()->the_session() == NULL This lead to a crash on MacOS/X. stopping the engine at exit may destory an Aggregate Device, leading to DeviceListChanged which in turn updates the engine-dialog.. else if (ARDOUR_UI::instance()->session_loaded) { float active_sr = ARDOUR_UI::instance()->the_session()->nominal_sample_rate ();
2018-12-05another replacement of ActionManager::get_action() by ActionMap::find_action()Paul Davis
2018-12-05start using ActionMap in preference to ActionManagerPaul Davis
2018-12-05some ActionMap infrastructure to start removing ActionManagerPaul Davis
2018-12-05add new variant of ActionMap::find_action()Paul Davis
This is more useful when replacing ActionManager::get_action
2018-12-05Fix generic plugin UI for plugins with only propertiesRobin Gareus
e.g. reMID.lv2 has only a atom/file-property and no control-inputs.
2018-12-05Skip silent sources on session-archive -- fixes #7699Robin Gareus
2018-12-05Prevent endless read of silent filesRobin Gareus
This fixes issues with analysis and archiving that rely on a readable to return 0. Note however that createSilent() uses max_samplecnt (INT64_MAX) by default. This relies on a region setting the length of its missing source.
2018-12-04Use atomic read for an atomic variableRobin Gareus
This probably no real world effect since there is a mutex in the loop that acts as a memory barrier.
2018-12-04Tab to prev/next name-entry: skip only rec-armed tracksRobin Gareus
2018-12-04Fix logic-error in d1cf2163: hide info for optimized buildsRobin Gareus
2018-12-03Expose DSP load windowRobin Gareus
2018-12-03Don't show DSP stats of inserts that don't collect them.Robin Gareus
2018-12-03Special case Mixbus Chanstrip for load calculationRobin Gareus
These processors don't have a UI, so their load stats are not easily visible. The stats can still be queried via Lua API or DSP-load overview window, so we retain this for debug builds.
2018-12-03Consistent AU factory Preset IDsRobin Gareus
Use AU's preset->presetNumber as identifier since std::map are sorted this also indirectly sorts presets by preset-number. (user presets start with a '/' and are listed first, sorted by name). Since Presets are now identified by URI on session load (53a0199a0) and AU user-presets can added/be removed (since ae4604a24b7), simple sequential numbering is no longer an option.
2018-12-02Don't invalidate AU preset on loadRobin Gareus
This works around async parameter-changed signal emission when loading an AU preset. A simple timeout is used to delay making the preset as modified.
2018-12-02GUI Updates for plugin save/delete operationsRobin Gareus
2018-12-02Implement AU plugin-preset removalRobin Gareus
2018-12-02Restore actual plugin-preset on session-loadRobin Gareus
This checks if the preset is actually available on the given system and also sets the user-flag correctly.
2018-12-02Towards fixing AU preset invalidationRobin Gareus
This is a step in the right direction: first load the preset and only if preset-loading was successful mark it as loaded. This still does not properly unset "parameter_changed_since_last_preset". AU signals "kAudioUnitEvent_ParameterValueChange" later in the event-loop.
2018-12-01AU: mark preset dirty when parameter changesRobin Gareus
2018-12-01Fix AU preset handlingRobin Gareus
load_property_list() takes a file-path (not URI). Actually it's not clear why we've ever used a `file:///` URI internally.
2018-12-01Night of the typos III (amend prev 2 commits)Robin Gareus
2018-12-01Also use xjadeo 64bit windows versionRobin Gareus
2018-12-01Harvid and xjadeo now feature 32/64bit window version(s)Robin Gareus
2018-11-30Freeze harvid/xjadeo PPC versionRobin Gareus
2018-11-29fix incorrect accumulation of export video options each time the dialog is usedPaul Davis
2018-11-29Fix a tiny memory leak, add_instant_xml() copies the nodeRobin Gareus
2018-11-29Delete temporary Window Proxy for dialogsRobin Gareus
There are two cases: (A) Proxy is created first, dialog is created later on demand (B) Dialog is created and directly registers its window as proxy In (B) the dialog is usually on the stack and destroyed when the ArdourDialog instances leaves scope. In that case ~ArdourDialog() is called and the proxy remained. Destroying the proxy does destroy the registered window in ~WindowProxy() If ArdourDialog's d'tor itself deletes the proxy it would recurse into itself. Existing APIs e.g. drop_window() likewise delete the window and cannot be safely called from ~ArdourDialog.
2018-11-29Fix uninitialized variableRobin Gareus
2018-11-29NO-OP: whitespaceRobin Gareus
2018-11-29Fix a tiny memory-leak when calling vforkRobin Gareus
2018-11-29Disk I/O: only allocate midi-buffer if neededRobin Gareus
This fixes a memory-leak (_midi_buf was allocated in DiskIOProc but only delete in DiskReader). Also skip midi-refill early on
2018-11-28Fix a potential memory-corruptionRobin Gareus
Disk-writer run() can concurrently use the ringbuffer after it was free()ed by the butler thread.
2018-11-28Remove ambiguous API implementationRobin Gareus
* PortEngine::available() implementation * AudioEngine::connected() wrapper Eventually we may re-introduce PortEngine::available along with a libardour internal port-engine.
2018-11-28Consolidate ambiguous engine API callsRobin Gareus
available(), connected(), running() were ill-defined and used interchangeably.
2018-11-28Consolidate API, prefer ->running()Robin Gareus
2018-11-28Consolidate two more engine-checksRobin Gareus
2018-11-28NO-OP: Clarify function nameRobin Gareus
2018-11-28Use central method to check for engine for processor operationsRobin Gareus