Skip to content

Commit aa88131

Browse files
committed
update 250408
1 parent 057f67e commit aa88131

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+238
-141
lines changed

framework/audio/internal/worker/mixer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ samples_t Mixer::process(float* outBuffer, samples_t samplesPerChannel)
194194
{
195195
ONLY_AUDIO_WORKER_THREAD;
196196

197-
for (IClockPtr clock : m_clocks) {
197+
for (const IClockPtr& clock : m_clocks) {
198198
clock->forward((samplesPerChannel * 1000000) / m_sampleRate);
199199
}
200200

@@ -217,7 +217,7 @@ samples_t Mixer::process(float* outBuffer, samples_t samplesPerChannel)
217217
continue;
218218
}
219219

220-
const MixerChannelPtr channel = channelIt->second;
220+
const MixerChannelPtr& channel = channelIt->second;
221221
if (!channel->isSilent()) {
222222
m_isSilence = false;
223223
} else if (m_isSilence) {

framework/audio/internal/worker/mixerchannel.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,22 +100,22 @@ void MixerChannel::applyOutputParams(const AudioOutputParams& requiredParams)
100100

101101
AudioOutputParams resultParams = requiredParams;
102102

103-
auto findFxProcessor = [this](const std::pair<AudioFxChainOrder, AudioFxParams>& params) -> IFxProcessorPtr {
103+
auto findFxProcessor = [this](const std::pair<AudioFxChainOrder, AudioFxParams>& params) -> IFxProcessor* {
104104
for (IFxProcessorPtr& fx : m_fxProcessors) {
105105
if (fx->params().chainOrder != params.first) {
106106
continue;
107107
}
108108

109109
if (fx->params().resourceMeta == params.second.resourceMeta) {
110-
return fx;
110+
return fx.get();
111111
}
112112
}
113113

114114
return nullptr;
115115
};
116116

117117
for (auto it = resultParams.fxChain.begin(); it != resultParams.fxChain.end();) {
118-
if (IFxProcessorPtr fx = findFxProcessor(*it)) {
118+
if (IFxProcessor* fx = findFxProcessor(*it)) {
119119
fx->setActive(it->second.active);
120120
++it;
121121
} else {
@@ -167,7 +167,7 @@ void MixerChannel::setSampleRate(unsigned int sampleRate)
167167
m_audioSource->setSampleRate(sampleRate);
168168
}
169169

170-
for (IFxProcessorPtr fx : m_fxProcessors) {
170+
for (IFxProcessorPtr& fx : m_fxProcessors) {
171171
fx->setSampleRate(sampleRate);
172172
}
173173
}
@@ -205,7 +205,7 @@ samples_t MixerChannel::process(float* buffer, samples_t samplesPerChannel)
205205
return processedSamplesCount;
206206
}
207207

208-
for (IFxProcessorPtr fx : m_fxProcessors) {
208+
for (IFxProcessorPtr& fx : m_fxProcessors) {
209209
if (!fx->active()) {
210210
continue;
211211
}

framework/audio/thirdparty/flac/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
declare_module(flac)
1+
declare_thirdparty_module(flac)
32

43
include(GetPlatformInfo)
54
include(GetCompilerInfo)
@@ -68,7 +67,6 @@ set (MODULE_SRC
6867
$<$<BOOL:${OS_IS_WIN}>:${FLAC_SRC}/share/win_utf8_io/win_utf8_io.c>
6968
)
7069

71-
set(MODULE_USE_PCH OFF)
7270
set(MODULE_USE_UNITY OFF)
7371
set(MODULE_USE_COVERAGE OFF)
7472

framework/audio/thirdparty/fluidsynth/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
declare_module(fluidsynth)
1+
declare_thirdparty_module(fluidsynth)
32

43
include(${CMAKE_CURRENT_LIST_DIR}/fluidsynth.cmake)
54

@@ -23,7 +22,6 @@ set(MODULE_LINK
2322
${SNDFILE_LIB}
2423
)
2524

26-
set(MODULE_USE_PCH OFF)
2725
set(MODULE_USE_UNITY OFF)
2826
set(MODULE_USE_COVERAGE OFF)
2927

framework/audio/thirdparty/lame/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
declare_module(lame)
1+
declare_thirdparty_module(lame)
32

43
include(GetPlatformInfo)
54
include(GetCompilerInfo)
@@ -56,7 +55,6 @@ set (MODULE_SRC
5655
${SOURCE_LIB}
5756
)
5857

59-
set(MODULE_USE_PCH OFF)
6058
set(MODULE_USE_UNITY OFF)
6159
set(MODULE_USE_COVERAGE OFF)
6260

framework/audio/thirdparty/opus/opus-1.5.2/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ if(MSVC)
275275
if(OPUS_STATIC_RUNTIME)
276276
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
277277
else()
278-
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
278+
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
279279
endif()
280280
endif()
281281

framework/audio/thirdparty/opus/opus-1.5.2/cmake/OpusConfig.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ endif()
104104

105105
if(MSVC)
106106
# move cosmetic warnings to level 4
107-
add_compile_options(/w44244 /w44305 /w44267)
107+
add_compile_options(/w44305 /w44267)
108108
else()
109109
set(WARNING_LIST -Wall -W -Wstrict-prototypes -Wextra -Wcast-align -Wnested-externs -Wshadow)
110110
include(CheckCCompilerFlag)

framework/audio/thirdparty/opusenc/CMakeLists.txt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
declare_module(opusenc)
1+
declare_thirdparty_module(opusenc)
32

43
include(GetPlatformInfo)
54
include(GetCompilerInfo)
@@ -32,7 +31,6 @@ set(MODULE_SRC
3231

3332
set(MODULE_LINK ${OPUS_LIBRARIES})
3433

35-
set(MODULE_USE_PCH OFF)
3634
set(MODULE_USE_UNITY OFF)
3735
set(MODULE_USE_COVERAGE OFF)
3836

framework/audio/thirdparty/opusenc/cmake/SetupOpus.cmake

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@ endif()
4949
set(OPUS_INCLUDE_DIRS ${OPUS_LIB_DIR}/include)
5050
set(OPUS_LIBRARIES opus)
5151

52+
set_target_properties(opus PROPERTIES
53+
AUTOMOC OFF
54+
AUTOUIC OFF
55+
AUTORCC OFF
56+
)
57+
5258
target_no_warning(opus -Wno-conversion)
5359
target_no_warning(opus -Wno-truncate)
5460
target_no_warning(opus -Wno-uninitialized)

framework/audioplugins/internal/registeraudiopluginsscenario.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ Ret RegisterAudioPluginsScenario::registerNewPlugins()
5555

5656
io::paths_t newPluginPaths;
5757

58-
for (IAudioPluginsScannerPtr scanner : scannerRegister()->scanners()) {
58+
for (const IAudioPluginsScannerPtr& scanner : scannerRegister()->scanners()) {
5959
io::paths_t paths = scanner->scanPlugins();
6060

6161
for (const io::path_t& path : paths) {
@@ -174,7 +174,7 @@ Ret RegisterAudioPluginsScenario::registerFailedPlugin(const io::path_t& pluginP
174174

175175
IAudioPluginMetaReaderPtr RegisterAudioPluginsScenario::metaReader(const io::path_t& pluginPath) const
176176
{
177-
for (IAudioPluginMetaReaderPtr reader : metaReaderRegister()->readers()) {
177+
for (const IAudioPluginMetaReaderPtr& reader : metaReaderRegister()->readers()) {
178178
if (reader->canReadMeta(pluginPath)) {
179179
return reader;
180180
}

framework/audioplugins/tests/registeraudiopluginsscenariotest.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ TEST_F(AudioPlugins_RegisterAudioPluginsScenarioTest, RegisterNewPlugins)
123123
"/some/test/path/to/plugin/FFF.vst3", // incompatible (will crash)
124124
};
125125

126-
for (IAudioPluginsScannerPtr scanner : m_scanners) {
126+
for (const IAudioPluginsScannerPtr& scanner : m_scanners) {
127127
AudioPluginsScannerMock* mock = dynamic_cast<AudioPluginsScannerMock*>(scanner.get());
128128
ASSERT_TRUE(mock);
129129

@@ -205,7 +205,7 @@ TEST_F(AudioPlugins_RegisterAudioPluginsScenarioTest, RegisterNewPlugins_NoNewPl
205205
"/some/test/path/to/plugin/CCC.vst3",
206206
};
207207

208-
for (IAudioPluginsScannerPtr scanner : m_scanners) {
208+
for (const IAudioPluginsScannerPtr& scanner : m_scanners) {
209209
AudioPluginsScannerMock* mock = dynamic_cast<AudioPluginsScannerMock*>(scanner.get());
210210
ASSERT_TRUE(mock);
211211

framework/cloud/audiocom/audiocomservice.cpp

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,13 @@ Ret AudioComService::downloadAccountInfo()
141141
return ret;
142142
}
143143

144-
QJsonDocument document = QJsonDocument::fromJson(receivedData.data());
145-
QJsonObject user = document.object();
144+
QJsonParseError err;
145+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data(), &err);
146+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
147+
return muse::make_ret(Ret::Code::InternalError, err.errorString().toStdString());
148+
}
149+
150+
QJsonObject user = doc.object();
146151

147152
AccountInfo info;
148153
info.id = user.value("id").toString();
@@ -357,7 +362,13 @@ Ret AudioComService::doCreateAudio(network::INetworkManagerPtr manager, const QS
357362
return ret;
358363
}
359364

360-
m_currentUploadingAudioInfo = QJsonDocument::fromJson(receivedData.data()).object();
365+
QJsonParseError err;
366+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data(), &err);
367+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
368+
return muse::make_ret(Ret::Code::InternalError, err.errorString().toStdString());
369+
}
370+
371+
m_currentUploadingAudioInfo = doc.object();
361372

362373
return ret;
363374
}

framework/cloud/internal/abstractcloudservice.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,13 @@ bool AbstractCloudService::readTokens()
128128
return false;
129129
}
130130

131-
QJsonDocument tokensDoc = QJsonDocument::fromJson(tokensData.val.toQByteArrayNoCopy());
131+
QJsonParseError err;
132+
QJsonDocument tokensDoc = QJsonDocument::fromJson(tokensData.val.toQByteArrayNoCopy(), &err);
133+
if (err.error != QJsonParseError::NoError || !tokensDoc.isObject()) {
134+
LOGE() << "Error on parse tokens file: " << err.errorString();
135+
return false;
136+
}
137+
132138
QJsonObject saveObject = tokensDoc.object();
133139

134140
m_accessToken = saveObject[ACCESS_TOKEN_KEY].toString();

framework/cloud/musescorecom/musescorecomservice.cpp

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -140,8 +140,13 @@ Ret MuseScoreComService::downloadAccountInfo()
140140
return ret;
141141
}
142142

143-
QJsonDocument document = QJsonDocument::fromJson(receivedData.data());
144-
QJsonObject user = document.object();
143+
QJsonParseError err;
144+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data(), &err);
145+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
146+
return muse::make_ret(Ret::Code::InternalError, err.errorString().toStdString());
147+
}
148+
149+
QJsonObject user = doc.object();
145150

146151
AccountInfo info;
147152
info.id = QString::number(user.value("id").toInt());
@@ -183,8 +188,14 @@ bool MuseScoreComService::doUpdateTokens()
183188
return false;
184189
}
185190

186-
QJsonDocument document = QJsonDocument::fromJson(receivedData.data());
187-
QJsonObject tokens = document.object();
191+
QJsonParseError err;
192+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data(), &err);
193+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
194+
LOGE() << "Error parsing JSON: " << err.errorString();
195+
return false;
196+
}
197+
198+
QJsonObject tokens = doc.object();
188199

189200
setAccessToken(tokens.value(ACCESS_TOKEN_KEY).toString());
190201
setRefreshToken(tokens.value(REFRESH_TOKEN_KEY).toString());
@@ -222,8 +233,14 @@ RetVal<ScoreInfo> MuseScoreComService::downloadScoreInfo(int scoreId)
222233
return result;
223234
}
224235

225-
QJsonDocument document = QJsonDocument::fromJson(receivedData.data());
226-
QJsonObject scoreInfo = document.object();
236+
QJsonParseError err;
237+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data());
238+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
239+
result.ret = muse::make_ret(Ret::Code::InternalError, err.errorString().toStdString());
240+
return result;
241+
}
242+
243+
QJsonObject scoreInfo = doc.object();
227244

228245
result.val.id = scoreInfo.value("id").toInt();
229246
result.val.revisionId = scoreInfo.value("revision_id").toInt();
@@ -266,8 +283,13 @@ async::Promise<ScoresList> MuseScoreComService::downloadScoresList(int scoresPer
266283

267284
ScoresList result;
268285

269-
QJsonDocument document = QJsonDocument::fromJson(receivedData.data());
270-
QJsonObject obj = document.object();
286+
QJsonParseError err;
287+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data());
288+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
289+
return reject(static_cast<int>(Ret::Code::InternalError), err.errorString().toStdString());
290+
}
291+
292+
QJsonObject obj = doc.object();
271293

