compressor.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #include "audio_core/renderer/effect/compressor.h"
  4. namespace AudioCore::Renderer {
  5. void CompressorInfo::Update(BehaviorInfo::ErrorInfo& error_info,
  6. const InParameterVersion1& in_params, const PoolMapper& pool_mapper) {}
  7. void CompressorInfo::Update(BehaviorInfo::ErrorInfo& error_info,
  8. const InParameterVersion2& in_params, const PoolMapper& pool_mapper) {
  9. auto in_specific{reinterpret_cast<const ParameterVersion1*>(in_params.specific.data())};
  10. auto params{reinterpret_cast<ParameterVersion1*>(parameter.data())};
  11. std::memcpy(params, in_specific, sizeof(ParameterVersion1));
  12. mix_id = in_params.mix_id;
  13. process_order = in_params.process_order;
  14. enabled = in_params.enabled;
  15. error_info.error_code = ResultSuccess;
  16. error_info.address = CpuAddr(0);
  17. }
  18. void CompressorInfo::UpdateForCommandGeneration() {
  19. if (enabled) {
  20. usage_state = UsageState::Enabled;
  21. } else {
  22. usage_state = UsageState::Disabled;
  23. }
  24. auto params{reinterpret_cast<ParameterVersion1*>(parameter.data())};
  25. params->state = ParameterState::Updated;
  26. }
  27. CpuAddr CompressorInfo::GetWorkbuffer(s32 index) {
  28. return GetSingleBuffer(index);
  29. }
  30. } // namespace AudioCore::Renderer