The correct way to obtain a Gvc.MixerControl is to construct it, connect to the notify::state signal (which will fire whenever the state property change), and inside the signal handler checking the state, performing any other initialization once the state switches to the connected. You cannot use a loop because a loop is a blocking control flow structure.Hope this helpsGiovanni