272294
QJsonObject metaObj = obj.value("_meta").toObject();
273295
result.meta.totalScoresCount = metaObj.value("totalCount").toInt();
@@ -502,7 +524,15 @@ RetVal<ValMap> MuseScoreComService::doUploadScore(INetworkManagerPtr uploadManag
502524
return result;
503525
}
504526

505-
QJsonObject scoreInfo = QJsonDocument::fromJson(receivedData.data()).object();
527+
QJsonParseError err;
528+
QJsonDocument doc = QJsonDocument::fromJson(receivedData.data(), &err);
529+
if (err.error != QJsonParseError::NoError || !doc.isObject()) {
530+
LOGE() << err.errorString();
531+
result.ret = muse::make_ret(Ret::Code::InternalError, err.errorString().toStdString());
532+
return result;
533+
}
534+
535+
QJsonObject scoreInfo = doc.object();
506536
QUrl newSourceUrl = QUrl(scoreInfo.value("permalink").toString());
507537
QUrl editUrl = QUrl(scoreInfo.value("edit_url").toString());
508538
int newRevisionId = scoreInfo.value("revision_id").toInt();

framework/dockwindow/view/dockwindow.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
#include "dockcentralview.h"
3232
#include "dockpageview.h"
33+
#include "dockpanelview.h"
3334
#include "dockstatusbarview.h"
3435
#include "docktoolbarview.h"
3536
#include "dockingholderview.h"

