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>
75 juce::AudioSourcePlayer player;
76 juce::AudioTransportSource transport;
77 juce::MixerAudioSource mixer;
81 juce::WaitableEvent play;
83 juce::TimeSliceThread time_thread;
95 std::shared_ptr<openshot::Frame> getFrame();
101 void Seek(int64_t new_position);
110 void setSpeed(
int new_speed) {
if (source) source->
setSpeed(new_speed); }
113 int getSpeed()
const {
if (source)
return source->
getSpeed();
else return 1; }
116 std::string getError()
122 double getDefaultSampleRate()
128 std::vector<std::pair<std::string, std::string>> getAudioDeviceNames()
Header file for Audio Device Info struct.
Header file for AudioReaderSource class.
Header file for ReaderBase class.
Header file for RendererBase class.
Source file for VideoCacheThread class.
Singleton wrapper for AudioDeviceManager (to prevent multiple instances).
double defaultSampleRate
Default sample rate (as detected)
void CloseAudioDevice()
Close audio device.
static AudioDeviceManagerSingleton * Instance()
Override with default sample rate & channels (44100, 2) and no preferred audio device.
juce::AudioDeviceManager audioDeviceManager
Public device manager property.
std::string initialise_error
Error found during JUCE initialise method.
A class which probes the available audio devices.
AudioDeviceList getNames()
The audio playback thread.
This class is used to expose any ReaderBase derived class as an AudioSource in JUCE.
int getSpeed() const
Get Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
void setSpeed(int new_speed)
Set Speed (The speed and direction to playback a reader (1=normal, 2=fast, 3=faster,...
The private part of QtPlayer class, which contains an audio thread and video thread,...
This class is used to playback a video from a reader.
This abstract class is the base class, used by all readers in libopenshot.
This namespace is the default namespace for all code in the openshot library.