switch to new FFME control

This commit is contained in:
Paddy Xu
2017-07-29 22:29:06 +03:00
parent 882078cd60
commit 6c64aa7c3d
12 changed files with 6700 additions and 6692 deletions

View File

@@ -58,6 +58,24 @@ namespace QuickLook.Plugin.VideoViewer
}
}
public sealed class BooleanToVisibilityVisibleConverter : DependencyObject, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return Visibility.Visible;
var v = (bool) value;
return v ? Visibility.Visible : Visibility.Hidden;
}
object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
public sealed class BooleanToVisibilityHiddenConverter : DependencyObject, IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
@@ -78,8 +96,7 @@ namespace QuickLook.Plugin.VideoViewer
public class TimeSpanToSecondsConverter : IValueConverter
{
public object Convert(object value, Type targetType,
object parameter, CultureInfo culture)
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value is TimeSpan) return ((TimeSpan) value).TotalSeconds;
if (value is Duration)
@@ -88,15 +105,29 @@ namespace QuickLook.Plugin.VideoViewer
return 0d;
}
public object ConvertBack(object value, Type targetType,
object parameter, CultureInfo culture)
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
var result = TimeSpan.FromTicks((long) Math.Round(TimeSpan.TicksPerSecond * (double) value, 0));
// Do the conversion from visibility to bool
if (targetType == typeof(TimeSpan)) return result;
if (targetType == typeof(Duration)) return new Duration(result);
return Activator.CreateInstance(targetType);
}
}
public class DurationToTimeSpanConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
var val = (Duration) value;
return val.HasTimeSpan ? val.TimeSpan : TimeSpan.Zero;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}