framework/draw/thirdparty/freetype/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
# You should have received a copy of the GNU General Public License
1919
# along with this program. If not, see <https://www.gnu.org/licenses/>.
2020

21-
declare_module(freetype)
21+
declare_thirdparty_module(freetype)
2222

2323
set(FREETYPE_DIR ${CMAKE_CURRENT_LIST_DIR}/freetype-2.13.1)
2424
set(FREETYPE_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/freetype-2.13.1)
@@ -160,7 +160,6 @@ set(MODULE_DEF
160160
-DFT2_BUILD_LIBRARY
161161
)
162162

163-
set(MODULE_USE_PCH OFF)
164163
set(MODULE_USE_UNITY OFF)
165164
set(MODULE_USE_COVERAGE OFF)
166165

framework/global/settings.cpp

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,15 @@ void Settings::reset(bool keepDefaultSettings, bool notifyAboutChanges, bool not
9898

9999
std::vector<Settings::Key> locallyAddedKeys;
100100
for (auto it = m_localSettings.begin(); it != m_localSettings.end(); ++it) {
101-
if (m_items.count(it->first) == 0) {
101+
auto item = m_items.find(it->first);
102+
if (item == m_items.end()) {
102103
locallyAddedKeys.push_back(it->first);
104+
} else {
105+
// UI currently has the values from m_localSettings but we've turned off the transaction.
106+
item->second.value = it->second.value;
103107
}
104108
}
109+
105110
m_localSettings.clear();
106111

107112
if (!keepDefaultSettings) {
@@ -123,6 +128,7 @@ void Settings::reset(bool keepDefaultSettings, bool notifyAboutChanges, bool not
123128
Channel<Val>& channel = findChannel(it->first);
124129
channel.send(it->second.value);
125130
}
131+
126132
for (auto it = locallyAddedKeys.cbegin(); it != locallyAddedKeys.cend(); ++it) {
127133
Channel<Val>& channel = findChannel(*it);
128134
channel.send(Val());

0 commit comments

Comments
 (0)