diff --git a/src/coffee/player.coffee b/src/coffee/player.coffee new file mode 100644 index 0000000..c0f6a96 --- /dev/null +++ b/src/coffee/player.coffee @@ -0,0 +1,121 @@ +(($) -> + + $.fn.MUPlayer = (opt) -> + # define global variables + settings = undefined # settings objects + videoElem = undefined + videoControls = undefined + + # combine user settings with defaults + settings = $.extend({ + 'use_default_css': false + 'class_prefix': 'mup-' + 'default_volume': 50 + 'default_position': 0 + 'video_sources': [] + }, opt) + + ## Functions + # setup - performs initial setup of the MUPlayer element + setup = (wrapperElem) -> + # add default CSS if needed + if settings.use_default_css + addStylesheet('build/css/mup.css') + + # create the video player + createPlayer(wrapperElem) + + # end setup function + return + + # addStylesheet - adds a stylesheet to the head element + addStylesheet = (filename) -> + # create link element + cssElem = $('', + rel: 'stylesheet' + type: 'text/css' + href: filename) + + # find stylesheet links + loadedStylesheets = $('head link[rel=stylesheet]') + # check if there are any loaded stylesheets + if loadedStylesheets.length > 0 + # get last stylesheet + lastStylesheet = loadedStylesheets[loadedStylesheets.length - 1] + + # append new stylesheet after the last one + lastStylesheet.after(cssElem) + else + # append the new element to the head element + $('head').append(cssElem) + + # end addStylesheet function + return + + # createPlayer - add HTML elements for the video player + createPlayer = (wrapperElem) -> + # create video element + videoElem = $('