Modify

Ticket #4804 (assigned Patch - Feature)

Opened 4 years ago

Last modified 3 months ago

Add software amplification support to libmyth/AudioOutput

Reported by: chhamilton@… Owned by: jyavenard
Priority: minor Milestone: unknown
Component: MythTV - Audio Output Version: 0.23.1
Severity: low Keywords: replaygain mythmusic preamp amplification gain
Cc: Ticket locked: no

Description

In anticipation of adding ReplayGain? support to MythMusic, it is required that the AudioOutput? layer support software amplification.

Attachments

preamp-r16313.patch (6.6 KB) - added by chhamilton@… 4 years ago.
Patch adding software preamp to libmyth/AudioOutput.
libs_libmyth-preamp-patch-ticket-4804.patch (7.4 KB) - added by Erik Hovland <erik@…> 4 years ago.
This patch is the same patch, but against trunk as of 2008-04-14
libs_libmyth-change-pound-define-function-to-generic.patch (3.1 KB) - added by Erik Hovland <erik@…> 4 years ago.
Replaces the #define APPLY_PRE_AMP with a C++ generic function
libs_libmyth-change-pound-define-function-to-generic.2.patch (3.1 KB) - added by Erik Hovland <erik@…> 4 years ago.
Replaces the previous patch. There was a bug where I accidentally dropped the multiply operator
libs_libmyth-suppress-compiler-warnings-ticket-4804.patch (1.2 KB) - added by Erik Hovland <erik@…> 4 years ago.
Suppresses compiler warnings introduced in the original patch
libs_libmyth-preamp-patch-ticket-4804 (7.5 KB) - added by Erik Hovland <erik@…> 2 years ago.
Same patch as before but against trunk as of 2010-02-03
libs_libmyth-preamp-patch-ticket-4804.2 (7.5 KB) - added by Erik Hovland <erik@…> 2 years ago.
Same patch as before but against trunk as of 2010-02-03

Change History

Changed 4 years ago by chhamilton@…

Patch adding software preamp to libmyth/AudioOutput.

comment:1 follow-up: ↓ 2 Changed 4 years ago by chhamilton@…

I've attached a patch that adds software preamp software to AudioOutput/AudioOutputBase?. The approach taken was to inplace modify all samples fed to AudioOutputBase::AddSamples?. There is also some early clipping monitoring stuff in place, which could eventually be used to implement an automatic gain control if so desired.

The patch is relative to the mythtv/libs/libmyth directory of revision 16313, and can be found here.

comment:2 in reply to: ↑ 1 Changed 4 years ago by Roo <roo.watt@…>

Replying to chhamilton@hotmail.com:

There is also some early clipping monitoring stuff in place, which could eventually be used to implement an automatic gain control if so desired.

Another use that springs to mind is to correct for differences between mythmusic and recording volume for playback.

Haven't tried the patch but nice idea.

Changed 4 years ago by Erik Hovland <erik@…>

This patch is the same patch, but against trunk as of 2008-04-14

Changed 4 years ago by Erik Hovland <erik@…>

Replaces the #define APPLY_PRE_AMP with a C++ generic function

comment:3 Changed 4 years ago by Erik Hovland <erik@…>

Probably someone will pipe up and say whether the #define or my idea for a generic function is a better idea or not. But since I would like to see this patch or something like it get into the tree, I have integrated it into my patch set and will continue to do what I can for it.

Changed 4 years ago by Erik Hovland <erik@…>

Replaces the previous patch. There was a bug where I accidentally dropped the multiply operator

comment:4 Changed 4 years ago by stuartm

  • Version changed from unknown to head
  • Milestone changed from unknown to 0.22

This functionality will definitely make it into the tree, but we're all pretty busy right now and no-one has got around to reviewing it yet.

Changed 4 years ago by Erik Hovland <erik@…>

Suppresses compiler warnings introduced in the original patch

comment:5 Changed 4 years ago by Erik Hovland <erik@…>

I noticed that while compiling mythmusic and mythphone with the original patch in place that the introduced member functions that take values are not abstract and as such do not deal with the given parameters. The compiler throws a warning because the parameters are unused. The newly attached patch changes those member functions so that the warning is suppress. It requires the original patch (or the updated version I attached on 2008-04-14).

comment:6 Changed 3 years ago by elkin@…

does this patch provide the possibility of making sure that the volume of AC3, mp3 etc is the same from recording to recording? Right now I have recordings in AC3 that are very quiet compared to recordings with mp3 in them.

comment:7 Changed 3 years ago by stuartm

  • Ticket locked set

comment:8 Changed 3 years ago by stuartm

  • Ticket locked unset
  • Component changed from mythtv to MythTV - General
  • Milestone changed from 0.22 to 0.23

comment:9 Changed 2 years ago by paulh

  • Owner changed from ijr to jyavenard
  • Status changed from new to assigned
  • Component changed from MythTV - General to MythTV - Audio Output

Changed 2 years ago by Erik Hovland <erik@…>

Same patch as before but against trunk as of 2010-02-03

Changed 2 years ago by Erik Hovland <erik@…>

Same patch as before but against trunk as of 2010-02-03

comment:10 Changed 2 years ago by paulh

  • Milestone changed from 0.23 to 0.24

comment:11 Changed 21 months ago by jyavenard

  • Milestone changed from 0.24 to 0.25

ReplayGain? isn't supported in mythmusic, so no much point at this stage to merge it

comment:12 Changed 21 months ago by chhamilton@…

This is a minimally invasive change, and a prerequisite to ever adding ReplayGain? support. Why not simply merge it now? Heck, I might even feel sufficiently motivated by that show of faith to revisit my old implementation of ReplayGain? for MythMusic (built against 0.20-fixes once upon a time).

comment:13 Changed 21 months ago by jyavenard

That patch needs to be almost fully rewritten for the new audio code. It can't be merged as is.

comment:14 Changed 20 months ago by stuartm

  • Milestone 0.25 deleted

Milestone 0.25 deleted

comment:15 Changed 3 months ago by beirdo

  • Milestone changed from 0.25 to unknown

comment:16 Changed 3 months ago by stuartm

  • Version changed from head to 0.23.1
  • Type changed from enhancement to Patch - Feature
View

Add a comment

Modify Ticket

Action
as assigned
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.