summaryrefslogtreecommitdiffstats
path: root/src/djinterop/enginelibrary/el_track_impl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/djinterop/enginelibrary/el_track_impl.cpp')
-rw-r--r--src/djinterop/enginelibrary/el_track_impl.cpp152
1 files changed, 76 insertions, 76 deletions
diff --git a/src/djinterop/enginelibrary/el_track_impl.cpp b/src/djinterop/enginelibrary/el_track_impl.cpp
index 6356dc7..7a15837 100644
--- a/src/djinterop/enginelibrary/el_track_impl.cpp
+++ b/src/djinterop/enginelibrary/el_track_impl.cpp
@@ -37,10 +37,10 @@ using std::chrono::system_clock;
namespace
{
-boost::optional<system_clock::time_point> to_time_point(
- boost::optional<int64_t> timestamp)
+std::optional<system_clock::time_point> to_time_point(
+ std::optional<int64_t> timestamp)
{
- boost::optional<system_clock::time_point> result;
+ std::optional<system_clock::time_point> result;
if (timestamp)
{
result = system_clock::time_point{seconds(*timestamp)};
@@ -48,10 +48,10 @@ boost::optional<system_clock::time_point> to_time_point(
return result;
}
-boost::optional<int64_t> to_timestamp(
- boost::optional<system_clock::time_point> time)
+std::optional<int64_t> to_timestamp(
+ std::optional<system_clock::time_point> time)
{
- boost::optional<int64_t> result;
+ std::optional<int64_t> result;
if (time)
{
result = duration_cast<seconds>(time->time_since_epoch()).count();
@@ -89,10 +89,10 @@ el_track_impl::el_track_impl(std::shared_ptr<el_storage> storage, int64_t id)
{
}
-boost::optional<std::string> el_track_impl::get_metadata_str(
+std::optional<std::string> el_track_impl::get_metadata_str(
metadata_str_type type)
{
- boost::optional<std::string> result;
+ std::optional<std::string> result;
storage_->db << "SELECT text FROM MetaData WHERE id = ? AND "
"type = ? AND text IS NOT NULL"
<< id() << static_cast<int64_t>(type) >>
@@ -113,7 +113,7 @@ boost::optional<std::string> el_track_impl::get_metadata_str(
}
void el_track_impl::set_metadata_str(
- metadata_str_type type, boost::optional<std::string> content)
+ metadata_str_type type, std::optional<std::string> content)
{
if (content)
{
@@ -134,9 +134,9 @@ void el_track_impl::set_metadata_str(
<< id() << static_cast<int64_t>(type) << content;
}
-boost::optional<int64_t> el_track_impl::get_metadata_int(metadata_int_type type)
+std::optional<int64_t> el_track_impl::get_metadata_int(metadata_int_type type)
{
- boost::optional<int64_t> result;
+ std::optional<int64_t> result;
storage_->db << "SELECT value FROM MetaDataInteger WHERE id = "
"? AND type = ? AND value IS NOT NULL"
<< id() << static_cast<int64_t>(type) >>
@@ -157,7 +157,7 @@ boost::optional<int64_t> el_track_impl::get_metadata_int(metadata_int_type type)
}
void el_track_impl::set_metadata_int(
- metadata_int_type type, boost::optional<int64_t> content)
+ metadata_int_type type, std::optional<int64_t> content)
{
storage_->db
<< "REPLACE INTO MetaDataInteger (id, type, value) VALUES (?, ?, ?)"
@@ -262,20 +262,20 @@ void el_track_impl::set_adjusted_main_cue(double sample_offset)
trans.commit();
}
-boost::optional<std::string> el_track_impl::album()
+std::optional<std::string> el_track_impl::album()
{
return get_metadata_str(metadata_str_type::album);
}
-void el_track_impl::set_album(boost::optional<std::string> album)
+void el_track_impl::set_album(std::optional<std::string> album)
{
set_metadata_str(metadata_str_type::album, album);
}
-boost::optional<int64_t> el_track_impl::album_art_id()
+std::optional<int64_t> el_track_impl::album_art_id()
{
int64_t cell = get_cell<int64_t>("idAlbumArt");
- boost::optional<int64_t> album_art_id;
+ std::optional<int64_t> album_art_id;
if (cell < 1)
{
// TODO (haslersn): Throw something.
@@ -287,7 +287,7 @@ boost::optional<int64_t> el_track_impl::album_art_id()
return album_art_id;
}
-void el_track_impl::set_album_art_id(boost::optional<int64_t> album_art_id)
+void el_track_impl::set_album_art_id(std::optional<int64_t> album_art_id)
{
if (album_art_id && *album_art_id <= 1)
{
@@ -297,23 +297,23 @@ void el_track_impl::set_album_art_id(boost::optional<int64_t> album_art_id)
// 1 is the magic number for "no album art"
}
-boost::optional<std::string> el_track_impl::artist()
+std::optional<std::string> el_track_impl::artist()
{
return get_metadata_str(metadata_str_type::artist);
}
-void el_track_impl::set_artist(boost::optional<std::string> artist)
+void el_track_impl::set_artist(std::optional<std::string> artist)
{
set_metadata_str(metadata_str_type::artist, artist);
}
-boost::optional<double> el_track_impl::average_loudness()
+std::optional<double> el_track_impl::average_loudness()
{
return get_track_data().average_loudness;
}
void el_track_impl::set_average_loudness(
- boost::optional<double> average_loudness)
+ std::optional<double> average_loudness)
{
el_transaction_guard_impl trans{storage_};
auto track_d = get_track_data();
@@ -322,25 +322,25 @@ void el_track_impl::set_average_loudness(
trans.commit();
}
-boost::optional<int64_t> el_track_impl::bitrate()
+std::optional<int64_t> el_track_impl::bitrate()
{
- return get_cell<boost::optional<int64_t>>("bitrate");
+ return get_cell<std::optional<int64_t>>("bitrate");
}
-void el_track_impl::set_bitrate(boost::optional<int64_t> bitrate)
+void el_track_impl::set_bitrate(std::optional<int64_t> bitrate)
{
set_cell("bitrate", bitrate);
}
-boost::optional<double> el_track_impl::bpm()
+std::optional<double> el_track_impl::bpm()
{
- return get_cell<boost::optional<double>>("bpmAnalyzed");
+ return get_cell<std::optional<double>>("bpmAnalyzed");
}
-void el_track_impl::set_bpm(boost::optional<double> bpm)
+void el_track_impl::set_bpm(std::optional<double> bpm)
{
set_cell("bpmAnalyzed", bpm);
- boost::optional<int64_t> ceiled_bpm;
+ std::optional<int64_t> ceiled_bpm;
if (bpm)
{
ceiled_bpm = static_cast<int64_t>(std::ceil(*bpm));
@@ -348,22 +348,22 @@ void el_track_impl::set_bpm(boost::optional<double> bpm)
set_cell("bpm", ceiled_bpm);
}
-boost::optional<std::string> el_track_impl::comment()
+std::optional<std::string> el_track_impl::comment()
{
return get_metadata_str(metadata_str_type::comment);
}
-void el_track_impl::set_comment(boost::optional<std::string> comment)
+void el_track_impl::set_comment(std::optional<std::string> comment)
{
set_metadata_str(metadata_str_type::comment, comment);
}
-boost::optional<std::string> el_track_impl::composer()
+std::optional<std::string> el_track_impl::composer()
{
return get_metadata_str(metadata_str_type::composer);
}
-void el_track_impl::set_composer(boost::optional<std::string> composer)
+void el_track_impl::set_composer(std::optional<std::string> composer)
{
set_metadata_str(metadata_str_type::composer, composer);
}
@@ -414,21 +414,21 @@ void el_track_impl::set_default_main_cue(double sample_offset)
trans.commit();
}
-boost::optional<milliseconds> el_track_impl::duration()
+std::optional<milliseconds> el_track_impl::duration()
{
- boost::optional<milliseconds> result;
+ std::optional<milliseconds> result;
auto smp = sampling();
if (smp)
{
double secs = smp->sample_count / smp->sample_rate;
return milliseconds{static_cast<int64_t>(1000 * secs)};
}
- auto secs = get_cell<boost::optional<int64_t>>("length");
+ auto secs = get_cell<std::optional<int64_t>>("length");
if (secs)
{
return milliseconds{*secs * 1000};
}
- return boost::none;
+ return std::nullopt;
}
std::string el_track_impl::file_extension()
@@ -444,23 +444,23 @@ std::string el_track_impl::filename()
return get_filename(rel_path);
}
-boost::optional<std::string> el_track_impl::genre()
+std::optional<std::string> el_track_impl::genre()
{
return get_metadata_str(metadata_str_type::genre);
}
-void el_track_impl::set_genre(boost::optional<std::string> genre)
+void el_track_impl::set_genre(std::optional<std::string> genre)
{
set_metadata_str(metadata_str_type::genre, genre);
}
-boost::optional<hot_cue> el_track_impl::hot_cue_at(int32_t index)
+std::optional<hot_cue> el_track_impl::hot_cue_at(int32_t index)
{
auto quick_cues_d = get_quick_cues_data();
return std::move(quick_cues_d.hot_cues[index]);
}
-void el_track_impl::set_hot_cue_at(int32_t index, boost::optional<hot_cue> cue)
+void el_track_impl::set_hot_cue_at(int32_t index, std::optional<hot_cue> cue)
{
el_transaction_guard_impl trans{storage_};
auto quick_cues_d = get_quick_cues_data();
@@ -469,13 +469,13 @@ void el_track_impl::set_hot_cue_at(int32_t index, boost::optional<hot_cue> cue)
trans.commit();
}
-std::array<boost::optional<hot_cue>, 8> el_track_impl::hot_cues()
+std::array<std::optional<hot_cue>, 8> el_track_impl::hot_cues()
{
auto quick_cues_d = get_quick_cues_data();
return std::move(quick_cues_d.hot_cues);
}
-void el_track_impl::set_hot_cues(std::array<boost::optional<hot_cue>, 8> cues)
+void el_track_impl::set_hot_cues(std::array<std::optional<hot_cue>, 8> cues)
{
el_transaction_guard_impl trans{storage_};
// TODO (haslersn): The following can be optimized because in this case we
@@ -486,11 +486,11 @@ void el_track_impl::set_hot_cues(std::array<boost::optional<hot_cue>, 8> cues)
trans.commit();
}
-boost::optional<track_import_info> el_track_impl::import_info()
+std::optional<track_import_info> el_track_impl::import_info()
{
if (get_cell<int64_t>("isExternalTrack") == 0)
{
- return boost::none;
+ return std::nullopt;
}
return track_import_info{get_cell<std::string>("uuidOfExternalDatabase"),
get_cell<int64_t>("idTrackInExternalDatabase")};
@@ -499,7 +499,7 @@ boost::optional<track_import_info> el_track_impl::import_info()
}
void el_track_impl::set_import_info(
- const boost::optional<track_import_info>& import_info)
+ const std::optional<track_import_info>& import_info)
{
if (import_info)
{
@@ -533,9 +533,9 @@ bool el_track_impl::is_valid()
return valid;
}
-boost::optional<musical_key> el_track_impl::key()
+std::optional<musical_key> el_track_impl::key()
{
- boost::optional<musical_key> result;
+ std::optional<musical_key> result;
auto key_num = get_metadata_int(metadata_int_type::musical_key);
if (key_num)
{
@@ -544,9 +544,9 @@ boost::optional<musical_key> el_track_impl::key()
return result;
}
-void el_track_impl::set_key(boost::optional<musical_key> key)
+void el_track_impl::set_key(std::optional<musical_key> key)
{
- boost::optional<int64_t> key_num;
+ std::optional<int64_t> key_num;
if (key)
{
key_num = static_cast<int64_t>(*key);
@@ -560,7 +560,7 @@ void el_track_impl::set_key(boost::optional<musical_key> key)
trans.commit();
}
-boost::optional<system_clock::time_point> el_track_impl::last_accessed_at()
+std::optional<system_clock::time_point> el_track_impl::last_accessed_at()
{
// TODO (haslersn): Is there a difference between
@@ -571,7 +571,7 @@ boost::optional<system_clock::time_point> el_track_impl::last_accessed_at()
}
void el_track_impl::set_last_accessed_at(
- boost::optional<system_clock::time_point> accessed_at)
+ std::optional<system_clock::time_point> accessed_at)
{
if (accessed_at)
{
@@ -590,34 +590,34 @@ void el_track_impl::set_last_accessed_at(
}
else
{
- set_metadata_int(metadata_int_type::last_accessed_ts, boost::none);
+ set_metadata_int(metadata_int_type::last_accessed_ts, std::nullopt);
}
}
-boost::optional<system_clock::time_point> el_track_impl::last_modified_at()
+std::optional<system_clock::time_point> el_track_impl::last_modified_at()
{
return to_time_point(get_metadata_int(metadata_int_type::last_modified_ts));
}
void el_track_impl::set_last_modified_at(
- boost::optional<system_clock::time_point> modified_at)
+ std::optional<system_clock::time_point> modified_at)
{
set_metadata_int(
metadata_int_type::last_modified_ts, to_timestamp(modified_at));
}
-boost::optional<system_clock::time_point> el_track_impl::last_played_at()
+std::optional<system_clock::time_point> el_track_impl::last_played_at()
{
return to_time_point(get_metadata_int(metadata_int_type::last_played_ts));
}
void el_track_impl::set_last_played_at(
- boost::optional<system_clock::time_point> played_at)
+ std::optional<system_clock::time_point> played_at)
{
- static boost::optional<std::string> zero{"0"};
- static boost::optional<std::string> one{"1"};
+ static std::optional<std::string> zero{"0"};
+ static std::optional<std::string> one{"1"};
set_metadata_str(metadata_str_type::ever_played, played_at ? one : zero);
set_metadata_int(
metadata_int_type::last_played_ts, to_timestamp(played_at));
@@ -632,13 +632,13 @@ void el_track_impl::set_last_played_at(
}
}
-boost::optional<loop> el_track_impl::loop_at(int32_t index)
+std::optional<loop> el_track_impl::loop_at(int32_t index)
{
auto loops_d = get_loops_data();
return std::move(loops_d.loops[index]);
}
-void el_track_impl::set_loop_at(int32_t index, boost::optional<loop> l)
+void el_track_impl::set_loop_at(int32_t index, std::optional<loop> l)
{
el_transaction_guard_impl trans{storage_};
auto loops_d = get_loops_data();
@@ -647,13 +647,13 @@ void el_track_impl::set_loop_at(int32_t index, boost::optional<loop> l)
trans.commit();
}
-std::array<boost::optional<loop>, 8> el_track_impl::loops()
+std::array<std::optional<loop>, 8> el_track_impl::loops()
{
auto loops_d = get_loops_data();
return std::move(loops_d.loops);
}
-void el_track_impl::set_loops(std::array<boost::optional<loop>, 8> cues)
+void el_track_impl::set_loops(std::array<std::optional<loop>, 8> cues)
{
el_transaction_guard_impl trans{storage_};
loops_data loops_d;
@@ -668,12 +668,12 @@ std::vector<waveform_entry> el_track_impl::overview_waveform()
return std::move(overview_waveform_d.waveform);
}
-boost::optional<std::string> el_track_impl::publisher()
+std::optional<std::string> el_track_impl::publisher()
{
return get_metadata_str(metadata_str_type::publisher);
}
-void el_track_impl::set_publisher(boost::optional<std::string> publisher)
+void el_track_impl::set_publisher(std::optional<std::string> publisher)
{
set_metadata_str(metadata_str_type::publisher, publisher);
}
@@ -711,16 +711,16 @@ void el_track_impl::set_relative_path(std::string relative_path)
set_metadata_str(metadata_str_type::file_extension, extension);
}
-boost::optional<sampling_info> el_track_impl::sampling()
+std::optional<sampling_info> el_track_impl::sampling()
{
return get_track_data().sampling;
}
-void el_track_impl::set_sampling(boost::optional<sampling_info> sampling)
+void el_track_impl::set_sampling(std::optional<sampling_info> sampling)
{
el_transaction_guard_impl trans{storage_};
- boost::optional<int64_t> secs;
+ std::optional<int64_t> secs;
if (sampling)
{
secs = static_cast<int64_t>(
@@ -738,7 +738,7 @@ void el_track_impl::set_sampling(boost::optional<sampling_info> sampling)
}
else
{
- set_metadata_str(metadata_str_type::duration_mm_ss, boost::none);
+ set_metadata_str(metadata_str_type::duration_mm_ss, std::nullopt);
}
set_cell("length", secs);
set_cell("lengthCalculated", secs);
@@ -781,22 +781,22 @@ void el_track_impl::set_sampling(boost::optional<sampling_info> sampling)
trans.commit();
}
-boost::optional<std::string> el_track_impl::title()
+std::optional<std::string> el_track_impl::title()
{
return get_metadata_str(metadata_str_type::title);
}
-void el_track_impl::set_title(boost::optional<std::string> title)
+void el_track_impl::set_title(std::optional<std::string> title)
{
set_metadata_str(metadata_str_type::title, title);
}
-boost::optional<int32_t> el_track_impl::track_number()
+std::optional<int32_t> el_track_impl::track_number()
{
- return get_cell<boost::optional<int32_t>>("playOrder");
+ return get_cell<std::optional<int32_t>>("playOrder");
}
-void el_track_impl::set_track_number(boost::optional<int32_t> track_number)
+void el_track_impl::set_track_number(std::optional<int32_t> track_number)
{
set_cell("playOrder", track_number);
}
@@ -844,12 +844,12 @@ void el_track_impl::set_waveform(std::vector<waveform_entry> waveform)
trans.commit();
}
-boost::optional<int32_t> el_track_impl::year()
+std::optional<int32_t> el_track_impl::year()
{
- return get_cell<boost::optional<int32_t>>("year");
+ return get_cell<std::optional<int32_t>>("year");
}
-void el_track_impl::set_year(boost::optional<int32_t> year)
+void el_track_impl::set_year(std::optional<int32_t> year)
{
set_cell("year", year);
}