Skip to content

Commit

Permalink
More tweak changes
Browse files Browse the repository at this point in the history
  • Loading branch information
jatinchowdhury18 committed Nov 22, 2024
1 parent b19d0b9 commit bd9001a
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 5 deletions.
13 changes: 11 additions & 2 deletions modules/dsp/chowdsp_eq/EQ/chowdsp_StandardEQParameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ StandardEQParameters<NumBands>::StandardEQParameters (ParamHolder* parent,
{
for (auto& bandParams : eqParams)
{
bandParams.paramHolder.emplace (this,
format (*arena, "{} {}", bandParams.bandNamePrefix, bandParams.bandIndex + 1));
bandParams.paramHolder = new (arena->allocate<ParamHolder> (1)) ParamHolder {
this,
format (*arena, "{} {}", bandParams.bandNamePrefix, bandParams.bandIndex + 1),
};
bandParams.paramHolder->add (bandParams.onOffParam,
bandParams.typeParam,
bandParams.freqParam,
Expand All @@ -23,6 +25,13 @@ StandardEQParameters<NumBands>::StandardEQParameters (ParamHolder* parent,
}
}

template <size_t NumBands>
StandardEQParameters<NumBands>::~StandardEQParameters()
{
for (auto& bandParams : eqParams)
bandParams.paramHolder->~ParamHolder();
}

template <size_t NumBands>
typename StandardEQParameters<NumBands>::Params StandardEQParameters<NumBands>::getEQParameters (const EQParameterHandles& paramHandles)
{
Expand Down
3 changes: 2 additions & 1 deletion modules/dsp/chowdsp_eq/EQ/chowdsp_StandardEQParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -94,14 +94,15 @@ struct StandardEQParameters : ParamHolder
};

/** Internal use only! */
std::optional<ParamHolder> paramHolder { std::nullopt }; // @TODO: use pointer instead of optional?
ParamHolder* paramHolder {};
};

/** Set of parameter handles for the entire EQ. */
using EQParameterHandles = std::array<EQBandParams, NumBands>;

/** Constructor */
explicit StandardEQParameters (ParamHolder* parent, EQParameterHandles&& paramHandles, std::string_view name = {});
~StandardEQParameters();

/** Parameter handles */
EQParameterHandles eqParams;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ struct ParametersView::Pimpl
Pimpl (ParamHolder& params, ParameterListeners& listeners)
: groupItem (params, listeners)
{
view.setIndentSize (5);
view.setIndentSize (12);
const auto numIndents = getNumIndents (groupItem);
const auto width = 400 + view.getIndentSize() * numIndents;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ std::enable_if_t<TypeTraits::IsIterable<ParamContainerType>, void>

[[nodiscard]] inline int ParamHolder::count() const noexcept
{
int count = static_cast<int> (things.count());
auto count = static_cast<int> (things.count());
for (auto& thing : things)
{
if (thing.get_flags() == Holder)
Expand Down

0 comments on commit bd9001a

Please sign in to comment.