~aleteoryx/muditaos

bc9982c090de31c38a0479402105f4ff623ef548 — Dawid Wojtas 1 year, 11 months ago 3b2a011
[BH-1876] Change main alarm list to vertical

Now the main alarm uses the vertical list to display songs.
Fixed the order of songs from the database. Added translations.
20 files changed, 68 insertions(+), 54 deletions(-)

M image/system_a/data/lang/Deutsch.json
M image/system_a/data/lang/English.json
M image/system_a/data/lang/Espanol.json
M image/system_a/data/lang/Francais.json
M image/system_a/data/lang/Polski.json
M module-db/Tables/MultimediaFilesTable.cpp
M module-db/Tables/MultimediaFilesTable.hpp
M module-services/service-db/test/lang/English.json
M products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp
M products/BellHybrid/apps/application-bell-settings/CMakeLists.txt
R products/BellHybrid/apps/{common/include/common/models => application-bell-settings/models/alarm_settings}/AbstractAlarmSettingsModel.hpp
M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.cpp
M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.hpp
M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsModel.cpp
R products/BellHybrid/apps/{common/include/common/models => application-bell-settings/models/alarm_settings}/AlarmSettingsModel.hpp
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.cpp
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.hpp
M products/BellHybrid/apps/common/CMakeLists.txt
M products/BellHybrid/apps/common/include/common/SoundsRepository.hpp
M products/BellHybrid/apps/common/src/SoundsRepository.cpp
M image/system_a/data/lang/Deutsch.json => image/system_a/data/lang/Deutsch.json +3 -1
@@ 90,7 90,9 @@
    "app_bell_settings_alarm_settings_snooze_chime_volume": "Lautst\u00e4rke",
    "app_bell_settings_alarm_settings_snooze_length": "Schlummerl\u00e4nge",
    "app_bell_settings_alarm_settings_title": "Alarmeinstellungen",
    "app_bell_settings_alarm_settings_tone": "Alarmton",
    "app_bell_settings_alarm_settings_chime": "Hauptalarmton",
    "app_bell_settings_alarm_settings_sounds": "T\u00f6ne",
    "app_bell_settings_alarm_settings_custom_sounds": "Benutzerdefinierte T\u00f6ne",
    "app_bell_settings_alarm_settings_volume": "Alarmlautst\u00e4rke",
    "app_bell_settings_bedtime_settings_tone": "Klang",
    "app_bell_settings_bedtime_settings_volume": "<text>Lautst\u00e4rke</text>",

M image/system_a/data/lang/English.json => image/system_a/data/lang/English.json +3 -1
@@ 124,7 124,9 @@
    "app_bell_settings_alarm_settings_snooze_chime_volume": "Snooze chime volume",
    "app_bell_settings_alarm_settings_snooze_length": "Snooze length",
    "app_bell_settings_alarm_settings_title": "Alarm settings",
    "app_bell_settings_alarm_settings_tone": "Main alarm tone",
    "app_bell_settings_alarm_settings_chime": "Main alarm chime",
    "app_bell_settings_alarm_settings_sounds": "Sounds",
    "app_bell_settings_alarm_settings_custom_sounds": "Custom sounds",
    "app_bell_settings_alarm_settings_volume": "Main alarm volume",
    "app_bell_settings_bedtime_settings_tone": "Bedtime chime",
    "app_bell_settings_bedtime_settings_volume": "Bedtime volume",

M image/system_a/data/lang/Espanol.json => image/system_a/data/lang/Espanol.json +3 -1
@@ 89,7 89,9 @@
    "app_bell_settings_alarm_settings_snooze_chime_volume": "Volumen",
    "app_bell_settings_alarm_settings_snooze_length": "Duraci\u00f3n de Repetici\u00f3n",
    "app_bell_settings_alarm_settings_title": "Ajustes de alarma",
    "app_bell_settings_alarm_settings_tone": "Tono de alarma",
    "app_bell_settings_alarm_settings_chime": "Timbre de alarma principal",
    "app_bell_settings_alarm_settings_sounds": "Sonidos",
    "app_bell_settings_alarm_settings_custom_sounds": "Sonidos personalizados",
    "app_bell_settings_alarm_settings_volume": "Volumen de alarma",
    "app_bell_settings_bedtime_settings_tone": "Hora de dormir",
    "app_bell_settings_bedtime_settings_volume": "Volumen",

