summaryrefslogtreecommitdiff
path: root/libs
AgeCommit message (Collapse)Author
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-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-11-29Fix a tiny memory leak, add_instant_xml() copies the nodeRobin Gareus
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-26Fix stuck connection block when template load fails.Robin Gareus
Session::new_route_from_template() unconditionally calls IO::disable_connecting(), and needs to be reverted likewise (no RAII here).
2018-11-26Prevent deadlock when removing routes w/o engineRobin Gareus
2018-11-26Don't allow to add/remove monitor-section w/o engineRobin Gareus
Adding/removing the Monitor section changes port-connections, a port-engine is needed to establish connections. Ideally we'd allow this and queue for connection changes. This will however require deep changes. Also toggling the monitor-section on/off/on w/o engine can later result in failure to register ports. Due to lack of engine-signals not all shared_ptr<> port references are dropped.
2018-11-26Fix various issues when the engine disconnects:Robin Gareus
Previously Port::PortDrop was never handled. The signal was disconnected directly when the connection is re-used by Port::PortSignalDrop. Ports::drop() was not called when the engine was stopped or disconnected, and port-handles were not invalidated. This lead to crashes whenever a port-related operation was performed while the engine was stopped. e.g. adding/removing tracks or plugins (latency recompute, notify port-engine) and various other operations.
2018-11-25Do not allocate MIDI buffers for signal analysisRobin Gareus
At this point in time MIDI buffers are vastly over-sized. They include VST and LV2 event structure. This added about a MB per plugin for no benefit.
2018-11-25Fix Linux/PPC64 runtimeRobin Gareus
This fixes an error while loading shared libraries: libardour.so R_PPC64_ADDR32 reloc at 0x... for symbol `' out of range Treating a local as an immediate value in asm code makes the library non-relocatable.
2018-11-25Allow compilation with winpthreads -- closes #7691Robin Gareus
2018-11-24Auditioner: check if removing synth succeedsRobin Gareus
remove_processor() also calls drop_references, when successful.
2018-11-23Handle some midnam edge-casesRobin Gareus
Whitespace between XML nodes can result in "text" children. Those need to be skipped in the patch-name list.
2018-11-23NO-OP: whitespace and re-organizationRobin Gareus
2018-11-23Load audition synth on demandRobin Gareus
This saves some memory (gmsynth loads a 30MB soundfont), and also re-initializes the synth every time to gm defaults in case some .mid changes patches or parameters.
2018-11-23Update Fluidsynth to v2.0.2Robin Gareus
2018-11-23Add/remove source(s) in our MSVC project (audiographer)John Emmas
2018-11-23Add/remove source(s) in our MSVC project (libardour)John Emmas
2018-11-22Amend prev. commit, actually remove (1.0 - x) as was documentedRobin Gareus
2018-11-22Backwards compatible sndfile supportRobin Gareus
SFC_SET_COMPRESSION_LEVEL was only added in 2012 and only available in libsndfile 1.0.26 or later.
2018-11-22Save LV2 Port Property values locallyRobin Gareus
This keeps track of lv2:Parameter properties modified with Port:Set, currently file-paths.
2018-11-21Allow to revert export-format from diskRobin Gareus
This allows to restore ProfileManager's ExportFormatSpec without re-instantiating the ProfileManager.
2018-11-21Set encoder quality for existing ExportFormatSpecsRobin Gareus
2018-11-21Include session-metadata in external/ffmpeg exportRobin Gareus
2018-11-20Prepare session-metadata export to external commandRobin Gareus
2018-11-20Implement vorbis encoder qualityRobin Gareus
This also prepares for codec-quality defaults, but ExportFormatSpecification does not yet set those for previously unset or new formats/presets.
2018-11-20Implement FFMPEG/MP3 export-format spec and profileRobin Gareus
2018-11-19Prepare export-format codec-quality settingRobin Gareus
2018-11-19Fix Windows and Mac BuildsRobin Gareus
* missing include for locale_to_utf8 (amend 4c6ff5f7e7) * avoid void* arithemtic (amend 103ef2ba)
2018-11-19Initial backend support for external export encoderRobin Gareus
This adds an experimental pipe to ffmpeg to encode mp3. Currently quality is hardcoded and various aspects remain to be implemented. However, it is sufficient for initial testing.
2018-11-19Add Pipe-to-command export backendRobin Gareus
A first step towards allowing external encoders without intermediate temporary file.
2018-11-19Move video-tool paths to libardour (1/2)Robin Gareus
This is in preparation to allow calling ffmpeg, or similar (sox, lame,..) directly from libardour.
2018-11-19Add API to write raw data to child processes.Robin Gareus
2018-11-17Update classkeys to match new total LuaSignal count (windows only)Robin Gareus
2018-11-12Make foldback bus match foldback sends namewiseLen Ovens
to avoid confusion with listener sends or monitor bus
2018-11-12Changed send/deliver role "Personal" to "Foldback" so bus type can matchLen Ovens
2018-11-12OSC: New personal monitor buses no longer need to be hiddenLen Ovens
2018-11-12OSC: logic thinko fixLen Ovens