blob: 4fd8b5c4ba0c4e4ae5ff3e75c27107f3a9fb14ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#pragma once
#include <QVector>
#include <memory>
#include "audio/frame.h"
#include "audio/streaminfo.h"
#include "track/beats.h"
namespace mixxx {
/// Importer class for Beats that can correct timing offsets when the
/// signal info (channel number, sample rate, bitrate) is known.
class BeatsImporter {
public:
virtual ~BeatsImporter() = default;
virtual bool isEmpty() const = 0;
/// Determines the timing offset and returns a Beats object.
virtual BeatsPointer importBeatsAndApplyTimingOffset(
const QString& filePath, const audio::StreamInfo& streamInfo) = 0;
};
typedef std::shared_ptr<BeatsImporter> BeatsImporterPointer;
} // namespace mixxx
|