📄 mixart_mixer.c
字号:
/* * Driver for Digigram miXart soundcards * * mixer callbacks * * Copyright (c) 2003 by Digigram <alsa@digigram.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#include <sound/driver.h>#include <linux/time.h>#include <linux/interrupt.h>#include <linux/init.h>#include <sound/core.h>#include "mixart.h"#include "mixart_core.h"#include "mixart_hwdep.h"#include <sound/control.h>#include "mixart_mixer.h"static u32 mixart_analog_level[256] = { 0xc2c00000, /* [000] -96.0 dB */ 0xc2bf0000, /* [001] -95.5 dB */ 0xc2be0000, /* [002] -95.0 dB */ 0xc2bd0000, /* [003] -94.5 dB */ 0xc2bc0000, /* [004] -94.0 dB */ 0xc2bb0000, /* [005] -93.5 dB */ 0xc2ba0000, /* [006] -93.0 dB */ 0xc2b90000, /* [007] -92.5 dB */ 0xc2b80000, /* [008] -92.0 dB */ 0xc2b70000, /* [009] -91.5 dB */ 0xc2b60000, /* [010] -91.0 dB */ 0xc2b50000, /* [011] -90.5 dB */ 0xc2b40000, /* [012] -90.0 dB */ 0xc2b30000, /* [013] -89.5 dB */ 0xc2b20000, /* [014] -89.0 dB */ 0xc2b10000, /* [015] -88.5 dB */ 0xc2b00000, /* [016] -88.0 dB */ 0xc2af0000, /* [017] -87.5 dB */ 0xc2ae0000, /* [018] -87.0 dB */ 0xc2ad0000, /* [019] -86.5 dB */ 0xc2ac0000, /* [020] -86.0 dB */ 0xc2ab0000, /* [021] -85.5 dB */ 0xc2aa0000, /* [022] -85.0 dB */ 0xc2a90000, /* [023] -84.5 dB */ 0xc2a80000, /* [024] -84.0 dB */ 0xc2a70000, /* [025] -83.5 dB */ 0xc2a60000, /* [026] -83.0 dB */ 0xc2a50000, /* [027] -82.5 dB */ 0xc2a40000, /* [028] -82.0 dB */ 0xc2a30000, /* [029] -81.5 dB */ 0xc2a20000, /* [030] -81.0 dB */ 0xc2a10000, /* [031] -80.5 dB */ 0xc2a00000, /* [032] -80.0 dB */ 0xc29f0000, /* [033] -79.5 dB */ 0xc29e0000, /* [034] -79.0 dB */ 0xc29d0000, /* [035] -78.5 dB */ 0xc29c0000, /* [036] -78.0 dB */ 0xc29b0000, /* [037] -77.5 dB */ 0xc29a0000, /* [038] -77.0 dB */ 0xc2990000, /* [039] -76.5 dB */ 0xc2980000, /* [040] -76.0 dB */ 0xc2970000, /* [041] -75.5 dB */ 0xc2960000, /* [042] -75.0 dB */ 0xc2950000, /* [043] -74.5 dB */ 0xc2940000, /* [044] -74.0 dB */ 0xc2930000, /* [045] -73.5 dB */ 0xc2920000, /* [046] -73.0 dB */ 0xc2910000, /* [047] -72.5 dB */ 0xc2900000, /* [048] -72.0 dB */ 0xc28f0000, /* [049] -71.5 dB */ 0xc28e0000, /* [050] -71.0 dB */ 0xc28d0000, /* [051] -70.5 dB */ 0xc28c0000, /* [052] -70.0 dB */ 0xc28b0000, /* [053] -69.5 dB */ 0xc28a0000, /* [054] -69.0 dB */ 0xc2890000, /* [055] -68.5 dB */ 0xc2880000, /* [056] -68.0 dB */ 0xc2870000, /* [057] -67.5 dB */ 0xc2860000, /* [058] -67.0 dB */ 0xc2850000, /* [059] -66.5 dB */ 0xc2840000, /* [060] -66.0 dB */ 0xc2830000, /* [061] -65.5 dB */ 0xc2820000, /* [062] -65.0 dB */ 0xc2810000, /* [063] -64.5 dB */ 0xc2800000, /* [064] -64.0 dB */ 0xc27e0000, /* [065] -63.5 dB */ 0xc27c0000, /* [066] -63.0 dB */ 0xc27a0000, /* [067] -62.5 dB */ 0xc2780000, /* [068] -62.0 dB */ 0xc2760000, /* [069] -61.5 dB */ 0xc2740000, /* [070] -61.0 dB */ 0xc2720000, /* [071] -60.5 dB */ 0xc2700000, /* [072] -60.0 dB */ 0xc26e0000, /* [073] -59.5 dB */ 0xc26c0000, /* [074] -59.0 dB */ 0xc26a0000, /* [075] -58.5 dB */ 0xc2680000, /* [076] -58.0 dB */ 0xc2660000, /* [077] -57.5 dB */ 0xc2640000, /* [078] -57.0 dB */ 0xc2620000, /* [079] -56.5 dB */ 0xc2600000, /* [080] -56.0 dB */ 0xc25e0000, /* [081] -55.5 dB */ 0xc25c0000, /* [082] -55.0 dB */ 0xc25a0000, /* [083] -54.5 dB */ 0xc2580000, /* [084] -54.0 dB */ 0xc2560000, /* [085] -53.5 dB */ 0xc2540000, /* [086] -53.0 dB */ 0xc2520000, /* [087] -52.5 dB */ 0xc2500000, /* [088] -52.0 dB */ 0xc24e0000, /* [089] -51.5 dB */ 0xc24c0000, /* [090] -51.0 dB */ 0xc24a0000, /* [091] -50.5 dB */ 0xc2480000, /* [092] -50.0 dB */ 0xc2460000, /* [093] -49.5 dB */ 0xc2440000, /* [094] -49.0 dB */ 0xc2420000, /* [095] -48.5 dB */ 0xc2400000, /* [096] -48.0 dB */ 0xc23e0000, /* [097] -47.5 dB */ 0xc23c0000, /* [098] -47.0 dB */ 0xc23a0000, /* [099] -46.5 dB */ 0xc2380000, /* [100] -46.0 dB */ 0xc2360000, /* [101] -45.5 dB */ 0xc2340000, /* [102] -45.0 dB */ 0xc2320000, /* [103] -44.5 dB */ 0xc2300000, /* [104] -44.0 dB */ 0xc22e0000, /* [105] -43.5 dB */ 0xc22c0000, /* [106] -43.0 dB */ 0xc22a0000, /* [107] -42.5 dB */ 0xc2280000, /* [108] -42.0 dB */ 0xc2260000, /* [109] -41.5 dB */ 0xc2240000, /* [110] -41.0 dB */ 0xc2220000, /* [111] -40.5 dB */ 0xc2200000, /* [112] -40.0 dB */ 0xc21e0000, /* [113] -39.5 dB */ 0xc21c0000, /* [114] -39.0 dB */ 0xc21a0000, /* [115] -38.5 dB */ 0xc2180000, /* [116] -38.0 dB */ 0xc2160000, /* [117] -37.5 dB */ 0xc2140000, /* [118] -37.0 dB */ 0xc2120000, /* [119] -36.5 dB */ 0xc2100000, /* [120] -36.0 dB */ 0xc20e0000, /* [121] -35.5 dB */ 0xc20c0000, /* [122] -35.0 dB */ 0xc20a0000, /* [123] -34.5 dB */ 0xc2080000, /* [124] -34.0 dB */ 0xc2060000, /* [125] -33.5 dB */ 0xc2040000, /* [126] -33.0 dB */ 0xc2020000, /* [127] -32.5 dB */ 0xc2000000, /* [128] -32.0 dB */ 0xc1fc0000, /* [129] -31.5 dB */ 0xc1f80000, /* [130] -31.0 dB */ 0xc1f40000, /* [131] -30.5 dB */ 0xc1f00000, /* [132] -30.0 dB */ 0xc1ec0000, /* [133] -29.5 dB */ 0xc1e80000, /* [134] -29.0 dB */ 0xc1e40000, /* [135] -28.5 dB */ 0xc1e00000, /* [136] -28.0 dB */ 0xc1dc0000, /* [137] -27.5 dB */ 0xc1d80000, /* [138] -27.0 dB */ 0xc1d40000, /* [139] -26.5 dB */ 0xc1d00000, /* [140] -26.0 dB */ 0xc1cc0000, /* [141] -25.5 dB */ 0xc1c80000, /* [142] -25.0 dB */ 0xc1c40000, /* [143] -24.5 dB */ 0xc1c00000, /* [144] -24.0 dB */ 0xc1bc0000, /* [145] -23.5 dB */ 0xc1b80000, /* [146] -23.0 dB */ 0xc1b40000, /* [147] -22.5 dB */ 0xc1b00000, /* [148] -22.0 dB */ 0xc1ac0000, /* [149] -21.5 dB */ 0xc1a80000, /* [150] -21.0 dB */ 0xc1a40000, /* [151] -20.5 dB */ 0xc1a00000, /* [152] -20.0 dB */ 0xc19c0000, /* [153] -19.5 dB */ 0xc1980000, /* [154] -19.0 dB */ 0xc1940000, /* [155] -18.5 dB */ 0xc1900000, /* [156] -18.0 dB */ 0xc18c0000, /* [157] -17.5 dB */ 0xc1880000, /* [158] -17.0 dB */ 0xc1840000, /* [159] -16.5 dB */ 0xc1800000, /* [160] -16.0 dB */ 0xc1780000, /* [161] -15.5 dB */ 0xc1700000, /* [162] -15.0 dB */ 0xc1680000, /* [163] -14.5 dB */ 0xc1600000, /* [164] -14.0 dB */ 0xc1580000, /* [165] -13.5 dB */ 0xc1500000, /* [166] -13.0 dB */ 0xc1480000, /* [167] -12.5 dB */ 0xc1400000, /* [168] -12.0 dB */ 0xc1380000, /* [169] -11.5 dB */ 0xc1300000, /* [170] -11.0 dB */ 0xc1280000, /* [171] -10.5 dB */ 0xc1200000, /* [172] -10.0 dB */ 0xc1180000, /* [173] -9.5 dB */ 0xc1100000, /* [174] -9.0 dB */ 0xc1080000, /* [175] -8.5 dB */ 0xc1000000, /* [176] -8.0 dB */ 0xc0f00000, /* [177] -7.5 dB */ 0xc0e00000, /* [178] -7.0 dB */ 0xc0d00000, /* [179] -6.5 dB */ 0xc0c00000, /* [180] -6.0 dB */ 0xc0b00000, /* [181] -5.5 dB */ 0xc0a00000, /* [182] -5.0 dB */ 0xc0900000, /* [183] -4.5 dB */ 0xc0800000, /* [184] -4.0 dB */ 0xc0600000, /* [185] -3.5 dB */ 0xc0400000, /* [186] -3.0 dB */ 0xc0200000, /* [187] -2.5 dB */ 0xc0000000, /* [188] -2.0 dB */ 0xbfc00000, /* [189] -1.5 dB */ 0xbf800000, /* [190] -1.0 dB */ 0xbf000000, /* [191] -0.5 dB */ 0x00000000, /* [192] 0.0 dB */ 0x3f000000, /* [193] 0.5 dB */ 0x3f800000, /* [194] 1.0 dB */ 0x3fc00000, /* [195] 1.5 dB */ 0x40000000, /* [196] 2.0 dB */ 0x40200000, /* [197] 2.5 dB */ 0x40400000, /* [198] 3.0 dB */ 0x40600000, /* [199] 3.5 dB */ 0x40800000, /* [200] 4.0 dB */ 0x40900000, /* [201] 4.5 dB */ 0x40a00000, /* [202] 5.0 dB */ 0x40b00000, /* [203] 5.5 dB */ 0x40c00000, /* [204] 6.0 dB */ 0x40d00000, /* [205] 6.5 dB */ 0x40e00000, /* [206] 7.0 dB */ 0x40f00000, /* [207] 7.5 dB */ 0x41000000, /* [208] 8.0 dB */ 0x41080000, /* [209] 8.5 dB */ 0x41100000, /* [210] 9.0 dB */ 0x41180000, /* [211] 9.5 dB */ 0x41200000, /* [212] 10.0 dB */ 0x41280000, /* [213] 10.5 dB */ 0x41300000, /* [214] 11.0 dB */ 0x41380000, /* [215] 11.5 dB */ 0x41400000, /* [216] 12.0 dB */ 0x41480000, /* [217] 12.5 dB */ 0x41500000, /* [218] 13.0 dB */ 0x41580000, /* [219] 13.5 dB */ 0x41600000, /* [220] 14.0 dB */ 0x41680000, /* [221] 14.5 dB */ 0x41700000, /* [222] 15.0 dB */ 0x41780000, /* [223] 15.5 dB */ 0x41800000, /* [224] 16.0 dB */ 0x41840000, /* [225] 16.5 dB */ 0x41880000, /* [226] 17.0 dB */ 0x418c0000, /* [227] 17.5 dB */ 0x41900000, /* [228] 18.0 dB */ 0x41940000, /* [229] 18.5 dB */ 0x41980000, /* [230] 19.0 dB */ 0x419c0000, /* [231] 19.5 dB */ 0x41a00000, /* [232] 20.0 dB */ 0x41a40000, /* [233] 20.5 dB */ 0x41a80000, /* [234] 21.0 dB */ 0x41ac0000, /* [235] 21.5 dB */ 0x41b00000, /* [236] 22.0 dB */ 0x41b40000, /* [237] 22.5 dB */ 0x41b80000, /* [238] 23.0 dB */ 0x41bc0000, /* [239] 23.5 dB */ 0x41c00000, /* [240] 24.0 dB */ 0x41c40000, /* [241] 24.5 dB */ 0x41c80000, /* [242] 25.0 dB */ 0x41cc0000, /* [243] 25.5 dB */ 0x41d00000, /* [244] 26.0 dB */ 0x41d40000, /* [245] 26.5 dB */ 0x41d80000, /* [246] 27.0 dB */ 0x41dc0000, /* [247] 27.5 dB */ 0x41e00000, /* [248] 28.0 dB */ 0x41e40000, /* [249] 28.5 dB */ 0x41e80000, /* [250] 29.0 dB */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -