Exemplo n.º 1
0
 private void CameraFileSort_radioButton3_CheckedChanged(object sender, EventArgs e)
 {
     _cameraFileSortType = tSortType.SORT_BY_DATE;
     ResortCameraFileList();
 }
Exemplo n.º 2
0
        private void MakeCopyGuessByDate(int camNum, int numMovieFilesToGuess)
        {
            if (_previousCamRoot == null)
            {
                return;
            }

            if (_previousSources == null)
            {
                return;
            }

            // start by aligning movie from cam directory with movies in copy list by Date

            tSortType tempSortType = _cameraFileSortType;

            _cameraFileSortType = tSortType.SORT_BY_DATE;

            List <DirectoryOrFile> moviesOnPrevCam = new List <DirectoryOrFile>();

            _previousCamRoot.SortBy(_cameraFileSortType);
            TraverseLoadMovieList(ref _previousCamRoot, ref moviesOnPrevCam);

            for (int i = 0; i < moviesOnPrevCam.Count; i++)
            {
                Console.WriteLine("Guess: " + i + " \"" + moviesOnPrevCam[i].Name() + "\" " + File.GetLastWriteTime(moviesOnPrevCam[i].Path()).ToString());
            }

            List <DirectoryOrFile> moviesOnThisCam = new List <DirectoryOrFile>();

            _camRoot.SortBy(_cameraFileSortType);
            TraverseLoadMovieList(ref _camRoot, ref moviesOnThisCam);

            _cameraFileSortType = tempSortType;

            for (int i = 0; i < moviesOnThisCam.Count; i++)
            {
                Console.WriteLine("New: " + i + " \"" + moviesOnThisCam[i].Name() + "\" " + File.GetLastWriteTime(moviesOnThisCam[i].Path()).ToString());
            }

            // _previoiusSources is list of movies selected for copy
            // moviesOnThisCam is sorted list of movies on camera directory being querried
            // - Find selected movie timestamp and select closest movie from moviesOnThisCam
            for (int i = 0; i < numMovieFilesToGuess; i++)
            {
                int      closestDateMatch = -1;
                DateTime sourceDT         = File.GetLastWriteTime(_previousSources[i].Path());
                long     minDelta         = 0;

                int j = 0;
                for (j = 0; j < moviesOnThisCam.Count; j++)
                {
                    DateTime thisDT = File.GetLastWriteTime(moviesOnThisCam[j].Path());
                    long     delta  = Math.Abs(thisDT.Ticks - sourceDT.Ticks);

                    if (j == 0)
                    {
                        closestDateMatch = j;
                        minDelta         = delta;
                    }
                    else if (delta < minDelta)
                    {
                        closestDateMatch = j;
                        minDelta         = delta;
                    }
                }

                j = closestDateMatch;
                // found it
                _sources.Add(moviesOnThisCam[j]);
                IngressListBoxItem ib = new IngressListBoxItem();
                ib.DisplayName = moviesOnThisCam[j].Name();
                ib.Identifier  = moviesOnThisCam[j];
                ib.CamNum      = camNum;
                ib.SceneName   = _previousDestinationScenes[i];
                SourceListBox.Items.Add(ib);
                _destinationScenes.Add(_previousDestinationScenes[i]);
                _sourceCams.Add(camNum);
            }
        }