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-2026 Alexandros Theodotou <alex@zrythm.org>
2
// SPDX-License-Identifier: LicenseRef-ZrythmLicense
3
4
#pragma once
5
6
#include <filesystem>
7
8
#include "utils/units.h"
9
10
#include <QPromise>
11
12
#include <juce_audio_basics/juce_audio_basics.h>
13
#include <juce_audio_formats/juce_audio_formats.h>
14
15
namespace
zrythm::utils
16
{
17
18
class
AudioFileWriter
19
{
20
public
:
21
struct
WriteOptions
22
{
23
juce::AudioFormatWriterOptions writer_options_{};
24
units::sample_t block_length_ = units::samples (4096);
25
};
26
35
static
QFuture<void>
write_async
(
36
WriteOptions
options,
37
const
std::filesystem::path &file_path,
38
juce::AudioSampleBuffer &&buffer);
39
40
private
:
49
static
void
write (
50
QPromise<void> &promise,
51
WriteOptions
options,
52
const
std::filesystem::path &file_path,
53
juce::AudioSampleBuffer &&buffer);
54
};
55
56
}
// namespace zrythm::utils
zrythm::utils::AudioFileWriter
Definition
audio_file_writer.h:19
zrythm::utils::AudioFileWriter::write_async
static QFuture< void > write_async(WriteOptions options, const std::filesystem::path &file_path, juce::AudioSampleBuffer &&buffer)
Executes write() asynchronously and returns a QFuture to control the task.
zrythm::utils
String utilities.
Definition
chord_descriptor.h:7
zrythm::utils::AudioFileWriter::WriteOptions
Definition
audio_file_writer.h:22
src
utils
audio_file_writer.h
Generated by
1.16.1