summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
0f92317)
Insignificant compile-time savings this time, but still nice
to have it cleaned up.
69 files changed:
+#include <QDialogButtonBox>
+
#include "ui_aboutdialog.h"
using namespace std;
#include "ui_aboutdialog.h"
using namespace std;
#define _ABOUTDIALOG_H 1
#include <QDialog>
#define _ABOUTDIALOG_H 1
#include <QDialog>
-#include <string>
-#include <vector>
-#include <sys/time.h>
namespace Ui {
class AboutDialog;
namespace Ui {
class AboutDialog;
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
#include <unistd.h>
#include "alsa_pool.h"
#include "bmusb/bmusb.h"
#include "alsa_pool.h"
#include "bmusb/bmusb.h"
// as a whole, since that's what AudioMixer::add_audio() wants.
#include <alsa/asoundlib.h>
// as a whole, since that's what AudioMixer::add_audio() wants.
#include <alsa/asoundlib.h>
#include <stdint.h>
#include <sys/types.h>
#include <atomic>
#include <functional>
#include <stdint.h>
#include <sys/types.h>
#include <atomic>
#include <functional>
#include <string>
#include <thread>
#include <string>
#include <thread>
-#include <unordered_map>
-#include <vector>
class ALSAInput {
public:
class ALSAInput {
public:
+#include <alsa/asoundlib.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
#include <vector>
using namespace std;
#include <vector>
using namespace std;
// probably drift out of sync enough to make a little pop.
#include <alsa/asoundlib.h>
// probably drift out of sync enough to make a little pop.
#include <alsa/asoundlib.h>
#include <vector>
class ALSAOutput {
#include <vector>
class ALSAOutput {
-#include <alsa/control.h>
-#include <alsa/error.h>
-#include <alsa/pcm.h>
+#include <alsa/asoundlib.h>
+#include <poll.h>
+#include <stdint.h>
#include <stdio.h>
#include <sys/eventfd.h>
#include <sys/inotify.h>
#include <unistd.h>
#include <algorithm>
#include <stdio.h>
#include <sys/eventfd.h>
#include <sys/inotify.h>
#include <unistd.h>
#include <algorithm>
+#include <chrono>
+#include <functional>
+#include <iterator>
#include "alsa_input.h"
#include "audio_mixer.h"
#include "alsa_input.h"
#include "audio_mixer.h"
#ifndef _ALSA_POOL_H
#define _ALSA_POOL_H 1
#ifndef _ALSA_POOL_H
#define _ALSA_POOL_H 1
-#include <alsa/asoundlib.h>
#include <mutex>
#include <string>
#include <thread>
#include <unordered_map>
#include <vector>
#include <mutex>
#include <string>
#include <thread>
#include <unordered_map>
#include <vector>
-#include "alsa_input.h"
-#include "bmusb/bmusb.h"
-#include "timebase.h"
-
class ALSAInput;
class DeviceSpecProto;
class ALSAInput;
class DeviceSpecProto;
#include <libavformat/avformat.h>
#include <libavresample/avresample.h>
#include <libavutil/channel_layout.h>
#include <libavformat/avformat.h>
#include <libavresample/avresample.h>
#include <libavutil/channel_layout.h>
+#include <libavutil/error.h>
#include <libavutil/frame.h>
#include <libavutil/frame.h>
+#include <libavutil/mem.h>
+#include <libavutil/opt.h>
#include <libavutil/rational.h>
#include <libavutil/samplefmt.h>
#include <libavutil/rational.h>
#include <libavutil/samplefmt.h>
-#include <libavutil/opt.h>
+#include <errno.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <memory>
#include <string>
#include <vector>
#include "defs.h"
#include <string>
#include <vector>
#include "defs.h"
#include "timebase.h"
using namespace std;
#include "timebase.h"
using namespace std;
#ifndef _AUDIO_ENCODER_H
#define _AUDIO_ENCODER_H 1
#ifndef _AUDIO_ENCODER_H
#define _AUDIO_ENCODER_H 1
+#include <stddef.h>
+#include <stdint.h>
#include <string>
#include <vector>
extern "C" {
#include <libavcodec/avcodec.h>
#include <string>
#include <vector>
extern "C" {
#include <libavcodec/avcodec.h>
+#include <libavformat/avformat.h>
#include <libavresample/avresample.h>
#include <libavutil/frame.h>
}
#include "ffmpeg_raii.h"
#include <libavresample/avresample.h>
#include <libavutil/frame.h>
}
#include "ffmpeg_raii.h"
class AudioEncoder {
public:
class AudioEncoder {
public:
#include "audio_mixer.h"
#include <assert.h>
#include "audio_mixer.h"
#include <assert.h>
-#include <cmath>
-#include <limits>
-#ifdef __SSE__
+#include <math.h>
+#ifdef __SSE2__
#include <immintrin.h>
#endif
#include <immintrin.h>
#endif
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <algorithm>
+#include <chrono>
+#include <cmath>
+#include <cstddef>
+#include <limits>
+#include <utility>
#include "db.h"
#include "flags.h"
#include "db.h"
#include "flags.h"
#include "state.pb.h"
#include "timebase.h"
#include "state.pb.h"
#include "timebase.h"
//
// All operations on AudioMixer (except destruction) are thread-safe.
//
// All operations on AudioMixer (except destruction) are thread-safe.
+#include <zita-resampler/resampler.h>
#include <map>
#include <memory>
#include <mutex>
#include <set>
#include <map>
#include <memory>
#include <mutex>
#include <set>
-#include <zita-resampler/resampler.h>
-#include "bmusb/bmusb.h"
#include "correlation_measurer.h"
#include "db.h"
#include "defs.h"
#include "correlation_measurer.h"
#include "db.h"
#include "defs.h"
#include "resampling_queue.h"
#include "stereocompressor.h"
#include "resampling_queue.h"
#include "stereocompressor.h"
+class DeviceSpecProto;
+
namespace bmusb {
struct AudioFormat;
} // namespace bmusb
namespace bmusb {
struct AudioFormat;
} // namespace bmusb
// with the default settings, feeds some white noise to the inputs and
// runs a while. Useful for e.g. profiling.
// with the default settings, feeds some white noise to the inputs and
// runs a while. Useful for e.g. profiling.
+#include <assert.h>
+#include <bmusb/bmusb.h>
+#include <stdio.h>
+#include <algorithm>
+#include <cmath>
+#include <ratio>
+#include <vector>
+
#include "audio_mixer.h"
#include "db.h"
#include "audio_mixer.h"
#include "db.h"
+#include "defs.h"
+#include "input_mapping.h"
+#include "resampling_queue.h"
#include "timebase.h"
#define NUM_BENCHMARK_CARDS 4
#include "timebase.h"
#define NUM_BENCHMARK_CARDS 4
#include <QGL>
#include <QOffscreenSurface>
#include <QOpenGLContext>
#include <QGL>
#include <QOffscreenSurface>
#include <QOpenGLContext>
#include <QSurfaceFormat>
#include <QSurfaceFormat>
QGLWidget *global_share_widget = nullptr;
QSurface *create_surface(const QSurfaceFormat &format)
QGLWidget *global_share_widget = nullptr;
QSurface *create_surface(const QSurfaceFormat &format)
#include "correlation_measurer.h"
#include <assert.h>
#include "correlation_measurer.h"
#include <assert.h>
-#include <stdint.h>
-#include <math.h>
+#include <cmath>
+#include <cstddef>
+#include "correlation_meter.h"
-#include "correlation_meter.h"
+#include <QBrush>
+#include <QColor>
+#include <QPainter>
+#include <QRect>
+
+class QPaintEvent;
+class QResizeEvent;
#ifndef CORRELATION_METER_H
#define CORRELATION_METER_H
#ifndef CORRELATION_METER_H
#define CORRELATION_METER_H
-#include <QPaintEvent>
-#include <QWidget>
+#include <QPixmap>
+#include <QString>
+#include <QWidget>
+
+class QObject;
+class QPaintEvent;
+class QResizeEvent;
+
class CorrelationMeter : public QWidget
{
Q_OBJECT
class CorrelationMeter : public QWidget
{
Q_OBJECT
#include "decklink_capture.h"
#include "decklink_capture.h"
+#include <DeckLinkAPI.h>
+#include <DeckLinkAPIConfiguration.h>
+#include <DeckLinkAPIDiscovery.h>
+#include <DeckLinkAPIModes.h>
+#ifdef __SSE2__
+#include <immintrin.h>
+#endif
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <cstddef>
-#ifdef __SSE2__
-#include <immintrin.h>
-#endif
+#include <cstdint>
+#include <utility>
+#include <vector>
-#include <DeckLinkAPI.h>
-#include <DeckLinkAPIConfiguration.h>
-#include <DeckLinkAPIDiscovery.h>
-#include <DeckLinkAPIModes.h>
#include "bmusb/bmusb.h"
#define FRAME_SIZE (8 << 20) // 8 MB.
#include "bmusb/bmusb.h"
#define FRAME_SIZE (8 << 20) // 8 MB.
#include <stdint.h>
#include <atomic>
#include <functional>
#include <stdint.h>
#include <atomic>
#include <functional>
+#include <map>
+#include <memory>
+#include "DeckLinkAPIModes.h"
+#include "DeckLinkAPITypes.h"
+#include "LinuxCOM.h"
#include "bmusb/bmusb.h"
class IDeckLink;
#include "bmusb/bmusb.h"
class IDeckLink;
-class IDeckLinkDisplayMode;
+class IDeckLinkConfiguration;
// TODO: Adjust CaptureInterface to be a little less bmusb-centric.
// There are too many member functions here that don't really do anything.
// TODO: Adjust CaptureInterface to be a little less bmusb-centric.
// There are too many member functions here that don't really do anything.
+#include "disk_space_estimator.h"
+
+#include <stdio.h>
-#include <sys/types.h>
-#include <sys/vfs.h>
-#include <unistd.h>
+#include <sys/statfs.h>
+#include <memory>
-#include "disk_space_estimator.h"
#include "timebase.h"
DiskSpaceEstimator::DiskSpaceEstimator(DiskSpaceEstimator::callback_t callback)
#include "timebase.h"
DiskSpaceEstimator::DiskSpaceEstimator(DiskSpaceEstimator::callback_t callback)
// The bitrate is measured over a simple 30-second sliding window.
#include <stdint.h>
// The bitrate is measured over a simple 30-second sliding window.
#include <stdint.h>
#include <deque>
#include <functional>
#include <string>
#include <deque>
#include <functional>
#include <string>
// ------------------------------------------------------------------------
// ------------------------------------------------------------------------
-#include <string.h>
-#include <math.h>
#include "ebu_r128_proc.h"
#include "ebu_r128_proc.h"
+#include <string.h>
+#include <cmath>
+
float Ebu_r128_hist::_bin_power [100] = { 0.0f };
float Ebu_r128_proc::_chan_gain [5] = { 1.0f, 1.0f, 1.0f, 1.41f, 1.41f };
float Ebu_r128_hist::_bin_power [100] = { 0.0f };
float Ebu_r128_proc::_chan_gain [5] = { 1.0f, 1.0f, 1.0f, 1.41f, 1.41f };
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
+#include <libavutil/dict.h>
+#include <libavutil/frame.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
-#include <assert.h>
-#include <complex>
+#include <complex>
+
+#include "defs.h"
#ifdef __SSE__
#include <mmintrin.h>
#ifdef __SSE__
#include <mmintrin.h>
#define _FILTER_H 1
#define _USE_MATH_DEFINES
#define _FILTER_H 1
#define _USE_MATH_DEFINES
-#include <math.h>
-#include <string.h>
#include <complex>
#ifdef __SSE__
#include <xmmintrin.h>
#endif
#include <complex>
#ifdef __SSE__
#include <xmmintrin.h>
#endif
-#include "defs.h"
-
-namespace std {
-template <typename _Tp> struct complex;
-} // namespace std
-
enum FilterType
{
FILTER_NONE = 0,
enum FilterType
{
FILTER_NONE = 0,
-#include <qmetatype.h> // Needs to come before egl.h.
-#include <qdatastream.h> // Needs to come before egl.h.
-#include <qtextstream.h> // Needs to come before egl.h.
-#include <qcursor.h> // Needs to come before egl.h.
-#include <qcoreevent.h> // Needs to come before egl.h.
-#include <qevent.h> // Needs to come before egl.h.
-#include <epoxy/gl.h>
-#include <epoxy/egl.h>
-#include <QAction>
-#include <QMenu>
-#include <QSurfaceFormat>
-
-#include <stdio.h>
-#include <functional>
-#include <limits>
-#include <mutex>
+#include <assert.h>
+#include <bmusb/bmusb.h>
#include <movit/effect_chain.h>
#include <movit/resource_pool.h>
#include <movit/effect_chain.h>
#include <movit/resource_pool.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <QAction>
+#include <QActionGroup>
+#include <QList>
+#include <QMenu>
+#include <QPoint>
+#include <QVariant>
+#include <QWidget>
+#include <functional>
+#include <map>
+#include <mutex>
+#include <utility>
+#include "audio_mixer.h"
#include "context.h"
#include "flags.h"
#include "mainwindow.h"
#include "mixer.h"
#include "context.h"
#include "flags.h"
#include "mainwindow.h"
#include "mixer.h"
#include "ref_counted_gl_sync.h"
class QMouseEvent;
#include "ref_counted_gl_sync.h"
class QMouseEvent;
#undef Success
#include <movit/util.h>
#undef Success
#include <movit/util.h>
#define GLWIDGET_H
#include <epoxy/gl.h>
#define GLWIDGET_H
#include <epoxy/gl.h>
+#include <QGL>
+#include <QString>
#include <string>
#include <vector>
#include "mixer.h"
#include <string>
#include <vector>
#include "mixer.h"
-#include "qgl.h"
-#include "qobjectdefs.h"
+class QObject;
+class QPoint;
class QWidget;
namespace movit {
class QWidget;
namespace movit {
#include <endian.h>
#include <microhttpd.h>
#include <endian.h>
#include <microhttpd.h>
-
-#include <vector>
-
-#include "httpd.h"
+#include <sys/time.h>
+#include <time.h>
+#include <memory>
struct MHD_Connection;
struct MHD_Response;
struct MHD_Connection;
struct MHD_Response;
// A class dealing with stream output to HTTP.
// A class dealing with stream output to HTTP.
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
#include <condition_variable>
#include <deque>
#include <stddef.h>
#include <stdint.h>
#include <sys/types.h>
#include <condition_variable>
#include <deque>
#include <mutex>
#include <set>
#include <string>
#include <mutex>
#include <set>
#include <string>
#include <movit/image_format.h>
#include <movit/image_format.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
+#include <libavutil/avutil.h>
+#include <libavutil/error.h>
+#include <libavutil/frame.h>
#include <libavutil/imgutils.h>
#include <libavutil/imgutils.h>
+#include <libavutil/mem.h>
#include <libavutil/pixfmt.h>
#include <libswscale/swscale.h>
}
#include <libavutil/pixfmt.h>
#include <libswscale/swscale.h>
}
#include <sys/stat.h>
#include <unistd.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <cstddef>
+#include <functional>
#include <mutex>
#include <thread>
#include <mutex>
#include <thread>
+#include <utility>
+#include <vector>
#include "ffmpeg_raii.h"
#include "flags.h"
#include "ffmpeg_raii.h"
#include "flags.h"
+#include "flat_input.h"
+
+struct SwsContext;
#ifndef _IMAGE_INPUT_H
#define _IMAGE_INPUT_H 1
#ifndef _IMAGE_INPUT_H
#define _IMAGE_INPUT_H 1
+#include <epoxy/gl.h>
+#include <movit/flat_input.h>
+#include <stdbool.h>
+#include <time.h>
+#include <cstdint>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include <map>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
-#include <time.h>
-
-#include <movit/flat_input.h>
-
// An output that takes its input from a static image, loaded with ffmpeg.
// comes from a single 2D array with chunky pixels. The image is refreshed
// from disk about every second.
// An output that takes its input from a static image, loaded with ffmpeg.
// comes from a single 2D array with chunky pixels. The image is refreshed
// from disk about every second.
-#include <stdio.h>
-#include <fcntl.h>
-#include <unistd.h>
+#include "input_mapping.h"
-#include <google/protobuf/text_format.h>
-#include <google/protobuf/io/zero_copy_stream.h>
+#include <assert.h>
+#include <fcntl.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
#include <google/protobuf/io/zero_copy_stream_impl.h>
+#include <google/protobuf/text_format.h>
+#include <stdio.h>
+#include <set>
+#include <utility>
-#include "input_mapping.h"
#include "state.pb.h"
using namespace std;
#include "state.pb.h"
using namespace std;
#include "input_mapping_dialog.h"
#include "input_mapping_dialog.h"
-#include "post_to_main_thread.h"
-#include "ui_input_mapping.h"
-
+#include <assert.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <QAbstractItemView>
+#include <QDialogButtonBox>
+#include <QHeaderView>
+#include <QList>
+#include <QPushButton>
+#include <QTableWidget>
+#include <QVariant>
+#include <functional>
+#include <memory>
+#include <set>
+#include <string>
+#include <utility>
+
+#include "alsa_pool.h"
+#include "defs.h"
+#include "post_to_main_thread.h"
+#include "ui_input_mapping.h"
using namespace std;
using namespace std::placeholders;
using namespace std;
using namespace std::placeholders;
#define _INPUT_MAPPING_DIALOG_H
#include <QDialog>
#define _INPUT_MAPPING_DIALOG_H
#include <QDialog>
+#include <QString>
+#include <map>
+#include "input_mapping.h"
+
+class QObject;
namespace Ui {
class InputMappingDialog;
namespace Ui {
class InputMappingDialog;
#include <QPainter>
#include <QPalette>
#include <QPen>
#include <QPainter>
#include <QPalette>
#include <QPen>
#include "vu_common.h"
class QPaintEvent;
#include "vu_common.h"
class QPaintEvent;
#define LRAMETER_H
#include <math.h>
#define LRAMETER_H
#include <math.h>
-#include <QLabel>
-#include <QPaintEvent>
+#include <QPixmap>
+#include <QString>
#include <QWidget>
#include <mutex>
#include "vu_common.h"
#include <QWidget>
#include <mutex>
#include "vu_common.h"
+class QObject;
+class QPaintEvent;
+class QResizeEvent;
+
class LRAMeter : public QWidget
{
Q_OBJECT
class LRAMeter : public QWidget
{
Q_OBJECT
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
+#include <epoxy/gl.h> // IWYU pragma: keep
#include <QApplication>
#include <QCoreApplication>
#include <QGL>
#include <QSize>
#include <QSurfaceFormat>
#include <QApplication>
#include <QCoreApplication>
#include <QGL>
#include <QSize>
#include <QSurfaceFormat>
#include "context.h"
#include "flags.h"
#include "context.h"
#include "flags.h"
-#include <math.h>
-#include <stdio.h>
-#include <algorithm>
-#include <chrono>
-#include <string>
-#include <vector>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <QAbstractButton>
+#include <QAbstractSlider>
+#include <QAction>
+#include <QActionGroup>
+#include <QApplication>
+#include <QCheckBox>
+#include <QDial>
+#include <QDialog>
+#include <QEvent>
+#include <QFlags>
+#include <QFrame>
+#include <QImage>
#include <QInputDialog>
#include <QKeySequence>
#include <QLabel>
#include <QInputDialog>
#include <QKeySequence>
#include <QLabel>
+#include <QLayoutItem>
+#include <QMenuBar>
+#include <QMouseEvent>
+#include <QObject>
+#include <QRect>
+#include <QRgb>
-#include <QSize>
-#include <QString>
+#include <QStackedWidget>
+#include <QToolButton>
+#include <QWidget>
+#include <algorithm>
+#include <chrono>
+#include <cmath>
+#include <functional>
+#include <limits>
+#include <memory>
+#include <ratio>
+#include <string>
+#include <vector>
+#include "alsa_pool.h"
+#include "clickable_label.h"
+#include "correlation_meter.h"
#include "disk_space_estimator.h"
#include "disk_space_estimator.h"
+#include "ellipsis_label.h"
#include "flags.h"
#include "glwidget.h"
#include "flags.h"
#include "glwidget.h"
+#include "input_mapping.h"
#include "input_mapping_dialog.h"
#include "lrameter.h"
#include "midi_mapping.pb.h"
#include "midi_mapping_dialog.h"
#include "mixer.h"
#include "input_mapping_dialog.h"
#include "lrameter.h"
#include "midi_mapping.pb.h"
#include "midi_mapping_dialog.h"
#include "mixer.h"
+#include "nonlinear_fader.h"
#include "post_to_main_thread.h"
#include "post_to_main_thread.h"
-#include "ui_audio_miniview.h"
#include "ui_audio_expanded_view.h"
#include "ui_audio_expanded_view.h"
+#include "ui_audio_miniview.h"
#include "ui_display.h"
#include "ui_mainwindow.h"
#include "vumeter.h"
#include "ui_display.h"
#include "ui_mainwindow.h"
#include "vumeter.h"
using namespace std;
using namespace std::chrono;
using namespace std::placeholders;
using namespace std;
using namespace std::chrono;
using namespace std::placeholders;
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
+#include <stdbool.h>
+#include <sys/types.h>
#include <chrono>
#include <string>
#include <vector>
#include <chrono>
#include <string>
#include <vector>
+#include "audio_mixer.h"
#include "midi_mapper.h"
#include "mixer.h"
#include "midi_mapper.h"
#include "mixer.h"
-class GLWidget;
-class Ui_AudioExpandedView;
+class QEvent;
+class QObject;
+class Ui_AudioExpandedView;
namespace Ui {
class AudioExpandedView;
namespace Ui {
class AudioExpandedView;
class MainWindow;
} // namespace Ui
class MainWindow;
} // namespace Ui
class QLabel;
class QPushButton;
class QLabel;
class QPushButton;
+#include <byteswap.h>
+#include <netinet/in.h>
/*
* https://www.ece.cmu.edu/~koopman/pubs/KoopmanCRCWebinar9May2012.pdf
/*
* https://www.ece.cmu.edu/~koopman/pubs/KoopmanCRCWebinar9May2012.pdf
-#include "audio_mixer.h"
-#include "midi_mapping.pb.h"
-
#include <alsa/asoundlib.h>
#include <alsa/asoundlib.h>
-#include <google/protobuf/text_format.h>
-#include <google/protobuf/io/zero_copy_stream.h>
-#include <google/protobuf/io/zero_copy_stream_impl.h>
+#include <assert.h>
+#include <errno.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/io/zero_copy_stream_impl.h>
+#include <google/protobuf/message.h>
+#include <google/protobuf/text_format.h>
+#include <poll.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <algorithm>
#include <functional>
#include <thread>
#include <functional>
#include <thread>
+#include "audio_mixer.h"
+#include "midi_mapping.pb.h"
+
using namespace google::protobuf;
using namespace std;
using namespace std::placeholders;
using namespace google::protobuf;
using namespace std;
using namespace std::placeholders;
#include "midi_mapping_dialog.h"
#include "midi_mapping_dialog.h"
-#include "midi_mapper.h"
-#include "midi_mapping.pb.h"
-#include "post_to_main_thread.h"
-#include "ui_midi_mapping.h"
-
+#include <assert.h>
+#include <google/protobuf/descriptor.h>
+#include <google/protobuf/message.h>
+#include <QDialogButtonBox>
#include <QFileDialog>
#include <QMessageBox>
#include <QFileDialog>
#include <QMessageBox>
+#include <QStringList>
+#include <QTreeWidget>
+#include <stdio.h>
+#include <cstddef>
+#include <functional>
+#include <limits>
+#include "midi_mapper.h"
+#include "midi_mapping.pb.h"
+#include "ui_midi_mapping.h"
+
+class QObject;
+
using namespace google::protobuf;
using namespace std;
using namespace google::protobuf;
using namespace std;
#ifndef _MIDI_MAPPING_DIALOG_H
#define _MIDI_MAPPING_DIALOG_H
#ifndef _MIDI_MAPPING_DIALOG_H
#define _MIDI_MAPPING_DIALOG_H
+#include <QString>
+#include <map>
+#include <memory>
#include <string>
#include <utility>
#include <vector>
#include <string>
#include <utility>
#include <vector>
-#include "audio_mixer.h"
+
+class QEvent;
+class QObject;
namespace Ui {
class MIDIMappingDialog;
} // namespace Ui
namespace Ui {
class MIDIMappingDialog;
} // namespace Ui
class MIDIMappingProto;
class QComboBox;
class QSpinBox;
class MIDIMappingProto;
class QComboBox;
class QSpinBox;
#include "mixer.h"
#include <assert.h>
#include "mixer.h"
#include <assert.h>
#include <epoxy/egl.h>
#include <movit/effect_chain.h>
#include <movit/effect_util.h>
#include <epoxy/egl.h>
#include <movit/effect_chain.h>
#include <movit/effect_util.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/resource.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/resource.h>
-#include <sys/time.h>
-#include <time.h>
#include <algorithm>
#include <chrono>
#include <algorithm>
#include <chrono>
#include <condition_variable>
#include <cstddef>
#include <condition_variable>
#include <cstddef>
#include <memory>
#include <mutex>
#include <memory>
#include <mutex>
#include <string>
#include <thread>
#include <utility>
#include <vector>
#include <string>
#include <thread>
#include <utility>
#include <vector>
+#include "DeckLinkAPI.h"
+#include "LinuxCOM.h"
+#include "alsa_output.h"
#include "bmusb/bmusb.h"
#include "bmusb/fake_capture.h"
#include "context.h"
#include "bmusb/bmusb.h"
#include "bmusb/fake_capture.h"
#include "context.h"
#include "decklink_capture.h"
#include "defs.h"
#include "disk_space_estimator.h"
#include "flags.h"
#include "decklink_capture.h"
#include "defs.h"
#include "disk_space_estimator.h"
#include "flags.h"
+#include "input_mapping.h"
#include "pbo_frame_allocator.h"
#include "ref_counted_gl_sync.h"
#include "pbo_frame_allocator.h"
#include "ref_counted_gl_sync.h"
+#include "resampling_queue.h"
#include "timebase.h"
#include "video_encoder.h"
#include "timebase.h"
#include "video_encoder.h"
class QOpenGLContext;
using namespace movit;
class QOpenGLContext;
using namespace movit;
#include <assert.h>
#include <epoxy/gl.h>
#include <assert.h>
#include <epoxy/gl.h>
-#include <movit/effect_chain.h>
-#include <movit/flat_input.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdbool.h>
#include <stdint.h>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <atomic>
#include <chrono>
#include <condition_variable>
#include <thread>
#include <vector>
#include <thread>
#include <vector>
-#include "alsa_output.h"
#include "audio_mixer.h"
#include "bmusb/bmusb.h"
#include "defs.h"
#include "httpd.h"
#include "input_state.h"
#include "audio_mixer.h"
#include "bmusb/bmusb.h"
#include "defs.h"
#include "httpd.h"
#include "input_state.h"
#include "pbo_frame_allocator.h"
#include "ref_counted_frame.h"
#include "ref_counted_gl_sync.h"
#include "pbo_frame_allocator.h"
#include "ref_counted_frame.h"
#include "ref_counted_gl_sync.h"
-#include "resampling_queue.h"
#include "theme.h"
#include "timebase.h"
#include "theme.h"
#include "timebase.h"
-#include "stereocompressor.h"
#include "video_encoder.h"
class ALSAOutput;
class QSurface;
#include "video_encoder.h"
class ALSAOutput;
class QSurface;
namespace movit {
class Effect;
class EffectChain;
class FlatInput;
class ResourcePool;
} // namespace movit
namespace movit {
class Effect;
class EffectChain;
class FlatInput;
class ResourcePool;
} // namespace movit
-
-namespace movit {
-class YCbCrInput;
-}
class QSurfaceFormat;
// For any card that's not the master (where we pick out the frames as they
class QSurfaceFormat;
// For any card that's not the master (where we pick out the frames as they
+#include <assert.h>
+#include <stdint.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include <algorithm>
#include <mutex>
#include <string>
#include <algorithm>
#include <mutex>
#include <string>
+extern "C" {
+#include <libavformat/avio.h>
+#include <libavutil/avutil.h>
+#include <libavutil/dict.h>
+#include <libavutil/mathematics.h>
+#include <libavutil/mem.h>
+#include <libavutil/pixfmt.h>
+#include <libavutil/rational.h>
+}
+
#include "timebase.h"
using namespace std;
#include "timebase.h"
using namespace std;
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
-#include <libavformat/avio.h>
#include <functional>
#include <mutex>
#include <functional>
#include <mutex>
#include <vector>
class Mux {
#include <vector>
class Mux {
+#include "nonlinear_fader.h"
+
#include <assert.h>
#include <math.h>
#include <assert.h>
#include <math.h>
-#include <stdio.h>
-#include <vector>
-#include <utility>
-
-#include <QResizeEvent>
+#include <QPoint>
+#include <QRect>
-#include <QStyleOptionSlider>
+#include <QStyleOption>
+#include <memory>
+#include <utility>
+#include <vector>
-#include "nonlinear_fader.h"
+class QPaintEvent;
+class QWidget;
#ifndef _NONLINEAR_FADER_H
#define _NONLINEAR_FADER_H 1
#ifndef _NONLINEAR_FADER_H
#define _NONLINEAR_FADER_H 1
+#include <QAbstractSlider>
+#include <QString>
+
+class QObject;
+class QPaintEvent;
+class QWidget;
class NonLinearFader : public QSlider {
Q_OBJECT
class NonLinearFader : public QSlider {
Q_OBJECT
#include "pbo_frame_allocator.h"
#include "pbo_frame_allocator.h"
+#include <bmusb/bmusb.h>
+#include <movit/util.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <cstddef>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <cstddef>
-#include <movit/util.h>
-
using namespace std;
PBOFrameAllocator::PBOFrameAllocator(size_t frame_size, GLuint width, GLuint height, size_t num_queued_frames, GLenum buffer, GLenum permissions, GLenum map_bits)
using namespace std;
PBOFrameAllocator::PBOFrameAllocator(size_t frame_size, GLuint width, GLuint height, size_t num_queued_frames, GLenum buffer, GLenum permissions, GLenum map_bits)
#define _PBO_FRAME_ALLOCATOR 1
#include <epoxy/gl.h>
#define _PBO_FRAME_ALLOCATOR 1
#include <epoxy/gl.h>
#include <stddef.h>
#include <memory>
#include <mutex>
#include <stddef.h>
#include <memory>
#include <mutex>
#include <epoxy/gl.h>
#include <stdbool.h>
#include <stdint.h>
#include <epoxy/gl.h>
#include <stdbool.h>
#include <stdint.h>
-#include <atomic>
-#include <functional>
#include <memory>
#include <string>
#include <vector>
#include <memory>
#include <string>
#include <vector>
#include <libavformat/avformat.h>
}
#include <libavformat/avformat.h>
}
-#include "ref_counted_frame.h"
#include "ref_counted_gl_sync.h"
#include "ref_counted_gl_sync.h"
class DiskSpaceEstimator;
class Mux;
class QSurface;
class DiskSpaceEstimator;
class Mux;
class QSurface;
#include "ref_counted_frame.h"
#include "ref_counted_frame.h"
+#include <bmusb/bmusb.h>
+
void release_refcounted_frame(bmusb::FrameAllocator::Frame *frame)
{
if (frame->owner) {
void release_refcounted_frame(bmusb::FrameAllocator::Frame *frame)
{
if (frame->owner) {
#include "resampling_queue.h"
#include <assert.h>
#include "resampling_queue.h"
#include <assert.h>
-#include <math.h>
-#include <stddef.h>
#include <string.h>
#include <zita-resampler/vresampler.h>
#include <string.h>
#include <zita-resampler/vresampler.h>
+#include <algorithm>
+#include <cmath>
+
+using namespace std;
ResamplingQueue::ResamplingQueue(unsigned card_num, unsigned freq_in, unsigned freq_out, unsigned num_channels)
: card_num(card_num), freq_in(freq_in), freq_out(freq_out), num_channels(num_channels),
ResamplingQueue::ResamplingQueue(unsigned card_num, unsigned freq_in, unsigned freq_out, unsigned num_channels)
: card_num(card_num), freq_in(freq_in), freq_out(freq_out), num_channels(num_channels),
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
-#include <stdint.h>
-#include <stdlib.h>
#include <sys/types.h>
#include <zita-resampler/vresampler.h>
#include <deque>
#include <sys/types.h>
#include <zita-resampler/vresampler.h>
#include <deque>
+#include "stereocompressor.h"
+
#include <assert.h>
#include <algorithm>
#include <assert.h>
#include <algorithm>
-
-#include "stereocompressor.h"
#ifndef _STEREOCOMPRESSOR_H
#define _STEREOCOMPRESSOR_H 1
#ifndef _STEREOCOMPRESSOR_H
#define _STEREOCOMPRESSOR_H 1
// A simple compressor based on absolute values, with independent
// attack/release times. There is no sidechain or lookahead, but the
// peak value is shared between both channels.
// A simple compressor based on absolute values, with independent
// attack/release times. There is no sidechain or lookahead, but the
// peak value is shared between both channels.
// It has been adapted and relicensed under GPLv3 (or, at your option,
// any later version) for Nageru, so that its license matches the rest of the code.
// It has been adapted and relicensed under GPLv3 (or, at your option,
// any later version) for Nageru, so that its license matches the rest of the code.
class StereoCompressor {
public:
StereoCompressor(float sample_rate)
class StereoCompressor {
public:
StereoCompressor(float sample_rate)
#include "theme.h"
#include <assert.h>
#include "theme.h"
#include <assert.h>
+#include <bmusb/bmusb.h>
+#include <epoxy/gl.h>
#include <lauxlib.h>
#include <lua.hpp>
#include <movit/effect.h>
#include <movit/effect_chain.h>
#include <movit/image_format.h>
#include <movit/mix_effect.h>
#include <lauxlib.h>
#include <lua.hpp>
#include <movit/effect.h>
#include <movit/effect_chain.h>
#include <movit/image_format.h>
#include <movit/mix_effect.h>
+#include <movit/multiply_effect.h>
#include <movit/overlay_effect.h>
#include <movit/padding_effect.h>
#include <movit/resample_effect.h>
#include <movit/resize_effect.h>
#include <movit/overlay_effect.h>
#include <movit/padding_effect.h>
#include <movit/resample_effect.h>
#include <movit/resize_effect.h>
-#include <movit/multiply_effect.h>
#include <movit/util.h>
#include <movit/white_balance_effect.h>
#include <movit/ycbcr.h>
#include <movit/util.h>
#include <movit/white_balance_effect.h>
#include <movit/ycbcr.h>
#include <stdio.h>
#include <stdlib.h>
#include <cstddef>
#include <stdio.h>
#include <stdlib.h>
#include <cstddef>
#include <new>
#include <utility>
#include <new>
#include <utility>
+#include "deinterlace_effect.h"
#include "flags.h"
#include "image_input.h"
#include "flags.h"
#include "image_input.h"
+#include "input.h"
+#include "input_state.h"
+#include "pbo_frame_allocator.h"
+
+class Mixer;
namespace movit {
class ResourcePool;
namespace movit {
class ResourcePool;
#ifndef _THEME_H
#define _THEME_H 1
#ifndef _THEME_H
#define _THEME_H 1
-#include <movit/effect_chain.h>
-#include <movit/deinterlace_effect.h>
#include <movit/ycbcr_input.h>
#include <stdbool.h>
#include <movit/ycbcr_input.h>
#include <stdbool.h>
-#include "defs.h"
-#include "input_state.h"
#include "ref_counted_frame.h"
#include "ref_counted_frame.h"
namespace movit {
class ResourcePool;
namespace movit {
class ResourcePool;
+class Effect;
+class EffectChain;
struct ImageFormat;
struct YCbCrFormat;
} // namespace movit
struct ImageFormat;
struct YCbCrFormat;
} // namespace movit
#include "video_encoder.h"
#include <assert.h>
#include "video_encoder.h"
#include <assert.h>
+#include <stdio.h>
+#include <time.h>
+#include <unistd.h>
+#include <thread>
+
+extern "C" {
+#include <libavutil/mem.h>
+}
+#include "audio_encoder.h"
+#include "ffmpeg_raii.h"
#include "flags.h"
#include "httpd.h"
#include "flags.h"
#include "httpd.h"
#include "quicksync_encoder.h"
#include "quicksync_encoder.h"
#include "x264_encoder.h"
#include "x264_encoder.h"
+class RefCountedFrame;
+
using namespace std;
using namespace movit;
using namespace std;
using namespace movit;
#ifndef _VIDEO_ENCODER_H
#define _VIDEO_ENCODER_H
#ifndef _VIDEO_ENCODER_H
#define _VIDEO_ENCODER_H
+#include <epoxy/gl.h>
+#include <stdbool.h>
#include <string>
#include <vector>
#include <string>
#include <vector>
-#include "audio_encoder.h"
-#include "mux.h"
-#include "ref_counted_frame.h"
+extern "C" {
+#include <libavformat/avformat.h>
+#include <libavformat/avio.h>
+}
+
#include "ref_counted_gl_sync.h"
#include "ref_counted_gl_sync.h"
class DiskSpaceEstimator;
class HTTPD;
class DiskSpaceEstimator;
class HTTPD;
class QSurface;
class QuickSyncEncoder;
class QSurface;
class QuickSyncEncoder;
class X264Encoder;
namespace movit {
class X264Encoder;
namespace movit {
-#include <math.h>
-#include <algorithm>
-
-#include <QBrush>
#include <QColor>
#include <QPainter>
#include <QColor>
#include <QPainter>
+#include <algorithm>
+#include <cmath>
#ifndef _VU_COMMON_H
#define _VU_COMMON_H 1
#ifndef _VU_COMMON_H
#define _VU_COMMON_H 1
double lufs_to_pos(float level_lu, int height, float min_level, float max_level);
double lufs_to_pos(float level_lu, int height, float min_level, float max_level);
+
+#include <QPainter>
+#include <QRect>
+class QPaintEvent;
+class QResizeEvent;
+
using namespace std;
VUMeter::VUMeter(QWidget *parent)
using namespace std;
VUMeter::VUMeter(QWidget *parent)
#define VUMETER_H
#include <math.h>
#define VUMETER_H
#include <math.h>
-#include <QLabel>
-#include <QPaintEvent>
+#include <QPixmap>
+#include <QString>
#include <QWidget>
#include <mutex>
#include "vu_common.h"
#include <QWidget>
#include <mutex>
#include "vu_common.h"
+class QObject;
+class QPaintEvent;
+class QResizeEvent;
+
class VUMeter : public QWidget
{
Q_OBJECT
class VUMeter : public QWidget
{
Q_OBJECT
+#include "x264_encoder.h"
+
+#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <string.h>
#include <unistd.h>
+#include <x264.h>
+#include <cstdint>
#include "defs.h"
#include "flags.h"
#include "mux.h"
#include "timebase.h"
#include "defs.h"
#include "flags.h"
#include "mux.h"
#include "timebase.h"
-#include "x264_encoder.h"
#include "x264_speed_control.h"
extern "C" {
#include "x264_speed_control.h"
extern "C" {
+#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
}
#include <libavformat/avformat.h>
}
#define _X264ENCODE_H 1
#include <stdint.h>
#define _X264ENCODE_H 1
#include <stdint.h>
#include <atomic>
#include <condition_variable>
#include <memory>
#include <mutex>
#include <atomic>
#include <condition_variable>
#include <memory>
#include <mutex>
+#include <string>
+#include <thread>
#include <libavformat/avformat.h>
}
#include <libavformat/avformat.h>
}
#include "x264_speed_control.h"
#include "x264_speed_control.h"
-#include "flags.h"
-
-#include <time.h>
-
+#include <math.h>
+#include <stdio.h>
+#include <x264.h>
#include <algorithm>
#include <chrono>
#include <algorithm>
#include <chrono>
+#include <cmath>
+#include <ratio>
+#include <type_traits>
+
+#include "flags.h"
using namespace std;
using namespace std::chrono;
using namespace std;
using namespace std::chrono;
// one does not need to patch x264 to use it in Nageru. It still could do with
// some cleanup, but it's much, much better than just using a static preset.
// one does not need to patch x264 to use it in Nageru. It still could do with
// some cleanup, but it's much, much better than just using a static preset.
-#include <string.h>
-#include <math.h>
#include <chrono>
#include <functional>
#include <chrono>
#include <functional>