public SeekableTrackInfoDisplay()
{
Spacing = 3;
Children.Add (cover_art = new CoverArtDisplay ());
Children.Add (new StackPanel () {
Orientation = Orientation.Vertical,
Spacing = 4,
Children = {
(title = new TextBlock () { Opacity = text_opacity }),
(seek_bar = new Slider ()),
(time_bar = new StackPanel () {
Spacing = 10,
Children = {
(elapsed = new TextBlock () { HorizontalAlignment = 0.0, Opacity = text_opacity + 0.25 }),
(seek_to = new TextBlock () { HorizontalAlignment = 0.5, Opacity = text_opacity + 0.25 }),
(remaining = new TextBlock () { HorizontalAlignment = 1.0, Opacity = text_opacity })
}
})
}
});
seek_to.Opacity = 0;
seek_to_animation = new DoubleAnimation ("Opacity");
seek_to_animation.Repeat (1);
seek_bar.PendingValueChanged += (o, e) => OnSeekPendingValueChanged (seek_bar.PendingValue);
seek_bar.ValueChanged += (o, e) => OnSeekValueChanged (seek_bar.Value);
UpdateMetadataDisplay ();
BuildTransitionAnimation ();
}