示例#1
0
        static BrowseItem fileInfoToBrowseItem(FileInfo fi, bool getMediaDuration, bool setNameToFullPath)
        {
            BrowseItem output = new BrowseItem();

            // Name / path
            if (setNameToFullPath)
                output.Name = fi.FullName;
            else
                output.Name = fi.Name;

            output.Size = fi.Length;
            output.IsDirectory = false;

            if (getMediaDuration)
            {
                try
                {
                    TimeSpan mDuration = DurationOfMediaFile_OSSpecific(fi.FullName);
                    output.Duration = mDuration.TotalSeconds;
                }
                catch  (Exception ex)
                {
                    Functions.WriteLineToLogFileIfAdvanced("Could not get duration of media file: " + fi.FullName + " :");
                    Functions.WriteExceptionToLogFileIfAdvanced(ex);
                }

            }

            return output;
        }
示例#2
0
        static BrowseItem stringToBrowseItem(string strPath, bool isDirectory, List<string> Filters)
        {
            if (isDirectory)
            {
                if (! Directory.Exists(strPath)) return null;
                DirectoryInfo di = new DirectoryInfo(strPath);
                BrowseItem folderItem = directoryInfoToBrowseItem(di, Filters);
                // Override normal behaviour, which is not to include the full path in the name
                // (because this current method is used by the root folder selection, so there is no base folder to set)
                folderItem.Name = strPath;
                return folderItem;
            }
            else
            {
                if (!File.Exists(strPath)) return null;

                BrowseItem output = new BrowseItem();
                output.Name = strPath;
                output.IsDirectory = false;

                return output;
            }
        }
示例#3
0
        static BrowseItem directoryInfoToBrowseItem(DirectoryInfo di,  List<string> Filters)
        {
            BrowseItem output = new BrowseItem();
            output.Name = di.Name;
            output.IsDirectory = true;

            // Number of Items
            int numberOfSubdirectories = di.GetDirectories().Count();
            int numberOfFiles = 0;
            foreach (string filter in Filters)
            {
                numberOfFiles += di.GetFiles(filter).Count();
            }
            output.Items = numberOfSubdirectories + numberOfFiles;

            return output;
        }