Changeset 98032 in vbox for trunk/src/VBox/Frontends/VBoxManage
- Timestamp:
- Jan 9, 2023 5:27:44 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 155127
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VBoxManage/VBoxManageModifyVM.cpp
r96888 r98032 178 178 MODIFYVM_AUDIOCONTROLLER, 179 179 MODIFYVM_AUDIOCODEC, 180 MODIFYVM_AUDIO, 180 MODIFYVM_AUDIODRIVER, 181 MODIFYVM_AUDIOENABLED, 182 MODIFYVM_AUDIO, /* Deprecated; remove in the next major version. */ 181 183 MODIFYVM_AUDIOIN, 182 184 MODIFYVM_AUDIOOUT, … … 391 393 OPT2("--audio-codec", "--audiocodec", MODIFYVM_AUDIOCODEC, RTGETOPT_REQ_STRING), 392 394 OPT1("--audio", MODIFYVM_AUDIO, RTGETOPT_REQ_STRING), 395 OPT2("--audio-driver", "--audiodriver", MODIFYVM_AUDIODRIVER, RTGETOPT_REQ_STRING), 396 OPT2("--audio-enabled", "--audioenabled", MODIFYVM_AUDIOENABLED, RTGETOPT_REQ_BOOL_ONOFF), 393 397 OPT2("--audio-in", "--audioin", MODIFYVM_AUDIOIN, RTGETOPT_REQ_BOOL_ONOFF), 394 398 OPT2("--audio-out", "--audioout", MODIFYVM_AUDIOOUT, RTGETOPT_REQ_BOOL_ONOFF), … … 2593 2597 } 2594 2598 2595 case MODIFYVM_AUDIO: 2596 { 2599 case MODIFYVM_AUDIODRIVER: 2600 RT_FALL_THROUGH(); 2601 case MODIFYVM_AUDIO: /** @todo Deprecated; remove. */ 2602 { 2603 if (c == MODIFYVM_AUDIO) 2604 RTStrmPrintf(g_pStdErr, 2605 ModifyVM::tr("Warning: --audio is deprecated and will be removed soon. Use --audio-driver instead!\n")); 2606 2597 2607 ComPtr<IAudioSettings> audioSettings; 2598 2608 CHECK_ERROR_BREAK(sessionMachine, COMGETTER(AudioSettings)(audioSettings.asOutParam())); … … 2600 2610 CHECK_ERROR_BREAK(audioSettings, COMGETTER(Adapter)(audioAdapter.asOutParam())); 2601 2611 ASSERT(audioAdapter); 2602 /** @todo r=klaus: don't unconditionally bolt together setting the audio driver2603 * and enabling the device. Doing this more cleverly allows changing the audio2604 * driver for VMs in saved state, which can be very useful when moving VMs2605 * between systems with different setup. The driver doesn't leave any traces in2606 * saved state. The GUI also might learn this trick if it doesn't use it2607 * already. */2608 2612 /* disable? */ 2609 if (!RTStrICmp(ValueUnion.psz, "none")) 2610 { 2611 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(false)); 2612 } 2613 if ( !RTStrICmp(ValueUnion.psz, "none") 2614 || !RTStrICmp(ValueUnion.psz, "null")) 2615 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_Null)); 2613 2616 else if (!RTStrICmp(ValueUnion.psz, "default")) 2614 {2615 2617 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_Default)); 2616 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2617 }2618 else if (!RTStrICmp(ValueUnion.psz, "null"))2619 {2620 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_Null));2621 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2622 }2623 2618 #ifdef RT_OS_WINDOWS 2624 # ifdef VBOX_WITH_WINMM2619 # ifdef VBOX_WITH_WINMM 2625 2620 else if (!RTStrICmp(ValueUnion.psz, "winmm")) 2626 {2627 2621 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_WinMM)); 2628 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true)); 2629 } 2630 #endif 2622 # endif 2631 2623 else if (!RTStrICmp(ValueUnion.psz, "dsound")) 2632 {2633 2624 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_DirectSound)); 2634 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2635 }2636 2625 else if (!RTStrICmp(ValueUnion.psz, "was")) 2637 {2638 2626 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_WAS)); 2639 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2640 }2641 2627 #endif /* RT_OS_WINDOWS */ 2642 2628 #ifdef VBOX_WITH_AUDIO_OSS 2643 2629 else if (!RTStrICmp(ValueUnion.psz, "oss")) 2644 {2645 2630 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_OSS)); 2646 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2647 }2648 2631 #endif 2649 2632 #ifdef VBOX_WITH_AUDIO_ALSA 2650 2633 else if (!RTStrICmp(ValueUnion.psz, "alsa")) 2651 {2652 2634 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_ALSA)); 2653 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2654 }2655 2635 #endif 2656 2636 #ifdef VBOX_WITH_AUDIO_PULSE 2657 2637 else if (!RTStrICmp(ValueUnion.psz, "pulse")) 2658 {2659 2638 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_Pulse)); 2660 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2661 }2662 2639 #endif 2663 2640 #ifdef RT_OS_DARWIN 2664 2641 else if (!RTStrICmp(ValueUnion.psz, "coreaudio")) 2665 {2666 2642 CHECK_ERROR(audioAdapter, COMSETTER(AudioDriver)(AudioDriverType_CoreAudio)); 2667 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(true));2668 }2669 2643 #endif /* !RT_OS_DARWIN */ 2670 2644 else 2671 2645 { 2672 errorArgument(ModifyVM::tr("Invalid --audio argument '%s'"), ValueUnion.psz); 2646 errorArgument(ModifyVM::tr("Invalid %s argument '%s'"), 2647 c == MODIFYVM_AUDIO ? "--audio" : "--audio-driver", ValueUnion.psz); 2673 2648 hrc = E_FAIL; 2674 2649 } 2650 2651 if ( SUCCEEDED(hrc) 2652 && c == MODIFYVM_AUDIO) /* To keep the original behavior until we remove the command. */ 2653 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(RTStrICmp(ValueUnion.psz, "none") == false ? false : true)); 2654 2655 break; 2656 } 2657 2658 case MODIFYVM_AUDIOENABLED: 2659 { 2660 ComPtr<IAudioSettings> audioSettings; 2661 CHECK_ERROR_BREAK(sessionMachine, COMGETTER(AudioSettings)(audioSettings.asOutParam())); 2662 ComPtr<IAudioAdapter> audioAdapter; 2663 CHECK_ERROR_BREAK(audioSettings, COMGETTER(Adapter)(audioAdapter.asOutParam())); 2664 ASSERT(audioAdapter); 2665 2666 CHECK_ERROR(audioAdapter, COMSETTER(Enabled)(ValueUnion.f)); 2675 2667 break; 2676 2668 }
Note:
See TracChangeset
for help on using the changeset viewer.