M image/system_a/data/lang/Francais.json => image/system_a/data/lang/Francais.json +3 -1
@@ 91,7 91,9 @@
    "app_bell_settings_alarm_settings_snooze_chime_volume": "Volume",
    "app_bell_settings_alarm_settings_snooze_length": "Dur\u00e9e du snooze",
    "app_bell_settings_alarm_settings_title": "Alarme",
    "app_bell_settings_alarm_settings_tone": "M\u00e9lodie de r\u00e9veil",
    "app_bell_settings_alarm_settings_chime": "Sonnerie de l'alarme principale",
    "app_bell_settings_alarm_settings_sounds": "Sons",
    "app_bell_settings_alarm_settings_custom_sounds": "Sons personnalis\u00e9s",
    "app_bell_settings_alarm_settings_volume": "Volume",
    "app_bell_settings_bedtime_settings_tone": "M\u00e9lodie de l'heure du coucher",
    "app_bell_settings_bedtime_settings_volume": "Volume",

M image/system_a/data/lang/Polski.json => image/system_a/data/lang/Polski.json +3 -1
@@ 90,7 90,9 @@
    "app_bell_settings_alarm_settings_snooze_chime_volume": "G\u0142o\u015bno\u015b\u0107",
    "app_bell_settings_alarm_settings_snooze_length": "D\u0142ugo\u015b\u0107 drzemki",
    "app_bell_settings_alarm_settings_title": "Ustawienia alarmu",
    "app_bell_settings_alarm_settings_tone": "D\u017awi\u0119k alarmu",
    "app_bell_settings_alarm_settings_chime": "D\u017awi\u0119k g\u0142\u00f3wnego alarmu",
    "app_bell_settings_alarm_settings_sounds": "D\u017awi\u0119ki",
    "app_bell_settings_alarm_settings_custom_sounds": "Przes\u0142ane D\u017awi\u0119ki",
    "app_bell_settings_alarm_settings_volume": "G\u0142o\u015bno\u015b\u0107 alarmu",
    "app_bell_settings_bedtime_settings_tone": "D\u017awi\u0119k",
    "app_bell_settings_bedtime_settings_volume": "G\u0142o\u015bno\u015b\u0107",

