Exemplo n.º 1
0
        public Tuple<string, string, WriteableResult, bool> ScanSingleMediaFile( string fileName, bool queryArtwork = true)
        {
            try
            {
                var getFileAudioFingerPrint = AcoustID.fingerPrintScanner.FingerPrint( fileName );
                var queryMetaDataFromFingerPrint = AcoustID.QueryAPI( AcoustID.DEFAULT_METADATA_QUERY, getFileAudioFingerPrint );

                JSON_Result jsonSerializedObject = JsonConvert.DeserializeObject<JSON_Result>( queryMetaDataFromFingerPrint );
                WriteableResult writeableResult = new WriteableResult( jsonSerializedObject, fileName, queryArtwork, 4 );

                int indexOfFinalDirectory = fileName.LastIndexOf( "\\" ) + 1;
                string partialFileName = fileName.Substring( indexOfFinalDirectory );
                Tuple<string, string, WriteableResult, bool> ScanItem = new Tuple<string, string, WriteableResult, bool>( fileName, partialFileName, writeableResult, false );
                return ScanItem;
            }
            catch ( Exception ex )
            {
                ExceptionList.Add( new Tuple<string, string>( fileName, ex.Message + System.Environment.NewLine + ex.StackTrace ) );
                return null;
            }
        }
Exemplo n.º 2
0
        // Creates a TabControl for all Writeable Results from the scanned item
        // If downloadArtwork is true, then this function will query http://coverartarchive.org for the
        // file's artwork based on it's MusicBrainz ReleaseID
        TabControl CreateWriteableResultTabControl( WriteableResult scannedFile, MediaFile mf, bool downloadArtwork )
        {
            TabControl tc = new TabControl( );

            try
            {
                tc.Name = "tcWriteableResultOptions";
                // for format testing
                tc.Background = System.Windows.Media.Brushes.CadetBlue;

                // AcoustID scanner logic, hardcoded constructor arguments
                var tabItems = CreateResultOptionTabItems( scannedFile.WriteableResultOptions, mf, downloadArtwork );

                // If there are writeable results, then each result tabitem will be added to the TabControl
                if ( tabItems.Count > 0 )
                {
                    foreach ( TabItem tabItem in tabItems )
                    {
                        tc.Items.Add( tabItem );
                    }
                }
                else
                {
                    try
                    {
                        var zeroResultTabItem = CreateZeroResultOptionTabItem( mf );
                        tc.Items.Add( zeroResultTabItem );
                        SetTabControlStyleToHideTabItemHeaders( tc );
                        tc.SelectedItem = tc.Items [ 0 ];
                    }
                    catch
                    {
                        MessageBox.Show("hhhh");
                    }
                }
            }
            catch(Exception ex)
            {
                MessageBox.Show( ex.Message + System.Environment.NewLine + ex.StackTrace );
            }

            return tc;
        }
Exemplo n.º 3
0
        //
        TabItem CreateFileTabItem( WriteableResult scannedFile, MediaFile mf, bool downloadArtwork )
        {
            TabItem tabItem = new TabItem( );
            tabItem.Name = SetTabItemName( mf.PartialFileName, tabItem );
            tabItem.Header = tabItem.Name;
            // Creates the primary Grid for the the tcFileInformation TabControl
            // Each column will contain a sub Grid
            // This Grid will named by the associated MediaFile's PartialFileName
            // for mapping and selection purposes
            Grid primaryGrid = new Grid( );
            primaryGrid.Name = SetSubGridName( mf.PartialFileName, primaryGrid );

            primaryGrid.ColumnDefinitions.Add( new ColumnDefinition( ) );
            primaryGrid.ColumnDefinitions.Add( new ColumnDefinition( ) );

            Grid queryGrid = new Grid( );
            queryGrid.Name = "queryGrid";
            Grid.SetColumn( queryGrid, 0 );

            // queryGrid structure ---->
            queryGrid.RowDefinitions.Add( new RowDefinition( ) );
            queryGrid.RowDefinitions.Add( new RowDefinition( ) );
            // queryGrid structure ----!

            Grid gridWriteableResults = new Grid( );
            gridWriteableResults.RowDefinitions.Add( new RowDefinition( ) );
            gridWriteableResults.RowDefinitions.Add( new RowDefinition( ) );

            queryGrid.RowDefinitions [ 0 ].Height = new System.Windows.GridLength( 150 );

            TabControl tcResults = CreateWriteableResultTabControl( scannedFile, mf, downloadArtwork );
            Grid.SetRow( tcResults, 1 );
            queryGrid.Children.Add( tcResults );

            // mediafile specific grid, the second paramter is a form specific global to name the MediaFile specific grids
            Grid mfGrid = CreateMediaFileTabItem( mf, ++NumberOfMediaFiles );
            Grid.SetColumn( mfGrid, 1 );
            primaryGrid.Children.Add( mfGrid );

            // Add the constructed subgrids to the primaryGrid and then set the TabItem content to primaryGrid
            primaryGrid.Children.Add( queryGrid );

            tabItem.Content = primaryGrid;
            return tabItem;
        }