Zrythm
v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
audio_file_writer.h
1
// SPDX-FileCopyrightText: © 2025 Alexandros Theodotou <alex@zrythm.org>
2
// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4
#pragma once
5
6
#include "utils/types.h"
7
#include "utils/units.h"
8
9
#include <QPromise>
10
11
#include <juce_wrapper.h>
12
13
namespace
zrythm::utils
14
{
15
16
class
AudioFileWriter
17
{
18
public
:
19
struct
WriteOptions
20
{
21
juce::AudioFormatWriterOptions writer_options_{};
22
units::sample_t block_length_ = units::samples (4096);
23
};
24
33
static
QFuture<void>
write_async
(
34
WriteOptions
options,
35
const
fs::path &file_path,
36
juce::AudioSampleBuffer &&buffer);
37
38
private
:
47
static
void
write (
48
QPromise<void> &promise,
49
WriteOptions
options,
50
const
fs::path &file_path,
51
juce::AudioSampleBuffer &&buffer);
52
};
53
54
}
// namespace zrythm::utils
zrythm::utils::AudioFileWriter
Definition
audio_file_writer.h:17
zrythm::utils::AudioFileWriter::write_async
static QFuture< void > write_async(WriteOptions options, const fs::path &file_path, juce::AudioSampleBuffer &&buffer)
Executes write() asynchronously and returns a QFuture to control the task.
zrythm::utils
String utilities.
Definition
algorithms.h:12
zrythm::utils::AudioFileWriter::WriteOptions
Definition
audio_file_writer.h:20
src
utils
audio_file_writer.h
Generated by
1.15.0