1
/***************************************************************************
2
* Copyright (C) 2018 by santiago González *
3
* santigoro@gmail.com *
5
* This program is free software; you can redistribute it and/or modify *
6
* it under the terms of the GNU General Public License as published by *
7
* the Free Software Foundation; either version 3 of the License, or *
8
* (at your option) any later version. *
10
* This program is distributed in the hope that it will be useful, *
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13
* GNU General Public License for more details. *
15
* You should have received a copy of the GNU General Public License *
16
* along with this program; if not, see <http://www.gnu.org/licenses/>. *
18
***************************************************************************/
23
#include "itemlibrary.h"
24
#include "e-resistor.h"
27
#include <QAudioOutput>
29
class AudioOut : public Component, public eResistor
32
Q_PROPERTY( double Impedance READ res WRITE setResSafe DESIGNABLE true USER true )
33
Q_PROPERTY( bool Buzzer READ buzzer WRITE setBuzzer DESIGNABLE true USER true )
36
AudioOut( QObject* parent, QString type, QString id );
39
static Component* construct( QObject* parent, QString type, QString id );
40
static LibraryItem *libraryItem();
42
bool buzzer() { return m_buzzer; }
43
void setBuzzer( bool buz ) { m_buzzer = buz; }
45
virtual void stamp() override;
46
virtual void initialize() override;
47
virtual void runEvent() override;
49
virtual QPainterPath shape() const;
50
virtual void paint( QPainter *p, const QStyleOptionGraphicsItem *option, QWidget *widget );
56
QAudioDeviceInfo m_deviceinfo;
57
QAudioFormat m_format;
59
QAudioOutput* m_audioOutput;
60
QIODevice* m_auIObuffer;