Blog: Intel HD Audio support for AQEMU (and other bugs): aqemu-0.8.2-fix_soundhw-1.patch

File aqemu-0.8.2-fix_soundhw-1.patch, 17.2 KB (added by retracile, 4 years ago)

Backport of upstream sound card support patch

  • Main_Window.cpp

    diff --git a/Main_Window.cpp b/Main_Window.cpp
    index f8cb244..d56eddf 100644
    a b void Main_Window::Connect_Signals() 
    325325        connect( ui.CH_PCSPK, SIGNAL(clicked()), 
    326326                         this, SLOT(VM_Changet()) ); 
    327327         
     328        connect( ui.CH_HDA, SIGNAL(clicked()), 
     329                         this, SLOT(VM_Changet()) ); 
     330         
     331        connect( ui.CH_cs4231a, SIGNAL(clicked()), 
     332                         this, SLOT(VM_Changet()) ); 
     333         
    328334        connect( ui.CH_Fullscreen, SIGNAL(clicked()), 
    329335                         this, SLOT(VM_Changet()) ); 
    330336         
    bool Main_Window::Create_VM_From_Ui( Virtual_Machine *tmp_vm, Virtual_Machine *o 
    810816        if( ui.CH_AC97->isChecked() ) snd_card.Audio_AC97 = true; 
    811817        else snd_card.Audio_AC97 = false; 
    812818         
     819        if( ui.CH_HDA->isChecked() ) snd_card.Audio_HDA = true; 
     820        else snd_card.Audio_HDA = false; 
     821         
     822        if( ui.CH_cs4231a->isChecked() ) snd_card.Audio_cs4231a = true; 
     823        else snd_card.Audio_cs4231a = false; 
     824         
    813825        tmp_vm->Set_Audio_Cards( snd_card ); 
    814826         
    815827        // Memory 
    void Main_Window::Update_VM_Ui() 
    14981510        if( tmp_vm->Get_Audio_Cards().Audio_AC97 ) ui.CH_AC97->setChecked( true ); 
    14991511        else ui.CH_AC97->setChecked( false ); 
    15001512         
     1513        if( tmp_vm->Get_Audio_Cards().Audio_HDA ) ui.CH_HDA->setChecked( true ); 
     1514        else ui.CH_HDA->setChecked( false ); 
     1515         
     1516        if( tmp_vm->Get_Audio_Cards().Audio_cs4231a ) ui.CH_cs4231a->setChecked( true ); 
     1517        else ui.CH_cs4231a->setChecked( false ); 
     1518         
    15011519        // RAM 
    15021520        if( tmp_vm->Get_Memory_Size() < 1 ) 
    15031521        { 
    void Main_Window::Update_Info_Text( int info_mode ) 
    21162134                        cell_cursor = cell.firstCursorPosition(); 
    21172135                         
    21182136                        if( ui.CH_sb16->isChecked() || ui.CH_es1370->isChecked() || ui.CH_Adlib->isChecked() || 
    2119                                 ui.CH_AC97->isChecked() || ui.CH_GUS->isChecked()        || ui.CH_PCSPK->isChecked() ) 
     2137                                ui.CH_AC97->isChecked() || ui.CH_GUS->isChecked()        || ui.CH_PCSPK->isChecked() || 
     2138                                ui.CH_HDA->isChecked() || ui.CH_cs4231a->isChecked() ) 
    21202139                        { 
    21212140                                cell_cursor.insertText( tr("Yes"), format ); 
    21222141                        } 
    void Main_Window::Apply_Emulator( int mode ) 
    60996118                        if( curComp.Audio_Card_List.Audio_PC_Speaker ) ui.CH_PCSPK->setEnabled( true ); 
    61006119                        else ui.CH_PCSPK->setEnabled( false ); 
    61016120                         
     6121                        if( curComp.Audio_Card_List.Audio_HDA ) ui.CH_HDA->setEnabled( true ); 
     6122                        else ui.CH_HDA->setEnabled( false ); 
     6123                         
     6124                        if( curComp.Audio_Card_List.Audio_cs4231a ) ui.CH_cs4231a->setEnabled( true ); 
     6125                        else ui.CH_cs4231a->setEnabled( false ); 
     6126                         
    61026127                        // Other Options 
    61036128                        Update_Disabled_Controls(); 
    61046129                        break; 
  • Main_Window.ui

    diff --git a/Main_Window.ui b/Main_Window.ui
    index 92d4898..c7a7e3a 100644
    a b  
    11701170                 </property> 
    11711171                </widget> 
    11721172               </item> 
     1173               <item row="2" column="0"> 
     1174                <widget class="QCheckBox" name="CH_HDA"> 
     1175                 <property name="text"> 
     1176                  <string>Intel HDA</string> 
     1177                 </property> 
     1178                 <property name="checked"> 
     1179                  <bool>false</bool> 
     1180                 </property> 
     1181                </widget> 
     1182               </item> 
     1183               <item row="2" column="1"> 
     1184                <spacer> 
     1185                 <property name="orientation"> 
     1186                  <enum>Qt::Horizontal</enum> 
     1187                 </property> 
     1188                 <property name="sizeHint" stdset="0"> 
     1189                  <size> 
     1190                   <width>21</width> 
     1191                   <height>20</height> 
     1192                  </size> 
     1193                 </property> 
     1194                </spacer> 
     1195               </item> 
     1196               <item row="2" column="2"> 
     1197                <widget class="QCheckBox" name="CH_cs4231a"> 
     1198                 <property name="text"> 
     1199                  <string>cs4231a</string> 
     1200                 </property> 
     1201                </widget> 
     1202               </item> 
    11731203              </layout> 
    11741204             </widget> 
    11751205            </item> 
    To Disable This Function in Current VM choose &quot;Don't Use Embedded VNC Displ 
    47364766  <tabstop>CH_Remove_RAM_Size_Limitation</tabstop> 
    47374767  <tabstop>CH_sb16</tabstop> 
    47384768  <tabstop>CH_AC97</tabstop> 
     4769  <tabstop>CH_HDA</tabstop> 
    47394770  <tabstop>CH_es1370</tabstop> 
    47404771  <tabstop>CH_GUS</tabstop> 
     4772  <tabstop>CH_cs4231a</tabstop> 
    47414773  <tabstop>CH_Adlib</tabstop> 
    47424774  <tabstop>CH_PCSPK</tabstop> 
    47434775  <tabstop>CH_Fullscreen</tabstop> 
  • System_Info.cpp

    diff --git a/System_Info.cpp b/System_Info.cpp
    index 32ca029..b5c535b 100644
    a b Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok, 
    23632363                 
    23642364                if( qemu_dev_name == "sb16" ) tmp_dev.Audio_Card_List.Audio_sb16 = true; 
    23652365                else if( qemu_dev_name == "es1370" ) tmp_dev.Audio_Card_List.Audio_es1370 = true; 
    2366                 else if( qemu_dev_name == "gus" ) tmp_dev.Audio_Card_List.Audio_Adlib = true; 
    2367                 else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true; 
    2368                 else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_GUS = true; 
     2366                else if( qemu_dev_name == "gus" ) tmp_dev.Audio_Card_List.Audio_GUS = true; 
     2367                else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_Adlib = true; 
     2368                else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true; 
    23692369                else if( qemu_dev_name == "ac97" ) tmp_dev.Audio_Card_List.Audio_AC97 = true; 
     2370                else if( qemu_dev_name == "hda" ) tmp_dev.Audio_Card_List.Audio_HDA = true; 
     2371                else if( qemu_dev_name == "cs4231a" ) tmp_dev.Audio_Card_List.Audio_cs4231a = true; 
    23702372                else 
    23712373                { 
    23722374                        if( ! qemu_dev_name.isEmpty() ) 
  • VM.cpp

    diff --git a/VM.cpp b/VM.cpp
    index e45fcbb..2dedadd 100644
    a b QStringList Virtual_Machine::Build_QEMU_Args() 
    51595159        if( Audio_Card.Audio_PC_Speaker && Current_Emulator_Devices.Audio_Card_List.Audio_PC_Speaker ) audio_list << "pcspk"; 
    51605160        if( Audio_Card.Audio_GUS && Current_Emulator_Devices.Audio_Card_List.Audio_GUS ) audio_list << "gus"; 
    51615161        if( Audio_Card.Audio_AC97 && Current_Emulator_Devices.Audio_Card_List.Audio_AC97 ) audio_list << "ac97"; 
     5162        if( Audio_Card.Audio_HDA && Current_Emulator_Devices.Audio_Card_List.Audio_HDA ) audio_list << "hda"; 
     5163        if( Audio_Card.Audio_cs4231a && Current_Emulator_Devices.Audio_Card_List.Audio_cs4231a ) audio_list << "cs4231a"; 
    51625164         
    51635165        if( audio_list.count() > 0 ) 
    51645166        { 
  • VM_Devices.cpp

    diff --git a/VM_Devices.cpp b/VM_Devices.cpp
    index 09def34..8ae5468 100644
    a b bool Emulator::Load( const QString &path ) 
    424424                        tmpDev.Audio_Card_List.Audio_PC_Speaker = (thirdElement.firstChildElement("PC_Speaker").text() == "yes"); 
    425425                        tmpDev.Audio_Card_List.Audio_GUS = (thirdElement.firstChildElement("GUS").text() == "yes"); 
    426426                        tmpDev.Audio_Card_List.Audio_AC97 = (thirdElement.firstChildElement("AC97").text() == "yes"); 
     427                        tmpDev.Audio_Card_List.Audio_HDA = (thirdElement.firstChildElement("HDA").text() == "yes"); 
     428                        tmpDev.Audio_Card_List.Audio_cs4231a = (thirdElement.firstChildElement("cs4231a").text() == "yes"); 
    427429                         
    428430                        // Video Cards 
    429431                        tmpDev.Video_Card_List.clear(); 
    bool Emulator::Save() const 
    780782                thirdElement.appendChild( domText ); 
    781783                deviceElement.appendChild( thirdElement ); 
    782784                 
     785                thirdElement = domDocument.createElement( "HDA" ); 
     786                domText = domDocument.createTextNode( (tmpDev.Audio_Card_List.Audio_HDA ? "yes" : "no") ); 
     787                thirdElement.appendChild( domText ); 
     788                deviceElement.appendChild( thirdElement ); 
     789                 
     790                thirdElement = domDocument.createElement( "cs4231a" ); 
     791                domText = domDocument.createTextNode( (tmpDev.Audio_Card_List.Audio_cs4231a ? "yes" : "no") ); 
     792                thirdElement.appendChild( domText ); 
     793                deviceElement.appendChild( thirdElement ); 
     794                 
    783795                domElement.appendChild( deviceElement ); 
    784796                 
    785797                // Video Cards 
  • VM_Devices.h

    diff --git a/VM_Devices.h b/VM_Devices.h
    index 2dfa0cd..e163cb5 100644
    a b class VM 
    4444                // Virtual Machine State 
    4545                enum VM_State { VMS_Running, VMS_Power_Off, VMS_Pause, VMS_Saved, VMS_In_Error }; 
    4646                 
    47                 // x86 audio cars ( one or more ) 
     47                // x86 audio cards ( one or more ) 
    4848                class Sound_Cards 
    4949                { 
    5050                        public: 
    class VM 
    5454                                bool Audio_PC_Speaker; 
    5555                                bool Audio_GUS; 
    5656                                bool Audio_AC97; 
     57                                bool Audio_HDA; 
     58                                bool Audio_cs4231a; 
    5759                                 
    5860                                Sound_Cards() 
    5961                                { 
    60                                         Audio_sb16 = Audio_es1370 = Audio_Adlib = Audio_PC_Speaker = Audio_GUS = Audio_AC97 = false; 
     62                                        Audio_sb16 = Audio_es1370 = Audio_Adlib = Audio_PC_Speaker = Audio_GUS = Audio_AC97 = Audio_HDA = Audio_cs4231a = false; 
    6163                                } 
    6264                                 
    6365                                bool operator==( const Sound_Cards &v ) const 
    class VM 
    6769                                                Audio_Adlib == v.Audio_Adlib && 
    6870                                                Audio_PC_Speaker == v.Audio_PC_Speaker && 
    6971                                                Audio_GUS == v.Audio_GUS && 
    70                                                 Audio_AC97 == v.Audio_AC97 ) 
     72                                                Audio_AC97 == v.Audio_AC97 && 
     73                                                Audio_HDA == v.Audio_HDA && 
     74                                                Audio_cs4231a == v.Audio_cs4231a ) 
    7175                                        { 
    7276                                                return true; 
    7377                                        } 
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 4.aqvmt b/os_templates/FreeBSD 4.aqvmt
    index a42b016..d35782e 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>64</Memory_Size> 
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 7.aqvmt b/os_templates/FreeBSD 7.aqvmt
    index 2f03555..9538218 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size> 
  • os_templates/FreeBSD

    diff --git a/os_templates/FreeBSD 8.aqvmt b/os_templates/FreeBSD 8.aqvmt
    index 2f03555..9538218 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size> 
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.0.aqvmt b/os_templates/Linux 2.0.aqvmt
    index bc1ce2a..c322332 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>64</Memory_Size> 
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.4.aqvmt b/os_templates/Linux 2.4.aqvmt
    index 83719fb..faf8a64 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>128</Memory_Size> 
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.6 x86_64.aqvmt b/os_templates/Linux 2.6 x86_64.aqvmt
    index 0896e34..af3e482 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size> 
  • os_templates/Linux

    diff --git a/os_templates/Linux 2.6.aqvmt b/os_templates/Linux 2.6.aqvmt
    index 4f737aa..ccef137 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size> 
  • os_templates/MacOS

    diff --git a/os_templates/MacOS X x86.aqvmt b/os_templates/MacOS X x86.aqvmt
    index 69c8fab..281c76d 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>1024</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows 2000.aqvmt b/os_templates/Windows 2000.aqvmt
    index fd1bb24..e0d28f0 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>192</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows 7 x64.aqvmt b/os_templates/Windows 7 x64.aqvmt
    index fa45afe..551f258 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>1024</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows 7.aqvmt b/os_templates/Windows 7.aqvmt
    index c1f9735..1b5ca28 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>1024</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows 9X.aqvmt b/os_templates/Windows 9X.aqvmt
    index a0bfa87..bb1d7ef 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>128</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows Vista x64.aqvmt b/os_templates/Windows Vista x64.aqvmt
    index 148a5bc..a93cbbf 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>1024</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows Vista.aqvmt b/os_templates/Windows Vista.aqvmt
    index c4504a2..368cee7 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>1024</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows XP x64.aqvmt b/os_templates/Windows XP x64.aqvmt
    index f4b7bc3..496e1a3 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size> 
  • os_templates/Windows

    diff --git a/os_templates/Windows XP.aqvmt b/os_templates/Windows XP.aqvmt
    index 32d1fd3..78dc2f3 100644
    a b  
    2222            <Audio_PC_Speaker>false</Audio_PC_Speaker> 
    2323            <Audio_GUS>false</Audio_GUS> 
    2424            <Audio_AC97>false</Audio_AC97> 
     25            <Audio_HDA>false</Audio_HDA> 
     26            <Audio_cs4231a>false</Audio_cs4231a> 
    2527        </Audio_Cards> 
    2628        <Check_Free_RAM>false</Check_Free_RAM> 
    2729        <Memory_Size>256</Memory_Size>