OSDN Git Service

Support for 24-bit output in Win32GUI/TWSYNG interface.
authorSaito <saito2@digitalme.com>
Thu, 12 Feb 2004 05:17:34 +0000 (05:17 +0000)
committerSaito <saito2@digitalme.com>
Thu, 12 Feb 2004 05:17:34 +0000 (05:17 +0000)
ChangeLog
interface/rtsyn_common.c
interface/w32g_pref.c
interface/w32g_res.h
interface/w32g_res.rc

index d51b499..91ac25c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2004-02-12  Saito <saito2@digitalme.com>
+       * interface/w32g_pref.c, interface/w32g_res.[h,rc], interface/rtsyn_common.c:
+         Support for 24-bit output in Win32GUI/TWSYNTH interface.
+
 2004-02-12  Kentaro Sato <kentaro@ranvis.com>
 
        * timidity/output.c: Fixed endian problem of 24-bit output.
index c1fdb75..1ccde7f 100644 (file)
@@ -270,7 +270,9 @@ void rtsyn_init(void){
        time_advance=play_mode->rate/TICKTIME_HZ*2;
        if (!(play_mode->encoding & PE_MONO))
                time_advance >>= 1;
-       if (play_mode->encoding & PE_16BIT)
+       if (play_mode->encoding & PE_24BIT)
+               time_advance /= 3;
+       else if (play_mode->encoding & PE_16BIT)
                time_advance >>= 1;
 
        if (opt_force_keysig != 8) {
index 00db7af..63cad71 100644 (file)
@@ -1162,6 +1162,25 @@ PrefTiMidity2DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
        return FALSE;
 }
 
+// IDC_COMBO_BANDWIDTH
+#define cb_num_IDC_COMBO_BANDWIDTH 3
+enum {
+       BANDWIDTH_8BIT = 0,
+       BANDWIDTH_16BIT = 1,
+       BANDWIDTH_24BIT = 2,
+};
+static char *cb_info_IDC_COMBO_BANDWIDTH_en[] = {
+       "8-bit",
+       "16-bit",
+       "24-bit",
+};
+static char *cb_info_IDC_COMBO_BANDWIDTH_jp[] = {
+       "8\83r\83b\83g",
+       "16\83r\83b\83g",
+       "24\83r\83b\83g",
+};
+static char **cb_info_IDC_COMBO_BANDWIDTH;
+
 // IDC_COMBO_OUTPUT_MODE
 static char *cb_info_IDC_COMBO_OUTPUT_MODE_jp[]= {
        "\88È\89º\82Ì\83t\83@\83C\83\8b\82É\8fo\97Í",(char *)0,
@@ -1187,7 +1206,8 @@ static char **cb_info_IDC_COMBO_OUTPUT_MODE;
 static BOOL APIENTRY
 PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
 {
-       static int initflag = 1; 
+       static int initflag = 1;
+       int i;
        switch (uMess){
    case WM_INITDIALOG:
                {
@@ -1238,41 +1258,53 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,1,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,0,0);
-        } else if(strchr(opt, 'A')){
+               } else if(strchr(opt, 'A')){
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,1,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,0,0);
-        } else {
+               } else {
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-        }
-               if(strchr(opt, '1')){
-                       SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,0,0);
-                       SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,1,0);
-               } else {
-                       SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,1,0);
-                       SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,0,0);
-        }
+               }
+               // BANDWIDTH
+               if (PlayerLanguage == LANGUAGE_JAPANESE)
+                 cb_info_IDC_COMBO_BANDWIDTH = cb_info_IDC_COMBO_BANDWIDTH_jp;
+               else
+                 cb_info_IDC_COMBO_BANDWIDTH = cb_info_IDC_COMBO_BANDWIDTH_en;
+               for (i = 0; i < cb_num_IDC_COMBO_BANDWIDTH; i++)
+                       SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH,
+                                       CB_INSERTSTRING, (WPARAM) -1,
+                                       (LPARAM) cb_info_IDC_COMBO_BANDWIDTH[i]);
+               if (strchr(opt, '2')) { // 24-bit
+                       SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_SETCURSEL,
+                                       (WPARAM) BANDWIDTH_24BIT, (LPARAM) 0);
+               } else if (strchr(opt, '1')) {  // 16-bit
+                       SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_SETCURSEL,
+                                       (WPARAM) BANDWIDTH_16BIT, (LPARAM) 0);
+               } else {        // 8-bit
+                       SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_SETCURSEL,
+                                       (WPARAM) BANDWIDTH_8BIT, (LPARAM) 0);
+               }
                if(strchr(opt, 's')){
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,1,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,0,0);
                } else {
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,1,0);
-        }
+               }
                if(strchr(opt, 'x')){
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_SETCHECK,1,0);
                } else {
                        SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_SETCHECK,0,0);
