added side left and side right channels to default output mix for better 8 channel playback
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6658 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -120,7 +120,7 @@ MixerOutput::AssignDefaultSources()
|
||||
// we have only one phycial output channel, and use it as a mix of
|
||||
// left, right, rear-left, rear-right, center and sub
|
||||
TRACE("AssignDefaultSources: 1 channel setup\n");
|
||||
fOutputChannelInfo[0].source_count = 7;
|
||||
fOutputChannelInfo[0].source_count = 9;
|
||||
fOutputChannelInfo[0].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_LEFT);
|
||||
fOutputChannelInfo[0].source_gain[1] = 1.0;
|
||||
@@ -135,11 +135,15 @@ MixerOutput::AssignDefaultSources()
|
||||
fOutputChannelInfo[0].source_type[5] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[0].source_gain[6] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[6] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[0].source_gain[7] = 0.7;
|
||||
fOutputChannelInfo[0].source_type[7] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
fOutputChannelInfo[0].source_gain[8] = 0.7;
|
||||
fOutputChannelInfo[0].source_type[8] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
} else if (count == 2 && mask == (B_CHANNEL_LEFT | B_CHANNEL_RIGHT)) {
|
||||
// we have have two phycial output channels
|
||||
TRACE("AssignDefaultSources: 2 channel setup\n");
|
||||
// left channel:
|
||||
fOutputChannelInfo[0].source_count = 5;
|
||||
fOutputChannelInfo[0].source_count = 6;
|
||||
fOutputChannelInfo[0].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_LEFT);
|
||||
fOutputChannelInfo[0].source_gain[1] = 0.8;
|
||||
@@ -150,8 +154,10 @@ MixerOutput::AssignDefaultSources()
|
||||
fOutputChannelInfo[0].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[0].source_gain[4] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[4] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[0].source_gain[5] = 0.7;
|
||||
fOutputChannelInfo[0].source_type[5] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
// right channel:
|
||||
fOutputChannelInfo[1].source_count = 5;
|
||||
fOutputChannelInfo[1].source_count = 6;
|
||||
fOutputChannelInfo[1].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_RIGHT);
|
||||
fOutputChannelInfo[1].source_gain[1] = 0.8;
|
||||
@@ -162,10 +168,12 @@ MixerOutput::AssignDefaultSources()
|
||||
fOutputChannelInfo[1].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[1].source_gain[4] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[4] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[1].source_gain[5] = 0.7;
|
||||
fOutputChannelInfo[1].source_type[5] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
} else if (count == 4 && mask == (B_CHANNEL_LEFT | B_CHANNEL_RIGHT | B_CHANNEL_REARLEFT | B_CHANNEL_REARRIGHT)) {
|
||||
TRACE("AssignDefaultSources: 4 channel setup\n");
|
||||
// left channel:
|
||||
fOutputChannelInfo[0].source_count = 4;
|
||||
fOutputChannelInfo[0].source_count = 5;
|
||||
fOutputChannelInfo[0].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_LEFT);
|
||||
fOutputChannelInfo[0].source_gain[1] = 0.7;
|
||||
@@ -174,8 +182,10 @@ MixerOutput::AssignDefaultSources()
|
||||
fOutputChannelInfo[0].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[0].source_gain[3] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[0].source_gain[4] = 0.6;
|
||||
fOutputChannelInfo[0].source_type[4] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
// right channel:
|
||||
fOutputChannelInfo[1].source_count = 4;
|
||||
fOutputChannelInfo[1].source_count = 5;
|
||||
fOutputChannelInfo[1].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_RIGHT);
|
||||
fOutputChannelInfo[1].source_gain[1] = 0.7;
|
||||
@@ -184,56 +194,70 @@ MixerOutput::AssignDefaultSources()
|
||||
fOutputChannelInfo[1].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[1].source_gain[3] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[1].source_gain[4] = 0.6;
|
||||
fOutputChannelInfo[1].source_type[4] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
// rear-left channel:
|
||||
fOutputChannelInfo[2].source_count = 3;
|
||||
fOutputChannelInfo[2].source_count = 4;
|
||||
fOutputChannelInfo[2].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[2].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_REARLEFT);
|
||||
fOutputChannelInfo[2].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[2].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[2].source_gain[2] = 0.9;
|
||||
fOutputChannelInfo[2].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[2].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[2].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
// rear-right channel:
|
||||
fOutputChannelInfo[3].source_count = 3;
|
||||
fOutputChannelInfo[3].source_count = 4;
|
||||
fOutputChannelInfo[3].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[3].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_REARRIGHT);
|
||||
fOutputChannelInfo[3].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[3].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[3].source_gain[2] = 0.9;
|
||||
fOutputChannelInfo[3].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[3].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[3].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
} else if (count == 5 && mask == (B_CHANNEL_LEFT | B_CHANNEL_RIGHT | B_CHANNEL_REARLEFT | B_CHANNEL_REARRIGHT | B_CHANNEL_CENTER)) {
|
||||
TRACE("AssignDefaultSources: 5 channel setup\n");
|
||||
// left channel:
|
||||
fOutputChannelInfo[0].source_count = 3;
|
||||
fOutputChannelInfo[0].source_count = 4;
|
||||
fOutputChannelInfo[0].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_LEFT);
|
||||
fOutputChannelInfo[0].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[0].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[0].source_gain[2] = 1.0;
|
||||
fOutputChannelInfo[0].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[0].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[0].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
// right channel:
|
||||
fOutputChannelInfo[1].source_count = 3;
|
||||
fOutputChannelInfo[1].source_count = 4;
|
||||
fOutputChannelInfo[1].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_RIGHT);
|
||||
fOutputChannelInfo[1].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[1].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[1].source_gain[2] = 1.0;
|
||||
fOutputChannelInfo[1].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[1].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[1].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
// rear-left channel:
|
||||
fOutputChannelInfo[2].source_count = 3;
|
||||
fOutputChannelInfo[2].source_count = 4;
|
||||
fOutputChannelInfo[2].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[2].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_REARLEFT);
|
||||
fOutputChannelInfo[2].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[2].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[2].source_gain[2] = 0.9;
|
||||
fOutputChannelInfo[2].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[2].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[2].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_LEFT);
|
||||
// rear-right channel:
|
||||
fOutputChannelInfo[3].source_count = 3;
|
||||
fOutputChannelInfo[3].source_count = 4;
|
||||
fOutputChannelInfo[3].source_gain[0] = 1.0;
|
||||
fOutputChannelInfo[3].source_type[0] = ChannelMaskToChannelType(B_CHANNEL_REARRIGHT);
|
||||
fOutputChannelInfo[3].source_gain[1] = 0.6;
|
||||
fOutputChannelInfo[3].source_type[1] = ChannelMaskToChannelType(B_CHANNEL_SUB);
|
||||
fOutputChannelInfo[3].source_gain[2] = 0.9;
|
||||
fOutputChannelInfo[3].source_type[2] = ChannelMaskToChannelType(B_CHANNEL_MONO);
|
||||
fOutputChannelInfo[3].source_gain[3] = 0.6;
|
||||
fOutputChannelInfo[3].source_type[3] = ChannelMaskToChannelType(B_CHANNEL_SIDE_RIGHT);
|
||||
// center channel:
|
||||
fOutputChannelInfo[4].source_count = 3;
|
||||
fOutputChannelInfo[4].source_gain[0] = 1.0;
|
||||
|
||||
Reference in New Issue
Block a user