Compare commits
3 commits
3eb6e3f432
...
bd7aedb116
| Author | SHA1 | Date | |
|---|---|---|---|
| bd7aedb116 | |||
| cebfedfdd4 | |||
| 39229c99a3 |
5 changed files with 32 additions and 3 deletions
|
|
@ -618,6 +618,16 @@ Ox.URL = function(options) {
|
|||
});
|
||||
}
|
||||
|
||||
function isDate(str) {
|
||||
var values = /^(-?\d+)-?(\d+)?-?(\d+)? ?(\d+)?:?(\d+)?:?(\d+)?\.?(\d+)?$/
|
||||
.exec(str);
|
||||
return Boolean(
|
||||
values &&
|
||||
parseInt(values[1]) <= 9999 &&
|
||||
(!values[2] || parseInt(values[2]) <= 12) &&
|
||||
(!values[3] || parseInt(values[3]) <= 31)
|
||||
)
|
||||
}
|
||||
|
||||
function getSpanType(str, types) {
|
||||
Ox.Log('Core', 'getSpanType', str, types)
|
||||
|
|
@ -633,7 +643,7 @@ Ox.URL = function(options) {
|
|||
: canBeLocation && length == 4 ? 'location'
|
||||
// leaves us with [-]D[.D][,[-]D[.D]]
|
||||
: canBeDuration ? 'duration'
|
||||
: canBeDate && !/\./.test(str) && !/^\d{7}$/.test(str) && !/^\d{8}$/.test(str) ? 'date'
|
||||
: canBeDate && isDate(str) ? 'date'
|
||||
: canBeLocation && length == 2 ? 'location'
|
||||
: canBeNumber && /^\d+$/.test(str) ? 'number'
|
||||
: canBeString && str.length ? 'string'
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ Ox.TableList = function(options, self) {
|
|||
.addClass('OxHead')
|
||||
.css({
|
||||
right: self.options.scrollbarVisible
|
||||
? Ox.UI.SCROLLBAR_SIZE + 'px' : 0
|
||||
? Math.max(Ox.UI.SCROLLBAR_SIZE, 8) + 'px' : 0
|
||||
})
|
||||
.appendTo(that.$bar);
|
||||
that.$head.$content.addClass('OxTitles');
|
||||
|
|
|
|||
|
|
@ -237,7 +237,9 @@ Ox.VideoAnnotationPanel = function(options, self) {
|
|||
setPoint('in', self.options.position);
|
||||
},
|
||||
key_k: function togglePlaybackRate() {
|
||||
that.options({playbackRate: self.options.playbackRate == 1 ? 2 : 1});
|
||||
that.options({
|
||||
playbackRate: self.options.playbackRate == 1 ? 2 : self.options.playbackRate == 2 ? 0.5 : 1
|
||||
});
|
||||
},
|
||||
key_l: toggleLoop,
|
||||
key_left: function() {
|
||||
|
|
|
|||
|
|
@ -321,6 +321,11 @@ Ox.VideoPlayer = function(options, self) {
|
|||
key_g: function() {
|
||||
goToNext('result', 1);
|
||||
},
|
||||
key_k: function togglePlaybackRate() {
|
||||
that.options({
|
||||
playbackRate: self.options.playbackRate == 1 ? 2 : self.options.playbackRate == 2 ? 0.5 : 1
|
||||
});
|
||||
},
|
||||
key_l: toggleLoop,
|
||||
key_left: function() {
|
||||
setPosition(self.options.position - self.secondsPerFrame);
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ Ox.VideoPlayerPanel <f> VideoPlayerPanel Object
|
|||
key_* <!> key_*
|
||||
muted <!> muted
|
||||
paused <!> paused
|
||||
playbackRate: <n|1> playback rate
|
||||
position <!> position
|
||||
resizecalendar <!> resizecalendar
|
||||
resolution <!> resolution
|
||||
|
|
@ -62,6 +63,7 @@ Ox.VideoPlayerPanel = function(options, self) {
|
|||
muted: false,
|
||||
out: 0,
|
||||
paused: true,
|
||||
playbackRate: 1,
|
||||
playInToOut: false,
|
||||
position: 0,
|
||||
poster: '',
|
||||
|
|
@ -106,6 +108,11 @@ Ox.VideoPlayerPanel = function(options, self) {
|
|||
paused: function() {
|
||||
self.$video.options({paused: self.options.paused});
|
||||
},
|
||||
playbackRate: function() {
|
||||
self.$video.options({
|
||||
playbackRate: self.options.playbackRate
|
||||
});
|
||||
},
|
||||
position: function() {
|
||||
self.$video.options({position: self.options.position});
|
||||
self.$timeline.options({position: self.options.position});
|
||||
|
|
@ -167,6 +174,11 @@ Ox.VideoPlayerPanel = function(options, self) {
|
|||
self.$annotationPanel.options({selected: ''});
|
||||
setPoint('in', self.options.position, false, true);
|
||||
},
|
||||
key_k: function togglePlaybackRate() {
|
||||
that.options({
|
||||
playbackRate: self.options.playbackRate == 1 ? 2 : self.options.playbackRate == 2 ? 0.5 : 1
|
||||
});
|
||||
},
|
||||
key_l: toggleLoop,
|
||||
key_left: function() {
|
||||
movePositionBy(-1 / self.options.fps);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue