JUCE-7.0.12-0-g4f43011b96 JUCE-7.0.12-0-g4f43011b96
JUCE — C++ application framework with suport for VST, VST3, LV2 audio plug-ins

« « « Anklang Documentation
Loading...
Searching...
No Matches
juce_OggVorbisAudioFormat.h
Go to the documentation of this file.
1 /*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29#if JUCE_USE_OGGVORBIS || DOXYGEN
30
31//==============================================================================
41class JUCE_API OggVorbisAudioFormat : public AudioFormat
42{
43public:
44 //==============================================================================
46 ~OggVorbisAudioFormat() override;
47
48 //==============================================================================
51 bool canDoStereo() override;
52 bool canDoMono() override;
53 bool isCompressed() override;
55
56 //==============================================================================
65 int estimateOggFileQuality (const File& source);
66
67 //==============================================================================
73 static const char* const encoderName;
74
75 static const char* const id3title;
76 static const char* const id3artist;
77 static const char* const id3album;
78 static const char* const id3comment;
79 static const char* const id3date;
80 static const char* const id3genre;
81 static const char* const id3trackNumber;
83 //==============================================================================
85 bool deleteStreamIfOpeningFails) override;
86
88 double sampleRateToUse,
89 unsigned int numberOfChannels,
90 int bitsPerSample,
91 const StringPairArray& metadataValues,
92 int qualityOptionIndex) override;
93 using AudioFormat::createWriterFor;
94
95private:
97};
98
99
100#endif
101
102} // namespace juce
Holds a resizable array of primitive or copy-by-value objects.
Definition juce_Array.h:56
Reads samples from an audio file stream.
Writes samples to an audio file stream.
Subclasses of AudioFormat are used to read and write different audio file formats.
Represents a local file or directory.
Definition juce_File.h:45
The base class for streams that read data.
Reads and writes the Ogg-Vorbis audio format.
static const char *const id3title
Metadata key for setting an ID3 title.
Array< int > getPossibleSampleRates() override
Returns a set of sample rates that the format can read and write.
static const char *const encoderName
Metadata property name used by the Ogg writer - if you set a string for this value,...
int estimateOggFileQuality(const File &source)
Tries to estimate the quality level of an ogg file based on its size.
static const char *const id3comment
Metadata key for setting an ID3 comment.
AudioFormatReader * createReaderFor(InputStream *sourceStream, bool deleteStreamIfOpeningFails) override
Tries to create an object that can read from a stream containing audio data in this format.
AudioFormatWriter * createWriterFor(OutputStream *streamToWriteTo, double sampleRateToUse, unsigned int numberOfChannels, int bitsPerSample, const StringPairArray &metadataValues, int qualityOptionIndex) override
Tries to create an object that can write to a stream with this audio format.
static const char *const id3album
Metadata key for setting an ID3 album.
static const char *const id3date
Metadata key for setting an ID3 date.
bool canDoMono() override
Returns true if the format can do 1-channel audio.
Array< int > getPossibleBitDepths() override
Returns a set of bit depths that the format can read and write.
bool isCompressed() override
Returns true if the format uses compressed data.
static const char *const id3trackNumber
Metadata key for setting an ID3 track number.
static const char *const id3genre
Metadata key for setting an ID3 genre.
bool canDoStereo() override
Returns true if the format can do 2-channel audio.
StringArray getQualityOptions() override
Returns a list of different qualities that can be used when writing.
static const char *const id3artist
Metadata key for setting an ID3 artist name.
The base class for streams that write data to some kind of destination.
A special array for holding a list of strings.
A container for holding a set of strings which are keyed by another string.
#define JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(className)
This is a shorthand way of writing both a JUCE_DECLARE_NON_COPYABLE and JUCE_LEAK_DETECTOR macro for ...
JUCE Namespace.