-        }
+               }
                if(strchr(opt, 'M')){
                        SendDlgItemMessage(hwnd,IDC_RADIO_STEREO,BM_SETCHECK,0,0);
                        SendDlgItemMessage(hwnd,IDC_RADIO_MONO,BM_SETCHECK,1,0);
                } else {
                        SendDlgItemMessage(hwnd,IDC_RADIO_STEREO,BM_SETCHECK,1,0);
                        SendDlgItemMessage(hwnd,IDC_RADIO_MONO,BM_SETCHECK,0,0);
-        }
+               }
                SetDlgItemInt(hwnd,IDC_EDIT_SAMPLE_RATE,st_temp->output_rate,FALSE);
 #if 0          // Buggy
                EnableWindow(GetDlgItem(hwnd,IDC_RADIOBUTTON_LIST_MIDI_EVENT),FALSE);
@@ -1352,65 +1384,41 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,0,0);
+                               SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_SETCURSEL,
+                                       (WPARAM) BANDWIDTH_8BIT, (LPARAM) 0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_SETCHECK,0,0);
-                } else {
+                        } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
+                        }
                        break;
                case IDC_CHECKBOX_ALAW:
                        if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_GETCHECK,0,0)){
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,0,0);
+                               SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_SETCURSEL,
+                                       (WPARAM) BANDWIDTH_8BIT, (LPARAM) 0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_SETCHECK,0,0);
-                } else {
+                        } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
+                        }
                        break;
                case IDC_CHECKBOX_LINEAR:
                        if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_GETCHECK,0,0)){
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                } else {
+                        } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
-                       break;
-               case IDC_CHECKBOX_8BITS:
-                       if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_GETCHECK,0,0)){
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,0,0);
-                } else {
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
-                       break;
-               case IDC_CHECKBOX_16BITS:
-                       if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_GETCHECK,0,0)){
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                } else {
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_SETCHECK,1,0);
-                               SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_SETCHECK,0,0);
-                }
+                        }
                        break;
                case IDC_CHECKBOX_SIGNED:
                        if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_GETCHECK,0,0)){
@@ -1419,13 +1427,13 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                } else {
+                        } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
+                        }
                        break;
                case IDC_CHECKBOX_UNSIGNED:
                        if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_GETCHECK,0,0)){
@@ -1434,13 +1442,13 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                } else {
+                       } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_UNSIGNED,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
+                        }
                        break;
                case IDC_CHECKBOX_BYTESWAP:
                        if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_GETCHECK,0,0)){
@@ -1448,21 +1456,21 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                } else {
+                       } else {
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_BYTESWAP,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ULAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_ALAW,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_SETCHECK,1,0);
-                }
+                       }
                        break;
                case IDC_RADIO_STEREO:
                        if(SendDlgItemMessage(hwnd,IDC_RADIO_STEREO,BM_GETCHECK,0,0)){
                                SendDlgItemMessage(hwnd,IDC_RADIO_STEREO,BM_SETCHECK,1,0);
                                SendDlgItemMessage(hwnd,IDC_RADIO_MONO,BM_SETCHECK,0,0);
-                } else {
+                        } else {
                                SendDlgItemMessage(hwnd,IDC_RADIO_STEREO,BM_SETCHECK,0,0);
                                SendDlgItemMessage(hwnd,IDC_RADIO_MONO,BM_SETCHECK,1,0);
-                }
+                        }
                        break;
                case IDC_RADIO_MONO:
                        if(SendDlgItemMessage(hwnd,IDC_RADIO_MONO,BM_GETCHECK,0,0)){
@@ -1550,9 +1558,12 @@ PrefTiMidity3DialogProc(HWND hwnd, UINT uMess, WPARAM wParam, LPARAM lParam)
                        st_temp->opt_playmode[i++] = 'A';
                if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_LINEAR,BM_GETCHECK,0,0))
                        st_temp->opt_playmode[i++] = 'l';
