21 Commits

Author SHA1 Message Date
Jonathan Thomas
c838c126ad Improvements to AudioWaveformer to use RMS (Root Mean Square), and return both average RMS and max RMS for graphing, including some new unit tests. 2022-11-01 15:17:03 -05:00
Jonathan Thomas
9cd7dd68a8 Wrap vector<float> in Swig mappings, and enable thread-safe access to swig wrappers - so our long running waveformer does not block the Python GIL 2022-10-31 14:20:18 -05:00
Jonathan Thomas
2326532820 Initial commit of AudioWaveformer class, which is designed to iterate any ReaderBase, and return a reduced "average" sample set - more useful for generating waveforms - for example, reduce a 44100 samples per second down to 20 samples per second. 2022-10-30 22:04:19 -05:00
Jonathan Thomas
9eda757885 Merge branch 'develop' into audio-devices
# Conflicts:
#	src/AudioBufferSource.cpp
#	src/AudioReaderSource.cpp
#	src/AudioReaderSource.h
#	src/Clip.cpp
#	src/Frame.cpp
#	src/Qt/AudioPlaybackThread.h
#	src/audio_effects/Compressor.h
#	src/audio_effects/Delay.h
#	src/audio_effects/Echo.h
#	src/audio_effects/Expander.h
2021-12-02 22:05:19 -06:00
FeRD (Frank Dana)
59108504e3 Code changes for compatibility with JUCE 6.x
- Replace all juce::CriticalSection with std::recursive_mutex
- Replace all juce::AudioSampleBuffer with juce::AudioBuffer<float>
- Eliminate implicit reliance on 'using namespace juce;'
- Replace OpenShotAudio.h includes with targeted juce modules
2021-11-09 06:22:25 -05:00
Frank Dana
2d2a062bdc Remove (broken) BlackMagic DeckLink support (#760) 2021-10-20 06:49:08 -04:00
Frank Dana
59138ea3e4 Adopt license management via Reuse project/tool (#711)
* reuse-managed license/copyright headers

reuse is a tool for compliance with the REUSE recommendations. See
<https://reuse.software/> for more information, and
<https://reuse.readthedocs.io/> for the online documentation.

* Set jsoncpp license
* Add MIT license for Decklink sources
* Explicitly license examples/
  - Add headers to source files
  - Change blanket licensing in .reuse/dep5 to only cover binary media
  - Import CC-BY-3.0 license and assign to sintel_trailer
2021-10-16 01:26:26 -04:00
FeRD (Frank Dana)
76fb7c8013 Rename AudioSampleBuffer to AudioBuffer<float>
For a long time now, juce::AudioSampleBuffer has been nothing but an
alias for its true (templated) type, AudioBuffer<float>.
2021-08-24 13:11:00 -04:00
Frank Dana
09eb807507 CMake: USE_SWIG_DEPENDENCIES for CMake 3.20+ (#691) 2021-06-25 01:05:59 -04:00
Frank Dana
dbaac4debd Merge branch 'develop' into frac-python-types 2021-01-27 03:50:45 -05:00
FeRD (Frank Dana)
3a0d88adcf Property fixes for bindings 2021-01-13 10:59:13 -05:00
FeRD (Frank Dana)
b445d6df6c Propagate library defs to swig 2021-01-13 08:31:34 -05:00
FeRD (Frank Dana)
b280fbd082 Bindings: Add template specializations 2020-12-04 11:28:59 -05:00
Jonathan Thomas
ac73bd965d Fixing an issue caused by timeline::GetClip returning a ClipBase instead of a Clip (broke waveform generation).
Also adding a swig definition for the Caption effect.
2020-12-03 10:52:27 -06:00
FeRD (Frank Dana)
a1e44edad4 Merge branch 'develop' into clip-refactor-keyframes 2020-10-19 16:28:49 -04:00
FeRD (Frank Dana)
d910949189 CMake: Code and Find module tweaks
- FindOpenShotAudio takes over -DDEBUG, -DHAVE_ISFINITE logic
  (now set on OpenShot::Audio target when appropriate)
- Tweaks to BlackMagic dependency discovery
- Reverse the test-disabling logic, `DISABLE_TESTS FALSE` cache
  variable changed to `ENABLE_TESTS TRUE`
2020-10-18 11:04:28 -04:00
FeRD (Frank Dana)
b0e406be49 Fix Ruby example script bug
Ruby: Relax SWIG version for compatibility check

- Turns out the Ruby-2.7.0-compatibility commit made it into SWIG 4.0.2

Ruby bindings: Fix all kinds of brokenness

- Turns out int64_t function args require stdint.i for auto-conversion.
- The imported module name is (still) 'Openshot' — lowercase 's'.
- #TIL that accidentally dropping the OUTPUT_NAME config leads to
  a non-loadable shared library, due to the filename being wrong.
2020-10-18 07:49:24 -04:00
FeRD (Frank Dana)
600f559460 Bindings: Rename MappedMetadata to MetadataMap 2020-10-18 07:47:36 -04:00
FeRD (Frank Dana)
ce8512b84e Bindings: Use SWIG shared_ptr for Ruby, also 2020-10-18 07:47:36 -04:00
FeRD (Frank Dana)
51650016a7 Bindings: Update include paths 2020-10-18 07:47:36 -04:00
FeRD (Frank Dana)
a6441d822d Reorganize source tree (headers in src/)
- src/bindings/ moves to /bindings/
- src/examples/ moves to /examples/
- Contents of include/ merged into src/ with same hierarchy
- src/Qt/demo/ moves to examples/qt-demo/
2020-10-18 05:05:29 -04:00