OpenShot Library | libopenshot
0.3.3
|
Go to the documentation of this file.
14 #ifndef OPENSHOT_AUDIO_PLAYBACK_THREAD_H
15 #define OPENSHOT_AUDIO_PLAYBACK_THREAD_H
24 #include <OpenShotAudio.h>
25 #include <AppConfig.h>
26 #include <juce_audio_basics/juce_audio_basics.h>
27 #include <juce_audio_devices/juce_audio_devices.h>
79 juce::AudioSourcePlayer player;
80 juce::AudioTransportSource transport;
81 juce::MixerAudioSource mixer;
85 juce::WaitableEvent play;
87 juce::TimeSliceThread time_thread;
89 std::mutex transportMutex;
90 std::condition_variable transportCondition;
98 void NotifyTransportStateChanged();
104 std::shared_ptr<openshot::Frame> getFrame();
110 void Seek(int64_t new_position);
119 void setSpeed(
int new_speed) {
if (source) source->
setSpeed(new_speed); }
122 int getSpeed()
const {
if (source)
return source->
getSpeed();
else return 1; }
125 std::string getError()
131 double getDefaultSampleRate()
155 #endif // OPENSHOT_AUDIO_PLAYBACK_THREAD_H
std::string initialise_error
Error found during JUCE initialise method.
This struct hold information about Audio Devices.
std::vector< std::pair< std::string, std::string > > AudioDeviceList
This namespace is the default namespace for all code in the openshot library.
static AudioDeviceManagerSingleton * Instance()
Override with default sample rate & channels (44100, 2) and no preferred audio device.
juce::AudioDeviceManager audioDeviceManager
Public device manager property.
The audio playback thread.
AudioDeviceList getNames()
Singleton wrapper for AudioDeviceManager (to prevent multiple instances).
The private part of QtPlayer class, which contains an audio thread and video thread,...
A class which probes the available audio devices.
void setSpeed(int new_speed)
Set Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
Header file for AudioReaderSource class.
Source file for VideoCacheThread class.
Header file for ReaderBase class.
This class is used to playback a video from a reader.
void CloseAudioDevice()
Close audio device.
This abstract class is the base class, used by all readers in libopenshot.
double defaultSampleRate
Default sample rate (as detected)
AudioDeviceInfo currentAudioDevice
Current open audio device (or last attempted device - if none were successful)
int getSpeed() const
Get Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
Header file for Audio Device Info struct.
Header file for RendererBase class.
This class is used to expose any ReaderBase derived class as an AudioSource in JUCE.