diff options
| author | mio <stigma@disroot.org> | 2024-11-10 19:39:43 +1000 |
|---|---|---|
| committer | mio <stigma@disroot.org> | 2025-01-20 20:05:58 +1000 |
| commit | b8894a29b2a7ea036ea93d34007f4d0cef030d0b (patch) | |
| tree | 583dfb22e60cd5079f318442dd26627cff406ae5 /src/app/audioView.cpp | |
| parent | 3f8d1f80caf9a0616da232fc21a3ff29e23aa618 (diff) | |
| download | codeine-b8894a29b2a7ea036ea93d34007f4d0cef030d0b.tar.gz codeine-b8894a29b2a7ea036ea93d34007f4d0cef030d0b.zip | |
Create a AudioView widget for audio-only streams
Currently Codeine will show a blank area when playing an audio-only
file, such as music. This patch adds a new widget that contains an
instance of the Analyzer::Block class, so instead of a blank area it
contains a "visualizer" of sorts.
Signed-off-by: mio <stigma@disroot.org>
(cherry picked from commit 5cfecec40972f7d6f77879e1209bc10d6019625b)
Diffstat (limited to 'src/app/audioView.cpp')
| -rw-r--r-- | src/app/audioView.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/app/audioView.cpp b/src/app/audioView.cpp new file mode 100644 index 0000000..27a25db --- /dev/null +++ b/src/app/audioView.cpp @@ -0,0 +1,31 @@ +// SPDX-FileCopyrightText: 2025 mio <stigma@disroot.org> +// +// SPDX-License-Identifier: GPL-2.0-or-later. + +#include "audioView.h" + +#include <tqlayout.h> + +#include "analyzer.h" + +namespace Codeine +{ + +AudioView::AudioView(TQWidget *parent, const char *name) + : TQFrame(parent, name) +{ + auto *layout = new TQHBoxLayout(this); + m_analyzer = new Analyzer::Block(this); + + // We subtract one from the below to remove excess padding. + // 36 blocks for the max/min height is arbitrary, but looks okay. + m_analyzer->setMaximumSize((Analyzer::Block::MAX_COLUMNS / 2) * (Analyzer::Block::WIDTH + 1) - 1, + 36 * (Analyzer::Block::HEIGHT + 1) - 1); + + m_analyzer->setMinimumSize(Analyzer::Block::WIDTH * Analyzer::Block::MIN_COLUMNS, + 36 * (Analyzer::Block::HEIGHT + 1) - 1); + + layout->addWidget(m_analyzer); +} + +} |
