]> granicus.if.org Git - handbrake/commitdiff
WinGui: Add Audio Track Name option back in. For now, I've used a toggle button on...
authorsr55 <sr55.hb@outlook.com>
Sun, 5 Aug 2012 15:02:10 +0000 (15:02 +0000)
committersr55 <sr55.hb@outlook.com>
Sun, 5 Aug 2012 15:02:10 +0000 (15:02 +0000)
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4890 b64f7644-9d1e-0410-96f1-a4d463321fa5

win/CS/HandBrake.ApplicationServices/Model/Encoding/AudioTrack.cs
win/CS/HandBrake.ApplicationServices/Utilities/QueryGeneratorUtility.cs
win/CS/HandBrakeWPF/Views/AudioView.xaml

index 7af4806f7d63f5c665c59ce5ed73a8aca7ffc42d..6e5803c097e858c1706193270a664a109352ea2a 100644 (file)
@@ -63,9 +63,6 @@ namespace HandBrake.ApplicationServices.Model.Encoding
         [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]\r
         private Audio scannedTrack;\r
 \r
-        /// <summary>\r
-        /// The track name.\r
-        /// </summary>\r
         private string trackName;\r
 \r
         #endregion\r
@@ -84,6 +81,7 @@ namespace HandBrake.ApplicationServices.Model.Encoding
             this.Bitrate = 160;\r
             this.DRC = 0;\r
             this.ScannedTrack = new Audio();\r
+            this.TrackName = string.Empty;\r
         }\r
 \r
         /// <summary>\r
@@ -102,6 +100,7 @@ namespace HandBrake.ApplicationServices.Model.Encoding
             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
@@ -352,6 +351,22 @@ namespace HandBrake.ApplicationServices.Model.Encoding
         {\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
index a3c84f0891611cf800e5611b5d02252f75ce6f51..c22ef69265c56a29aadd6ecb0dbab0217587fe49 100644 (file)
@@ -494,6 +494,7 @@ namespace HandBrake.ApplicationServices.Utilities
             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
@@ -526,6 +527,9 @@ namespace HandBrake.ApplicationServices.Utilities
 \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
@@ -645,6 +649,29 @@ namespace HandBrake.ApplicationServices.Utilities
             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
index a014c4e683ea55fd6eda5be7187af7a5da989f97..4e9c6d92f47c6a0406769749f030f7287a72770c 100644 (file)
@@ -20,6 +20,7 @@
         <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