M module-db/Tables/MultimediaFilesTable.cpp => module-db/Tables/MultimediaFilesTable.cpp +2 -2
@@ 13,8 13,8 @@ namespace
    std::string getSorting(db::multimedia_files::SortingBy sorting)
    {
        switch (sorting) {
        case db::multimedia_files::SortingBy::IdAscending:
            return "_id ASC";
        case db::multimedia_files::SortingBy::TrackIdAscending:
            return "track ASC";
        case db::multimedia_files::SortingBy::TitleAscending:
        default:
            return "title ASC";

M module-db/Tables/MultimediaFilesTable.hpp => module-db/Tables/MultimediaFilesTable.hpp +1 -1
@@ 73,7 73,7 @@ namespace db::multimedia_files
    enum class SortingBy
    {
        TitleAscending,
        IdAscending
        TrackIdAscending
    };

    class MultimediaFilesTable : public Table<TableRow, TableFields>

M module-services/service-db/test/lang/English.json => module-services/service-db/test/lang/English.json +3 -1
@@ 652,7 652,9 @@
  "app_bell_settings_about_info_text": "www.mudita.com",
  "app_bell_settings_alarm_settings": "Alarm",
  "app_bell_settings_alarm_settings_title": "Alarm settings",
  "app_bell_settings_alarm_settings_tone": "Alarm tone",
  "app_bell_settings_alarm_settings_chime": "Main alarm chime",
  "app_bell_settings_alarm_settings_sounds": "Sounds",
  "app_bell_settings_alarm_settings_custom_sounds": "Custom sounds",
  "app_bell_settings_alarm_settings_volume": "Alarm volume",
  "app_bell_settings_alarm_settings_light": "Alarm light",
  "app_bell_settings_alarm_settings_prewake_up": "Pre-wake up",

M products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp => products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp +16 -8
@@ 12,6 12,7 @@
#include "models/alarm_settings/PrewakeUpSettingsModel.hpp"
#include "models/alarm_settings/SnoozeListItemProvider.hpp"
#include "models/alarm_settings/SnoozeSettingsModel.hpp"
#include "models/alarm_settings/AlarmSettingsModel.hpp"
#include "presenter/BedtimeSettingsPresenter.hpp"
#include "presenter/AboutYourBellWindowPresenter.hpp"
#include "presenter/alarm_settings/SnoozePresenter.hpp"


@@ 42,7 43,6 @@
#include <common/popups/BellTurnOffOptionWindow.hpp>
#include <common/models/AudioModel.hpp>
#include <common/models/TimeModel.hpp>
#include <common/models/AlarmSettingsModel.hpp>
#include <common/models/SongsModel.hpp>
#include <service-appmgr/messages/GetCurrentDisplayLanguageResponse.hpp>



@@ 180,7 180,7 @@ namespace app

                const auto &pathSorting =
                    SoundsRepository::PathSorting{paths::audio::proprietary() / paths::audio::preWakeup(),
                                                  SoundsRepository::SortingBy::TitleAscending};
                                                  SoundsRepository::SortingBy::TrackIdAscending};
                auto soundsRepository = std::make_unique<SoundsRepository>(this, pathSorting);
                auto songsModel       = std::make_unique<SongsModel>(this, std::move(soundsRepository));



@@ 225,9 225,18 @@ namespace app
        windowsFactory.attach(
            gui::BellSettingsAlarmSettingsWindow::name,
            [this](ApplicationCommon *app, [[maybe_unused]] const std::string &name) {
                auto soundsRepository =
                    std::make_unique<SimpleSoundsRepository>(paths::audio::proprietary() / paths::audio::alarm());
                auto alarmToneModel       = std::make_unique<bell_settings::AlarmToneModel>(this, *soundsRepository);
                const auto &pathSorting = std::vector<SoundsRepository::PathSorting>{
                    {paths::audio::proprietary() / paths::audio::alarm(),
                     SoundsRepository::SortingBy::TrackIdAscending},
                    {paths::audio::userApp() / paths::audio::alarm(), SoundsRepository::SortingBy::TitleAscending}};
                const app::LabelsWithPaths labelsWithPaths{
                    {"app_bell_settings_alarm_settings_sounds", paths::audio::proprietary() / paths::audio::alarm()},
                    {"app_bell_settings_alarm_settings_custom_sounds",
                     paths::audio::userApp() / paths::audio::alarm()}};
                auto soundsRepository = std::make_unique<SoundsRepository>(this, pathSorting);
                auto songsModel = std::make_unique<SongsModel>(this, std::move(soundsRepository), labelsWithPaths);

                auto alarmToneModel       = std::make_unique<bell_settings::AlarmToneModel>(this);
                auto alarmVolumeModel     = std::make_unique<bell_settings::AlarmVolumeModel>(*audioModel);
                auto alarmFadeOnOffModel  = std::make_unique<bell_settings::AlarmFadeOnOffModel>(this);
                auto alarmLightOnOffModel = std::make_unique<bell_settings::AlarmLightOnOffModel>(this);


@@ 240,12 249,11 @@ namespace app
                                                                        std::move(alarmFrontlightModel));

                auto frontlightModel  = std::make_unique<bell_settings::FrontlightModel>(app);
                auto provider         = std::make_unique<bell_settings::AlarmSettingsListItemProvider>(
                    *alarmSettingsModel, soundsRepository->getSongTitles());
                auto provider  = std::make_unique<bell_settings::AlarmSettingsListItemProvider>(*alarmSettingsModel,
                                                                                               std::move(songsModel));
                auto presenter = std::make_unique<bell_settings::AlarmSettingsPresenter>(std::move(provider),
                                                                                         std::move(alarmSettingsModel),
                                                                                         *audioModel,
                                                                                         std::move(soundsRepository),
                                                                                         std::move(frontlightModel));
                return std::make_unique<gui::BellSettingsAlarmSettingsWindow>(app, std::move(presenter));
            });

