… | |
… | |
903 | |
903 | |
904 | sub audio_tab_update { |
904 | sub audio_tab_update { |
905 | my ($freq, $format, $chans) = CFPlus::Mix_QuerySpec; |
905 | my ($freq, $format, $chans) = CFPlus::Mix_QuerySpec; |
906 | |
906 | |
907 | $AUDIO_HW_CHUNKSIZE->set_options ([ |
907 | $AUDIO_HW_CHUNKSIZE->set_options ([ |
908 | [0, "default", "system default"], |
908 | [0, "default", "Use System Default"], |
909 | map { |
909 | map { |
910 | my $ms = sprintf "%dms", 1000 * $_ / $CFG->{audio_hw_frequency}; |
910 | my $ms = sprintf "%dms", 1000 * $_ / ($CFG->{audio_hw_frequency} || 22050); |
911 | [$_, $ms, "$ms ($_ samples)"], |
911 | [$_, $ms, "$ms ($_ samples)"], |
912 | } 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 |
912 | } 256, 512, 1024, 2048, 4096, 8192, 16384, 32768 |
913 | ]); |
913 | ]); |
914 | |
914 | |
915 | my $text = !$freq |
915 | my $text = !$freq |
916 | ? "audio is off" |
916 | ? "audio is off" |
|
|
917 | : "audio is enabled\n" |
917 | : "Frequency (Hz): $freq\n" |
918 | . "frequency (Hz): $freq\n" |
918 | . "Channels: $chans"; |
919 | . "channels: $chans"; |
919 | |
920 | |
920 | $AUDIO_INFO->set_text ($text); |
921 | $AUDIO_INFO->set_text ($text); |
921 | } |
922 | } |
922 | |
923 | |
923 | sub audio_setup { |
924 | sub audio_setup { |
… | |
… | |
971 | $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Frequency"); |
972 | $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Frequency"); |
972 | $table->add_at (1, $row++, new CFPlus::UI::Selector |
973 | $table->add_at (1, $row++, new CFPlus::UI::Selector |
973 | c_colspan => 2, expand => 1, |
974 | c_colspan => 2, expand => 1, |
974 | value => $CFG->{audio_hw_frequency}, |
975 | value => $CFG->{audio_hw_frequency}, |
975 | options => [ |
976 | options => [ |
|
|
977 | [ 0, "default" , "Use System Default"], |
976 | [11025, "11 kHz" , "11kHz (low quality)"], |
978 | [11025, "11 kHz" , "11kHz (low quality)"], |
977 | [22050, "22 kHz" , "22kHz (reduced quality)"], |
979 | [22050, "22 kHz" , "22kHz (reduced quality)"], |
978 | [44100, "44.1 kHz", "44.1kHz (cd quality)"], |
980 | [44100, "44.1 kHz", "44.1kHz (cd quality)"], |
979 | [48000, "48 kHz" , "48kHz (studio quality)"], |
981 | [48000, "48 kHz" , "48kHz (studio quality)"], |
980 | ], |
982 | ], |
… | |
… | |
989 | $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Channels"); |
991 | $table->add_at (0, $row, new CFPlus::UI::Label valign => 0, align => 1, text => "Channels"); |
990 | $table->add_at (1, $row++, new CFPlus::UI::Selector |
992 | $table->add_at (1, $row++, new CFPlus::UI::Selector |
991 | c_colspan => 2, expand => 1, |
993 | c_colspan => 2, expand => 1, |
992 | value => $CFG->{audio_hw_channels}, |
994 | value => $CFG->{audio_hw_channels}, |
993 | options => [ |
995 | options => [ |
|
|
996 | [0, "default" , "Use System Default"], |
994 | [1, "Mono" , "Mono (single channel, low quality)"], |
997 | [1, "Mono" , "Mono (single channel, low quality)"], |
995 | [2, "Stereo" , "Stereo (dual channe, standard quality)"], |
998 | [2, "Stereo" , "Stereo (dual channe, standard quality)"], |
996 | [4, "4 Ch Surround", "4 Channel Surround Sound (3d sound, high quality)"], |
999 | [4, "4 Ch Surround", "4 Channel Surround Sound (3d sound, high quality)"], |
997 | [6, "6 Ch Surround", "6 Channel Surround Sound (3d sound + center + lfe)"], |
1000 | [6, "6 Ch Surround", "6 Channel Surround Sound (3d sound + center + lfe)"], |
998 | ], |
1001 | ], |
… | |
… | |
1009 | c_colspan => 2, expand => 1, |
1012 | c_colspan => 2, expand => 1, |
1010 | value => $CFG->{audio_hw_chunksize}, |
1013 | value => $CFG->{audio_hw_chunksize}, |
1011 | tooltip => "The guarenteed latency. Lower is better, but also more cpu-intensive and might cause stuttering. If music playback " |
1014 | tooltip => "The guarenteed latency. Lower is better, but also more cpu-intensive and might cause stuttering. If music playback " |
1012 | . "is stuttering, increase this value. Values of 50-100ms are optimal.", |
1015 | . "is stuttering, increase this value. Values of 50-100ms are optimal.", |
1013 | on_changed => sub { |
1016 | on_changed => sub { |
1014 | $CFG->{audio_hw_chunksize} = $_[1] |
1017 | $CFG->{audio_hw_chunksize} = $_[1]; |
1015 | if $_[1]; |
|
|
1016 | audio_tab_update; |
1018 | audio_tab_update; |
1017 | 1 |
1019 | 1 |
1018 | } |
1020 | } |
1019 | ); |
1021 | ); |
1020 | |
1022 | |
… | |
… | |
2351 | gauge_fontsize => 1, |
2353 | gauge_fontsize => 1, |
2352 | gauge_size => 0.35, |
2354 | gauge_size => 0.35, |
2353 | stat_fontsize => 0.7, |
2355 | stat_fontsize => 0.7, |
2354 | mapsize => 100, |
2356 | mapsize => 100, |
2355 | audio_enable => 1, |
2357 | audio_enable => 1, |
2356 | audio_hw_channels => 2, |
2358 | audio_hw_channels => 0, |
2357 | audio_hw_frequency => 22050, |
2359 | audio_hw_frequency => 0, |
2358 | audio_hw_chunksize => 0, |
2360 | audio_hw_chunksize => 0, |
2359 | audio_mix_channels => 8, |
2361 | audio_mix_channels => 8, |
2360 | effects_enable => 1, |
2362 | effects_enable => 1, |
2361 | effects_volume => 1, |
2363 | effects_volume => 1, |
2362 | bgm_enable => 1, |
2364 | bgm_enable => 1, |