-               if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_8BITS,BM_GETCHECK,0,0))
+               num = SendDlgItemMessage(hwnd, IDC_COMBO_BANDWIDTH, CB_GETCURSEL, (WPARAM)0, (LPARAM)0);
+               if(num == BANDWIDTH_8BIT)
                        st_temp->opt_playmode[i++] = '8';
-               if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_16BITS,BM_GETCHECK,0,0))
+               else if(num == BANDWIDTH_24BIT)
+                       st_temp->opt_playmode[i++] = '2';
+               else    // 16-bit
                        st_temp->opt_playmode[i++] = '1';
                if(SendDlgItemMessage(hwnd,IDC_CHECKBOX_SIGNED,BM_GETCHECK,0,0))
                        st_temp->opt_playmode[i++] = 's';
index e14372f..b5919e5 100644 (file)
@@ -1,5 +1,5 @@
 //{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
+// Microsoft Developer Studio generated include file.
 // Used by w32g_res.rc
 //
 #define IDD_DIALOG_SEARCHBOX            102
 #define IDC_BUTTON_REVERSE              2003
 #define IDC_COMBO_OUTPUT                2004
 #define IDC_BUTTON_OUTPUT_OPTIONS       2005
+#define IDC_COMBO_BANDWIDTH             2006
 #define IDC_CHECK_DEFAULT               2007
 #define IDC_COMBO_MODE                  2008
 #define IDC_CHECK_USE_TAG               2009
index 0f123b5..d09f5bf 100644 (file)
@@ -350,23 +350,19 @@ FONT 9, "Times New Roman"
 BEGIN\r
     GROUPBOX        "Output Encoding",IDC_STATIC,0,0,203,140,WS_GROUP | \r
                     WS_TABSTOP\r
-    GROUPBOX        "Precision",IDC_STATIC,4,7,171,30,WS_GROUP | WS_TABSTOP\r
-    CONTROL         "8bits",IDC_CHECKBOX_8BITS,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,8,15,29,8\r
-    CONTROL         "16bits",IDC_CHECKBOX_16BITS,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,8,25,32,8\r
+    GROUPBOX        "Precision",IDC_STATIC,4,7,192,30,WS_GROUP | WS_TABSTOP\r
     CONTROL         "uLaw",IDC_CHECKBOX_ULAW,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,41,15,31,8\r
+                    WS_TABSTOP,65,15,31,8\r
     CONTROL         "ALaw",IDC_CHECKBOX_ALAW,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,41,25,31,8\r
+                    WS_TABSTOP,65,25,31,8\r
     CONTROL         "Signed",IDC_CHECKBOX_SIGNED,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,77,15,37,8\r
+                    WS_TABSTOP,101,15,37,8\r
     CONTROL         "Unsigned",IDC_CHECKBOX_UNSIGNED,"Button",\r
-                    BS_AUTOCHECKBOX | WS_TABSTOP,77,25,37,8\r
+                    BS_AUTOCHECKBOX | WS_TABSTOP,101,25,37,8\r
     CONTROL         "Byteswap",IDC_CHECKBOX_BYTESWAP,"Button",\r
-                    BS_AUTOCHECKBOX | WS_TABSTOP,119,15,43,8\r
+                    BS_AUTOCHECKBOX | WS_TABSTOP,143,15,43,8\r
     CONTROL         "Linear PCM",IDC_CHECKBOX_LINEAR,"Button",\r
-                    BS_AUTOCHECKBOX | WS_TABSTOP,119,25,45,8\r
+                    BS_AUTOCHECKBOX | WS_TABSTOP,143,25,45,8\r
     GROUPBOX        "Channels",IDC_STATIC,4,41,45,33,WS_GROUP | WS_TABSTOP\r
     CONTROL         "Stereo",IDC_RADIO_STEREO,"Button",BS_AUTORADIOBUTTON | \r
                     WS_TABSTOP,8,51,36,10\r