M products/BellHybrid/apps/application-bell-settings/CMakeLists.txt => products/BellHybrid/apps/application-bell-settings/CMakeLists.txt +2 -0
@@ 74,12 74,14 @@ target_sources(application-bell-settings
        models/FrontlightListItemProvider.hpp
        models/alarm_settings/AbstractPrewakeUpSettingsModel.hpp
        models/alarm_settings/AbstractSnoozeSettingsModel.hpp
        models/alarm_settings/AbstractAlarmSettingsModel.hpp
        models/alarm_settings/AlarmSettingsListItemProvider.hpp
        models/alarm_settings/BedtimeSettingsListItemProvider.cpp
        models/alarm_settings/PrewakeUpListItemProvider.hpp
        models/alarm_settings/PrewakeUpSettingsModel.hpp
        models/alarm_settings/SnoozeListItemProvider.hpp
        models/alarm_settings/SnoozeSettingsModel.hpp
        models/alarm_settings/AlarmSettingsModel.hpp
        models/alarm_settings/SettingsListItemProvider.hpp

        presenter/BedtimeSettingsPresenter.hpp

R products/BellHybrid/apps/common/include/common/models/AbstractAlarmSettingsModel.hpp => products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AbstractAlarmSettingsModel.hpp +0 -0
M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.cpp => products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.cpp +7 -7
@@ 10,19 10,20 @@
#include <common/widgets/list_items/Numeric.hpp>
#include <common/widgets/list_items/NumericWithBar.hpp>
#include <apps-common/ApplicationCommon.hpp>
#include <SongsListViewItem.hpp>

namespace app::bell_settings
{
    using namespace gui;

    AlarmSettingsListItemProvider::AlarmSettingsListItemProvider(AbstractAlarmSettingsModel &settingsModel,
                                                                 std::vector<UTF8> alarmToneRange)
        : settingsModel{settingsModel}
                                                                 std::shared_ptr<SongsModel> songsModel)
        : settingsModel{settingsModel}, songsModel{std::move(songsModel)}
    {
        buildListItems(std::move(alarmToneRange));
        buildListItems();
    }

    void AlarmSettingsListItemProvider::buildListItems(std::vector<UTF8> alarmTonesRange)
    void AlarmSettingsListItemProvider::buildListItems()
    {
        constexpr auto brightnessMin  = 1U;
        constexpr auto brightnessMax  = 10U;


@@ 30,9 31,8 @@ namespace app::bell_settings
        constexpr auto itemCount      = 5U;
        internalData.reserve(itemCount);

        auto alarmTone = new list_items::Text(std::move(alarmTonesRange),
                                              settingsModel.getAlarmTone(),
                                              utils::translate("app_bell_settings_alarm_settings_tone"));
        auto alarmTone = new SongsListViewItem(
            utils::translate("app_bell_settings_alarm_settings_chime"), settingsModel.getAlarmTone(), songsModel);
        alarmTone->set_on_value_change_cb([this](const auto &val) {
            if (onToneChange) {
                onToneChange(val);

M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.hpp => products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsListItemProvider.hpp +6 -3
@@ 4,8 4,9 @@
#pragma once

#include "SettingsListItemProvider.hpp"
#include <common/models/AbstractAlarmSettingsModel.hpp>
#include "AbstractAlarmSettingsModel.hpp"
#include <common/models/AbstractSettingsModel.hpp>
#include <common/models/SongsModel.hpp>

namespace app::list_items
{


@@ 18,14 19,16 @@ namespace app::bell_settings
    class AlarmSettingsListItemProvider : public SettingsListItemProvider
    {
      public:
        AlarmSettingsListItemProvider(AbstractAlarmSettingsModel &settingsModel, std::vector<UTF8> alarmToneRange);
        AlarmSettingsListItemProvider(AbstractAlarmSettingsModel &settingsModel,
                                      std::shared_ptr<SongsModel> songsModel);

        auto getCurrentVolume() -> std::uint8_t;

      private:
        void buildListItems(std::vector<UTF8> alarmTonesRange);
        void buildListItems();

        AbstractAlarmSettingsModel &settingsModel;
        app::list_items::NumericWithBar *alarmVolume{nullptr};
        std::shared_ptr<SongsModel> songsModel;
    };
} // namespace app::bell_settings

M products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsModel.cpp => products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsModel.cpp +3 -9
@@ 1,7 1,7 @@
// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md

#include <common/models/AlarmSettingsModel.hpp>
#include "AlarmSettingsModel.hpp"
#include <db/SystemSettings.hpp>

namespace app::bell_settings


@@ 18,20 18,14 @@ namespace app::bell_settings
        }
    }

    AlarmToneModel::AlarmToneModel(sys::Service *app, SimpleSoundsRepository &soundsRepository)
        : gui::SettingsModel<UTF8>{app}, soundsRepository{soundsRepository}
    {}

    void AlarmToneModel::setValue(UTF8 value)
    {
        const auto &path = soundsRepository.titleToPath(value).value_or("");
        settings.setValue(bell::settings::Alarm::tonePath, path, settings::SettingsScope::Global);
        settings.setValue(bell::settings::Alarm::tonePath, value, settings::SettingsScope::Global);
    }

    UTF8 AlarmToneModel::getValue() const
    {
        const auto &path = settings.getValue(bell::settings::Alarm::tonePath, settings::SettingsScope::Global);
        return soundsRepository.pathToTitle(path).value_or("");
        return settings.getValue(bell::settings::Alarm::tonePath, settings::SettingsScope::Global);
    }

    void AlarmVolumeModel::setValue(std::uint8_t value)

R products/BellHybrid/apps/common/include/common/models/AlarmSettingsModel.hpp => products/BellHybrid/apps/application-bell-settings/models/alarm_settings/AlarmSettingsModel.hpp +1 -6
@@ 6,21 6,16 @@
#include "AbstractAlarmSettingsModel.hpp"
#include <common/models/SettingsModel.hpp>
#include <common/models/AudioModel.hpp>
#include <common/data/FrontlightUtils.hpp>
#include <common/SoundsRepository.hpp>

namespace app::bell_settings
{
    class AlarmToneModel : public gui::SettingsModel<UTF8>
    {
      public:
        AlarmToneModel(sys::Service *app, SimpleSoundsRepository &soundsRepository);
        using SettingsModel::SettingsModel;

        void setValue(UTF8 value) override;
        UTF8 getValue() const override;

      private:
        SimpleSoundsRepository &soundsRepository;
    };

    class AlarmVolumeModel : public gui::AbstractSettingsModel<std::uint8_t>

M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.cpp +8 -5
@@ 9,28 9,31 @@ namespace app::bell_settings
    AlarmSettingsPresenter::AlarmSettingsPresenter(std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
                                                   std::unique_ptr<AbstractAlarmSettingsModel> &&settingsModel,
                                                   AbstractAudioModel &audioModel,
                                                   std::unique_ptr<AbstractSimpleSoundsRepository> &&soundsRepository,
                                                   std::unique_ptr<AbstractFrontlightModel> &&frontlight)
        : provider{std::move(provider)}, settingsModel{std::move(settingsModel)}, audioModel{audioModel},
          soundsRepository{std::move(soundsRepository)}, frontlight{std::move(frontlight)}
          frontlight{std::move(frontlight)}
    {

        auto playSound = [this](const UTF8 &val) {
            currentSoundPath = val;
            this->audioModel.setVolume(this->provider->getCurrentVolume(), AbstractAudioModel::PlaybackType::Alarm);
            this->audioModel.play(
                this->soundsRepository->titleToPath(val).value_or(""), AbstractAudioModel::PlaybackType::Alarm, {});
            this->audioModel.play(currentSoundPath, AbstractAudioModel::PlaybackType::Alarm, {});
        };

        this->provider->onExit = [this]() { getView()->exit(); };

        this->provider->onToneEnter  = playSound;
        this->provider->onToneExit   = [this](const auto &) { stopSound(); };
        this->provider->onToneChange = playSound;

        this->provider->onVolumeEnter  = playSound;
        this->provider->onVolumeExit   = [this](const auto &) { stopSound(); };
        this->provider->onVolumeChange = [this](const auto &val) {
        this->provider->onVolumeChange = [this, playSound](const auto &val) {
            this->audioModel.setVolume(
                val, AbstractAudioModel::PlaybackType::Alarm, audio::VolumeUpdateType::SkipUpdateDB);
            if (this->audioModel.hasPlaybackFinished()) {
                playSound(currentSoundPath);
            }
        };

        auto setBrightness = [this](const auto &brightness) {

M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.hpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.hpp +1 -2
@@ 49,7 49,6 @@ namespace app::bell_settings
        AlarmSettingsPresenter(std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
                               std::unique_ptr<AbstractAlarmSettingsModel> &&settingsModel,
                               AbstractAudioModel &audioModel,
                               std::unique_ptr<AbstractSimpleSoundsRepository> &&soundsRepository,
                               std::unique_ptr<AbstractFrontlightModel> &&frontlight);

        auto getPagesProvider() const -> std::shared_ptr<gui::ListItemProvider> override;


@@ 65,7 64,7 @@ namespace app::bell_settings
        std::shared_ptr<AlarmSettingsListItemProvider> provider;
        std::unique_ptr<AbstractAlarmSettingsModel> settingsModel;
        AbstractAudioModel &audioModel;
        std::unique_ptr<AbstractSimpleSoundsRepository> soundsRepository;
        std::unique_ptr<AbstractFrontlightModel> frontlight;
        UTF8 currentSoundPath;
    };
} // namespace app::bell_settings

M products/BellHybrid/apps/common/CMakeLists.txt => products/BellHybrid/apps/common/CMakeLists.txt +0 -2
@@ 116,8 116,6 @@ target_sources(application-bell-common
        include/common/models/UserSessionModel.hpp
        include/common/models/AudioModel.hpp
        include/common/models/FrontlightModel.hpp
        include/common/models/AlarmSettingsModel.hpp
        include/common/models/AbstractAlarmSettingsModel.hpp
        include/common/models/LayoutModel.hpp
        include/common/models/LowBatteryInfoModel.hpp
        include/common/models/QuoteModel.hpp

M products/BellHybrid/apps/common/include/common/SoundsRepository.hpp => products/BellHybrid/apps/common/include/common/SoundsRepository.hpp +1 -1
@@ 57,7 57,7 @@ class SoundsRepository : public AbstractSoundsRepository, public app::AsyncCallb
  public:
    enum class SortingBy
    {
        IdAscending,
        TrackIdAscending,
        TitleAscending
    };
    struct PathSorting

M products/BellHybrid/apps/common/src/SoundsRepository.cpp => products/BellHybrid/apps/common/src/SoundsRepository.cpp +2 -2
@@ 34,8 34,8 @@ namespace
    constexpr db::multimedia_files::SortingBy transformSorting(SoundsRepository::SortingBy sorting)
    {
        switch (sorting) {
        case SoundsRepository::SortingBy::IdAscending:
            return db::multimedia_files::SortingBy::IdAscending;
        case SoundsRepository::SortingBy::TrackIdAscending:
            return db::multimedia_files::SortingBy::TrackIdAscending;
        case SoundsRepository::SortingBy::TitleAscending:
        default:
            return db::multimedia_files::SortingBy::TitleAscending;