///
/// HybridVideoPlayerSpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © 2025 Marc Rousavy @ Margelo
///

#include "HybridVideoPlayerSpec.hpp"

namespace margelo::nitro::video {

  void HybridVideoPlayerSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("source", &HybridVideoPlayerSpec::getSource);
      prototype.registerHybridGetter("eventEmitter", &HybridVideoPlayerSpec::getEventEmitter);
      prototype.registerHybridGetter("status", &HybridVideoPlayerSpec::getStatus);
      prototype.registerHybridGetter("duration", &HybridVideoPlayerSpec::getDuration);
      prototype.registerHybridGetter("volume", &HybridVideoPlayerSpec::getVolume);
      prototype.registerHybridSetter("volume", &HybridVideoPlayerSpec::setVolume);
      prototype.registerHybridGetter("currentTime", &HybridVideoPlayerSpec::getCurrentTime);
      prototype.registerHybridSetter("currentTime", &HybridVideoPlayerSpec::setCurrentTime);
      prototype.registerHybridGetter("muted", &HybridVideoPlayerSpec::getMuted);
      prototype.registerHybridSetter("muted", &HybridVideoPlayerSpec::setMuted);
      prototype.registerHybridGetter("loop", &HybridVideoPlayerSpec::getLoop);
      prototype.registerHybridSetter("loop", &HybridVideoPlayerSpec::setLoop);
      prototype.registerHybridGetter("rate", &HybridVideoPlayerSpec::getRate);
      prototype.registerHybridSetter("rate", &HybridVideoPlayerSpec::setRate);
      prototype.registerHybridGetter("mixAudioMode", &HybridVideoPlayerSpec::getMixAudioMode);
      prototype.registerHybridSetter("mixAudioMode", &HybridVideoPlayerSpec::setMixAudioMode);
      prototype.registerHybridGetter("ignoreSilentSwitchMode", &HybridVideoPlayerSpec::getIgnoreSilentSwitchMode);
      prototype.registerHybridSetter("ignoreSilentSwitchMode", &HybridVideoPlayerSpec::setIgnoreSilentSwitchMode);
      prototype.registerHybridGetter("playInBackground", &HybridVideoPlayerSpec::getPlayInBackground);
      prototype.registerHybridSetter("playInBackground", &HybridVideoPlayerSpec::setPlayInBackground);
      prototype.registerHybridGetter("playWhenInactive", &HybridVideoPlayerSpec::getPlayWhenInactive);
      prototype.registerHybridSetter("playWhenInactive", &HybridVideoPlayerSpec::setPlayWhenInactive);
      prototype.registerHybridGetter("isPlaying", &HybridVideoPlayerSpec::getIsPlaying);
      prototype.registerHybridGetter("selectedTrack", &HybridVideoPlayerSpec::getSelectedTrack);
      prototype.registerHybridMethod("replaceSourceAsync", &HybridVideoPlayerSpec::replaceSourceAsync);
      prototype.registerHybridMethod("getAvailableTextTracks", &HybridVideoPlayerSpec::getAvailableTextTracks);
      prototype.registerHybridMethod("selectTextTrack", &HybridVideoPlayerSpec::selectTextTrack);
      prototype.registerHybridMethod("initialize", &HybridVideoPlayerSpec::initialize);
      prototype.registerHybridMethod("preload", &HybridVideoPlayerSpec::preload);
      prototype.registerHybridMethod("play", &HybridVideoPlayerSpec::play);
      prototype.registerHybridMethod("pause", &HybridVideoPlayerSpec::pause);
      prototype.registerHybridMethod("seekBy", &HybridVideoPlayerSpec::seekBy);
      prototype.registerHybridMethod("seekTo", &HybridVideoPlayerSpec::seekTo);
    });
  }

} // namespace margelo::nitro::video
