LMMS
Loading...
Searching...
No Matches
AudioFileDevice.h
Go to the documentation of this file.
1/*
2 * AudioFileDevice.h - base-class for audio-device-classes which write
3 * their output into a file
4 *
5 * Copyright (c) 2004-2014 Tobias Doerffel <tobydox/at/users.sourceforge.net>
6 *
7 * This file is part of LMMS - https://lmms.io
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public
11 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * General Public License for more details.
18 *
19 * You should have received a copy of the GNU General Public
20 * License along with this program (see COPYING); if not, write to the
21 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
22 * Boston, MA 02110-1301 USA.
23 *
24 */
25
26#ifndef LMMS_AUDIO_FILE_DEVICE_H
27#define LMMS_AUDIO_FILE_DEVICE_H
28
29#include <QFile>
30
31#include "AudioDevice.h"
32#include "OutputSettings.h"
33
34namespace lmms
35{
36
38{
39public:
40 AudioFileDevice(OutputSettings const & outputSettings,
41 const ch_cnt_t _channels, const QString & _file,
43 ~AudioFileDevice() override;
44
45 QString outputFile() const
46 {
47 return m_outputFile.fileName();
48 }
49
51
52
53protected:
54 int writeData( const void* data, int len );
55
56 inline bool outputFileOpened() const
57 {
58 return m_outputFile.isOpen();
59 }
60
61 inline int outputFileHandle() const
62 {
63 return m_outputFile.handle();
64 }
65
66private:
69} ;
70
72 = AudioFileDevice* (*)(const QString&, const OutputSettings&, const ch_cnt_t, AudioEngine*, bool&);
73
74} // namespace lmms
75
76#endif // LMMS_AUDIO_FILE_DEVICE_H
AudioEngine * audioEngine()
Definition AudioDevice.h:121
AudioDevice(const ch_cnt_t _channels, AudioEngine *audioEngine)
Definition AudioDevice.cpp:33
Definition AudioEngine.h:66
Definition AudioFileDevice.h:38
QFile m_outputFile
Definition AudioFileDevice.h:67
AudioFileDevice(OutputSettings const &outputSettings, const ch_cnt_t _channels, const QString &_file, AudioEngine *audioEngine)
Definition AudioFileDevice.cpp:35
bool outputFileOpened() const
Definition AudioFileDevice.h:56
int writeData(const void *data, int len)
Definition AudioFileDevice.cpp:84
~AudioFileDevice() override
Definition AudioFileDevice.cpp:76
OutputSettings m_outputSettings
Definition AudioFileDevice.h:68
QString outputFile() const
Definition AudioFileDevice.h:45
int outputFileHandle() const
Definition AudioFileDevice.h:61
OutputSettings const & getOutputSettings() const
Definition AudioFileDevice.h:50
Definition OutputSettings.h:36
JSAMPIMAGE data
Definition jpeglib.h:945
Definition AudioAlsa.cpp:35
std::uint16_t ch_cnt_t
Definition LmmsTypes.h:44
AudioFileDevice *(*)(const QString &, const OutputSettings &, const ch_cnt_t, AudioEngine *, bool &) AudioFileDeviceInstantiaton
Definition AudioFileDevice.h:71