[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
private Audio scannedTrack;\r
\r
- /// <summary>\r
- /// The track name.\r
- /// </summary>\r
private string trackName;\r
\r
#endregion\r
this.Bitrate = 160;\r
this.DRC = 0;\r
this.ScannedTrack = new Audio();\r
+ this.TrackName = string.Empty;\r
}\r
\r
/// <summary>\r
this.mixDown = track.MixDown;\r
this.sampleRate = track.SampleRate;\r
this.scannedTrack = track.ScannedTrack ?? new Audio();\r
+ this.TrackName = track.TrackName;\r
}\r
\r
#endregion\r
{\r
get { return this; }\r
}\r
+\r
+ /// <summary>\r
+ /// Gets or sets the track name.\r
+ /// </summary>\r
+ public string TrackName\r
+ {\r
+ get\r
+ {\r
+ return this.trackName;\r
+ }\r
+ set\r
+ {\r
+ this.trackName = value;\r
+ }\r
+ }\r
+\r
#endregion\r
}\r
}
\ No newline at end of file
List<int> bitrates = new List<int>();\r
List<double> drcs = new List<double>();\r
List<double> gains = new List<double>();\r
+ List<string> trackNames = new List<string>();\r
\r
// No Audio\r
if (audioTracks.Count == 0)\r
\r
// Gain (--gain)\r
gains.Add(track.IsPassthru ? 0 : track.Gain);\r
+\r
+ // Audio Track Name (--aname)\r
+ trackNames.Add(track.TrackName);\r
}\r
\r
// Audio Track (-a)\r
if (audioItems.Trim() != String.Empty)\r
query += " --gain " + audioItems;\r
\r
+ audioItems = string.Empty; // Reset for another pass.\r
+ firstLoop = true;\r
+\r
+ // Audio Track Names (--aname)\r
+ bool foundTrackName = false;\r
+ foreach (string trackName in trackNames)\r
+ {\r
+ if (!string.IsNullOrEmpty(trackName))\r
+ {\r
+ foundTrackName = true;\r
+ }\r
+\r
+ if (firstLoop)\r
+ {\r
+ audioItems = string.IsNullOrEmpty(trackName) ? "\"\"" : string.Format("\"{0}\"", trackName.Trim());\r
+ firstLoop = false;\r
+ }\r
+ else\r
+ audioItems += "," + (string.IsNullOrEmpty(trackName) ? "\"\"" : string.Format("\"{0}\"", trackName.Trim()));\r
+ }\r
+ if (foundTrackName)\r
+ query += string.Format(" --aname={0}", audioItems);\r
+\r
// Passthru Settings\r
if (task.AllowedPassthruOptions != null)\r
{\r
<Audio:AudioBitrateConverter x:Key="audioBitrateConverter" />\r
<Audio:AudioEncoderConverter x:Key="audioEncoderConverter" />\r
</UserControl.Resources>\r
+ \r
<Grid>\r
<Grid.RowDefinitions>\r
<RowDefinition Height="Auto" />\r
<ListBox.ItemTemplate>\r
<DataTemplate>\r
\r
+ \r
+ \r
+ \r
<Grid HorizontalAlignment="Stretch">\r
+ <Grid.RowDefinitions>\r
+ <RowDefinition Height="Auto" />\r
+ <RowDefinition Height="Auto" />\r
+ </Grid.RowDefinitions>\r
<Grid.ColumnDefinitions>\r
<ColumnDefinition Width="Auto" />\r
<ColumnDefinition Width="*" />\r
</Grid.ColumnDefinitions>\r
\r
<!-- Marker -->\r
- <Image Grid.Column="0"\r
+ <Image Grid.Column="0" Grid.Row="0"\r
Width="16"\r
Height="16"\r
Margin="10,0,10,0"\r
Source="Images/Movies.png" />\r
\r
<!-- Settings -->\r
- <Grid Grid.Column="1" HorizontalAlignment="Stretch">\r
+ <Grid Grid.Column="1" Grid.Row="0" HorizontalAlignment="Stretch">\r
<Grid.ColumnDefinitions>\r
<ColumnDefinition Width="Auto" />\r
<ColumnDefinition Width="*" MaxWidth="160" />\r
Value="{Binding Gain,\r
Mode=TwoWay}" />\r
\r
+ <ToggleButton Name="advancedOptionsToggle" VerticalAlignment="Center" Grid.Column="6" Grid.Row="1" Grid.ColumnSpan="2"\r
+ FontWeight="Bold" Height="22" Padding="4,0" HorizontalAlignment="Left" >\r
+ <ToggleButton.Style>\r
+ <Style TargetType="{x:Type ToggleButton}">\r
+ <Setter Property="Content" Value="Show Advanced"/>\r
+ <Style.Triggers>\r
+ <Trigger Property="IsChecked" Value="True">\r
+ <Setter Property="Content" Value="Hide Advanced"/>\r
+ </Trigger>\r
+ <Trigger Property="IsChecked" Value="False">\r
+ <Setter Property="Content" Value="Show Advanced"/>\r
+ </Trigger>\r
+ </Style.Triggers>\r
+ </Style>\r
+ </ToggleButton.Style>\r
+ </ToggleButton>\r
+ \r
</Grid>\r
\r
<!-- Delete -->\r
- <Image Grid.Column="2"\r
- Width="16"\r
- Height="16"\r
- Margin="10,0,10,0"\r
- Source="Images/delete.png">\r
- <i:Interaction.Triggers>\r
- <i:EventTrigger EventName="MouseDown">\r
- <cal:ActionMessage MethodName="Remove">\r
- <cal:Parameter Value="{Binding}" />\r
- </cal:ActionMessage>\r
- </i:EventTrigger>\r
- </i:Interaction.Triggers>\r
- </Image>\r
+ <StackPanel Grid.Column="2" Grid.Row="0" VerticalAlignment="Center">\r
+ <Image Width="16" Height="16" Margin="10,0,10,0" Source="Images/delete.png">\r
+ <i:Interaction.Triggers>\r
+ <i:EventTrigger EventName="MouseDown">\r
+ <cal:ActionMessage MethodName="Remove">\r
+ <cal:Parameter Value="{Binding}" />\r
+ </cal:ActionMessage>\r
+ </i:EventTrigger>\r
+ </i:Interaction.Triggers>\r
+ </Image>\r
+ </StackPanel>\r
\r
+ <!-- Hidden Row -->\r
+ <Grid Grid.Column="1" Grid.Row="1" HorizontalAlignment="Stretch" Visibility="{Binding IsChecked, ElementName=advancedOptionsToggle, Converter={StaticResource boolToVisConverter}}">\r
+ <StackPanel Orientation="Horizontal" Margin="0,5,0,5" >\r
+ <TextBlock Text="Track Name:" VerticalAlignment="Center" FontWeight="Bold" Margin="0,0,5,0" />\r
+ <TextBox Text="{Binding TrackName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" Width="138" Height="22" />\r
+ </StackPanel>\r
+ \r
+ </Grid>\r
</Grid>\r
\r
-\r
</DataTemplate>\r
</ListBox.ItemTemplate>\r
</ListBox>\r