audacity icon indicating copy to clipboard operation
audacity copied to clipboard

Per track meter internals

Open Paul-Licameli opened this issue 1 year ago • 2 comments

Resolves: (direct link to the issue)

Some of this originated in #5779

Put into AudioIO.cpp all the support needed for per-track meters displaying correct peak and RMS data (post all adjustments for the effect stack, pan, gain, envelope).

But also other cleanups of AudioIO. Move the experimental automated input level adjustment out, so the Meter interface needs fewer virtual functions.

Also clean up the publication of events from AudioIO and correct some non-thread-safe message callbacks.

To do: MixerBoard should use this. It doesn't show correct data now in all cases. See #5117

(short description of the changes and the motivation to make the changes)

  • [x] I signed CLA
  • [x] The title of the pull request describes an issue it addresses
  • [x] If changes are extensive, then there is a sequence of easily reviewable commits
  • [x] Each commit's message describes its purpose and effects
  • [x] There are no behavior changes unnecessary for the stated purpose of the PR

Recommended:

  • [x] Each commit compiles and runs on my machine without known undesirable changes of behavior

Paul-Licameli avatar Dec 30 '23 17:12 Paul-Licameli

I should have put the big red Experimental label on this bit of holiday hackathon. I didn't ask review yet, but thank you.

Paul-Licameli avatar Jan 16 '24 12:01 Paul-Licameli

@saintmatthieu @vsverchinsky

Rebased onto latest master.

There is much cleanup of AudioIO.cpp that I prepared. It's still not all of the cleanup.

Correct inter-thread communication of the stream of most recently played samples is necessary for a per-track meter display that is not meaningless garbage.

Paul-Licameli avatar May 08 '24 15:05 Paul-Licameli