onInputSourcesChange method

void onInputSourcesChange(
  1. Event event
)

Implementation

void onInputSourcesChange(Event event ) {
  final inputSources = session!.inputSources!.toDart;

  // Assign inputSources to available controllers
  for (int i = 0; i < controllers.length; i ++ ) {
    inputSourcesMap[inputSources[ i ]] =  controllers[ i ];
  }

  // Notify disconnected
  for (int i = 0; i < event.removed.length; i ++ ) {
    final inputSource = event.removed[ i ];
    final controller = inputSourcesMap[inputSource];
    if ( controller != null) {
      controller.dispatchEvent(Event(type: 'disconnected', data: inputSource));
      inputSourcesMap.remove( inputSource );
    }
  }

  // Notify connected
  for (int i = 0; i < event.added.length; i ++ ) {
    final inputSource = event.added[ i ];
    final controller = inputSourcesMap[inputSource];
    if ( controller != null) {
      controller.dispatchEvent( Event(type: 'connected', data: inputSource));
    }
  }
}