swift
samples.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2019 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "samples.h"
5 
6 #include "misc/directoryutils.h"
7 #include "misc/fileutils.h"
8 
9 using namespace swift::misc;
10 using namespace swift::misc::audio;
11 
12 namespace swift::sound::sample_provider
13 {
14  const Samples &Samples::instance()
15  {
16  static const Samples samples;
17  return samples;
18  }
19 
20  Samples::Samples() { this->initSounds(); }
21 
22  void Samples::initSounds()
23  {
24  const CSettings settings = m_audioSettings.get();
25  QString f = settings.getNotificationFilePath(fnCrackle());
26  if (!m_crackle.isSameFileName(f))
27  {
28  m_crackle = CResourceSound(f);
29  m_crackle.load();
30  }
31 
32  f = settings.getNotificationFilePath(fnClick());
33  if (!m_click.isSameFileName(f))
34  {
35  m_click = CResourceSound(f);
36  m_click.load();
37  }
38 
39  f = settings.getNotificationFilePath(fnWhiteNoise());
40  if (!m_whiteNoise.isSameFileName(f))
41  {
42  m_whiteNoise = CResourceSound(f);
43  m_whiteNoise.load();
44  }
45 
46  f = settings.getNotificationFilePath(fnHfWhiteNoise());
47  if (!m_hfWhiteNoise.isSameFileName(f))
48  {
49  m_hfWhiteNoise = CResourceSound(f);
50  m_hfWhiteNoise.load();
51  }
52  }
53 
54  void Samples::onSettingsChanged() { this->initSounds(); }
55 } // namespace swift::sound::sample_provider
Value object encapsulating information of audio related settings.
Definition: audiosettings.h:25
QString getNotificationFilePath(const QString &fileName) const
Get existing file path for the given file path, either in the settings specific or default dir.
Sound samples from resources (wav files)
Definition: samples.h:20
Free functions in swift::misc.