Changeset 153 for sbliveos2/trunk/sblive/mixer.c
- Timestamp:
- Jul 23, 2000, 6:21:57 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sbliveos2/trunk/sblive/mixer.c
r147 r153 269 269 #endif //TARGET_OS2 270 270 271 u32 bass_table[41][5] = {271 static const u32 bass_table[41][5] = { 272 272 { 0x3e4f844f, 0x84ed4cc3, 0x3cc69927, 0x7b03553a, 0xc4da8486 }, 273 273 { 0x3e69a17a, 0x84c280fb, 0x3cd77cd4, 0x7b2f2a6f, 0xc4b08d1d }, … … 313 313 }; 314 314 315 u32 treble_table[41][5] = {315 static const u32 treble_table[41][5] = { 316 316 { 0x0125cba9, 0xfed5debd, 0x00599b6c, 0x0d2506da, 0xfa85b354 }, 317 317 { 0x0142f67e, 0xfeb03163, 0x0066cd0f, 0x0d14c69d, 0xfa914473 }, … … 381 381 } 382 382 383 u32 db_table[101] = {383 static const u32 db_table[101] = { 384 384 0x00000000, 0x01571f82, 0x01674b41, 0x01783a1b, 0x0189f540, 385 385 0x019c8651, 0x01aff763, 0x01c45306, 0x01d9a446, 0x01eff6b8, … … 441 441 } 442 442 443 for (i = 0; i < 18; i++) {443 for (i = 0; i < 36; i++) { 444 444 if (card->digmix[i] != 0x80000000) { 445 if (( i >= 0) && (i < 4))445 if (((i >= 0) && (i < 4)) || ((i >= 18) && (i < 22))) 446 446 j = (i & 1) ? ((u64) db_table[r1] * (u64) db_table[r3]) : ((u64) db_table[l1] * (u64) db_table[l3]); 447 else if ((i == 6) || (i == 7) )447 else if ((i == 6) || (i == 7) || (i == 24) || (i == 25)) 448 448 j = (i & 1) ? ((u64) db_table[r1] * (u64) db_table[r4]) : ((u64) db_table[l1] * (u64) db_table[l4]); 449 449 else … … 467 467 } 468 468 469 for (i = 18; i <= 90; i += 18) {469 for (i = 36; i <= 90; i += 18) { 470 470 if (i != 72) { 471 471 for (k = 0; k < 4; k++) … … 489 489 #ifdef PRIVATE_PCM_VOLUME 490 490 491 static unsigned char LinToLog[100] = { 0, 0, 0, 0, 492 1, 2, 2, 5, 5, 10, 10, 10, 493 16, 19, 20, 22, 24, 25, 27, 27, 494 28, 28, 29, 30, 30, 35, 35, 35, 495 39, 39, 43, 45, 47, 49, 50, 50, 496 60, 60, 70, 72, 72, 74, 74, 74, 497 75, 75, 76, 77, 78, 80, 82, 83, 498 85, 85, 85, 88, 88, 88, 88, 90, 499 90, 93, 93, 93, 95, 95, 95, 95, 500 95, 95, 95, 96, 96, 97, 97, 98, 501 98, 98, 98, 99, 99, 99, 99, 99, 502 99, 99, 99, 99, 100, 100, 100, 100, 503 100, 100, 100, 100, 100, 100, 100, 100}; 504 505 491 506 /* calc & set attenuation factor for given channel */ 492 507 static int set_pcm_attn(struct emu10k1_card *card, int ch, int l) 493 508 { 494 509 #ifndef PCMLEVEL 495 #define PCMLEVEL 1 40 // almost silence510 #define PCMLEVEL 110 /* almost silence */ 496 511 #endif 497 int vol = IFATN_ATTENUATION_MASK; // silence 498 499 if (l > 0) 512 int vol = IFATN_ATTENUATION_MASK; /* silence */ 513 514 if (l > 0) { 515 if(l < 100) { 516 l = LinToLog[l]; 517 } 500 518 vol = (PCMLEVEL - (l * PCMLEVEL + 50) / 100); 519 } 501 520 sblive_writeptr(card, IFATN, ch, IFATN_FILTERCUTOFF_MASK | vol); 502 521 DPD(2, "SOUND_MIXER_PCM: channel:%d level:%d attn:%d\n", ch, l, vol); … … 548 567 } 549 568 } 550 if (i == MAX_PCM_CHANNELS) 551 card->arrwVol[volidx[SOUND_MIXER_PCM]] = mixer; 569 card->arrwVol[volidx[SOUND_MIXER_PCM]] = mixer; 552 570 553 571 return 0;
Note:
See TracChangeset
for help on using the changeset viewer.