Ignore:
Timestamp:
Jul 23, 2000, 6:21:57 PM (25 years ago)
Author:
sandervl
Message:

update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sbliveos2/trunk/sblive/mixer.c

    r147 r153  
    269269#endif //TARGET_OS2
    270270
    271 u32 bass_table[41][5] = {
     271static const u32 bass_table[41][5] = {
    272272        { 0x3e4f844f, 0x84ed4cc3, 0x3cc69927, 0x7b03553a, 0xc4da8486 },
    273273        { 0x3e69a17a, 0x84c280fb, 0x3cd77cd4, 0x7b2f2a6f, 0xc4b08d1d },
     
    313313};
    314314
    315 u32 treble_table[41][5] = {
     315static const u32 treble_table[41][5] = {
    316316        { 0x0125cba9, 0xfed5debd, 0x00599b6c, 0x0d2506da, 0xfa85b354 },
    317317        { 0x0142f67e, 0xfeb03163, 0x0066cd0f, 0x0d14c69d, 0xfa914473 },
     
    381381}
    382382
    383 u32 db_table[101] = {
     383static const u32 db_table[101] = {
    384384        0x00000000, 0x01571f82, 0x01674b41, 0x01783a1b, 0x0189f540,
    385385        0x019c8651, 0x01aff763, 0x01c45306, 0x01d9a446, 0x01eff6b8,
     
    441441        }
    442442
    443         for (i = 0; i < 18; i++) {
     443        for (i = 0; i < 36; i++) {
    444444                if (card->digmix[i] != 0x80000000) {
    445                         if ((i >= 0) && (i < 4))
     445                        if (((i >= 0) && (i < 4)) || ((i >= 18) && (i < 22)))
    446446                                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))
    448448                                j = (i & 1) ? ((u64) db_table[r1] * (u64) db_table[r4]) : ((u64) db_table[l1] * (u64) db_table[l4]);
    449449                        else
     
    467467        }
    468468
    469         for (i = 18; i <= 90; i += 18) {
     469        for (i = 36; i <= 90; i += 18) {
    470470                if (i != 72) {
    471471                        for (k = 0; k < 4; k++)
     
    489489#ifdef PRIVATE_PCM_VOLUME
    490490
     491static  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
    491506/* calc & set attenuation factor for given channel */
    492507static int set_pcm_attn(struct emu10k1_card *card, int ch, int l)
    493508{
    494509#ifndef PCMLEVEL
    495 #define PCMLEVEL 140            // almost silence
     510#define PCMLEVEL 110            /* almost silence */
    496511#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                }
    500518                vol = (PCMLEVEL - (l * PCMLEVEL + 50) / 100);
     519        }
    501520        sblive_writeptr(card, IFATN, ch, IFATN_FILTERCUTOFF_MASK | vol);
    502521        DPD(2, "SOUND_MIXER_PCM: channel:%d  level:%d  attn:%d\n", ch, l, vol);
     
    548567                }
    549568        }
    550         if (i == MAX_PCM_CHANNELS)
    551                 card->arrwVol[volidx[SOUND_MIXER_PCM]] = mixer;
     569        card->arrwVol[volidx[SOUND_MIXER_PCM]] = mixer;
    552570
    553571        return 0;
Note: See TracChangeset for help on using the changeset viewer.