YARP
Yet Another Robot Platform
audioToFileDevice.h
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: 2006-2021 Istituto Italiano di Tecnologia (IIT)
3  * SPDX-License-Identifier: BSD-3-Clause
4  */
5 
8 #include <yarp/sig/Sound.h>
9 #include <yarp/sig/SoundFile.h>
11 
12 #include <string>
13 #include <mutex>
14 #include <deque>
15 
47 {
48 public:
54  ~audioToFileDevice() override;
55 
56  // Device Driver interface
57  bool open(yarp::os::Searchable &config) override;
58  bool close() override;
59 
60 public:
61  virtual bool renderSound(const yarp::sig::Sound& sound) override;
62  virtual bool startPlayback() override;
63  virtual bool stopPlayback()override;
64  virtual bool setHWGain(double gain) override;
65  virtual bool configureDeviceAndStart() override;
66  virtual bool interruptDeviceAndClose() override;
67  virtual void waitUntilPlaybackStreamIsComplete() override;
68 
69 private:
70  yarp::sig::Sound m_audioFile;
71  std::string m_audio_filename = "audio_out.wav";
72  std::deque<yarp::sig::Sound> m_sounds;
73  size_t m_filename_counter = 0;
74 
75  enum save_mode_t
76  {
77  save_overwrite_file = 0,
78  save_append_data =1,
79  save_rename_file =2
80  } m_save_mode = save_overwrite_file;
81 
82  void save_to_file();
83 };
audioToFileDevice : This device driver, wrapped by default by AudioPlayerWrapper, is used to save to ...
bool open(yarp::os::Searchable &config) override
Open the DeviceDriver.
virtual bool renderSound(const yarp::sig::Sound &sound) override
Render a sound using a device (i.e.
audioToFileDevice(const audioToFileDevice &)=delete
virtual bool configureDeviceAndStart() override
virtual bool interruptDeviceAndClose() override
bool close() override
Close the DeviceDriver.
virtual void waitUntilPlaybackStreamIsComplete() override
audioToFileDevice(audioToFileDevice &&)=delete
virtual bool setHWGain(double gain) override
Sets the hardware gain of the playback device (if supported by the hardware)
audioToFileDevice & operator=(const audioToFileDevice &)=delete
virtual bool startPlayback() override
Start the playback.
virtual bool stopPlayback() override
Stop the playback.
~audioToFileDevice() override
audioToFileDevice & operator=(audioToFileDevice &&)=delete
AudioPlayerDeviceBase : a base class for all audio player devices
Interface implemented by all device drivers.
Definition: DeviceDriver.h:35
A base class for nested structures that can be searched.
Definition: Searchable.h:66
Class for storing sounds See Audio in YARP for additional documentation on YARP audio.
Definition: Sound.h:26