@@ -396,6 +392,8 @@ BEGIN
     EDITTEXT        IDC_EDIT_OUTPUT_FILE,47,123,130,15,ES_AUTOHSCROLL | \r
                     ES_OEMCONVERT | WS_GROUP\r
     PUSHBUTTON      "DEL",IDC_BUTTON_OUTPUT_FILE_DEL,178,123,19,14,BS_CENTER\r
+    COMBOBOX        IDC_COMBO_BANDWIDTH,8,19,48,64,CBS_DROPDOWNLIST | \r
+                    CBS_SORT | WS_VSCROLL | WS_TABSTOP\r
 END\r
 \r
 IDD_PREF_TIMIDITY4_EN DIALOG DISCARDABLE  0, 0, 211, 206\r
@@ -1059,24 +1057,20 @@ STYLE DS_SYSMODAL | DS_3DLOOK | DS_CONTROL | WS_CHILD | WS_VISIBLE |
 FONT 9, "\82l\82\82o\83S\83V\83b\83N"\r
 BEGIN\r
     GROUPBOX        "\8fo\97Í",IDC_STATIC,1,0,203,180,WS_GROUP | WS_TABSTOP\r
-    GROUPBOX        "\8fo\97Í\83\82\81[\83h",IDC_STATIC,4,14,174,33,WS_GROUP | \r
+    GROUPBOX        "\8fo\97Í\83\82\81[\83h",IDC_STATIC,4,14,193,33,WS_GROUP | \r
                     WS_TABSTOP\r
-    CONTROL         "8\83r\83b\83g",IDC_CHECKBOX_8BITS,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,8,23,29,8\r
-    CONTROL         "16\83r\83b\83g",IDC_CHECKBOX_16BITS,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,8,35,32,8\r
     CONTROL         "U-Law",IDC_CHECKBOX_ULAW,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,41,23,31,8\r
+                    WS_TABSTOP,62,23,31,8\r
     CONTROL         "A-Law",IDC_CHECKBOX_ALAW,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,41,35,31,8\r
+                    WS_TABSTOP,62,35,31,8\r
     CONTROL         "Signed",IDC_CHECKBOX_SIGNED,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,77,23,37,8\r
+                    WS_TABSTOP,98,23,37,8\r
     CONTROL         "Unsigned",IDC_CHECKBOX_UNSIGNED,"Button",\r
-                    BS_AUTOCHECKBOX | WS_TABSTOP,77,35,37,8\r
+                    BS_AUTOCHECKBOX | WS_TABSTOP,98,35,37,8\r
     CONTROL         "\83o\83C\83g\83X\83\8f\83b\83v",IDC_CHECKBOX_BYTESWAP,"Button",\r
-                    BS_AUTOCHECKBOX | WS_TABSTOP,119,23,52,8\r
+                    BS_AUTOCHECKBOX | WS_TABSTOP,140,23,52,8\r
     CONTROL         "\83\8a\83j\83APCM",IDC_CHECKBOX_LINEAR,"Button",BS_AUTOCHECKBOX | \r
-                    WS_TABSTOP,119,35,45,8\r
+                    WS_TABSTOP,140,35,45,8\r
     GROUPBOX        "\83`\83\83\83\93\83l\83\8b",IDC_STATIC,4,55,45,33,WS_GROUP | WS_TABSTOP\r
     CONTROL         "\83X\83e\83\8c\83I",IDC_RADIO_STEREO,"Button",BS_AUTORADIOBUTTON | \r
                     WS_TABSTOP,8,65,36,10\r
@@ -1107,6 +1101,8 @@ BEGIN
                     ES_OEMCONVERT | WS_GROUP\r
     PUSHBUTTON      "\8dí\8f\9c",IDC_BUTTON_OUTPUT_FILE_DEL,178,156,19,14,\r
                     BS_CENTER\r
+    COMBOBOX        IDC_COMBO_BANDWIDTH,8,27,48,64,CBS_DROPDOWNLIST | \r
+                    CBS_SORT | WS_VSCROLL | WS_TABSTOP\r
 END\r
 \r
 IDD_PREF_TIMIDITY4 DIALOG DISCARDABLE  0, 0, 211, 195\r