Showing preview only (1,550K chars total). Download the full file or copy to clipboard to get everything.
Repository: ina-foss/amalia.js
Branch: master
Commit: 93563895569f
Files: 154
Total size: 1.4 MB
Directory structure:
gitextract_wtstfblr/
├── .gitignore
├── .jshintrc
├── Gruntfile.js
├── LICENSE
├── README.md
├── bower.json
├── package.json
├── releases.md
├── samples/
│ ├── ajs-player.html
│ ├── ajs-plugin-captions.html
│ ├── ajs-plugin-editor.html
│ ├── ajs-plugin-overlay.html
│ ├── ajs-plugin-text-sync.html
│ ├── ajs-plugin-timeline.html
│ ├── ajs-plugin-watermark.html
│ ├── ajs-webfont.html
│ └── css/
│ ├── amalia-js-demo.css
│ └── default.css
├── samples-data/
│ └── examples/
│ └── json/
│ ├── amalia-simple01.json
│ ├── amalia01-ball.json
│ ├── amalia01-events.json
│ ├── amalia01-kf.json
│ ├── amalia01-overlay.json
│ └── amalia01-text.json
├── src/
│ ├── .jshintrc
│ ├── LICENSE
│ ├── THIRD_PARTY_LICENSES
│ ├── assets/
│ │ ├── fonts/
│ │ │ └── ajs-webfont.afm
│ │ ├── less/
│ │ │ ├── ajs-animations.less
│ │ │ ├── ajs-webfont.less
│ │ │ ├── default-style.less
│ │ │ ├── default.less
│ │ │ ├── player-custom-control-bar.less
│ │ │ ├── player.less
│ │ │ ├── plugin-captions.less
│ │ │ ├── plugin-editor.less
│ │ │ ├── plugin-menu-contextuel.less
│ │ │ ├── plugin-overlay.less
│ │ │ ├── plugin-selected-item-editor.less
│ │ │ ├── plugin-storyboard.less
│ │ │ ├── plugin-text-sync.less
│ │ │ ├── plugin-timeline.less
│ │ │ ├── plugin-watermark.less
│ │ │ └── plugin.less
│ │ └── sass/
│ │ ├── _ajs-animations.scss
│ │ ├── _ajs-mixins.scss
│ │ ├── _ajs-webfont.scss
│ │ ├── _default-style.scss
│ │ ├── _player-custom-control-bar.scss
│ │ ├── _player.scss
│ │ ├── _plugin-captions.scss
│ │ ├── _plugin-editor.scss
│ │ ├── _plugin-menu-contextuel.scss
│ │ ├── _plugin-overlay.scss
│ │ ├── _plugin-selected-item-editor.scss
│ │ ├── _plugin-storyboard.scss
│ │ ├── _plugin-text-sync.scss
│ │ ├── _plugin-timeline.scss
│ │ ├── _plugin-watermark.scss
│ │ ├── _plugin.scss
│ │ ├── _plugin_d3js_chart.scss
│ │ └── main.scss
│ ├── helpers/
│ │ ├── browser-feature-detection.js
│ │ ├── html5-helper.js
│ │ └── utilities-helper.js
│ ├── i18n/
│ │ ├── player-error-message-en.js
│ │ └── player-message-en.js
│ ├── ina-player.js
│ ├── log/
│ │ ├── .jshintrc
│ │ └── log-handler.js
│ ├── player/
│ │ ├── base-player.js
│ │ ├── constants/
│ │ │ ├── player-error-code.js
│ │ │ ├── player-event-type.js
│ │ │ └── player-message.js
│ │ ├── loader/
│ │ │ ├── base-loader.js
│ │ │ ├── http-loader.js
│ │ │ └── ws-loader.js
│ │ ├── loaderBase.js
│ │ ├── local-storage-manager.js
│ │ ├── media-factory.js
│ │ ├── media-type-dash-mpeg.js
│ │ ├── media-type-manager.js
│ │ ├── metadata/
│ │ │ ├── localisation-manager.js
│ │ │ └── metadata-manager.js
│ │ ├── parsers/
│ │ │ └── base-parser-metadata.js
│ │ ├── player-html5.js
│ │ ├── plugins/
│ │ │ ├── captions-base.js
│ │ │ ├── context-menu-plugin.js
│ │ │ ├── custom-control-bar.js
│ │ │ ├── plugin-base-multi-blocks.js
│ │ │ ├── plugin-base-simple-block.js
│ │ │ ├── plugin-base.js
│ │ │ ├── plugin-binding-manager.js
│ │ │ └── plugin-manager.js
│ │ ├── shortcuts-manager.js
│ │ └── widgets/
│ │ ├── base-button.js
│ │ ├── cast-button.js
│ │ ├── channel-volume-control-bar.js
│ │ ├── fullscreen-button.js
│ │ ├── jog-shuttle-button.js
│ │ ├── label.js
│ │ ├── pause-button.js
│ │ ├── play-button.js
│ │ ├── progress-bar.js
│ │ ├── time-label.js
│ │ ├── volume-control-bar.js
│ │ └── widget-base.js
│ ├── player-map.js
│ ├── plugins/
│ │ ├── captions/
│ │ │ └── captions.js
│ │ ├── control-bar/
│ │ │ └── progress-bar.js
│ │ ├── d3js-chart/
│ │ │ └── plugin-d3js-chart.js
│ │ ├── editor/
│ │ │ ├── plugin-metadata-block-editor.js
│ │ │ ├── plugin-metadata-item-editor.js
│ │ │ ├── plugin-metadata-items-editor.js
│ │ │ ├── plugin-metadata-items-ref-editor.js
│ │ │ └── plugin-metadata-list-editor.js
│ │ ├── overlay/
│ │ │ ├── draw-base.js
│ │ │ ├── draw-ellipse.js
│ │ │ ├── draw-rect.js
│ │ │ ├── overlay.js
│ │ │ └── spatials-data-parser.js
│ │ ├── storyboard/
│ │ │ ├── base-frame-position-calculator.js
│ │ │ └── plugin-storyboard.js
│ │ ├── text-sync/
│ │ │ ├── component.js
│ │ │ └── text-sync.js
│ │ ├── timeline/
│ │ │ ├── base-component.js
│ │ │ ├── cuepoints-component.js
│ │ │ ├── default-configuration.js
│ │ │ ├── focus-component.js
│ │ │ ├── histogram-component.js
│ │ │ ├── images-component.js
│ │ │ ├── segments-component.js
│ │ │ ├── tic-component.js
│ │ │ ├── time-axis-component.js
│ │ │ ├── timeline.js
│ │ │ ├── visual-component.js
│ │ │ └── zoom-component.js
│ │ ├── watermark/
│ │ │ └── watermark.js
│ │ └── yt-player/
│ │ └── yt-player.js
│ └── utils/
│ ├── jquery-class.js
│ ├── jquery-debouncedresize.js
│ ├── jquery-knob.js
│ ├── jquery.hotkeys.js
│ ├── jquery.ui.touch-punch.js
│ └── raphael_free_transform.js
└── tests/
├── .jshintrc
├── log/
│ ├── logHandler_test.html
│ └── logHandler_test.js
└── player/
├── LoaderBase_test.html
├── LoaderBase_test.js
├── PlayerErrorCode_test.html
├── PlayerErrorCode_test.js
└── data/
├── VideoEntities.json
└── VideoKeyframes.json
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.svn
.bowerrc
build
build-doc
.idea
bower_components
node_modules
npm-debug.log
package-lock.json
================================================
FILE: .jshintrc
================================================
{
"curly": true,
"eqeqeq": true,
"immed": true,
"latedef": true,
"newcap": true,
"noarg": true,
"sub": true,
"undef": true,
"unused": true,
"boss": true,
"eqnull": true,
"node": true
}
================================================
FILE: Gruntfile.js
================================================
'use strict';
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
require('time-grunt')(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
jshint: {
gruntfile: {
options: {
jshintrc: '.jshintrc'
},
src: 'Gruntfile.js'
},
player: {
options: {
jshintrc: 'src/.jshintrc'
},
src: [
'src/player/**/*.js',
'src/helpers/**/*.js',
'src/plugins/**/*.js',
'src/*.js'
]
},
i18n: {
options: {
jshintrc: 'src/.jshintrc'
},
src: [
'src/i18n/**/*.js'
]
},
// Configuration with console.log
log: {
options: {
jshintrc: 'src/log/.jshintrc'
},
src: [
'src/log/**/*.js'
]
},
// Configuration with ok,notEqual,deepEqual,notDeepEqual...
tests: {
options: {
jshintrc: 'tests/.jshintrc'
},
src: [
'tests/**/*.js'
]
}
},
uglify: {
options: {
banner: '/*!<%= pkg.description %> V<%= pkg.version %>, © <%= pkg.author %> <%= grunt.template.today("yyyy") %> */\n<%= pkg.licenseText %>',
compress: {
global_defs: {
"_PlayerAmaliaVersion_": '<%= pkg.description %> V<%= pkg.version %>, © <%= pkg.author %> <%= grunt.template.today("yyyy") %>',
"_PlayerAmaliaHomepage_": '<%= pkg.homepage %>'
}
}
},
build: {
files: {
'build/js/i18n/<%= pkg.name %>-message-en.js': [
'src/i18n/player-error-message-en.js',
'src/i18n/player-message-en.js'
],
'build/js/<%= pkg.name %>-logger.min.js': [
'src/log/log-handler.js'
],
'build/js/<%= pkg.name %>.min.js': [
'src/utils/jquery-class.js',
'src/utils/jquery-knob.js',
'src/utils/jquery.ui.touch-punch.js',
'src/utils/dash.min.js',
'src/utils/jquery-debouncedresize.js',
'src/utils/raphael_free_transform.js',
'src/utils/jquery.hotkeys.js',
'src/helpers/browser-feature-detection.js',
'src/helpers/html5-helper.js',
'src/helpers/utilities-helper.js',
'src/player/constants/player-error-code.js',
'src/player/constants/player-event-type.js',
'src/player/constants/player-message.js',
'src/player/loader/base-loader.js',
'src/player/loader/http-loader.js',
'src/player/loader/ws-loader.js',
'src/player/parsers/base-parser-metadata.js',
'src/player/metadata/metadata-manager.js',
'src/player/metadata/localisation-manager.js',
'src/player/widgets/widget-base.js',
'src/player/widgets/base-button.js',
'src/player/widgets/time-label.js',
'src/player/widgets/play-button.js',
'src/player/widgets/pause-button.js',
'src/player/widgets/fullscreen-button.js',
'src/player/widgets/volume-control-bar.js',
'src/player/widgets/progress-bar.js',
'src/player/widgets/label.js',
'src/player/widgets/jog-shuttle-button.js',
'src/player/widgets/channel-volume-control-bar.js',
'src/player/plugins/plugin-base.js',
'src/player/plugins/plugin-base-multi-blocks.js',
'src/player/plugins/plugin-base-simple-block.js',
'src/player/plugins/plugin-binding-manager.js',
'src/player/plugins/plugin-manager.js',
'src/player/plugins/captions-base.js',
'src/player/plugins/context-menu-plugin.js',
'src/player/plugins/custom-control-bar.js',
'src/player/local-storage-manager.js',
'src/player/media-type-manager.js',
'src/player/media-type-dash-mpeg.js',
'src/player/shortcuts-manager.js',
'src/player/base-player.js',
'src/player/player-html5.js',
'src/player/media-factory.js',
'src/ina-player.js'
],
'build/js/<%= pkg.name %>-plugin-watermark.min.js': [
'src/plugins/watermark/watermark.js'
],
'build/js/<%= pkg.name %>-plugin-overlay.min.js': [
'src/plugins/overlay/spatials-data-parser.js',
'src/plugins/overlay/draw-base.js',
'src/plugins/overlay/draw-rect.js',
'src/plugins/overlay/draw-ellipse.js',
'src/plugins/overlay/overlay.js'
],
'build/js/<%= pkg.name %>-plugin-text-sync.min.js': [
'src/plugins/text-sync/component.js',
'src/plugins/text-sync/text-sync.js'
],
'build/js/<%= pkg.name %>-plugin-captions.min.js': [
'src/plugins/captions/captions.js'
],
'build/js/<%= pkg.name %>-plugin-timeline.min.js': [
'src/plugins/timeline/default-configuration.js',
'src/plugins/timeline/base-component.js',
'src/plugins/timeline/focus-component.js',
'src/plugins/timeline/tic-component.js',
'src/plugins/timeline/zoom-component.js',
'src/plugins/timeline/time-axis-component.js',
'src/plugins/timeline/cuepoints-component.js',
'src/plugins/timeline/segments-component.js',
'src/plugins/timeline/images-component.js',
'src/plugins/timeline/histogram-component.js',
'src/plugins/timeline/visual-component.js',
'src/plugins/timeline/timeline.js'
],
'build/js/<%= pkg.name %>-plugin-editor.min.js': [
'src/plugins/editor/plugin-metadata-list-editor.js',
'src/plugins/editor/plugin-metadata-block-editor.js',
'src/plugins/editor/plugin-metadata-items-editor.js',
'src/plugins/editor/plugin-metadata-item-editor.js',
'src/plugins/editor/plugin-metadata-items-ref-editor.js'
],
'build/js/<%= pkg.name %>-plugin-progress-bar.min.js': [
'src/plugins/control-bar/progress-bar.js'
],
'build/js/<%= pkg.name %>-plugin-storyboard.min.js': [
'src/plugins/storyboard/base-frame-position-calculator.js',
'src/plugins/storyboard/plugin-storyboard.js'
],
'build/js/<%= pkg.name %>-yt-player.min.js': [
'src/plugins/yt-player/yt-player.js'
],
'build/js/<%= pkg.name %>-d3js-player.min.js': [
'src/plugins/d3js-chart/plugin-d3js-chart.js'
]
}
}
},
sass: {
options: {
sourceMap: false
},
dist: {
files: {
'build/css/<%= pkg.name %>.min.css': "src/assets/sass/main.scss"
}
}
},
webfont: {
icons: {
src: 'src/assets/icons/*.svg',
dest: 'src/assets/fonts',
destCss: 'src/assets/sass',
options: {
font: 'ajs-webfont',
stylesheet: 'scss',
syntax: 'bem',
htmlDemo: true,
autoHint: true,
hashes: true,
relativeFontPath: '../fonts/',
destHtml: 'samples',
embed: true,
engine: (grunt.option('engine') || 'fontforge'),
templateOptions: {
baseClass: 'ajs-icon',
classPrefix: 'ajs-icon-',
mixinPrefix: 'ajs-icon-'
}
}
}
},
clean: {
build: [
'build',
'docs',
'tmp'
]
},
copy: {
build: {
files: [
{
expand: true,
cwd: 'src/assets/fonts',
src: '**',
dest: 'build/fonts',
flatten: true,
filter: 'isFile'
}
]
}
},
// qunit: {
// build: [
// 'tests/**/*.html'
// ]
// },
watch: {
uglify: {
files: [
'src/**/*.js',
'src/**/**/*.js'
],
tasks: ['uglify:build']
},
sass: {
files: 'src/assets/sass/*.scss',
tasks: ['sass']
}
},
browserSync: {
dev: {
bsFiles: {
src: [
'build/css/*.css',
'build/js/*.js'
]
},
options: {
watchTask: true,
proxy: "localhost"
}
}
}
});
//dev
grunt.registerTask('dev', [
'clean:build',
'webfont:icons',
'copy:build',
'uglify:build',
'sass:dist',
'browserSync',
'watch'
]);
//Default
grunt.registerTask('default', [
'clean:build',
'jshint',
'qunit:build',
'uglify:build',
'sass:dist',
'copy:build'
]);
};
================================================
FILE: LICENSE
================================================
Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
Amalia.js
==========
Metadata enriched HTML5 video player
Download and documentation are available here : http://ina-foss.github.io/amalia.js
##Build project
For building the project execute the following lines:
```sh
$ bower install
$ npm install
$ grunt
```
The amalia.js library is in the build directory. You can also have a look at some examples in the samples directory.
================================================
FILE: bower.json
================================================
{
"name" : "amalia.js",
"version" : "1.3.3",
"main" : "dist/js/amalia.js.min.js",
"license" : "MIT",
"ignore" : [
"**/.*",
"data",
"src",
"samples",
"tests",
"Gruntfile.js",
"package.json"
],
"dependencies" : {
"jquery" : "~2.1.3",
"raphael" : "~2.1.3",
"jquery-ui" : "~1.11.2"
},
"devDependencies":{
"qunit":"1.14.0"
},
"keywords" : [
"javascript",
"library",
"annotation",
"metadata",
"amalia.js",
"player",
"html5"
]
}
================================================
FILE: package.json
================================================
{
"name": "amalia.js",
"description": "",
"homepage": "http://ina-foss.github.io/amalia.js",
"author": "INA",
"version": "1.3.3",
"public_site": "site",
"engines": {
"node": ">= 0.11"
},
"license": "MIT",
"licenseText": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia.js is free software: you can redistribute it and/or modify it under\n * the terms of the MIT License\n *\n * Redistributions of source code, javascript and css minified versions must\n * retain the above copyright notice, this list of conditions and the following\n * disclaimer\n *\n * Neither the name of the copyright holder nor the names of its contributors\n * may be used to endorse or promote products derived from this software without\n * specific prior written permission\n *\n * You should have received a copy of the MIT License along with\n * amalia.js. If not, see <https://opensource.org/license/mit/>\n *\n * Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY\n * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR\n * A PARTICULAR PURPOSE.\n */\n",
"repository": {
"type": "git",
"url": "git://github.com/ina-foss/amalia.js.git"
},
"cacheDirectories": [
"node_modules",
"bower_components"
],
"devDependencies": {
"browser-sync": "^2.11.1",
"grunt": "^0.4.5",
"grunt-browser-sync": "^2.2.0",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-compress": "~0.13.0",
"grunt-contrib-copy": "^0.7.0",
"grunt-contrib-csslint": "^2.0.0",
"grunt-contrib-cssmin": "^5.0.0",
"grunt-contrib-jshint": "^0.11.3",
"grunt-contrib-less": "^3.0.0",
"grunt-contrib-qunit": "^0.5.2",
"grunt-contrib-uglify": "^0.7.0",
"grunt-contrib-watch": "^0.6.1",
"grunt-contrib-yuidoc": "^0.7.0",
"grunt-ftp-deploy": "^0.2.0",
"grunt-html-build": "~0.4.1",
"grunt-sass": "^1.1.0",
"grunt-webfont": "^0.5.1",
"load-grunt-tasks": "^3.5.0",
"time-grunt": "^1.3.0"
},
"dependencies": {
"bower": "^1.8.14"
}
}
================================================
FILE: releases.md
================================================
# Release notes
## 1.3.3
- License changed to MIT
## 1.3.2
- Fix ENDEN/ENDED
- Change player html5 class with base class
## 1.3.1
- Add edition plugin
- Add control bar with new widgets
- New Documentation
## 1.3.0
- Delete dependencies bootstrap,font awesome ...
- Add Metadata Java library
## 1.2.3
- Player with timeline, text-synchronization, caption and overlay plugins
================================================
FILE: samples/ajs-player.html
================================================
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta http-equiv="Content-Language" content="en-us"/>
<link rel="icon" href="static/img/favicon.ico"/>
<meta name="description"
content="amalia.js is a new extensible and versatile HTML5 multimedia player that allows you to view any type of metadata along with your video or audio streams"/>
<meta name="keywords"
content="amalia.js, ina, research, amalia, video, audio, multimedia, player, metadata, plugin, javascript, html5, timeline, keyframe, analysis, extraction, visualization, content, indexing, json, dataviz"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<!-- This web site stuff -->
<script type="text/javascript" src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootswatch/3.3.1/yeti/bootstrap.min.css" rel="stylesheet"/>
<link type="text/css" rel="stylesheet" href="css/amalia-js-demo.css"/>
<!-- amalia.js dependencies -->
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- amalia.js player stuff -->
<link type="text/css" rel="stylesheet" href="../build/css/amalia.js.min.css"/>
<script src="../build/js/amalia.js.min.js"></script>
<!-- // -->
<!-- See at the end od this file for other Javascript stuff -->
<title>amalia.js - Metadata enriched HTML5 video player</title>
</head>
<body>
<div class="container">
<!-- NAVBAR -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="#">amalia.js</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav pull-right">
<li><a class="scroll-to" href="#download">Download</a></li>
<li><a class="scroll-to" href="#documentation">Documentation</a></li>
<li><a class="scroll-to" href="#examples">Examples</a></li>
<li><a class="scroll-to" href="#about">About</a></li>
<li><a class="scroll-to" href="#contact">Contact</a></li>
</ul>
</div>
</div>
</div>
<div class="header">
<h2 class="title">Player</h2>
<p class="lead"></p>
</div>
<div class="content">
<div class="demo">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<script>
$(function () {
$("#defaultPlayer").mediaPlayer({
autoplay: false,
src: "../samples-data/examples/vid/amalia01.mp4",
controlBar: {
autohide: false
}
});
});
</script>
</div>
<div class="doc">
<h1>Player options</h1>
<!-- Player Options-->
<ul class="nav nav-tabs">
<li class="active"><a href="#player-options" data-toggle="tab" aria-expanded="false">Doc</a></li>
<li class=""><a href="#player-options-example" data-toggle="tab" aria-expanded="true">example</a></li>
</ul>
<div class="tab-content">
<div id="player-options" class="panel panel-default">
<div class="panel-body">
<dl class="dl-horizontal">
<dt>src</dt>
<dd>URL to a video or audio file</dd>
<dt>poster</dt>
<dd>URL to a poster image to display before playback starts</dd>
<dt>autoplay</dt>
<dd>boolean, automatically start playing the video on page load</dd>
<dt>defaultVolume</dt>
<dd>75 by default. This value is overloaded by the volume set by the user which is kept in a
cookie
</dd>
<dt>controlBar</dt>
<dd>parameters for the control buttons (see below)</dd>
<dt>plugins</dt>
<dd>plugins configuration list (see below)</dd>
<dt>framerate</dt>
<dd></dd>
<dt>controlBarClassName</dt>
<dd></dd>
<dt>controlBar</dt>
<dd></dd>
<dt>tcOffset</dt>
<dd></dd>
<dt>mediaType</dt>
<dd></dd>
<dt>thumbRootDirectory</dt>
<dd></dd>
<dt>crossorigin</dt>
<dd></dd>
<dt>shortcuts</dt>
<dd></dd>
</dl>
</div>
</div>
<div id="player-options-example">
<pre>
$("#container").mediaPlayer({
autoplay: true,
src: "http://www-player-i.ina.fr/medias/demo/audi.mp4"
});
</pre>
</div>
</div>
<!-- END: Player Options-->
<div class="control-bar panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Control bar options</h3>
</div>
<div class="panel-body">
<dl class="dl-horizontal">
<dt>...</dt>
<dd>...</dd>
</dl>
</div>
</div>
<div class="plugin panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Plugin options</h3>
</div>
<div class="panel-body">
<dl class="dl-horizontal">
<dt>...</dt>
<dd>...</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
<!-- FOOTER -->
<div class="page-footer breadcrumb">
<div class="container">
<div class="row">
<div class="col-md-6">Last updated : <%= updateDate %></div>
<div class="col-md-6 text-right">
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina"
src="img/logo_ina.jpg"
style=" margin-right:10px; width: 32x; height: 32px"/>
Institut National de l'Audiovisuel - INA</a> ©<%= updateYear %>
</div>
</div>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-captions.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-captions.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Samples</h1>
</div>
<div class="content">
<div class="demo">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
controlBar :
{
sticky : true
},
plugins : {
dataServices :
[
'../samples-data/examples/json/amalia01-text.json'
],
list :
[
{
'className' : 'fr.ina.amalia.player.plugins.CaptionsPlugin',
'parameters' : {
metadataId : 'text-amalia01',
level : 1
}
}
]
}
} );
} );
</script>
<div>
<pre class="config">
dataServices :
[
'../samples-data/examples/json/amalia01-text.json'
],
list :
[
{
'className' : 'fr.ina.amalia.player.plugins.CaptionsPlugin',
'parameters' : {
metadataId : 'text-amalia01',
level : 1
}
}
]
</pre>
</div>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-editor.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-timeline.min.js"></script>
<script src="../build/js/amalia.js-plugin-editor.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Text synchronization plugin</h1>
</div>
<div class="content">
<div class="demo">
<div style=" clear: both;">
<div style="width: 70%;float: left;">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<div id="player_timelinePlugin" style="height: 500px;"></div>
</div>
<div style="width: 30%; float: left;">
<div id='player-list-editor-plugin'></div>
<br />
<div id='player-block-editor-plugin'></div>
<br />
<div id='player-items-editor-plugin'></div>
</div>
</div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
controlBar :
{
sticky : true
},
plugins :
{
dataServices : [
'../samples-data/examples/json/amalia01-events.json',
'../samples-data/examples/json/amalia01-kf.json',
'../samples-data/examples/json/amalia01-ball.json'
],
list : [
{
'className' : 'fr.ina.amalia.player.plugins.MetadataListEditorPlugin',
'container' : '#player-list-editor-plugin',
'debug' : true,
'parameters' : {
defaultDataType : fr.ina.amalia.player.PluginBindingManager.dataTypes.VISUAL_DETECTION,
defaultAuthor : 'Amalia.js',
defaultColor : '#2196f3',
defaultShape : 'car'
}
},
{
'className' : 'fr.ina.amalia.player.plugins.MetadataBlockEditorPlugin',
'container' : '#player-block-editor-plugin',
'debug' : true,
'parameters' : {
}
},
{
'className' : 'fr.ina.amalia.player.plugins.MetadataItemsEditorPlugin',
'container' : '#player-items-editor-plugin',
'debug' : true,
'parameters' : {
}
},
{
'className' : 'fr.ina.amalia.player.plugins.TimelinePlugin',
'container' : '#player_timelinePlugin',
'debug' : false,
'parameters' : {
editingMode : true,
displayLines : 3,
resizable : true,
lineDisplayMode : fr.ina.amalia.player.plugins.PluginBaseMultiBlocks.METADATA_DISPLAY_TYPE.STATIC_DYNAMIC,//STATIC//STATIC_DYNAMIC//DYNAMIC
listOfLines : [
{
title : 'Events',
type : 'cuepoint',
metadataId : 'events-amalia01',
color : '#3CF',
pointNav : true
},
{
title : 'Ball moving up',
type : 'segment',
metadataId : 'ball-amalia01',
color : '#F00'
}
]
}
}
]
}
} );
} );
</script>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-overlay.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-overlay.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Plugin Overlay</h1>
</div>
<div class="content">
<div class="demo">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
plugins : {
dataServices : [
{
protocol : "http",
url : '../samples-data/examples/json/amalia01-overlay.json',
// format : 'json',
parameters : {
mainLevel : true
},
}
],
list : [
{
'className' : 'fr.ina.amalia.player.plugins.OverlayPlugin',
// 'metadataId' : 'tracks-amalia01-1',
'parameters' : {
editable:false,
style : {
'fill' : '#000',
'strokeWidth' : 1,
'stroke' : '#000',
'fillOpacity' : 0,
'strokeDasharray' : '- '
}
}
}
]
}
} );
} );
</script>
<div>
<pre class="config">
{
'className' : 'fr.ina.amalia.player.plugins.OverlayPlugin',
'metadataId' : 'tracks-amalia01-1',
'parameters' : {
style : {
'fill' : '#000',
'strokeWidth' : 1,
'stroke' : '#000',
'fillOpacity' : 0,
'strokeDasharray' : '- '
}
}
}
</pre>
</div>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-text-sync.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-text-sync.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Text synchronization plugin</h1>
</div>
<div class="content">
<div class="demo">
<div style=" clear: both;">
<div style="width: 50%;float: left;">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<div>
<pre class="config">
{
'className' : 'fr.ina.amalia.player.plugins.TextSyncPlugin',
'container' : '#myplayer-tsync-tsync',
'parameters' : {
metadataId : 'text-amalia01',
title : 'My title',
description : 'A description I may have to put here',
level : 1,
displayLevel : 1,
scrollAuto : true
}
}
</pre>
</div>
</div>
<div style="width: 50%; float: left;">
<div id="text_sync_plugin" style="height: 500px;"></div>
</div>
</div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
controlBar :
{
sticky : true
},
plugins : {
dataServices : [
'../samples-data/examples/json/amalia01-text.json'
],
list : [
{
'className' : 'fr.ina.amalia.player.plugins.TextSyncPlugin',
'container' : '#text_sync_plugin',
'parameters' : {
metadataId : 'text-amalia01',
title : 'My title',
description : 'A description I may have to put here',
level : 1,
displayLevel : 1,
scrollAuto : true
}
}
]
}
} );
} );
</script>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-timeline.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-timeline.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Plugin timeline</h1>
</div>
<div class="content">
<div class="demo">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<div id="timeline"></div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
controlBar :
{
sticky : true
},
thumbRootDirectory:'../',
plugins : {
dataServices : [
'../samples-data/examples/json/amalia01-events.json',
'../samples-data/examples/json/amalia01-kf.json',
'../samples-data/examples/json/amalia01-ball.json'
],
list : [
{
'className' : 'fr.ina.amalia.player.plugins.TimelinePlugin',
'container' : '#timeline',
'parameters' : {
listOfLines : [
{
title : 'Events',
type : 'cuepoint',
metadataId : 'events-amalia01',
color : '#3CF',
pointNav : true
},
{
title : 'Ball moving up',
type : 'segment',
metadataId : 'ball-amalia01',
color : '#F00'
},
{
title : 'Keyframes every 2s',
type : 'image',
metadataId : 'kf-amalia01',
pointNav : true
}
]
}
}
]
}
} );
} );
</script>
<div>
<pre class="config">
{
'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',
'parameters' :
{
backgroundImageUrl : 'images/logo_ina.jpg',
ratio : 50,
placement : 'c',
imageWidth : 300,
imageHeight : 298
}
}
</pre>
</div>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-plugin-watermark.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Amalia.js</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="images/favicon.ico">
<link href="css/default.css" rel="stylesheet">
<script src="../bower_components/jquery/dist/jquery.js"></script>
<script src="../bower_components/jquery-ui/jquery-ui.min.js"></script>
<script src="../bower_components/raphael/raphael.js"></script>
<!-- style-player -->
<link href="../build/css/amalia.js.min.css" rel="stylesheet">
<!-- /style-player -->
<!-- script-player -->
<script src="../build/js/amalia.js.min.js"></script>
<script src="../build/js/amalia.js-plugin-watermark.min.js"></script>
<!-- /script-player -->
</head>
<body>
<div class="container">
<div class="header">
<h1>Samples</h1>
</div>
<div class="content">
<div class="demo">
<div style="height: 350px;">
<div id="defaultPlayer"></div>
</div>
<script>
$( function () {
$( "#defaultPlayer" ).mediaPlayer( {
autoplay : false,
src : "../samples-data/examples/vid/amalia01.mp4",
controlBar :
{
sticky : true
},
plugins : {
dataServices :
[
],
list :
[
{
'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',
'parameters' :
{
backgroundImageUrl : 'images/logo_ina.jpg',
ratio : 50,
placement : 'c',
imageWidth : 300,
imageHeight : 298
}
}
]
}
} );
} );
</script>
<div>
<pre class="config">
{
'className' : 'fr.ina.amalia.player.plugins.WatermarkPlugin',
'parameters' :
{
backgroundImageUrl : 'images/logo_ina.jpg',
ratio : 50,
placement : 'c',
imageWidth : 300,
imageHeight : 298
}
}
</pre>
</div>
</div>
</div>
<div class="footer">
<p>
<a href="http://www.institut-national-audiovisuel.fr/en/home"><img class="logo-ina" src="images/logo_ina.jpg" style=" margin-right:10px; width: 32x; height: 32px" />Institut National de l'Audiovisuel - INA</a>© 2015
</p>
</div>
</div>
</body>
</html>
================================================
FILE: samples/ajs-webfont.html
================================================
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>ajs-webfont</title>
<style>
body {
margin:0;
padding:10px 20px;
background:#fff;
color:#222;
}
h1, div, footer {
font-family:"Helvetica Neue", Arial, sans-serif;
}
h1 {
margin:0 0 20px;
font-size:32px;
font-weight:normal;
}
.icons {
margin-bottom:40px;
-webkit-column-count:5;
-moz-column-count:5;
column-count:5;
-webkit-column-gap:20px;
-moz-column-gap:20px;
column-gap:20px;
}
.icons__item,
.icons__item i {
line-height:2em;
cursor:pointer;
overflow:hidden;
}
.icons__item:hover {
color:#3c90be;
}
.icons__item i {
display:inline-block;
width:32px;
text-align:center;
}
.icons__item:hover i {
-webkit-transform:scale(1.5);
transform:scale(1.5);
}
footer {
margin-top:40px;
font-size:14px;
color:#999;
}
/* Generated by grunt-webfont */
@font-face {
font-family:"ajs-webfont";
src:url("../src/assets/fonts/ajs-webfont.eot?da2b33fb7481b6e5ffca9457ecddfd8e");
font-weight:normal;
font-style:normal;
}
@font-face {
font-family:"ajs-webfont";
src:url("../src/assets/fonts/ajs-webfont.eot?da2b33fb7481b6e5ffca9457ecddfd8e");
src:url("../src/assets/fonts/ajs-webfont.eot?#iefix") format("embedded-opentype"),
url("data:application/x-font-woff;charset=utf-8;base64,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") format("woff"),
url("../src/assets/fonts/ajs-webfont.ttf?da2b33fb7481b6e5ffca9457ecddfd8e") format("truetype");
font-weight:normal;
font-style:normal;
}
.ajs-icon {
font-family:"ajs-webfont";
display:inline-block;
vertical-align:middle;
line-height:1;
font-weight:normal;
font-style:normal;
speak:none;
text-decoration:inherit;
text-transform:none;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}
/* Icons */
.ajs-icon-account:before {
content:"\f101";
}
.ajs-icon-add-whole-segment:before {
content:"\f102";
}
.ajs-icon-amalia-js:before {
content:"\f103";
}
.ajs-icon-arrows-h:before {
content:"\f104";
}
.ajs-icon-arrows-v:before {
content:"\f105";
}
.ajs-icon-bell:before {
content:"\f106";
}
.ajs-icon-building:before {
content:"\f107";
}
.ajs-icon-caret-right:before {
content:"\f108";
}
.ajs-icon-cercle:before {
content:"\f109";
}
.ajs-icon-check:before {
content:"\f10a";
}
.ajs-icon-chevron-circle-down:before {
content:"\f10b";
}
.ajs-icon-chevron-circle-left:before {
content:"\f10c";
}
.ajs-icon-chevron-circle-right:before {
content:"\f10d";
}
.ajs-icon-chevron-circle-up:before {
content:"\f10e";
}
.ajs-icon-chevron-down:before {
content:"\f10f";
}
.ajs-icon-chevron-left:before {
content:"\f110";
}
.ajs-icon-chevron-right:before {
content:"\f111";
}
.ajs-icon-chevron-up:before {
content:"\f112";
}
.ajs-icon-chromecast-active:before {
content:"\f113";
}
.ajs-icon-chromecast:before {
content:"\f114";
}
.ajs-icon-circle:before {
content:"\f115";
}
.ajs-icon-cog:before {
content:"\f116";
}
.ajs-icon-cogs:before {
content:"\f117";
}
.ajs-icon-comment:before {
content:"\f118";
}
.ajs-icon-compress:before {
content:"\f119";
}
.ajs-icon-control-backward:before {
content:"\f11a";
}
.ajs-icon-control-fast-forward:before {
content:"\f11b";
}
.ajs-icon-control-fast-rewind:before {
content:"\f11c";
}
.ajs-icon-control-forward:before {
content:"\f11d";
}
.ajs-icon-control-pause:before {
content:"\f11e";
}
.ajs-icon-control-play:before {
content:"\f11f";
}
.ajs-icon-control-rewind:before {
content:"\f120";
}
.ajs-icon-controlbar-compress:before {
content:"\f121";
}
.ajs-icon-controlbar-fullscreen:before {
content:"\f122";
}
.ajs-icon-controlbar-pause:before {
content:"\f123";
}
.ajs-icon-controlbar-play:before {
content:"\f124";
}
.ajs-icon-controlbar-settings:before {
content:"\f125";
}
.ajs-icon-controlbar-volume-left-off:before {
content:"\f126";
}
.ajs-icon-controlbar-volume-left:before {
content:"\f127";
}
.ajs-icon-controlbar-volume-min:before {
content:"\f128";
}
.ajs-icon-controlbar-volume-off:before {
content:"\f129";
}
.ajs-icon-controlbar-volume-right-off:before {
content:"\f12a";
}
.ajs-icon-controlbar-volume-right:before {
content:"\f12b";
}
.ajs-icon-controlbar-volume_max:before {
content:"\f12c";
}
.ajs-icon-controlbar-volume_middle:before {
content:"\f12d";
}
.ajs-icon-download:before {
content:"\f12e";
}
.ajs-icon-eject:before {
content:"\f12f";
}
.ajs-icon-ellipsis-h:before {
content:"\f130";
}
.ajs-icon-ellipsis-v:before {
content:"\f131";
}
.ajs-icon-eraser:before {
content:"\f132";
}
.ajs-icon-expand:before {
content:"\f133";
}
.ajs-icon-eye-off:before {
content:"\f134";
}
.ajs-icon-eye-on:before {
content:"\f135";
}
.ajs-icon-facetime:before {
content:"\f136";
}
.ajs-icon-female:before {
content:"\f137";
}
.ajs-icon-github:before {
content:"\f138";
}
.ajs-icon-information:before {
content:"\f139";
}
.ajs-icon-jogs-backward-0x:before {
content:"\f13a";
}
.ajs-icon-jogs-backward-1x:before {
content:"\f13b";
}
.ajs-icon-jogs-backward-2x:before {
content:"\f13c";
}
.ajs-icon-jogs-backward-3x:before {
content:"\f13d";
}
.ajs-icon-jogs-backward-4x:before {
content:"\f13e";
}
.ajs-icon-jogs-center:before {
content:"\f13f";
}
.ajs-icon-jogs-fast-backward:before {
content:"\f140";
}
.ajs-icon-jogs-fast-forward:before {
content:"\f141";
}
.ajs-icon-jogs-forward-0x:before {
content:"\f142";
}
.ajs-icon-jogs-forward-1x:before {
content:"\f143";
}
.ajs-icon-jogs-forward-2x:before {
content:"\f144";
}
.ajs-icon-jogs-forward-3x:before {
content:"\f145";
}
.ajs-icon-jogs-forward-4x:before {
content:"\f146";
}
.ajs-icon-key:before {
content:"\f147";
}
.ajs-icon-legal:before {
content:"\f148";
}
.ajs-icon-list-close:before {
content:"\f149";
}
.ajs-icon-list-open:before {
content:"\f14a";
}
.ajs-icon-lock-close:before {
content:"\f14b";
}
.ajs-icon-lock-open:before {
content:"\f14c";
}
.ajs-icon-male:before {
content:"\f14d";
}
.ajs-icon-microphone-off:before {
content:"\f14e";
}
.ajs-icon-microphone-on:before {
content:"\f14f";
}
.ajs-icon-minus:before {
content:"\f150";
}
.ajs-icon-music:before {
content:"\f151";
}
.ajs-icon-picture:before {
content:"\f152";
}
.ajs-icon-plus:before {
content:"\f153";
}
.ajs-icon-power:before {
content:"\f154";
}
.ajs-icon-refresh:before {
content:"\f155";
}
.ajs-icon-remove:before {
content:"\f156";
}
.ajs-icon-reorder:before {
content:"\f157";
}
.ajs-icon-screenshot:before {
content:"\f158";
}
.ajs-icon-scrubber-cursor:before {
content:"\f159";
}
.ajs-icon-search:before {
content:"\f15a";
}
.ajs-icon-sign-in:before {
content:"\f15b";
}
.ajs-icon-sign-out:before {
content:"\f15c";
}
.ajs-icon-sort:before {
content:"\f15d";
}
.ajs-icon-sound-link-off:before {
content:"\f15e";
}
.ajs-icon-sound-link-on:before {
content:"\f15f";
}
.ajs-icon-stop:before {
content:"\f160";
}
.ajs-icon-transcription:before {
content:"\f161";
}
.ajs-icon-volume-down:before {
content:"\f162";
}
.ajs-icon-volume-off:before {
content:"\f163";
}
.ajs-icon-volume-up:before {
content:"\f164";
}
.ajs-icon-zoom-in:before {
content:"\f165";
}
.ajs-icon-zoom-out:before {
content:"\f166";
}
</style>
</head>
<body>
<h1>ajs-webfont</h1>
<div class="icons" id="icons">
<div class="icons__item" data-name="account"><i class="ajs-icon ajs-icon-account"></i> ajs-icon-account</div>
<div class="icons__item" data-name="add-whole-segment"><i class="ajs-icon ajs-icon-add-whole-segment"></i> ajs-icon-add-whole-segment</div>
<div class="icons__item" data-name="amalia-js"><i class="ajs-icon ajs-icon-amalia-js"></i> ajs-icon-amalia-js</div>
<div class="icons__item" data-name="arrows-h"><i class="ajs-icon ajs-icon-arrows-h"></i> ajs-icon-arrows-h</div>
<div class="icons__item" data-name="arrows-v"><i class="ajs-icon ajs-icon-arrows-v"></i> ajs-icon-arrows-v</div>
<div class="icons__item" data-name="bell"><i class="ajs-icon ajs-icon-bell"></i> ajs-icon-bell</div>
<div class="icons__item" data-name="building"><i class="ajs-icon ajs-icon-building"></i> ajs-icon-building</div>
<div class="icons__item" data-name="caret-right"><i class="ajs-icon ajs-icon-caret-right"></i> ajs-icon-caret-right</div>
<div class="icons__item" data-name="cercle"><i class="ajs-icon ajs-icon-cercle"></i> ajs-icon-cercle</div>
<div class="icons__item" data-name="check"><i class="ajs-icon ajs-icon-check"></i> ajs-icon-check</div>
<div class="icons__item" data-name="chevron-circle-down"><i class="ajs-icon ajs-icon-chevron-circle-down"></i> ajs-icon-chevron-circle-down</div>
<div class="icons__item" data-name="chevron-circle-left"><i class="ajs-icon ajs-icon-chevron-circle-left"></i> ajs-icon-chevron-circle-left</div>
<div class="icons__item" data-name="chevron-circle-right"><i class="ajs-icon ajs-icon-chevron-circle-right"></i> ajs-icon-chevron-circle-right</div>
<div class="icons__item" data-name="chevron-circle-up"><i class="ajs-icon ajs-icon-chevron-circle-up"></i> ajs-icon-chevron-circle-up</div>
<div class="icons__item" data-name="chevron-down"><i class="ajs-icon ajs-icon-chevron-down"></i> ajs-icon-chevron-down</div>
<div class="icons__item" data-name="chevron-left"><i class="ajs-icon ajs-icon-chevron-left"></i> ajs-icon-chevron-left</div>
<div class="icons__item" data-name="chevron-right"><i class="ajs-icon ajs-icon-chevron-right"></i> ajs-icon-chevron-right</div>
<div class="icons__item" data-name="chevron-up"><i class="ajs-icon ajs-icon-chevron-up"></i> ajs-icon-chevron-up</div>
<div class="icons__item" data-name="chromecast-active"><i class="ajs-icon ajs-icon-chromecast-active"></i> ajs-icon-chromecast-active</div>
<div class="icons__item" data-name="chromecast"><i class="ajs-icon ajs-icon-chromecast"></i> ajs-icon-chromecast</div>
<div class="icons__item" data-name="circle"><i class="ajs-icon ajs-icon-circle"></i> ajs-icon-circle</div>
<div class="icons__item" data-name="cog"><i class="ajs-icon ajs-icon-cog"></i> ajs-icon-cog</div>
<div class="icons__item" data-name="cogs"><i class="ajs-icon ajs-icon-cogs"></i> ajs-icon-cogs</div>
<div class="icons__item" data-name="comment"><i class="ajs-icon ajs-icon-comment"></i> ajs-icon-comment</div>
<div class="icons__item" data-name="compress"><i class="ajs-icon ajs-icon-compress"></i> ajs-icon-compress</div>
<div class="icons__item" data-name="control-backward"><i class="ajs-icon ajs-icon-control-backward"></i> ajs-icon-control-backward</div>
<div class="icons__item" data-name="control-fast-forward"><i class="ajs-icon ajs-icon-control-fast-forward"></i> ajs-icon-control-fast-forward</div>
<div class="icons__item" data-name="control-fast-rewind"><i class="ajs-icon ajs-icon-control-fast-rewind"></i> ajs-icon-control-fast-rewind</div>
<div class="icons__item" data-name="control-forward"><i class="ajs-icon ajs-icon-control-forward"></i> ajs-icon-control-forward</div>
<div class="icons__item" data-name="control-pause"><i class="ajs-icon ajs-icon-control-pause"></i> ajs-icon-control-pause</div>
<div class="icons__item" data-name="control-play"><i class="ajs-icon ajs-icon-control-play"></i> ajs-icon-control-play</div>
<div class="icons__item" data-name="control-rewind"><i class="ajs-icon ajs-icon-control-rewind"></i> ajs-icon-control-rewind</div>
<div class="icons__item" data-name="controlbar-compress"><i class="ajs-icon ajs-icon-controlbar-compress"></i> ajs-icon-controlbar-compress</div>
<div class="icons__item" data-name="controlbar-fullscreen"><i class="ajs-icon ajs-icon-controlbar-fullscreen"></i> ajs-icon-controlbar-fullscreen</div>
<div class="icons__item" data-name="controlbar-pause"><i class="ajs-icon ajs-icon-controlbar-pause"></i> ajs-icon-controlbar-pause</div>
<div class="icons__item" data-name="controlbar-play"><i class="ajs-icon ajs-icon-controlbar-play"></i> ajs-icon-controlbar-play</div>
<div class="icons__item" data-name="controlbar-settings"><i class="ajs-icon ajs-icon-controlbar-settings"></i> ajs-icon-controlbar-settings</div>
<div class="icons__item" data-name="controlbar-volume-left-off"><i class="ajs-icon ajs-icon-controlbar-volume-left-off"></i> ajs-icon-controlbar-volume-left-off</div>
<div class="icons__item" data-name="controlbar-volume-left"><i class="ajs-icon ajs-icon-controlbar-volume-left"></i> ajs-icon-controlbar-volume-left</div>
<div class="icons__item" data-name="controlbar-volume-min"><i class="ajs-icon ajs-icon-controlbar-volume-min"></i> ajs-icon-controlbar-volume-min</div>
<div class="icons__item" data-name="controlbar-volume-off"><i class="ajs-icon ajs-icon-controlbar-volume-off"></i> ajs-icon-controlbar-volume-off</div>
<div class="icons__item" data-name="controlbar-volume-right-off"><i class="ajs-icon ajs-icon-controlbar-volume-right-off"></i> ajs-icon-controlbar-volume-right-off</div>
<div class="icons__item" data-name="controlbar-volume-right"><i class="ajs-icon ajs-icon-controlbar-volume-right"></i> ajs-icon-controlbar-volume-right</div>
<div class="icons__item" data-name="controlbar-volume_max"><i class="ajs-icon ajs-icon-controlbar-volume_max"></i> ajs-icon-controlbar-volume_max</div>
<div class="icons__item" data-name="controlbar-volume_middle"><i class="ajs-icon ajs-icon-controlbar-volume_middle"></i> ajs-icon-controlbar-volume_middle</div>
<div class="icons__item" data-name="download"><i class="ajs-icon ajs-icon-download"></i> ajs-icon-download</div>
<div class="icons__item" data-name="eject"><i class="ajs-icon ajs-icon-eject"></i> ajs-icon-eject</div>
<div class="icons__item" data-name="ellipsis-h"><i class="ajs-icon ajs-icon-ellipsis-h"></i> ajs-icon-ellipsis-h</div>
<div class="icons__item" data-name="ellipsis-v"><i class="ajs-icon ajs-icon-ellipsis-v"></i> ajs-icon-ellipsis-v</div>
<div class="icons__item" data-name="eraser"><i class="ajs-icon ajs-icon-eraser"></i> ajs-icon-eraser</div>
<div class="icons__item" data-name="expand"><i class="ajs-icon ajs-icon-expand"></i> ajs-icon-expand</div>
<div class="icons__item" data-name="eye-off"><i class="ajs-icon ajs-icon-eye-off"></i> ajs-icon-eye-off</div>
<div class="icons__item" data-name="eye-on"><i class="ajs-icon ajs-icon-eye-on"></i> ajs-icon-eye-on</div>
<div class="icons__item" data-name="facetime"><i class="ajs-icon ajs-icon-facetime"></i> ajs-icon-facetime</div>
<div class="icons__item" data-name="female"><i class="ajs-icon ajs-icon-female"></i> ajs-icon-female</div>
<div class="icons__item" data-name="github"><i class="ajs-icon ajs-icon-github"></i> ajs-icon-github</div>
<div class="icons__item" data-name="information"><i class="ajs-icon ajs-icon-information"></i> ajs-icon-information</div>
<div class="icons__item" data-name="jogs-backward-0x"><i class="ajs-icon ajs-icon-jogs-backward-0x"></i> ajs-icon-jogs-backward-0x</div>
<div class="icons__item" data-name="jogs-backward-1x"><i class="ajs-icon ajs-icon-jogs-backward-1x"></i> ajs-icon-jogs-backward-1x</div>
<div class="icons__item" data-name="jogs-backward-2x"><i class="ajs-icon ajs-icon-jogs-backward-2x"></i> ajs-icon-jogs-backward-2x</div>
<div class="icons__item" data-name="jogs-backward-3x"><i class="ajs-icon ajs-icon-jogs-backward-3x"></i> ajs-icon-jogs-backward-3x</div>
<div class="icons__item" data-name="jogs-backward-4x"><i class="ajs-icon ajs-icon-jogs-backward-4x"></i> ajs-icon-jogs-backward-4x</div>
<div class="icons__item" data-name="jogs-center"><i class="ajs-icon ajs-icon-jogs-center"></i> ajs-icon-jogs-center</div>
<div class="icons__item" data-name="jogs-fast-backward"><i class="ajs-icon ajs-icon-jogs-fast-backward"></i> ajs-icon-jogs-fast-backward</div>
<div class="icons__item" data-name="jogs-fast-forward"><i class="ajs-icon ajs-icon-jogs-fast-forward"></i> ajs-icon-jogs-fast-forward</div>
<div class="icons__item" data-name="jogs-forward-0x"><i class="ajs-icon ajs-icon-jogs-forward-0x"></i> ajs-icon-jogs-forward-0x</div>
<div class="icons__item" data-name="jogs-forward-1x"><i class="ajs-icon ajs-icon-jogs-forward-1x"></i> ajs-icon-jogs-forward-1x</div>
<div class="icons__item" data-name="jogs-forward-2x"><i class="ajs-icon ajs-icon-jogs-forward-2x"></i> ajs-icon-jogs-forward-2x</div>
<div class="icons__item" data-name="jogs-forward-3x"><i class="ajs-icon ajs-icon-jogs-forward-3x"></i> ajs-icon-jogs-forward-3x</div>
<div class="icons__item" data-name="jogs-forward-4x"><i class="ajs-icon ajs-icon-jogs-forward-4x"></i> ajs-icon-jogs-forward-4x</div>
<div class="icons__item" data-name="key"><i class="ajs-icon ajs-icon-key"></i> ajs-icon-key</div>
<div class="icons__item" data-name="legal"><i class="ajs-icon ajs-icon-legal"></i> ajs-icon-legal</div>
<div class="icons__item" data-name="list-close"><i class="ajs-icon ajs-icon-list-close"></i> ajs-icon-list-close</div>
<div class="icons__item" data-name="list-open"><i class="ajs-icon ajs-icon-list-open"></i> ajs-icon-list-open</div>
<div class="icons__item" data-name="lock-close"><i class="ajs-icon ajs-icon-lock-close"></i> ajs-icon-lock-close</div>
<div class="icons__item" data-name="lock-open"><i class="ajs-icon ajs-icon-lock-open"></i> ajs-icon-lock-open</div>
<div class="icons__item" data-name="male"><i class="ajs-icon ajs-icon-male"></i> ajs-icon-male</div>
<div class="icons__item" data-name="microphone-off"><i class="ajs-icon ajs-icon-microphone-off"></i> ajs-icon-microphone-off</div>
<div class="icons__item" data-name="microphone-on"><i class="ajs-icon ajs-icon-microphone-on"></i> ajs-icon-microphone-on</div>
<div class="icons__item" data-name="minus"><i class="ajs-icon ajs-icon-minus"></i> ajs-icon-minus</div>
<div class="icons__item" data-name="music"><i class="ajs-icon ajs-icon-music"></i> ajs-icon-music</div>
<div class="icons__item" data-name="picture"><i class="ajs-icon ajs-icon-picture"></i> ajs-icon-picture</div>
<div class="icons__item" data-name="plus"><i class="ajs-icon ajs-icon-plus"></i> ajs-icon-plus</div>
<div class="icons__item" data-name="power"><i class="ajs-icon ajs-icon-power"></i> ajs-icon-power</div>
<div class="icons__item" data-name="refresh"><i class="ajs-icon ajs-icon-refresh"></i> ajs-icon-refresh</div>
<div class="icons__item" data-name="remove"><i class="ajs-icon ajs-icon-remove"></i> ajs-icon-remove</div>
<div class="icons__item" data-name="reorder"><i class="ajs-icon ajs-icon-reorder"></i> ajs-icon-reorder</div>
<div class="icons__item" data-name="screenshot"><i class="ajs-icon ajs-icon-screenshot"></i> ajs-icon-screenshot</div>
<div class="icons__item" data-name="scrubber-cursor"><i class="ajs-icon ajs-icon-scrubber-cursor"></i> ajs-icon-scrubber-cursor</div>
<div class="icons__item" data-name="search"><i class="ajs-icon ajs-icon-search"></i> ajs-icon-search</div>
<div class="icons__item" data-name="sign-in"><i class="ajs-icon ajs-icon-sign-in"></i> ajs-icon-sign-in</div>
<div class="icons__item" data-name="sign-out"><i class="ajs-icon ajs-icon-sign-out"></i> ajs-icon-sign-out</div>
<div class="icons__item" data-name="sort"><i class="ajs-icon ajs-icon-sort"></i> ajs-icon-sort</div>
<div class="icons__item" data-name="sound-link-off"><i class="ajs-icon ajs-icon-sound-link-off"></i> ajs-icon-sound-link-off</div>
<div class="icons__item" data-name="sound-link-on"><i class="ajs-icon ajs-icon-sound-link-on"></i> ajs-icon-sound-link-on</div>
<div class="icons__item" data-name="stop"><i class="ajs-icon ajs-icon-stop"></i> ajs-icon-stop</div>
<div class="icons__item" data-name="transcription"><i class="ajs-icon ajs-icon-transcription"></i> ajs-icon-transcription</div>
<div class="icons__item" data-name="volume-down"><i class="ajs-icon ajs-icon-volume-down"></i> ajs-icon-volume-down</div>
<div class="icons__item" data-name="volume-off"><i class="ajs-icon ajs-icon-volume-off"></i> ajs-icon-volume-off</div>
<div class="icons__item" data-name="volume-up"><i class="ajs-icon ajs-icon-volume-up"></i> ajs-icon-volume-up</div>
<div class="icons__item" data-name="zoom-in"><i class="ajs-icon ajs-icon-zoom-in"></i> ajs-icon-zoom-in</div>
<div class="icons__item" data-name="zoom-out"><i class="ajs-icon ajs-icon-zoom-out"></i> ajs-icon-zoom-out</div>
</div>
<h1>Usage</h1>
<pre><code><i class="ajs-icon ajs-icon-<span id="name">name</span>"></i></code></pre>
<footer>Generated by <a href="https://github.com/sapegin/grunt-webfont">grunt-webfont</a>.</footer>
<script>
(function() {
document.getElementById('icons').onclick = function(e) {
e = e || window.event;
var name = e.target.getAttribute('data-name') || e.target.parentNode.getAttribute('data-name');
document.getElementById('name').innerHTML = name;
document.getElementById('name2').innerHTML = name;
}
})();
</script>
</body>
</html>
================================================
FILE: samples/css/amalia-js-demo.css
================================================
.header {
margin-top: 80px;
text-align: center;
}
.page-footer {
margin-bottom: 0px;
padding: 20px;
margin-top: 40px
}
h1.title {
margin-top: 25px;
padding: 0px;
padding-bottom: 0px;
font-weight: bold;
font-size: 40px;
border-bottom: 1px solid #eaeaea;
}
h3.title {
margin-top: 40px;
margin-bottom: 20px;
font-weight: 500;
border-bottom: #eee solid 1px;
padding-bottom: 10px;
margin-left: 10px;
}
h4.title {
}
.smallpre {
font-size: 12px;
}
.navbar .nav>li>a {
font-size: 14px;
line-height: 22px;
font-weight: 500;
text-transform: uppercase;
}
.navbar-brand {
font-size: 24px;
}
.contact h1.title {
margin-top: 0px;
border-bottom: 1px solid #eee;
padding-bottom: 10px;
font-weight: bold;
}
.navbar-header .navbar-brand {
background-image: url(images/amalia_Logo-unique-white-mini.png);
background-repeat: no-repeat;
padding-left: 55px;
background-position: center left;
}
.docssidebar {
top: 100px;
}
.download-version-text
{
min-height: 120px;
}
================================================
FILE: samples/css/default.css
================================================
a {
color: #008cba;
text-decoration: none;
}
a {
background-color: transparent;
}
* {
-webkit-box-sizing: none;
-moz-box-sizing: none;
box-sizing: none;
}
body
{
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.container
{
box-sizing: border-box;
color: rgb(34, 34, 34);
display: block;
font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
font-size: 15px;
line-height: 21px;
padding-left: 15px;
padding-right: 15px;
}
h1.title
{
border-bottom-color: rgb(234, 234, 234);
border-bottom-style: solid;
border-bottom-width: 1px;
box-sizing: border-box;
color: rgb(34, 34, 34);
display: block;
font-size: 40px;
font-weight: bold;
height: 45px;
line-height: 44px;
margin-bottom: 10.5px;
margin-left: 0px;
margin-right: 0px;
margin-top: 25px;
padding-bottom: 0px;
padding-left: 0px;
padding-right: 0px;
padding-top: 0px;
}
pre.config
{
display: block;
padding: 9.5px;
margin: 0 0 10px;
font-size: 13px;
line-height: 1.42857143;
word-break: break-all;
word-wrap: break-word;
color: #333;
background-color: #f5f5f5;
border: 1px solid #ccc;
border-radius: 4px;
}
.footer
{
clear: both;
}
================================================
FILE: samples-data/examples/json/amalia-simple01.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"label": "A demo label !",
"tc": "00:00:30.0000",
"tclevel": 1
}
]
},
"type": "fake",
"tcin": "00:00:00.0000",
"tcout": "00:01:00.0000",
"tclevel": 0
}
],
"id": "amalia-simple01",
"type": "fake",
"algorithm": "demo-json-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1418900533632,
"version": 1
}
================================================
FILE: samples-data/examples/json/amalia01-ball.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"tcin": "00:00:01.6800",
"tcout": "00:00:03.3600",
"tclevel": 1
},
{
"tcin": "00:00:05.0400",
"tcout": "00:00:06.7200",
"tclevel": 1
},
{
"tcin": "00:00:08.4000",
"tcout": "00:00:10.0800",
"tclevel": 1
}
]
},
"type": "segments",
"tcin": "00:00:00.0000",
"tcout": "00:00:15.0000",
"tclevel": 0
}
],
"id": "ball-amalia01",
"type": "segments",
"algorithm": "demo-video-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1421141589286,
"version": 1
}
================================================
FILE: samples-data/examples/json/amalia01-events.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"label": "Start",
"tc": "00:00:01.6800",
"tclevel": 1
},
{
"label": "Ping",
"tc": "00:00:03.3600",
"tclevel": 1
},
{
"label": "Ping",
"tc": "00:00:05.0400",
"tclevel": 1
},
{
"label": "Ping",
"tc": "00:00:06.7200",
"tclevel": 1
},
{
"label": "Ping",
"tc": "00:00:08.4000",
"tclevel": 1
},
{
"label": "Ping",
"tc": "00:00:10.0800",
"tclevel": 1
},
{
"label": "Pop",
"tc": "00:00:12.0000",
"tclevel": 1
}
]
},
"type": "events",
"tcin": "00:00:00.0000",
"tcout": "00:00:15.0000",
"tclevel": 0
}
],
"id": "events-amalia01",
"type": "events",
"algorithm": "demo-video-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1421141589279,
"version": 1
}
================================================
FILE: samples-data/examples/json/amalia01-kf.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"thumb": "samples-data/examples/kf/amalia01/f_25.jpg",
"tc": "00:00:01.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_75.jpg",
"tc": "00:00:03.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_125.jpg",
"tc": "00:00:05.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_175.jpg",
"tc": "00:00:07.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_225.jpg",
"tc": "00:00:09.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_275.jpg",
"tc": "00:00:11.0000",
"tclevel": 1
},
{
"thumb": "samples-data/examples/kf/amalia01/f_325.jpg",
"tc": "00:00:13.0000",
"tclevel": 1
}
]
},
"type": "keyframes",
"tcin": "00:00:00.0000",
"tcout": "00:00:15.0000",
"tclevel": 0
}
],
"id": "kf-amalia01",
"type": "keyframes",
"algorithm": "demo-video-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1421141589291,
"version": 1
}
================================================
FILE: samples-data/examples/json/amalia01-overlay.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.2,
"y": 0.5
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:00.0000",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.2,
"y": 0.5
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:01.6800",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.2857142857142857,
"y": 0.3
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:03.3600",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.37142857142857144,
"y": 0.7
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:05.0400",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.4571428571428572,
"y": 0.3
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:06.7200",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.5428571428571429,
"y": 0.7
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:08.4000",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.6285714285714287,
"y": 0.3
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:10.0800",
"tclevel": 1
},
{
"shape": {
"t": "rectangle",
"c": {
"x": 0.7142857142857144,
"y": 0.7
},
"rx": 0.03654970760233918,
"ry": 0.06510416666666667,
"o": 0.0
},
"tc": "00:00:12.0000",
"tclevel": 1
}
]
},
"label": "EllipseWithBoudingBox-1",
"tcin": "00:00:00.0000",
"tcout": "00:00:12.0000",
"tclevel": 0
}
],
"id": "track-amalia01-1",
"type": "visual_tracking",
"algorithm": "demo-video-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1432288449928,
"version": 1
}
================================================
FILE: samples-data/examples/json/amalia01-text.json
================================================
{
"localisation": [
{
"sublocalisations": {
"localisation": [
{
"data": {
"text": [
"<b>This</b> is a demonstration video"
]
},
"tcin": "00:00:00.0000",
"tcout": "00:00:01.6800",
"tclevel": 1
},
{
"data": {
"text": [
"with a red ball"
]
},
"tcin": "00:00:01.6800",
"tcout": "00:00:03.3600",
"tclevel": 1
},
{
"data": {
"text": [
"ping"
]
},
"tcin": "00:00:03.3600",
"tcout": "00:00:05.0400",
"tclevel": 1
},
{
"data": {
"text": [
"pong"
]
},
"tcin": "00:00:05.0400",
"tcout": "00:00:06.7200",
"tclevel": 1
},
{
"data": {
"text": [
"ping"
]
},
"tcin": "00:00:06.7200",
"tcout": "00:00:08.4000",
"tclevel": 1
},
{
"data": {
"text": [
"pong"
]
},
"tcin": "00:00:08.4000",
"tcout": "00:00:10.0800",
"tclevel": 1
},
{
"data": {
"text": [
"ping"
]
},
"tcin": "00:00:10.0800",
"tcout": "00:00:12.0000",
"tclevel": 1
},
{
"data": {
"text": [
"... the ball has disappeared !"
]
},
"tcin": "00:00:12.0000",
"tcout": "00:00:15.0000",
"tclevel": 1
}
]
},
"type": "text",
"tcin": "00:00:00.0000",
"tcout": "00:00:15.0000",
"tclevel": 0
}
],
"id": "text-amalia01",
"type": "text",
"algorithm": "demo-video-generator",
"processor": "Ina Research Department - N. HERVE",
"processed": 1421141589288,
"version": 1
}
================================================
FILE: src/.jshintrc
================================================
{
"curly": true,
"eqeqeq": true,
"immed": true,
"latedef": true,
"newcap": true,
"noarg": true,
"sub": true,
"undef": true,
"unused": true,
"boss": true,
"eqnull": true,
"browser": true,
"predef": [
"jQuery",
"$",
"fr",
"google",
"_PlayerAmaliaVersion_",
"_PlayerAmaliaHomepage_",
"Raphael",
"MediaPlayer",
"Dash",
"AudioContext",
"YT",
"chrome",
"d3",
"nv"
]
}
================================================
FILE: src/LICENSE
================================================
Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: src/THIRD_PARTY_LICENSES
================================================
Third-Party Licenses :
-jQuery : easy DOM manipulation framework, MIT license, http://jquery.com
-jQueryClass : simulated inheritance in javascript, MIT license, http://v3.javascriptmvc.com/docs/jQuery.Class.html#&who=jQuery.Class
-jQueryUI : user interface stuff on top of jQuery, MIT license, http://jqueryui.com
-jQueryUI Touch Punch : touch event support for jQuery UI, MIT or GPL Version 2 licenses, http://touchpunch.furf.com
-jQuery knob : a knob for jQuery,MIT or GPL licenses, http://anthonyterrien.com/knob
-Raphaël : a vector graphics Javascript library, MIT License, http://raphaeljs.com
-Bootstrap : responsive design library, MIT License, http://getbootstrap.com
-Font Awesome : iconic font, MIT License , http://fortawesome.github.io/Font-Awesome/
================================================
FILE: src/assets/fonts/ajs-webfont.afm
================================================
StartFontMetrics 2.0
Comment Generated by FontForge 20090622
Comment Creation Date: Thu Jul 2 11:16:15 2015
FontName ajs-webfont
FullName ajs-webfont
FamilyName ajs-webfont
Weight Medium
Notice ()
ItalicAngle 0
IsFixedPitch true
UnderlinePosition -51.2
UnderlineThickness 25.6
Version 001.000
EncodingScheme ISO10646-1
FontBBox 0 -109 1000 876
Descender -2147483648
StartCharMetrics 98
C -1 ; WX 1000 ; N uniF101 ; B 127 156 898 805 ;
C -1 ; WX 1000 ; N uniF102 ; B 260 88 740 662 ;
C -1 ; WX 1000 ; N uniF103 ; B 162 416 838 658 ;
C -1 ; WX 1000 ; N uniF104 ; B 379 199 621 875 ;
C -1 ; WX 1000 ; N uniF105 ; B 186 199 814 876 ;
C -1 ; WX 1000 ; N uniF106 ; B 234 199 766 875 ;
C -1 ; WX 1000 ; N uniF107 ; B 391 343 609 731 ;
C -1 ; WX 1000 ; N uniF108 ; B 207 312 793 762 ;
C -1 ; WX 1000 ; N uniF109 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10A ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10B ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10C ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF10D ; B 206 351 794 723 ;
C -1 ; WX 1000 ; N uniF10E ; B 314 243 686 831 ;
C -1 ; WX 1000 ; N uniF10F ; B 314 243 686 831 ;
C -1 ; WX 1000 ; N uniF110 ; B 206 351 794 723 ;
C -1 ; WX 1000 ; N uniF111 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF112 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF113 ; B 137 204 863 870 ;
C -1 ; WX 1000 ; N uniF114 ; B 162 247 838 827 ;
C -1 ; WX 1000 ; N uniF115 ; B 215 252 785 822 ;
C -1 ; WX 1000 ; N uniF116 ; B 209 246 791 828 ;
C -1 ; WX 1000 ; N uniF117 ; B 162 246 838 828 ;
C -1 ; WX 1000 ; N uniF118 ; B 162 246 838 828 ;
C -1 ; WX 1000 ; N uniF119 ; B 209 246 791 828 ;
C -1 ; WX 1000 ; N uniF11A ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF11B ; B 234 244 766 830 ;
C -1 ; WX 1000 ; N uniF11C ; B 306 246 694 828 ;
C -1 ; WX 1000 ; N uniF11D ; B 109 -18 892 765 ;
C -1 ; WX 1000 ; N uniF11E ; B 106 -18 888 765 ;
C -1 ; WX 1000 ; N uniF11F ; B 60 -69 941 812 ;
C -1 ; WX 1000 ; N uniF120 ; B 55 -68 935 813 ;
C -1 ; WX 1000 ; N uniF121 ; B 104 -23 897 770 ;
C -1 ; WX 1000 ; N uniF122 ; B 43 118 859 819 ;
C -1 ; WX 1000 ; N uniF123 ; B 141 106 856 807 ;
C -1 ; WX 1000 ; N uniF124 ; B 148 118 862 819 ;
C -1 ; WX 1000 ; N uniF125 ; B 74 119 927 820 ;
C -1 ; WX 1000 ; N uniF126 ; B 148 118 958 819 ;
C -1 ; WX 1000 ; N uniF127 ; B 141 112 856 813 ;
C -1 ; WX 1000 ; N uniF128 ; B 15 113 986 819 ;
C -1 ; WX 1000 ; N uniF129 ; B 76 115 917 817 ;
C -1 ; WX 1000 ; N uniF12A ; B 186 247 814 827 ;
C -1 ; WX 1000 ; N uniF12B ; B 209 294 791 780 ;
C -1 ; WX 1000 ; N uniF12C ; B 427 271 573 803 ;
C -1 ; WX 1000 ; N uniF12D ; B 234 464 766 610 ;
C -1 ; WX 1000 ; N uniF12E ; B 137 295 863 779 ;
C -1 ; WX 1000 ; N uniF12F ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF130 ; B 162 283 838 791 ;
C -1 ; WX 1000 ; N uniF131 ; B 162 319 838 755 ;
C -1 ; WX 1000 ; N uniF132 ; B 162 295 838 779 ;
C -1 ; WX 1000 ; N uniF133 ; B 258 205 742 869 ;
C -1 ; WX 1000 ; N uniF134 ; B 210 254 790 820 ;
C -1 ; WX 1000 ; N uniF135 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF136 ; B 0 0 0 0 ;
C -1 ; WX 1000 ; N uniF137 ; B 760 360 887 594 ;
C -1 ; WX 1000 ; N uniF138 ; B 595 306 906 610 ;
C -1 ; WX 1000 ; N uniF139 ; B 345 247 887 708 ;
C -1 ; WX 1000 ; N uniF13A ; B 114 190 887 760 ;
C -1 ; WX 1000 ; N uniF13B ; B 162 27 860 401 ;
C -1 ; WX 1000 ; N uniF13C ; B 113 190 906 760 ;
C -1 ; WX 1000 ; N uniF13D ; B 111 207 904 777 ;
C -1 ; WX 1000 ; N uniF13E ; B 111 204 882 774 ;
C -1 ; WX 1000 ; N uniF13F ; B 111 372 238 606 ;
C -1 ; WX 1000 ; N uniF140 ; B 111 337 422 641 ;
C -1 ; WX 1000 ; N uniF141 ; B 111 259 652 720 ;
C -1 ; WX 1000 ; N uniF142 ; B 111 207 884 777 ;
C -1 ; WX 1000 ; N uniF143 ; B 21 -45 975 818 ;
C -1 ; WX 1000 ; N uniF144 ; B 173 210 827 864 ;
C -1 ; WX 1000 ; N uniF145 ; B 75 207 913 788 ;
C -1 ; WX 1000 ; N uniF146 ; B 71 214 908 795 ;
C -1 ; WX 1000 ; N uniF147 ; B 282 271 718 803 ;
C -1 ; WX 1000 ; N uniF148 ; B 186 271 814 803 ;
C -1 ; WX 1000 ; N uniF149 ; B 306 205 694 869 ;
C -1 ; WX 1000 ; N uniF14A ; B 239 223 761 851 ;
C -1 ; WX 1000 ; N uniF14B ; B 282 223 718 851 ;
C -1 ; WX 1000 ; N uniF14C ; B 234 464 766 610 ;
C -1 ; WX 1000 ; N uniF14D ; B 210 223 790 851 ;
C -1 ; WX 1000 ; N uniF14E ; B 137 247 863 827 ;
C -1 ; WX 1000 ; N uniF14F ; B 234 271 766 803 ;
C -1 ; WX 1000 ; N uniF150 ; B 210 223 790 851 ;
C -1 ; WX 1000 ; N uniF151 ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF152 ; B 275 312 725 762 ;
C -1 ; WX 1000 ; N uniF153 ; B 210 295 790 779 ;
C -1 ; WX 1000 ; N uniF154 ; B 176 335 824 771 ;
C -1 ; WX 1000 ; N uniF155 ; B 16 -109 984 859 ;
C -1 ; WX 1000 ; N uniF156 ; B 186 223 814 851 ;
C -1 ; WX 1000 ; N uniF157 ; B 210 295 790 779 ;
C -1 ; WX 1000 ; N uniF158 ; B 204 295 796 779 ;
C -1 ; WX 1000 ; N uniF159 ; B 306 271 694 803 ;
C -1 ; WX 1000 ; N uniF15A ; B 0 323 1000 875 ;
C -1 ; WX 1000 ; N uniF15B ; B 0 645 1000 876 ;
C -1 ; WX 1000 ; N uniF15C ; B 210 247 790 827 ;
C -1 ; WX 1000 ; N uniF15D ; B 11 -105 986 858 ;
C -1 ; WX 1000 ; N uniF15E ; B 282 307 718 767 ;
C -1 ; WX 1000 ; N uniF15F ; B 355 307 645 767 ;
C -1 ; WX 1000 ; N uniF160 ; B 186 268 814 806 ;
C -1 ; WX 1000 ; N uniF161 ; B 186 223 814 851 ;
C -1 ; WX 1000 ; N uniF162 ; B 186 223 814 851 ;
EndCharMetrics
EndFontMetrics
================================================
FILE: src/assets/less/ajs-animations.less
================================================
/**
* Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
*
* This file is part of amalia.js
*
* Amalia.js is free software: you can redistribute it and/or modify it under
* the terms of the MIT License
*
* Redistributions of source code, javascript and css minified versions must
* retain the above copyright notice, this list of conditions and the following
* disclaimer
*
* Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission
*
* You should have received a copy of the MIT License along with
* amalia.js. If not, see <https://opensource.org/license/mit/>
*
* Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE.
*/
@keyframes ajs-hatch {
0% {
transform: rotate(0deg) scaleY(0.6);
}
20% {
transform: rotate(-2deg) scaleY(1.05);
}
35% {
transform: rotate(2deg) scaleY(1);
}
50% {
transform: rotate(-2deg);
}
65% {
transform: rotate(1deg);
}
80% {
transform: rotate(-1deg);
}
100% {
transform: rotate(0deg);
}
}
@-webkit-keyframes ajs-hatch {
0% {
-webkit-transform: rotate(0deg) scaleY(0.6);
}
20% {
-webkit-transform: rotate(-2deg) scaleY(1.05);
}
35% {
-webkit-transform: rotate(2deg) scaleY(1);
}
50% {
-webkit-transform: rotate(-2deg);
}
65% {
-webkit-transform: rotate(1deg);
}
80% {
-webkit-transform: rotate(-1deg);
}
100% {
-webkit-transform: rotate(0deg);
}
}
@keyframes ajs-bounce {
0% {
transform: translateY(0%) scaleY(0.6);
}
60% {
transform: translateY(-100%) scaleY(1.1);
}
70% {
transform: translateY(0%) scaleY(0.95) scaleX(1.05);
}
80% {
transform: translateY(0%) scaleY(1.05) scaleX(1);
}
90% {
transform: translateY(0%) scaleY(0.95) scaleX(1);
}
100% {
transform: translateY(0%) scaleY(1) scaleX(1);
}
}
@-webkit-keyframes ajs-bounce {
0% {
-webkit-transform: translateY(0%) scaleY(0.6);
}
60% {
-webkit-transform: translateY(-100%) scaleY(1.1);
}
70% {
-webkit-transform: translateY(0%) scaleY(0.95) scaleX(1.05);
}
80% {
-webkit-transform: translateY(0%) scaleY(1.05) scaleX(1);
}
90% {
-webkit-transform: translateY(0%) scaleY(0.95) scaleX(1);
}
100% {
-webkit-transform: translateY(0%) scaleY(1) scaleX(1);
}
}
@keyframes ajs-pulse {
0% {
transform: scale(0.9);
opacity: 0.7;
}
50% {
transform: scale(1);
opacity: 1;
}
100% {
transform: scale(0.9);
opacity: 0.7;
}
}
@-webkit-keyframes ajs-pulse {
0% {
-webkit-transform: scale(0.95);
opacity: 0.7;
}
50% {
-webkit-transform: scale(1);
opacity: 1;
}
100% {
-webkit-transform: scale(0.95);
opacity: 0.7;
}
}
================================================
FILE: src/assets/less/ajs-webfont.less
================================================
/**
* Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
*
* This file is part of amalia.js
*
* Amalia.js is free software: you can redistribute it and/or modify it under
* the terms of the MIT License
*
* Redistributions of source code, javascript and css minified versions must
* retain the above copyright notice, this list of conditions and the following
* disclaimer
*
* Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission
*
* You should have received a copy of the MIT License along with
* amalia.js. If not, see <https://opensource.org/license/mit/>
*
* Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE.
*/
@font-face {
font-family: "ajs-webfont";
src: url("../fonts/ajs-webfont.eot?93a8957d9da533b23877909fab6d8fc2");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "ajs-webfont";
src: url("../fonts/ajs-webfont.eot?93a8957d9da533b23877909fab6d8fc2");
src: url("../fonts/ajs-webfont.eot?#iefix") format("embedded-opentype"),
url("data:application/x-font-woff;charset=utf-8;base64,gAEwAwAAJSFQUy1BZG9iZUZvbnQtMS4wOiBhanMtd2ViZm9udCAwMDEuMDAwCiUlVGl0bGU6IGFqcy13ZWJmb250CiVWZXJzaW9uOiAwMDEuMDAwCiUlQ3JlYXRpb25EYXRlOiBUaHUgSnVsICAyIDExOjE2OjE1IDIwMTUKJSVDcmVhdG9yOiByb290CiUgMjAxNS03LTI6IENyZWF0ZWQuCiUgR2VuZXJhdGVkIGJ5IEZvbnRGb3JnZSAyMDA5MDYyMiAoaHR0cDovL2ZvbnRmb3JnZS5zZi5uZXQvKQolJUVuZENvbW1lbnRzCgoxMCBkaWN0IGJlZ2luCi9Gb250VHlwZSAxIGRlZgovRm9udE1hdHJpeCBbMC4wMDE5NTMxMiAwIDAgMC4wMDE5NTMxMiAwIDAgXXJlYWRvbmx5IGRlZgovRm9udE5hbWUgL2Fqcy13ZWJmb250IGRlZgovRm9udEJCb3ggezAgLTU2IDUxMiA0NDkgfXJlYWRvbmx5IGRlZgovUGFpbnRUeXBlIDAgZGVmCi9Gb250SW5mbyAxMSBkaWN0IGR1cCBiZWdpbgogL3ZlcnNpb24gKDAwMS4wMDApIHJlYWRvbmx5IGRlZgogL05vdGljZSAoKSByZWFkb25seSBkZWYKIC9GdWxsTmFtZSAoYWpzLXdlYmZvbnQpIHJlYWRvbmx5IGRlZgogL0ZhbWlseU5hbWUgKGFqcy13ZWJmb250KSByZWFkb25seSBkZWYKIC9XZWlnaHQgKE1lZGl1bSkgcmVhZG9ubHkgZGVmCiAvRlNUeXBlIDAgZGVmCiAvSXRhbGljQW5nbGUgMCBkZWYKIC9pc0ZpeGVkUGl0Y2ggdHJ1ZSBkZWYKIC9VbmRlcmxpbmVQb3NpdGlvbiAtNTEuMiBkZWYKIC9VbmRlcmxpbmVUaGlja25lc3MgMjUuNiBkZWYKIC9hc2NlbnQgNDQ4IGRlZgplbmQgcmVhZG9ubHkgZGVmCi9FbmNvZGluZyBTdGFuZGFyZEVuY29kaW5nIGRlZgpjdXJyZW50ZGljdCBlbmQKY3VycmVudGZpbGUgZWV4ZWMKgAJTiAAAdD+EE/NjbKhan/77ULS7JzAqWmP5MohOGL9RU602BTA30cbNBClK9qNWEtuRCKyFFMtcSoRplxt1oJ+eZiBosGhUkOqMc/Le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VmGAWOxyl57FnCwoyDsUwdPoxKviD1PIpindSxH3cCWlvpiPPGCOKzJ+D0g5Y9dCSQVQPyuijuHG4HqG0fJHOlO9P0SlzxXe7jWYhGDWdu5lkFeflsSDl/mb2+PvTduaKo6x0+Ocu6KTSWQwAkswAZG7llmCILjPkJu/kDfnYFUETtVzeT4unx0ZMM4FmZG387n6IhOqAIX7fDKUHQe8LuQx6EfKGZpOBmzG8hyiuL/NXnbNapKHaDh4/6k6h0x0TztFEa7gytWMNN48OsnQjgPXIdOu8aXYeu/w5AeIp8kmpkJsU6KL3FrtRCVQTvNEgVxsFQy6sFddxvd6QBQQyW6GmIIcSsdsnG43qCkQIU1zcnwJ8izGQU4X+M706LVLCOLhiwrRt72Fsl1E/5NNvSm1enKvgW6oMi+CiR2W/iejx8YX7Dd1lvcb8dyOi0uJhK+e8smf2JTjNjM1zpmYz5eDEE6bO/+q4J/YKMiBFGzJdUCrpMICXYv/WnV0VeuAEGYvH00uP+bz4PD+6Gx6CRVGFq7Jd/GzRby0p4hSqoyQm/T0Ybapj0KuySwKYsq/zaVmyJYdHkPVMfyoDIsYK3c308ETrGeKDM2WuI3TrCvMqvCfZ62fKH4Z0nqzG1JztS8gBdWEiKMu2EXJMK2oKAZEEObj2/qq+bznG4nx1pkW2rVI1QxIcWuDOVZRMrIdkfDAl9V5TfAUF9O94rpNKEnR4XbLvQzTYGqXA2Zay2OkeoVP1wC6owsCJXKBok3SPentiOa8Mc2itEziS7dgCYptC6agDL5mZumspcWquWErvTu5g/v3iS9fV7QwmNzQaguPgAEVAgAACjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAowMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApjbGVhcnRvbWFyawqAAw==") format("woff"),
url("../fonts/ajs-webfont.ttf?93a8957d9da533b23877909fab6d8fc2") format("truetype");
font-weight: normal;
font-style: normal;
}
.ajs-icon {
font-family: "ajs-webfont";
display: inline-block;
vertical-align: middle;
line-height: 1;
font-weight: normal;
font-style: normal;
speak: none;
text-decoration: inherit;
text-transform: none;
text-rendering: optimizeLegibility;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// Icons
.ajs-icon-add-whole-segment() {
&:before {
content: "\f101";
}
}
.ajs-icon-add-whole-segment {
.ajs-icon-add-whole-segment();
}
.ajs-icon-amalia-js() {
&:before {
content: "\f102";
}
}
.ajs-icon-amalia-js {
.ajs-icon-amalia-js();
}
.ajs-icon-arrows-h() {
&:before {
content: "\f103";
}
}
.ajs-icon-arrows-h {
.ajs-icon-arrows-h();
}
.ajs-icon-arrows-v() {
&:before {
content: "\f104";
}
}
.ajs-icon-arrows-v {
.ajs-icon-arrows-v();
}
.ajs-icon-bell() {
&:before {
content: "\f105";
}
}
.ajs-icon-bell {
.ajs-icon-bell();
}
.ajs-icon-building() {
&:before {
content: "\f106";
}
}
.ajs-icon-building {
.ajs-icon-building();
}
.ajs-icon-caret-right() {
&:before {
content: "\f107";
}
}
.ajs-icon-caret-right {
.ajs-icon-caret-right();
}
.ajs-icon-check() {
&:before {
content: "\f108";
}
}
.ajs-icon-check {
.ajs-icon-check();
}
.ajs-icon-chevron-circle-down() {
&:before {
content: "\f109";
}
}
.ajs-icon-chevron-circle-down {
.ajs-icon-chevron-circle-down();
}
.ajs-icon-chevron-circle-left() {
&:before {
content: "\f10a";
}
}
.ajs-icon-chevron-circle-left {
.ajs-icon-chevron-circle-left();
}
.ajs-icon-chevron-circle-right() {
&:before {
content: "\f10b";
}
}
.ajs-icon-chevron-circle-right {
.ajs-icon-chevron-circle-right();
}
.ajs-icon-chevron-circle-up() {
&:before {
content: "\f10c";
}
}
.ajs-icon-chevron-circle-up {
.ajs-icon-chevron-circle-up();
}
.ajs-icon-chevron-down() {
&:before {
content: "\f10d";
}
}
.ajs-icon-chevron-down {
.ajs-icon-chevron-down();
}
.ajs-icon-chevron-left() {
&:before {
content: "\f10e";
}
}
.ajs-icon-chevron-left {
.ajs-icon-chevron-left();
}
.ajs-icon-chevron-right() {
&:before {
content: "\f10f";
}
}
.ajs-icon-chevron-right {
.ajs-icon-chevron-right();
}
.ajs-icon-chevron-up() {
&:before {
content: "\f110";
}
}
.ajs-icon-chevron-up {
.ajs-icon-chevron-up();
}
.ajs-icon-circle() {
&:before {
content: "\f111";
}
}
.ajs-icon-circle {
.ajs-icon-circle();
}
.ajs-icon-cog() {
&:before {
content: "\f112";
}
}
.ajs-icon-cog {
.ajs-icon-cog();
}
.ajs-icon-cogs() {
&:before {
content: "\f113";
}
}
.ajs-icon-cogs {
.ajs-icon-cogs();
}
.ajs-icon-comment() {
&:before {
content: "\f114";
}
}
.ajs-icon-comment {
.ajs-icon-comment();
}
.ajs-icon-compress() {
&:before {
content: "\f115";
}
}
.ajs-icon-compress {
.ajs-icon-compress();
}
.ajs-icon-control-backward() {
&:before {
content: "\f116";
}
}
.ajs-icon-control-backward {
.ajs-icon-control-backward();
}
.ajs-icon-control-fast-forward() {
&:before {
content: "\f117";
}
}
.ajs-icon-control-fast-forward {
.ajs-icon-control-fast-forward();
}
.ajs-icon-control-fast-rewind() {
&:before {
content: "\f118";
}
}
.ajs-icon-control-fast-rewind {
.ajs-icon-control-fast-rewind();
}
.ajs-icon-control-forward() {
&:before {
content: "\f119";
}
}
.ajs-icon-control-forward {
.ajs-icon-control-forward();
}
.ajs-icon-control-pause() {
&:before {
content: "\f11a";
}
}
.ajs-icon-control-pause {
.ajs-icon-control-pause();
}
.ajs-icon-control-play() {
&:before {
content: "\f11b";
}
}
.ajs-icon-control-play {
.ajs-icon-control-play();
}
.ajs-icon-control-rewind() {
&:before {
content: "\f11c";
}
}
.ajs-icon-control-rewind {
.ajs-icon-control-rewind();
}
.ajs-icon-controlbar-compress() {
&:before {
content: "\f11d";
}
}
.ajs-icon-controlbar-compress {
.ajs-icon-controlbar-compress();
}
.ajs-icon-controlbar-fullscreen() {
&:before {
content: "\f11e";
}
}
.ajs-icon-controlbar-fullscreen {
.ajs-icon-controlbar-fullscreen();
}
.ajs-icon-controlbar-pause() {
&:before {
content: "\f11f";
}
}
.ajs-icon-controlbar-pause {
.ajs-icon-controlbar-pause();
}
.ajs-icon-controlbar-play() {
&:before {
content: "\f120";
}
}
.ajs-icon-controlbar-play {
.ajs-icon-controlbar-play();
}
.ajs-icon-controlbar-settings() {
&:before {
content: "\f121";
}
}
.ajs-icon-controlbar-settings {
.ajs-icon-controlbar-settings();
}
.ajs-icon-controlbar-volume-left-off() {
&:before {
content: "\f122";
}
}
.ajs-icon-controlbar-volume-left-off {
.ajs-icon-controlbar-volume-left-off();
}
.ajs-icon-controlbar-volume-left() {
&:before {
content: "\f123";
}
}
.ajs-icon-controlbar-volume-left {
.ajs-icon-controlbar-volume-left();
}
.ajs-icon-controlbar-volume-min() {
&:before {
content: "\f124";
}
}
.ajs-icon-controlbar-volume-min {
.ajs-icon-controlbar-volume-min();
}
.ajs-icon-controlbar-volume-off() {
&:before {
content: "\f125";
}
}
.ajs-icon-controlbar-volume-off {
.ajs-icon-controlbar-volume-off();
}
.ajs-icon-controlbar-volume-right-off() {
&:before {
content: "\f126";
}
}
.ajs-icon-controlbar-volume-right-off {
.ajs-icon-controlbar-volume-right-off();
}
.ajs-icon-controlbar-volume-right() {
&:before {
content: "\f127";
}
}
.ajs-icon-controlbar-volume-right {
.ajs-icon-controlbar-volume-right();
}
.ajs-icon-controlbar-volume_max() {
&:before {
content: "\f128";
}
}
.ajs-icon-controlbar-volume_max {
.ajs-icon-controlbar-volume_max();
}
.ajs-icon-controlbar-volume_middle() {
&:before {
content: "\f129";
}
}
.ajs-icon-controlbar-volume_middle {
.ajs-icon-controlbar-volume_middle();
}
.ajs-icon-download() {
&:before {
content: "\f12a";
}
}
.ajs-icon-download {
.ajs-icon-download();
}
.ajs-icon-eject() {
&:before {
content: "\f12b";
}
}
.ajs-icon-eject {
.ajs-icon-eject();
}
.ajs-icon-ellipsis-h() {
&:before {
content: "\f12c";
}
}
.ajs-icon-ellipsis-h {
.ajs-icon-ellipsis-h();
}
.ajs-icon-ellipsis-v() {
&:before {
content: "\f12d";
}
}
.ajs-icon-ellipsis-v {
.ajs-icon-ellipsis-v();
}
.ajs-icon-eraser() {
&:before {
content: "\f12e";
}
}
.ajs-icon-eraser {
.ajs-icon-eraser();
}
.ajs-icon-expand() {
&:before {
content: "\f12f";
}
}
.ajs-icon-expand {
.ajs-icon-expand();
}
.ajs-icon-eye-off() {
&:before {
content: "\f130";
}
}
.ajs-icon-eye-off {
.ajs-icon-eye-off();
}
.ajs-icon-eye-on() {
&:before {
content: "\f131";
}
}
.ajs-icon-eye-on {
.ajs-icon-eye-on();
}
.ajs-icon-facetime() {
&:before {
content: "\f132";
}
}
.ajs-icon-facetime {
.ajs-icon-facetime();
}
.ajs-icon-female() {
&:before {
content: "\f133";
}
}
.ajs-icon-female {
.ajs-icon-female();
}
.ajs-icon-github() {
&:before {
content: "\f134";
}
}
.ajs-icon-github {
.ajs-icon-github();
}
.ajs-icon-information() {
&:before {
content: "\f135";
}
}
.ajs-icon-information {
.ajs-icon-information();
}
.ajs-icon-jogs-backward-0x() {
&:before {
content: "\f136";
}
}
.ajs-icon-jogs-backward-0x {
.ajs-icon-jogs-backward-0x();
}
.ajs-icon-jogs-backward-1x() {
&:before {
content: "\f137";
}
}
.ajs-icon-jogs-backward-1x {
.ajs-icon-jogs-backward-1x();
}
.ajs-icon-jogs-backward-2x() {
&:before {
content: "\f138";
}
}
.ajs-icon-jogs-backward-2x {
.ajs-icon-jogs-backward-2x();
}
.ajs-icon-jogs-backward-3x() {
&:before {
content: "\f139";
}
}
.ajs-icon-jogs-backward-3x {
.ajs-icon-jogs-backward-3x();
}
.ajs-icon-jogs-backward-4x() {
&:before {
content: "\f13a";
}
}
.ajs-icon-jogs-backward-4x {
.ajs-icon-jogs-backward-4x();
}
.ajs-icon-jogs-center() {
&:before {
content: "\f13b";
}
}
.ajs-icon-jogs-center {
.ajs-icon-jogs-center();
}
.ajs-icon-jogs-fast-backward() {
&:before {
content: "\f13c";
}
}
.ajs-icon-jogs-fast-backward {
.ajs-icon-jogs-fast-backward();
}
.ajs-icon-jogs-fast-forward() {
&:before {
content: "\f13d";
}
}
.ajs-icon-jogs-fast-forward {
.ajs-icon-jogs-fast-forward();
}
.ajs-icon-jogs-forward-0x() {
&:before {
content: "\f13e";
}
}
.ajs-icon-jogs-forward-0x {
.ajs-icon-jogs-forward-0x();
}
.ajs-icon-jogs-forward-1x() {
&:before {
content: "\f13f";
}
}
.ajs-icon-jogs-forward-1x {
.ajs-icon-jogs-forward-1x();
}
.ajs-icon-jogs-forward-2x() {
&:before {
content: "\f140";
}
}
.ajs-icon-jogs-forward-2x {
.ajs-icon-jogs-forward-2x();
}
.ajs-icon-jogs-forward-3x() {
&:before {
content: "\f141";
}
}
.ajs-icon-jogs-forward-3x {
.ajs-icon-jogs-forward-3x();
}
.ajs-icon-jogs-forward-4x() {
&:before {
content: "\f142";
}
}
.ajs-icon-jogs-forward-4x {
.ajs-icon-jogs-forward-4x();
}
.ajs-icon-key() {
&:before {
content: "\f143";
}
}
.ajs-icon-key {
.ajs-icon-key();
}
.ajs-icon-legal() {
&:before {
content: "\f144";
}
}
.ajs-icon-legal {
.ajs-icon-legal();
}
.ajs-icon-list-close() {
&:before {
content: "\f145";
}
}
.ajs-icon-list-close {
.ajs-icon-list-close();
}
.ajs-icon-list-open() {
&:before {
content: "\f146";
}
}
.ajs-icon-list-open {
.ajs-icon-list-open();
}
.ajs-icon-lock-close() {
&:before {
content: "\f147";
}
}
.ajs-icon-lock-close {
.ajs-icon-lock-close();
}
.ajs-icon-lock-open() {
&:before {
content: "\f148";
}
}
.ajs-icon-lock-open {
.ajs-icon-lock-open();
}
.ajs-icon-male() {
&:before {
content: "\f149";
}
}
.ajs-icon-male {
.ajs-icon-male();
}
.ajs-icon-microphone-off() {
&:before {
content: "\f14a";
}
}
.ajs-icon-microphone-off {
.ajs-icon-microphone-off();
}
.ajs-icon-microphone-on() {
&:before {
content: "\f14b";
}
}
.ajs-icon-microphone-on {
.ajs-icon-microphone-on();
}
.ajs-icon-minus() {
&:before {
content: "\f14c";
}
}
.ajs-icon-minus {
.ajs-icon-minus();
}
.ajs-icon-music() {
&:before {
content: "\f14d";
}
}
.ajs-icon-music {
.ajs-icon-music();
}
.ajs-icon-picture() {
&:before {
content: "\f14e";
}
}
.ajs-icon-picture {
.ajs-icon-picture();
}
.ajs-icon-plus() {
&:before {
content: "\f14f";
}
}
.ajs-icon-plus {
.ajs-icon-plus();
}
.ajs-icon-power() {
&:before {
content: "\f150";
}
}
.ajs-icon-power {
.ajs-icon-power();
}
.ajs-icon-refresh() {
&:before {
content: "\f151";
}
}
.ajs-icon-refresh {
.ajs-icon-refresh();
}
.ajs-icon-remove() {
&:before {
content: "\f152";
}
}
.ajs-icon-remove {
.ajs-icon-remove();
}
.ajs-icon-reorder() {
&:before {
content: "\f153";
}
}
.ajs-icon-reorder {
.ajs-icon-reorder();
}
.ajs-icon-screenshot() {
&:before {
content: "\f154";
}
}
.ajs-icon-screenshot {
.ajs-icon-screenshot();
}
.ajs-icon-scrubber-cursor() {
&:before {
content: "\f155";
}
}
.ajs-icon-scrubber-cursor {
.ajs-icon-scrubber-cursor();
}
.ajs-icon-search() {
&:before {
content: "\f156";
}
}
.ajs-icon-search {
.ajs-icon-search();
}
.ajs-icon-sign-in() {
&:before {
content: "\f157";
}
}
.ajs-icon-sign-in {
.ajs-icon-sign-in();
}
.ajs-icon-sign-out() {
&:before {
content: "\f158";
}
}
.ajs-icon-sign-out {
.ajs-icon-sign-out();
}
.ajs-icon-sort() {
&:before {
content: "\f159";
}
}
.ajs-icon-sort {
.ajs-icon-sort();
}
.ajs-icon-sound-link-off() {
&:before {
content: "\f15a";
}
}
.ajs-icon-sound-link-off {
.ajs-icon-sound-link-off();
}
.ajs-icon-sound-link-on() {
&:before {
content: "\f15b";
}
}
.ajs-icon-sound-link-on {
.ajs-icon-sound-link-on();
}
.ajs-icon-stop() {
&:before {
content: "\f15c";
}
}
.ajs-icon-stop {
.ajs-icon-stop();
}
.ajs-icon-transcription() {
&:before {
content: "\f15d";
}
}
.ajs-icon-transcription {
.ajs-icon-transcription();
}
.ajs-icon-volume-down() {
&:before {
content: "\f15e";
}
}
.ajs-icon-volume-down {
.ajs-icon-volume-down();
}
.ajs-icon-volume-off() {
&:before {
content: "\f15f";
}
}
.ajs-icon-volume-off {
.ajs-icon-volume-off();
}
.ajs-icon-volume-up() {
&:before {
content: "\f160";
}
}
.ajs-icon-volume-up {
.ajs-icon-volume-up();
}
.ajs-icon-zoom-in() {
&:before {
content: "\f161";
}
}
.ajs-icon-zoom-in {
.ajs-icon-zoom-in();
}
.ajs-icon-zoom-out() {
&:before {
content: "\f162";
}
}
.ajs-icon-zoom-out {
.ajs-icon-zoom-out();
}
================================================
FILE: src/assets/less/default-style.less
================================================
/**
* Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
*
* This file is part of amalia.js
*
* Amalia.js is free software: you can redistribute it and/or modify it under
* the terms of the MIT License
*
* Redistributions of source code, javascript and css minified versions must
* retain the above copyright notice, this list of conditions and the following
* disclaimer
*
* Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission
*
* You should have received a copy of the MIT License along with
* amalia.js. If not, see <https://opensource.org/license/mit/>
*
* Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE.
*/
.ajs-tooltip {
font-family: Arial, Helvetica, sans-serif;
color: #fff;
background: #0cf;
padding: 10px 5px 10px 5px;
max-width: 300px;
box-shadow: none;
border: none;
margin-top: -50px;
&:after {
content: "";
position: absolute;
left: 50%;
top: -20px;
width: 15px;
height: 15px;
box-shadow: none;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
tranform: rotate(45deg);
border: none;
background: #0cf;
margin-left: -7.5px;
}
}
.ui-tooltip {
padding: 8px;
position: absolute;
z-index: 9999;
max-width: 300px;
-webkit-box-shadow: 0 0 5px #aaa;
box-shadow: 0 0 5px #aaa;
}
.ui-helper-hidden-accessible {
display: none;
}
================================================
FILE: src/assets/less/default.less
================================================
/**
* Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
*
* This file is part of amalia.js
*
* Amalia.js is free software: you can redistribute it and/or modify it under
* the terms of the MIT License
*
* Redistributions of source code, javascript and css minified versions must
* retain the above copyright notice, this list of conditions and the following
* disclaimer
*
* Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission
*
* You should have received a copy of the MIT License along with
* amalia.js. If not, see <https://opensource.org/license/mit/>
*
* Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE.
*/
/**************************************************
****************** LESS VARIABLES *****************
**************************************************/
/***** FONTS ****/
@fontMain: Arial, Helvetica, sans-serif;
/***** COLORS ****/
@BtToolContColor : #6c6c6c;
/**************************************************
****************** THEMES PROJETS *****************
**************************************************/
/***** PLAYER PROJET GEN ****/
@mainColor: #0CF;
@mainBackgroundColor: rgba(19, 231, 240, 0.68);
@mainGradient: linear-gradient(to right, #13e7f0, #0c7abf);
@inverseBackgroundColor: rgba(51, 51, 51, 0.68);
/***** PLAYER TEXTE SYNCRO SNOOPDIC ****/
/*
@mainColor: #0CF;
@mainBackgroundColor: rgba(19, 231, 240, 0.68);
@mainGradient: linear-gradient(to right, #13e7f0, #0c7abf);
*/
/***** PLAYER TEXTE SYNCRO ****/
/*
@mainColor: #bf009a;
@mainBackgroundColor: rgba(191, 0, 154, 0.6);
@mainGradient: linear-gradient(to right, #e55ac9, #96047b);
*/
@import "ajs-animations";
@import "ajs-webfont";
@import "default-style";
@import "player";
@import "plugin";
================================================
FILE: src/assets/less/player-custom-control-bar.less
================================================
/**
* Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA
*
* This file is part of amalia.js
*
* Amalia.js is free software: you can redistribute it and/or modify it under
* the terms of the MIT License
*
* Redistributions of source code, javascript and css minified versions must
* retain the above copyright notice, this list of conditions and the following
* disclaimer
*
* Neither the name of the copyright holder nor the names of its contributors
* may be used to endorse or promote products derived from this software without
* specific prior written permission
*
* You should have received a copy of the MIT License along with
* amalia.js. If not, see <https://opensource.org/license/mit/>
*
* Amalia.js is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
* A PARTICULAR PURPOSE.
*/
/**
* Plugin custom control bar
*/
.ajs .plugin-custom-controlbar {
width: 100%;
background-color: #1d1d1d;
background-image: -webkit-gradient(linear, 100% 0, 0 100%, from(#232323), to(#1d1d1d));
background-image: -webkit-linear-gradient(top, #232323 0%, #1d1d1d 100%);
background-image: -moz-linear-gradient(top, #232323 0%, #1d1d1d 100%);
background-image: -o-linear-gradient(top, #232323 0%, #1d1d1d 100%);
background-image: linear-gradient(#232323, #1d1d1d);
overflow: visible;
margin-bottom: 0px;
z-index: 900;
position: relative;
opacity: .9;
.ajs-row {
margin: 0px;
&:before {
content: " ";
display: table;
}
.ajs-container {
width: 33.33333333%;
float: left;
position: relative;
min-height: 1px;
padding: 0px;
margin: 0px;
height: 110px;
&.left-container {
}
&.middle-container {
}
&.right-container {
}
}
}
.player-base-button {
background-color: none;
line-height: 110px;
margin: 0 auto;
text-align: center;
width: 120px;
color: #fff;
float: right;
cursor: pointer;
}
.player-play-button,
.player-pause-button {
background-color: none;
line-height: 110px;
margin: 0 auto;
text-align: center;
width: 120px;
color: #fff;
&.on {
display: block;
}
&.off {
display: none;
}
span.button-container {
background: #191919;
border: 1px solid #4d4d4d;
border-radius: 50%;
cursor: pointer;
display: inline-block;
height: 90px;
width: 90px;
line-height: 95px;
margin: auto;
position: relative;
vertical-align: middle;
padding: 0px;
font-size: 2em;
@media (max-width: 668px) {
line-height: 70px;
height: 70px;
width: 70px;
padding-top: 1px;
font-size: 1.5em;
}
&:hover {
background: #000;
}
}
}
.player-label {
display: inline-block;
width: 160px;
line-height: 30px;
margin-left: 3px;
margin-right: 3px;
height: 28px;
background: none;
}
.player-timelabel.time-display {
display: block;
height: 100px;
float: left;
line-height: 40px;
padding: 25px 0 0 10px;
.time-current {
color: white;
display: block;
font-size: 2.5em;
@media (max-width: 668px) {
font-size: 1.5em;
}
}
.time-separator {
display: block;
height: 1px;
}
.time-duration {
color: white;
display: block;
text-align: right;
}
}
.player-fullscreen-button {
width: 50px;
display: inline-block;
vertical-align: middle;
text-align: center;
line-height: 100px;
color: #fff;
margin: 10px 0 0 20px;
cursor: pointer;
width: 50px;
display: inline-block;
vertical-align: middle;
text-align: center;
line-height: 100px;
color: #fff;
margin: 10px 0 0 20px;
cursor: pointer;
float: right;
font-size: 2.4em;
}
.player-volume-control {
vertical-align: middle;
padding-top: 25px;
cursor: pointer;
float: right;
font-size: 2em;
@media (max-width: 567px) {
display: none;
}
.volume-control-btn {
position: absolute;
top: 0;
margin-left: 22px;
margin-top: 48px;
color: #FFF;
height: 50px;
/*width: 30px;*/
line-height: 30px;
display: block;
/*bottom: -51px;*/
text-align: center;
cursor: pointer;
}
}
.player-progress-bar {
height: 20px;
margin-bottom: 0px;
overflow: hidden;
background-color: #6a6969;
border-radius: 0px;
clear: both;
position: relative;
text-align: left;
color: #404040;
.buffer-bar {
display: block;
height: 100%;
background-color: #555;
position: relative;
top: 0px;
box-sizing: border-box;
width: 0px;
}
.ui-slider-range {
float: left;
width: 0;
height: 100%;
font-size: 12px;
line-height: 20px;
color: #fff;
text-align: center;
background-color: #58c8b0;
position: absolute;
z-index: 1;
display: block;
border: 0;
background-position: 0 0;
}
.ui-slider-handle {
background-color: #fff;
border-radius: 0%;
cursor: pointer;
float: right;
height: 25px;
right: 0;
width: 25px;
z-index: 2;
text-shadow: none;
top: -.3em;
margin-left: -.6em;
position: absolute;
background-color: #e6e6e6;
background-repeat: no-repeat;
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);
background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
color: #333;
font-size: 13px;
line-height: normal;
border: 1px solid #ccc;
border-bottom-color: #bbb;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-webkit-transition: 0.1s linear background-image;
-moz-transition: 0.1s linear background-image;
-ms-transition: 0.1s linear background-image;
-o-transition: 0.1s linear background-image;
transition: 0.1s linear background-image;
overflow: visible;
}
&.ui-slider .ui-slider-range {
background: @mainGradient;
float: left;
width: 0;
height: 100%;
font-size: 12px;
line-height: 20px;
color: #fff;
text-align: center;
left: 0;
top: 0;
position: absolute;
z-index: 1;
display: block;
border: 0;
background-position: 0 0;
color: #ffffff;
background-color: #0064cd;
background-repeat: repeat-x;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
border-color: #0064cd #006
gitextract_wtstfblr/
├── .gitignore
├── .jshintrc
├── Gruntfile.js
├── LICENSE
├── README.md
├── bower.json
├── package.json
├── releases.md
├── samples/
│ ├── ajs-player.html
│ ├── ajs-plugin-captions.html
│ ├── ajs-plugin-editor.html
│ ├── ajs-plugin-overlay.html
│ ├── ajs-plugin-text-sync.html
│ ├── ajs-plugin-timeline.html
│ ├── ajs-plugin-watermark.html
│ ├── ajs-webfont.html
│ └── css/
│ ├── amalia-js-demo.css
│ └── default.css
├── samples-data/
│ └── examples/
│ └── json/
│ ├── amalia-simple01.json
│ ├── amalia01-ball.json
│ ├── amalia01-events.json
│ ├── amalia01-kf.json
│ ├── amalia01-overlay.json
│ └── amalia01-text.json
├── src/
│ ├── .jshintrc
│ ├── LICENSE
│ ├── THIRD_PARTY_LICENSES
│ ├── assets/
│ │ ├── fonts/
│ │ │ └── ajs-webfont.afm
│ │ ├── less/
│ │ │ ├── ajs-animations.less
│ │ │ ├── ajs-webfont.less
│ │ │ ├── default-style.less
│ │ │ ├── default.less
│ │ │ ├── player-custom-control-bar.less
│ │ │ ├── player.less
│ │ │ ├── plugin-captions.less
│ │ │ ├── plugin-editor.less
│ │ │ ├── plugin-menu-contextuel.less
│ │ │ ├── plugin-overlay.less
│ │ │ ├── plugin-selected-item-editor.less
│ │ │ ├── plugin-storyboard.less
│ │ │ ├── plugin-text-sync.less
│ │ │ ├── plugin-timeline.less
│ │ │ ├── plugin-watermark.less
│ │ │ └── plugin.less
│ │ └── sass/
│ │ ├── _ajs-animations.scss
│ │ ├── _ajs-mixins.scss
│ │ ├── _ajs-webfont.scss
│ │ ├── _default-style.scss
│ │ ├── _player-custom-control-bar.scss
│ │ ├── _player.scss
│ │ ├── _plugin-captions.scss
│ │ ├── _plugin-editor.scss
│ │ ├── _plugin-menu-contextuel.scss
│ │ ├── _plugin-overlay.scss
│ │ ├── _plugin-selected-item-editor.scss
│ │ ├── _plugin-storyboard.scss
│ │ ├── _plugin-text-sync.scss
│ │ ├── _plugin-timeline.scss
│ │ ├── _plugin-watermark.scss
│ │ ├── _plugin.scss
│ │ ├── _plugin_d3js_chart.scss
│ │ └── main.scss
│ ├── helpers/
│ │ ├── browser-feature-detection.js
│ │ ├── html5-helper.js
│ │ └── utilities-helper.js
│ ├── i18n/
│ │ ├── player-error-message-en.js
│ │ └── player-message-en.js
│ ├── ina-player.js
│ ├── log/
│ │ ├── .jshintrc
│ │ └── log-handler.js
│ ├── player/
│ │ ├── base-player.js
│ │ ├── constants/
│ │ │ ├── player-error-code.js
│ │ │ ├── player-event-type.js
│ │ │ └── player-message.js
│ │ ├── loader/
│ │ │ ├── base-loader.js
│ │ │ ├── http-loader.js
│ │ │ └── ws-loader.js
│ │ ├── loaderBase.js
│ │ ├── local-storage-manager.js
│ │ ├── media-factory.js
│ │ ├── media-type-dash-mpeg.js
│ │ ├── media-type-manager.js
│ │ ├── metadata/
│ │ │ ├── localisation-manager.js
│ │ │ └── metadata-manager.js
│ │ ├── parsers/
│ │ │ └── base-parser-metadata.js
│ │ ├── player-html5.js
│ │ ├── plugins/
│ │ │ ├── captions-base.js
│ │ │ ├── context-menu-plugin.js
│ │ │ ├── custom-control-bar.js
│ │ │ ├── plugin-base-multi-blocks.js
│ │ │ ├── plugin-base-simple-block.js
│ │ │ ├── plugin-base.js
│ │ │ ├── plugin-binding-manager.js
│ │ │ └── plugin-manager.js
│ │ ├── shortcuts-manager.js
│ │ └── widgets/
│ │ ├── base-button.js
│ │ ├── cast-button.js
│ │ ├── channel-volume-control-bar.js
│ │ ├── fullscreen-button.js
│ │ ├── jog-shuttle-button.js
│ │ ├── label.js
│ │ ├── pause-button.js
│ │ ├── play-button.js
│ │ ├── progress-bar.js
│ │ ├── time-label.js
│ │ ├── volume-control-bar.js
│ │ └── widget-base.js
│ ├── player-map.js
│ ├── plugins/
│ │ ├── captions/
│ │ │ └── captions.js
│ │ ├── control-bar/
│ │ │ └── progress-bar.js
│ │ ├── d3js-chart/
│ │ │ └── plugin-d3js-chart.js
│ │ ├── editor/
│ │ │ ├── plugin-metadata-block-editor.js
│ │ │ ├── plugin-metadata-item-editor.js
│ │ │ ├── plugin-metadata-items-editor.js
│ │ │ ├── plugin-metadata-items-ref-editor.js
│ │ │ └── plugin-metadata-list-editor.js
│ │ ├── overlay/
│ │ │ ├── draw-base.js
│ │ │ ├── draw-ellipse.js
│ │ │ ├── draw-rect.js
│ │ │ ├── overlay.js
│ │ │ └── spatials-data-parser.js
│ │ ├── storyboard/
│ │ │ ├── base-frame-position-calculator.js
│ │ │ └── plugin-storyboard.js
│ │ ├── text-sync/
│ │ │ ├── component.js
│ │ │ └── text-sync.js
│ │ ├── timeline/
│ │ │ ├── base-component.js
│ │ │ ├── cuepoints-component.js
│ │ │ ├── default-configuration.js
│ │ │ ├── focus-component.js
│ │ │ ├── histogram-component.js
│ │ │ ├── images-component.js
│ │ │ ├── segments-component.js
│ │ │ ├── tic-component.js
│ │ │ ├── time-axis-component.js
│ │ │ ├── timeline.js
│ │ │ ├── visual-component.js
│ │ │ └── zoom-component.js
│ │ ├── watermark/
│ │ │ └── watermark.js
│ │ └── yt-player/
│ │ └── yt-player.js
│ └── utils/
│ ├── jquery-class.js
│ ├── jquery-debouncedresize.js
│ ├── jquery-knob.js
│ ├── jquery.hotkeys.js
│ ├── jquery.ui.touch-punch.js
│ └── raphael_free_transform.js
└── tests/
├── .jshintrc
├── log/
│ ├── logHandler_test.html
│ └── logHandler_test.js
└── player/
├── LoaderBase_test.html
├── LoaderBase_test.js
├── PlayerErrorCode_test.html
├── PlayerErrorCode_test.js
└── data/
├── VideoEntities.json
└── VideoKeyframes.json
SYMBOL INDEX (11 symbols across 4 files)
FILE: src/utils/jquery-class.js
function Class (line 677) | function Class() {
FILE: src/utils/jquery.hotkeys.js
function keyHandler (line 138) | function keyHandler(handleObj) {
FILE: src/utils/jquery.ui.touch-punch.js
function simulateMouseEvent (line 31) | function simulateMouseEvent(event, simulatedType) {
FILE: src/utils/raphael_free_transform.js
function scan (line 936) | function scan(subject) {
function getBBox (line 1002) | function getBBox(distance) {
function getPaperSize (line 1035) | function getPaperSize() {
function applyLimits (line 1050) | function applyLimits(bbox) {
function isWithinBoundaries (line 1167) | function isWithinBoundaries() {
function keepRatio (line 1174) | function keepRatio(axis) {
function cloneObj (line 1185) | function cloneObj(obj) {
function asyncCallback (line 1198) | function asyncCallback(e) {
Condensed preview — 154 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,591K chars).
[
{
"path": ".gitignore",
"chars": 97,
"preview": ".svn\n.bowerrc\nbuild\nbuild-doc\n.idea\nbower_components\nnode_modules\nnpm-debug.log\npackage-lock.json"
},
{
"path": ".jshintrc",
"chars": 234,
"preview": "{\n \"curly\": true,\n \"eqeqeq\": true,\n \"immed\": true,\n \"latedef\": true,\n \"newcap\": true,\n \"noarg\": true,\n"
},
{
"path": "Gruntfile.js",
"chars": 11319,
"preview": "'use strict';\nmodule.exports = function (grunt) {\n require('load-grunt-tasks')(grunt);\n require('time-grunt')(grun"
},
{
"path": "LICENSE",
"chars": 1088,
"preview": "Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n\nPermission is hereby granted, free of charge, to any pe"
},
{
"path": "README.md",
"chars": 380,
"preview": "Amalia.js\n==========\n\nMetadata enriched HTML5 video player\n\nDownload and documentation are available here : http://ina-f"
},
{
"path": "bower.json",
"chars": 614,
"preview": "{\n \"name\" : \"amalia.js\",\n \"version\" : \"1.3.3\",\n \"main\" : \"dist/js/amalia.js.min.js\",\n \"license\" : \"MIT\",\n "
},
{
"path": "package.json",
"chars": 2128,
"preview": "{\n \"name\": \"amalia.js\",\n \"description\": \"\",\n \"homepage\": \"http://ina-foss.github.io/amalia.js\",\n \"author\": \"INA\",\n "
},
{
"path": "releases.md",
"chars": 383,
"preview": "# Release notes\n## 1.3.3\n- License changed to MIT\n## 1.3.2\n - Fix ENDEN/ENDED\n - Change player html5 class with base cla"
},
{
"path": "samples/ajs-player.html",
"chars": 7415,
"preview": "<!DOCTYPE html>\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en\" lang=\"en\">\n<head>\n <meta http-equiv=\"Content"
},
{
"path": "samples/ajs-plugin-captions.html",
"chars": 3861,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-plugin-editor.html",
"chars": 7342,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-plugin-overlay.html",
"chars": 4378,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-plugin-text-sync.html",
"chars": 4244,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-plugin-timeline.html",
"chars": 5370,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-plugin-watermark.html",
"chars": 4019,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Amalia.js</title>\n <meta charset=\"UTF-8\">\n <meta name=\"vi"
},
{
"path": "samples/ajs-webfont.html",
"chars": 43518,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ajs-webfont</title>\n\t\t<style>\n\t\tbody {\n\t\t\tmargin:0;\n\t\t\t"
},
{
"path": "samples/css/amalia-js-demo.css",
"chars": 1091,
"preview": ".header {\n margin-top: 80px;\n text-align: center;\n}\n\n.page-footer {\n margin-bottom: 0px;\n padding: 20px;\n "
},
{
"path": "samples/css/default.css",
"chars": 1315,
"preview": "a {\n color: #008cba;\n text-decoration: none;\n}\na {\n background-color: transparent;\n}\n* {\n -webkit-box-sizing"
},
{
"path": "samples-data/examples/json/amalia-simple01.json",
"chars": 677,
"preview": "{\r\n \"localisation\": [\r\n {\r\n \"sublocalisations\": {\r\n \"localisation\": [\r\n "
},
{
"path": "samples-data/examples/json/amalia01-ball.json",
"chars": 1057,
"preview": "{\r\n \"localisation\": [\r\n {\r\n \"sublocalisations\": {\r\n \"localisation\": [\r\n "
},
{
"path": "samples-data/examples/json/amalia01-events.json",
"chars": 1722,
"preview": "{\r\n \"localisation\": [\r\n {\r\n \"sublocalisations\": {\r\n \"localisation\": [\r\n "
},
{
"path": "samples-data/examples/json/amalia01-kf.json",
"chars": 1995,
"preview": "{\r\n \"localisation\": [\r\n {\r\n \"sublocalisations\": {\r\n \"localisation\": [\r\n "
},
{
"path": "samples-data/examples/json/amalia01-overlay.json",
"chars": 3314,
"preview": "{\n \"localisation\": [\n {\n \"sublocalisations\": {\n \"localisation\": [\n {\n \"shape\": {\n "
},
{
"path": "samples-data/examples/json/amalia01-text.json",
"chars": 3432,
"preview": "{\r\n \"localisation\": [\r\n {\r\n \"sublocalisations\": {\r\n \"localisation\": [\r\n "
},
{
"path": "src/.jshintrc",
"chars": 446,
"preview": "{\n \"curly\": true,\n \"eqeqeq\": true,\n \"immed\": true,\n \"latedef\": true,\n \"newcap\": true,\n \"noarg\": true,\n \"sub\": tru"
},
{
"path": "src/LICENSE",
"chars": 1088,
"preview": "Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n\nPermission is hereby granted, free of charge, to any pe"
},
{
"path": "src/THIRD_PARTY_LICENSES",
"chars": 779,
"preview": "Third-Party Licenses : \n\t-jQuery : easy DOM manipulation framework, MIT license, http://jquery.com \n\t-jQueryClass"
},
{
"path": "src/assets/fonts/ajs-webfont.afm",
"chars": 5198,
"preview": "StartFontMetrics 2.0\nComment Generated by FontForge 20090622\nComment Creation Date: Thu Jul 2 11:16:15 2015\nFontName aj"
},
{
"path": "src/assets/less/ajs-animations.less",
"chars": 2967,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/ajs-webfont.less",
"chars": 62484,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/default-style.less",
"chars": 1770,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/default.less",
"chars": 2056,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/player-custom-control-bar.less",
"chars": 17791,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/player.less",
"chars": 3088,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin-captions.less",
"chars": 1355,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/plugin-editor.less",
"chars": 12625,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin-menu-contextuel.less",
"chars": 2137,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/plugin-overlay.less",
"chars": 4283,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin-selected-item-editor.less",
"chars": 4586,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/plugin-storyboard.less",
"chars": 2500,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/less/plugin-text-sync.less",
"chars": 6215,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin-timeline.less",
"chars": 22079,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin-watermark.less",
"chars": 1210,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/less/plugin.less",
"chars": 1756,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/assets/sass/_ajs-animations.scss",
"chars": 3114,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_ajs-mixins.scss",
"chars": 1640,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_ajs-webfont.scss",
"chars": 29238,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_default-style.scss",
"chars": 1803,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_player-custom-control-bar.scss",
"chars": 23761,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_player.scss",
"chars": 3316,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-captions.scss",
"chars": 1356,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-editor.scss",
"chars": 12135,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-menu-contextuel.scss",
"chars": 2137,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-overlay.scss",
"chars": 4115,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-selected-item-editor.scss",
"chars": 4586,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-storyboard.scss",
"chars": 2500,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-text-sync.scss",
"chars": 5976,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-timeline.scss",
"chars": 21255,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin-watermark.scss",
"chars": 1174,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin.scss",
"chars": 1721,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/_plugin_d3js_chart.scss",
"chars": 3097,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/assets/sass/main.scss",
"chars": 1980,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/helpers/browser-feature-detection.js",
"chars": 4171,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/helpers/html5-helper.js",
"chars": 3221,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/helpers/utilities-helper.js",
"chars": 9902,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/i18n/player-error-message-en.js",
"chars": 1988,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/i18n/player-message-en.js",
"chars": 3832,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/ina-player.js",
"chars": 2606,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/log/.jshintrc",
"chars": 278,
"preview": "{\n \"curly\": true,\n \"eqeqeq\": true,\n \"immed\": true,\n \"latedef\": true,\n \"newcap\": true,\n \"noarg\": true,\n \"sub\": tru"
},
{
"path": "src/log/log-handler.js",
"chars": 3503,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/base-player.js",
"chars": 37102,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/constants/player-error-code.js",
"chars": 5133,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/constants/player-event-type.js",
"chars": 7736,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/constants/player-message.js",
"chars": 8086,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/loader/base-loader.js",
"chars": 5852,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/loader/http-loader.js",
"chars": 3526,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/loader/ws-loader.js",
"chars": 8799,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/loaderBase.js",
"chars": 6466,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/local-storage-manager.js",
"chars": 4707,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/media-factory.js",
"chars": 5935,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/media-type-dash-mpeg.js",
"chars": 2712,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/media-type-manager.js",
"chars": 2601,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/metadata/localisation-manager.js",
"chars": 9912,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/metadata/metadata-manager.js",
"chars": 18903,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/parsers/base-parser-metadata.js",
"chars": 9726,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/player-html5.js",
"chars": 24974,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/plugins/captions-base.js",
"chars": 6908,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/plugins/context-menu-plugin.js",
"chars": 4990,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/plugins/custom-control-bar.js",
"chars": 18529,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/plugins/plugin-base-multi-blocks.js",
"chars": 5435,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/plugins/plugin-base-simple-block.js",
"chars": 2630,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/plugins/plugin-base.js",
"chars": 11026,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/plugins/plugin-binding-manager.js",
"chars": 13040,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/plugins/plugin-manager.js",
"chars": 14139,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/shortcuts-manager.js",
"chars": 4528,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/base-button.js",
"chars": 3165,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/cast-button.js",
"chars": 16101,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/channel-volume-control-bar.js",
"chars": 21385,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/fullscreen-button.js",
"chars": 4155,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/jog-shuttle-button.js",
"chars": 14082,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/label.js",
"chars": 2154,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/pause-button.js",
"chars": 4489,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/play-button.js",
"chars": 4210,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/progress-bar.js",
"chars": 9542,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/player/widgets/time-label.js",
"chars": 4435,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/volume-control-bar.js",
"chars": 9788,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player/widgets/widget-base.js",
"chars": 3107,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/player-map.js",
"chars": 0,
"preview": ""
},
{
"path": "src/plugins/captions/captions.js",
"chars": 8229,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/plugins/control-bar/progress-bar.js",
"chars": 9683,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/d3js-chart/plugin-d3js-chart.js",
"chars": 17632,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/editor/plugin-metadata-block-editor.js",
"chars": 17897,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/editor/plugin-metadata-item-editor.js",
"chars": 21373,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/editor/plugin-metadata-items-editor.js",
"chars": 31849,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/editor/plugin-metadata-items-ref-editor.js",
"chars": 13354,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/editor/plugin-metadata-list-editor.js",
"chars": 12585,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/overlay/draw-base.js",
"chars": 16385,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/overlay/draw-ellipse.js",
"chars": 6020,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/plugins/overlay/draw-rect.js",
"chars": 6281,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/overlay/overlay.js",
"chars": 49969,
"preview": "/**\r\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\r\n *\r\n * This file is part of amalia.js\r\n *\r\n * A"
},
{
"path": "src/plugins/overlay/spatials-data-parser.js",
"chars": 7137,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/storyboard/base-frame-position-calculator.js",
"chars": 1608,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/storyboard/plugin-storyboard.js",
"chars": 13716,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/text-sync/component.js",
"chars": 8081,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/text-sync/text-sync.js",
"chars": 13813,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/base-component.js",
"chars": 38672,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/cuepoints-component.js",
"chars": 10521,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/default-configuration.js",
"chars": 2110,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/focus-component.js",
"chars": 12351,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/histogram-component.js",
"chars": 10294,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/images-component.js",
"chars": 9522,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/segments-component.js",
"chars": 16411,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/tic-component.js",
"chars": 14080,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/time-axis-component.js",
"chars": 19978,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/timeline.js",
"chars": 58942,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/visual-component.js",
"chars": 16396,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/timeline/zoom-component.js",
"chars": 8804,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/watermark/watermark.js",
"chars": 8803,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/plugins/yt-player/yt-player.js",
"chars": 15184,
"preview": "/**\n * Copyright (c) 2015-2023 Institut National de l'Audiovisuel, INA\n *\n * This file is part of amalia.js\n *\n * Amalia"
},
{
"path": "src/utils/jquery-class.js",
"chars": 32060,
"preview": "(function ($) {\n // Several of the methods in this plugin use code adapated from Prototype\n // Prototype JavaScri"
},
{
"path": "src/utils/jquery-debouncedresize.js",
"chars": 1373,
"preview": "/*\n * debouncedresize: special jQuery event that happens once after a window resize\n * \n * latest version and complete R"
},
{
"path": "src/utils/jquery-knob.js",
"chars": 26121,
"preview": "/*!jQuery Knob*/\n/**\n * Downward compatible, touchable dial\n *\n * Version: 1.2.12\n * Requires: jQuery v1.7+\n *\n * Copyri"
},
{
"path": "src/utils/jquery.hotkeys.js",
"chars": 6278,
"preview": "/*jslint browser: true*/\n/*jslint jquery: true*/\n\n/*\n * jQuery Hotkeys Plugin\n * Copyright 2010, John Resig\n * Dual lice"
},
{
"path": "src/utils/jquery.ui.touch-punch.js",
"chars": 5130,
"preview": "/*!\n * jQuery UI Touch Punch 0.2.3\n *\n * Copyright 2011–2014, Dave Furfero\n * Dual licensed under the MIT or GPL Version"
},
{
"path": "src/utils/raphael_free_transform.js",
"chars": 47294,
"preview": "/*\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n */\n(function (root, fact"
},
{
"path": "tests/.jshintrc",
"chars": 438,
"preview": "{\n\t\"curly\": true,\n\t\"eqeqeq\": true,\n\t\"immed\": true,\n\t\"latedef\": true,\n\t\"newcap\": true,\n\t\"noarg\": true,\n\t\"sub\": true,\n\t\"un"
},
{
"path": "tests/log/logHandler_test.html",
"chars": 974,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <title>Test Loghandler</title>\n <!-- Loa"
},
{
"path": "tests/log/logHandler_test.js",
"chars": 998,
"preview": "/*\n * ======== A Handy Little QUnit Reference ======== http://api.qunitjs.com/\n * \n * Test methods: module(name, {[setup"
},
{
"path": "tests/player/LoaderBase_test.html",
"chars": 1084,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <title>Test LoaderBase</title>\n <!-- Loa"
},
{
"path": "tests/player/LoaderBase_test.js",
"chars": 1784,
"preview": "/*\n ======== A Handy Little QUnit Reference ========\n http://api.qunitjs.com/\n \n Test methods:\n module(name, {[setup][ ,"
},
{
"path": "tests/player/PlayerErrorCode_test.html",
"chars": 1113,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <title>Test PlayerErrorCode</title>\n <!-"
},
{
"path": "tests/player/PlayerErrorCode_test.js",
"chars": 1718,
"preview": "/*\n ======== A Handy Little QUnit Reference ========\n http://api.qunitjs.com/\n \n Test methods:\n module(name, {[setup][ ,"
},
{
"path": "tests/player/data/VideoEntities.json",
"chars": 1537,
"preview": "\n{\n \"message\": \"Video 2305843779355017216 and dictionary 1 found\",\n \"status\": 0,\n \"data\": {\n \"data\": [\n "
},
{
"path": "tests/player/data/VideoKeyframes.json",
"chars": 132908,
"preview": "\n{\n \"message\": \"Video 2305843779355017216 found\",\n \"status\": 0,\n \"data\": {\n \"localisation\": [\n "
}
]
About this extraction
This page contains the full source code of the ina-foss/amalia.js GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 154 files (1.4 MB), approximately 366.2k tokens, and a symbol index with 11 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.