Framer module for displaying YouTube videos. It wraps standard YouTube iFrame player, so the player itself can be manipulated in many interesting ways.
TODO: example
- Create a new Framer project
 - Download YouTubePlayer.coffee and put it in the modules folder of the project
 - At the top of your code, write 
{YouTubePlayer} = require 'YouTubePlayer' 
{YouTubePlayer} = require 'YouTubePlayer'
youtube = new YouTubePlayer
    video: "9bZkp7q19f0"
    width: 400
    height: 225
    playerVars: # see https://developers.google.com/youtube/player_parameters
        autoplay: 1
        controls: 0You can also subscribe to different events:
youtube.on YouTubePlayer.Events.Loaded, (player, target) ->
	print 'YouTube Loaded'
	player.playVideo() # see https://developers.google.com/youtube/iframe_api_reference#Playback_controls
Instantiates a new instance of YouTubePlayer.
youtube = new YouTubePlayer
    # all the standard Layer options, like width, height, parent and blur
    video: <string> # YouTube video ID, like "9bZkp7q19f0"
    playerVars: <object>
        autoplay: <number> (0 || 1)
        controls: <number> (0 || 1)
        # see https://developers.google.com/youtube/player_parameters for other optionsAll the options are optional.
Can set video for playing.
YouTubePlayer supports all the events that standard iframe player supports, as well as special Loaded event.
Raises when video is loaded. At this point, you can start using player API.
youtube.on YouTubePlayer.Events.Loaded, (player, targetComponent) ->
    player.seekTo(10)
    player.playVideo()Standard onReady event of iframe player.
youtube.on YouTubePlayer.Events.Ready, (event, targetComponent) ->
    player = event.targetStandard onStateChange event of iframe player.
youtube.on YouTubePlayer.Events.StateChange, (event, targetComponent) ->
    player = event.target
    state = event.dataState is one of following:
- -1 (unstarted)
 - 0 (ended)
 - 1 (playing)
 - 2 (paused)
 - 3 (buffering)
 - 5 (video cued)
 
Standard onPlaybackQualityChange event of iframe player.
youtube.on YouTubePlayer.Events.PlaybackQualityChange, (event, targetComponent) ->
    player = event.target
    quality = event.dataQuality is one of following strings:
- small
 - medium
 - large
 - hd720
 - hd1080
 - highres
 
Standard onPlaybackRateChange event of iframe player.
youtube.on YouTubePlayer.Events.PlaybackRateChange, (event, targetComponent) ->
    player = event.target
    playbackRate = event.dataStandard onError event of iframe player.
youtube.on YouTubePlayer.Events.Error, (event, targetComponent) ->
    player = event.target
    errorCode = event.dataStandard onApiChange event of iframe player.
youtube.on YouTubePlayer.Events.ApiChange, (event, targetComponent) ->
    player = event.target
    options = player.getOptions 'captions'You can set parent layer for YouTubePlayer, so it will be handy to move it around. Currently the Framer Studio's AutoCode feature does not work with custom modules.
layerA = new Layer # editable with AutoCode
	x: 200
	y: 300
	width: 400
	height: 225
youtube = new YouTubePlayer
	parent: layerA
	video: "9bZkp7q19f0"
	width: 400
	height: 225
