summaryrefslogtreecommitdiff
path: root/src/database
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-08-10 15:33:00 +1000
committerjacqueline <me@jacqueline.id.au>2023-08-10 15:33:00 +1000
commitd8fc77101dcf80a3643a00b3446dca1e390ce997 (patch)
tree9e03881f3857c7b4c6a0b6e3a062947daecc69d1 /src/database
parent67caeb6e3cda44205ba8fe783274b20dc7ea216e (diff)
downloadtangara-fw-d8fc77101dcf80a3643a00b3446dca1e390ce997.tar.gz
Give codecs complete control of their input files
Diffstat (limited to 'src/database')
-rw-r--r--src/database/database.cpp4
-rw-r--r--src/database/include/track.hpp10
-rw-r--r--src/database/tag_parser.cpp12
3 files changed, 13 insertions, 13 deletions
diff --git a/src/database/database.cpp b/src/database/database.cpp
index 61e292ff..e6341e43 100644
--- a/src/database/database.cpp
+++ b/src/database/database.cpp
@@ -173,7 +173,7 @@ auto Database::Update() -> std::future<void> {
TrackTags tags{};
if (!tag_parser_->ReadAndParseTags(track->filepath(), &tags) ||
- tags.encoding() == Encoding::kUnsupported) {
+ tags.encoding() == Container::kUnsupported) {
// We couldn't read the tags for this track. Either they were
// malformed, or perhaps the file is missing. Either way, tombstone
// this record.
@@ -209,7 +209,7 @@ auto Database::Update() -> std::future<void> {
file_gatherer_->FindFiles("", [&](const std::string& path) {
TrackTags tags;
if (!tag_parser_->ReadAndParseTags(path, &tags) ||
- tags.encoding() == Encoding::kUnsupported) {
+ tags.encoding() == Container::kUnsupported) {
// No parseable tags; skip this fiile.
return;
}
diff --git a/src/database/include/track.hpp b/src/database/include/track.hpp
index d4f01b71..41f552d2 100644
--- a/src/database/include/track.hpp
+++ b/src/database/include/track.hpp
@@ -37,7 +37,7 @@ typedef uint32_t TrackId;
* Values of this enum are persisted in this database, so it is probably never a
* good idea to change the int representation of an existing value.
*/
-enum class Encoding {
+enum class Container {
kUnsupported = 0,
kMp3 = 1,
kWav = 2,
@@ -61,10 +61,10 @@ enum class Tag {
*/
class TrackTags {
public:
- auto encoding() const -> Encoding { return encoding_; };
- auto encoding(Encoding e) -> void { encoding_ = e; };
+ auto encoding() const -> Container { return encoding_; };
+ auto encoding(Container e) -> void { encoding_ = e; };
- TrackTags() : encoding_(Encoding::kUnsupported) {}
+ TrackTags() : encoding_(Container::kUnsupported) {}
std::optional<int> channels;
std::optional<int> sample_rate;
@@ -89,7 +89,7 @@ class TrackTags {
TrackTags(const TrackTags&) = default;
private:
- Encoding encoding_;
+ Container encoding_;
std::unordered_map<Tag, shared_string> tags_;
};
diff --git a/src/database/tag_parser.cpp b/src/database/tag_parser.cpp
index 2f1fe337..fc6c95f2 100644
--- a/src/database/tag_parser.cpp
+++ b/src/database/tag_parser.cpp
@@ -142,22 +142,22 @@ auto TagParserImpl::ReadAndParseTags(const std::string& path, TrackTags* out)
switch (ctx.format) {
case Fmp3:
- out->encoding(Encoding::kMp3);
+ out->encoding(Container::kMp3);
break;
case Fogg:
- out->encoding(Encoding::kOgg);
+ out->encoding(Container::kOgg);
break;
case Fflac:
- out->encoding(Encoding::kFlac);
+ out->encoding(Container::kFlac);
break;
case Fwav:
- out->encoding(Encoding::kWav);
+ out->encoding(Container::kWav);
break;
case Fopus:
- out->encoding(Encoding::kOpus);
+ out->encoding(Container::kOpus);
break;
default:
- out->encoding(Encoding::kUnsupported);
+ out->encoding(Container::kUnsupported);
}
if (ctx.channels > 0) {