diff --git a/Designer/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Designer/obj/Release/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index aa8f547..0000000 Binary files a/Designer/obj/Release/DesignTimeResolveAssemblyReferences.cache and /dev/null differ diff --git a/Designer/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Designer/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 28bd64f..0000000 Binary files a/Designer/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Designer/obj/Release/Designer.FormAbout.resources b/Designer/obj/Release/Designer.FormAbout.resources deleted file mode 100644 index a0c1f97..0000000 Binary files a/Designer/obj/Release/Designer.FormAbout.resources and /dev/null differ diff --git a/Designer/obj/Release/Designer.FormDescription.resources b/Designer/obj/Release/Designer.FormDescription.resources deleted file mode 100644 index a0c1f97..0000000 Binary files a/Designer/obj/Release/Designer.FormDescription.resources and /dev/null differ diff --git a/Designer/obj/Release/Designer.FormMain.resources b/Designer/obj/Release/Designer.FormMain.resources deleted file mode 100644 index a0c1f97..0000000 Binary files a/Designer/obj/Release/Designer.FormMain.resources and /dev/null differ diff --git a/Designer/obj/Release/Designer.Properties.Resources.resources b/Designer/obj/Release/Designer.Properties.Resources.resources deleted file mode 100644 index 998454e..0000000 Binary files a/Designer/obj/Release/Designer.Properties.Resources.resources and /dev/null differ diff --git a/Designer/obj/Release/Designer.csproj.CopyComplete b/Designer/obj/Release/Designer.csproj.CopyComplete deleted file mode 100644 index e69de29..0000000 diff --git a/Designer/obj/Release/Designer.csproj.CoreCompileInputs.cache b/Designer/obj/Release/Designer.csproj.CoreCompileInputs.cache deleted file mode 100644 index 5e103b6..0000000 --- a/Designer/obj/Release/Designer.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -a93d5f58ca8adf416bd684695e6a286211e5abfd diff --git a/Designer/obj/Release/Designer.csproj.FileListAbsolute.txt b/Designer/obj/Release/Designer.csproj.FileListAbsolute.txt deleted file mode 100644 index 1588654..0000000 --- a/Designer/obj/Release/Designer.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,23 +0,0 @@ -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Designer.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Designer.exe -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Designer.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\ProgLib.dll -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Questionnaire.dll -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Ionic.Zip.dll -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\taglib-sharp.dll -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\CoreAudioApi.dll -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\Questionnaire.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Designer\bin\Release\ProgLib.pdb -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Designer.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Designer.exe -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Designer.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.csprojAssemblyReference.cache -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.FormAbout.resources -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.FormDescription.resources -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.FormMain.resources -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.Properties.Resources.resources -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.csproj.GenerateResource.cache -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.csproj.CoreCompileInputs.cache -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.csproj.CopyComplete -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.exe -C:\Users\Александр Макаров\source\repos\Опросник\Designer\obj\Release\Designer.pdb diff --git a/Designer/obj/Release/Designer.csproj.GenerateResource.cache b/Designer/obj/Release/Designer.csproj.GenerateResource.cache deleted file mode 100644 index 67a5051..0000000 Binary files a/Designer/obj/Release/Designer.csproj.GenerateResource.cache and /dev/null differ diff --git a/Designer/obj/Release/Designer.csprojAssemblyReference.cache b/Designer/obj/Release/Designer.csprojAssemblyReference.cache deleted file mode 100644 index e676aad..0000000 Binary files a/Designer/obj/Release/Designer.csprojAssemblyReference.cache and /dev/null differ diff --git a/Designer/obj/Release/Designer.exe b/Designer/obj/Release/Designer.exe deleted file mode 100644 index bb4a85f..0000000 Binary files a/Designer/obj/Release/Designer.exe and /dev/null differ diff --git a/Designer/obj/Release/Designer.pdb b/Designer/obj/Release/Designer.pdb deleted file mode 100644 index 5f32bb2..0000000 Binary files a/Designer/obj/Release/Designer.pdb and /dev/null differ diff --git a/Designer/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Designer/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index 6f563cc..0000000 Binary files a/Designer/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/Designer/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Designer/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Designer/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Designer/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Designer/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Designer/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/bin/Release/ProgLib.dll b/Questionnaire/bin/Release/ProgLib.dll deleted file mode 100644 index 81b3cfa..0000000 Binary files a/Questionnaire/bin/Release/ProgLib.dll and /dev/null differ diff --git a/Questionnaire/bin/Release/ProgLib.pdb b/Questionnaire/bin/Release/ProgLib.pdb deleted file mode 100644 index 7396f3b..0000000 Binary files a/Questionnaire/bin/Release/ProgLib.pdb and /dev/null differ diff --git a/Questionnaire/bin/Release/ProgLib.xml b/Questionnaire/bin/Release/ProgLib.xml deleted file mode 100644 index da2aa48..0000000 --- a/Questionnaire/bin/Release/ProgLib.xml +++ /dev/null @@ -1,106219 +0,0 @@ - - - - ProgLib - - - - - Перемещает указанный . - - - - - - - - Изменяет размер указанного . - - - - - - - - Изменяет цвет свойства указанного . - - - - - - - - - Constructor - - If true, only one animation is supported. The current animation will be replaced with the new one. If false, a new animation is added to the list. - - - - Проверяет, является ли строка адресом звукового файла. - - - - - - - Проверяет, является ли строка адресом интернет радиостанции. - - - - - - - Проверяет, является ли строка адресом файла плейлиста. - - - - - - - Возвращает значение типа , на которое ссылается адрес. - - - - - - - Возврящает список форматов звуковых файлов. - - - - - Возвращает список форматов файлов плейлистов. - - - - - Предоставляет свойства и методы для работы с метаданными звукового файла. - - - - - Инициализирует пустой экземпляр класса для работы с метаданными звукового файла. - - - - - Инициализирует новый экземпляр класса для работы с метаданными звукового файла. - - - - - - Экземпляр для работы с метаданными версии ID3v1 - - - - - Экземпляр для работы с метаданными версии ID3v2 - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Создаёт заданное множество . - - - - - - Визуально отображает данные. - - - - - - Предоставляет методы для работы с файлами плейлистов. - - - - - Инициализирует новый экземпляр для работы с плейлистом. - - - - - - Инициализирует новый экземпляр для работы с плейлистом. - - Назвние плейлиста - Список записей - - - - Инициализирует экземпляр для работы с плейлистом. - - Назвние плейлиста - Список записей - - - - Название плейлиста - - - - - Список записей - - - - - Получает данные из файла плейлиста. - - - - - - - Сохраняет плейлист по указанному расположению. - - - - - - Предоставляет методы для работы с интернет радиостанцией - - - - - Инициализирует экземпляр типа для работы с интернет радиостанцией. - - - - - - Инициализирует экземпляр типа для работы с интернет радиостанцией. - - - - - - - Название радиостации - - - - - Базовый класс для работы с медиа. - - - - - Адрес записи - - - - - Предоставляет методы для работы со звуковыми файлами. - - - - - Инициализирует экземпляр типа для работы с аудио файлом. - - - - - - Метаданные - - - - - Тип файла - - - - - Битрейт - - - - - Продолжительность - - - - - Проверяет файл на существование. - - - - - - Значение громкости левого динамика - - - - - Значение громкости правого динамика - - - - - Предоставляет методы для работы с визуализацией звуковых сигналов. - - - - - Количество данных - - - - - Интервал обновления данных - - - - - Запускает процесс получения данных. - - - - - Метод получения данных с устройсва. - - - - - - - Останавливает процесс получения данных. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Список языков программирования. - - - - - Visual C# - - - - - Visual Basic - - - - - Представляет результат при выполении запроса к базе данных Access. - - - - - Инициализирует новый экземпляр класса . - - - - - - Инициализирует новый экземпляр класса . - - - - - - - Результат выполнения запроса на выборку - - - - - Статус выволнения запроса - - - - - Предоставляет методы для работы с базой данных Access. - - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Расположения базы данных - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Расположение базы данных - Пароль - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Имя базы данных - Имя системной базы данных (для работы некоторых функций) - Пользователь - Пароль - - - - Получает провайдер для подключения к базе данных исходя из расширения её файла. - - Расширение файла базы данных - - - - - Получает состояние подключения базы данных. - - - - - - Получает список таблиц текущей базы данных. - - - - - - Обрабатывает запрос и возвращает полученные данные. - - - - - - - Закрывает подключение к источнику данных. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Инициализирует новый экземпляр класса - - Язык программирования, используемый для сборки проекта - - - - Язык компилятора - - - - - Параметры, используемые для вызова компилятора - - - - - Компилирует сборку из исходного кода, используя указанные параметры компилятора. - - Исходный проект - - - - Тип приложения - - - - - Библиотека классов (.NET Framework) - - - - - Консольное приложение (.NET Framework) - - - - - Приложение Windows Forms (.NET Framework) - - - - - Разрядность приложения - - - - - Подходит для всех разрядностей процессора - - - - - 32-битное расширение - - - - - 64-битное расширение - - - - - Инициализирует новый экземпляр класса - - Имя сборки - Язык программирования - - - - Имя проекта - - - - - Язык компилятора - - - - - Список связанных сборок - - - - - Настройки сборки проекта - - - - - Общие сведения данного проекта - - - - - Список ресурсов - - - - - Предоставляет информацию, о статусе работы компилятора - - - - - Возвращает статус выволнения компиляции проекта - - - - - Предоставляет функции, для работы с компилятором CSharp. - - - - - Инициализирует новый экземпляр класса . - - - - - - Общие сведения об этой сборке - - - - - Имя проекта - - - - - Расположение выходной сборки - - - - - Версия Framework - - - - - Параметры, используемые для вызова компилятора - - - - - Список подключаемых библиотек - - - - - Список ресурсов - - - - - создаёт временную папку. - - - - - - - Удаляет указанную временную папку. - - - - - - Удаляет указанную временную папку. - - - - - - Компилирует сборку из исходного кода, содержащегося в указанных файлах, используя указанные параметры компилятора. - - Значение, указывающее будет ли исполняющий файл запущен после его компиляции - Массив имён файлов для компиляции - - - - - - Предоставляет методы для работы с базой данных MySql. - - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Имя сервера - Имя базы данных - Пользователь - Пароль - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Имя сервера - Номер порта - Имя базы данных - Пользователь - Пароль - - - - Получает состояние подключения базы данных. - - - - - - Получает список таблиц текущей базы данных. - - - - - - Получает структуру таблицы. - - - - - - - Обрабатывает запрос и возвращает полученные данные. - - - - - - - Закрывает подключение к источнику данных. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Представляет результат при выполении запроса к базе данных MySql. - - - - - Инициализирует новый экземпляр класса . - - - - - - Инициализирует новый экземпляр класса . - - - - - - - Результат выполнения запроса на выборку - - - - - Статус выволнения запроса - - - - - Представляет результат при выполении запроса к базе данных MSSql. - - - - - Инициализирует новый экземпляр класса . - - - - - - Инициализирует новый экземпляр класса . - - - - - - - Результат выполнения запроса на выборку - - - - - Статус выволнения запроса - - - - - Предоставляет методы для работы с базой данных MSSql. - - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Имя сервера - Имя базы данных - Пользователь - Пароль - - - - Получает состояние подключения базы данных. - - - - - - Получает список таблиц текущей базы данных. - - - - - - Получает структуру таблицы. - - - - - - - Обрабатывает запрос и возвращает полученные данные. - - - - - - - Закрывает подключение к базе данных. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Предоставляет методы для работы с сервером MSSql. - - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - Строка подключения - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - - - - - Инициализирует новый экземпляр класса и осуществляет подключение по указанным данным. - - - - - - - - Присоединяет базу данных. - - Новое имя базы данных - Расположение подключаемой базы данных - Расположение Log файла подключаемой базы данных - - - - - Отсоединяет базу данных. - - - - - - - Создаёт новую базу данных. - - - - - - - Удаляет указанную базу данных. - - - - - - - Получает список баз данных. - - - - - - Обрабатывает запрос и возвращает полученные данные. - - - - - - - Закрывает подключение к серверу. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Добавляет столбцы в таблицу - - - - - - - Добавляет строку в таблицу - - - - - - - Возвращает таблицу в виде типе данных - - - - - - - Список ресурсов. - - - - - Инициализирует пустой экземпляр класса . - - - - - Инициализирует новый экземпляр класса . - - - - - - Инициализирует новый экземпляр класса . - - - - - Список ресурсов - - - - - Получает количество ресурсов - - - - - Получает список ресурсов указанного именного файла ресурсов. - - Расположение файла - - - - - Получает список ресурсов указанного именного файла ресурсов. - - - - - - - Добавляет новый ресурс. - - Имя ресурса - Значение ресурса - - - - Удаляет ресурс с указанным именем. - - - - - - Удаляет все элементы из списка ресурсов. - - - - - Преобразует значение данного экземпляра в еквивалентное ему строковое представление. - - Имя сборки - Язык программирования - - - - - Сохраняет данные в файл "*.Properties.Resources.resources". - - Расположение файла - - - - Сохраняет данные в файл "Resources.Designer.*". - - Расположение файла - Имя сборки - Язык программирования - - - - Предоставляет методы для работы с метаданными исполняемого файла. - - - - - Инициализирует экземпляр типа . - - - - - Инициализирует экземпляр типа . - - - - - - - - - - - - - - - - - Название - - - - - Описание - - - - - Конфигурация - - - - - Компания - - - - - Название продукта - - - - - Авторские права - - - - - Товарный знак - - - - - Культура - - - - - Видимость типов данной сборки для компонентов COM. - - - - - Сведения о версии сборки. - - - - - Сведения о версии файла. - - - - - Получает сведения о сборке. - - Расположение исполняющего файла - - - - - Преобразует значение данного экземпляра в еквивалентное ему строковое представление. - - Язык программирования - - - - - Сохраняет данные в файл "AssemblyInfo.*". - - Расположение файла - Язык программирования - - - - Материнская плата - - - - - Предоставляет структуру для хранения информации об установленном BIOS'е - - - - - Название - - - - - Описание - - - - - Производитель - - - - - Серийный номер - - - - - Версия - - - - - Версия - - - - - Предоставляет базовый класс для хранения информации о доступных устройствах - - - - - Название - - - - - Описание - - - - - Производитель - - - - - Серийный номер - - - - - Предоставляет структуру для хранения информации о досупных приводах - - - - - Тип - - - - - Метка тома - - - - - Метка тома - - - - - Файловая система - - - - - Доступное пространство для текущего пользователя - - - - - Общая свободная площадь - - - - - Общий размер привода - - - - - Клавиатура - - - - - Предоставляет структуру для хранения информации об операционной системе - - - - - Название - - - - - Описание - - - - - Каталог - - - - - Системный диск - - - - - Производитель - - - - - Версия - - - - - Серийный номер - - - - - Разрядность - - - - - Дата установки - - - - - Максимальное количество процессов - - - - - Максимальный размер памяти процесса - - - - - Мышь - - - - - Процессор - - - - - Число ядер - - - - - Тактовая частота (ГГц) - - - - - Предоставляет структуру для хранения информации об установленном программной обеспечении - - - - - Название - - - - - Описание - - - - - Дата установки - - - - - Версия - - - - - Звуковая карта - - - - - Возвращает имя пользователя - - - - - - Возвращает имя локального компьютера. - - - - - Возвращает количество оперативной памяти (в КБ). - - - - - Получает размеры экрана - - - - - - Получает информацию об операционной системе - - - - - - Получает информацию о доступных приводах - - - - - - Получает информацию о всех активных процессах - - - - - - Получает информацию об установленном программной обеспечении - - - - - - Получает информацию об установленном BIOS'е - - - - - - Получает информацию о доступных устройствах - - - - - - - - Видеокарта - - - - - Видеорежим - - - - - Цветовая модель - - - - - Инициализирует новый экземпляр класса из указанной структуры - - Цвет , на основе которого будет создан новый цвет . - - - - Представляет цвет, являющийся значением null. - - - - - Получает значение Alpha этой структуры . - - - - - Получает значение Red этой структуры . - - - - - Получает значение Green этой структуры . - - - - - Получает значение Blue этой структуры . - - - - - Преобразует цветовую модель HSB в ARGB. - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 1. - Яркость. Допустимые значения - от 0 до 1. - - - - - Преобразует цветовую модель HSL в ARGB. - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 1. - Светлота. Допустимые значения - от 0 до 1. - - - - - Преобразует цветовую модель CMYK в ARGB. - - Голубой. Допустимые значения - от 0 до 100. - Пурпурный. Допустимые значения - от 0 до 100. - Жёлтый. Допустимые значения - от 0 до 100. - Ключ. Допустимые значения - от 0 до 100. - - - - - Преобразует цветовую модель YCbCr в ARGB. - - - - - - - - - Преобразует цветовую модель Hex в ARGB. - - Строка, содержащая цветовое значение в формате Hex. - - - - - Создает структуру из указанного, предварительно определенного цвета. - - Элемент перечисления . - - - - - Создает структуру из указанного имени предопределенного цвета. - - Строка, которая является именем предопределенного цвета. Допустимые имена те же, что и у элементов перечня . - - - - - Создает структуру из указанной структуры . - - Цвет , на основе которого будет создан новый цвет . - - - - - Создает структуру из указанной структуры , но с новым определенным значением альфа. - - Прозрачность. Допустимые значения - от 0 до 255. - Цвет , на основе которого будет создан новый цвет . - Alpha меньше 0 или больше 255. - - - - - Создает структуру из указанных 8-разрядных значений цветов (красный, зеленый, синий). - Значение альфа неявно определено как 255 (полностью непрозрачно). - - Красный. Допустимые значения - от 0 до 255. - Зеленый. Допустимые значения - от 0 до 255. - Синий. Допустимые значения - от 0 до 255. - Параметр Red, Green или Blue меньше 0 или больше 255. - - - - - Создает структуру из четырех значений компонентов ARGB (Прозрачность, Красный, Зеленый и Синий). - - Прозрачность. Допустимые значения - от 0 до 255. - Красный. Допустимые значения - от 0 до 255. - Зеленый. Допустимые значения - от 0 до 255. - Синий. Допустимые значения - от 0 до 255. - - - - - - Создает структуру из трёх значений компонентов HSB / HSV (Оттенок, Насыщенность и Яркость). - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 1. - Яркость. Допустимые значения - от 0 до 1. - - - - - - Создает структуру из трёх значений компонентов HSB / HSV (Оттенок, Насыщенность и Яркость). - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 100. - Яркость. Допустимые значения - от 0 до 100. - - - - - - Создает структуру из трёх значений компонентов HSL (Оттенок, Насыщенность и Светлота). - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 1. - Светлота. Допустимые значения - от 0 до 1. - - - - - - Создает структуру из трёх значений компонентов HSL (Оттенок, Насыщенность и Светлота). - - Оттенок. Допустимые значения - от 0 до 360. - Насыщенность. Допустимые значения - от 0 до 100. - Светлота. Допустимые значения - от 0 до 100. - - - - - - Преобразует значение класса в эквивалентное ему строчное представление. - - Цветовая модель - - - - - Представляет цвета в терминах каналов Cyan, Magenta, Yellow и Key (CMYK) - - - - - Инициализирует новый экземпляр типа , исходя из базового цвета структуры . - - - - - - Инициализирует новый экземпляр типа , исходя из указанных данных. - - Канал Cyan. Допустимые значения - от 0 до 100 - Канал Magenta. Допустимые значения - от 0 до 100 - Канал Yellow. Допустимые значения - от 0 до 100 - Канал Key. Допустимые значения - от 0 до 100 - - - - - Получает значение Cyan этой структуры . - - - - - Получает значение Magenta этой структуры . - - - - - Получает значение Yellow этой структуры . - - - - - Получает значение Key этой структуры . - - - - - Преобразует структуру в удобную для восприятия строку. - - - - - - Предоставляет различные сложные фигуры. - - - - - Прямоугольник с закруглёнными углами. - - Величина округления углов (в пикселях) - Прямоугольник, представляющий границы для изображаемого элемента - - - - - Добавляет окружность по градусам от определённого градуса. - - - - - - - - - - Добавляет окружность по градусам от определённого градуса. - - - - - - - - - Смешвает два цвета. - - - - Величина смешивания (от 0 до 255) - - - - - Представляет цвета в терминах каналов Hue, Saturation, и Brightness (HSB). - - - - - Инициализирует новый экземпляр типа , исходя из базового цвета структуры . - - - - - - Инициализирует новый экземпляр типа , исходя из указанных данных. - - Канал Hue. Допустимые значения - от 0 до 360 - Канал Saturation. Допустимые значения - от 0 до 1 - Канал Brightness. Допустимые значения - от 0 до 1 - - - - - Получает значение Hue этой структуры . - - - - - Получает значение Saturation этой структуры . - - - - - Получает значение Brightness этой структуры . - - - - - Преобразует структуру в удобную для восприятия строку. - - - - - - Представляет цвета в терминах каналов Hue, Saturation, и Lightness (HSL). - - - - - Инициализирует новый экземпляр типа , исходя из базового цвета структуры . - - - - - - Инициализирует новый экземпляр типа , исходя из указанных данных. - - Канал Hue. Допустимые значения - от 0 до 360 - Канал Saturation. Допустимые значения - от 0 до 1 - Канал Lightness. Допустимые значения - от 0 до 1 - - - - - Получает значение Hue этой структуры . - - - - - Получает значение Saturation этой структуры . - - - - - Получает значение Lightness этой структуры . - - - - - Преобразует структуру в удобную для восприятия строку. - - - - - - Инициализирует новый экземпляр типа , исходя из указанных данных. - - Канал Hue. Допустимые значения - от 0 до 360 - Канал Saturation. Допустимые значения - от 0 до 1 - Канал Lightness. Допустимые значения - от 0 до 1 - - - - - Инициализирует новый экземпляр типа , исходя из указанных данных. - - Канал Hue. Допустимые значения - от 0 до 360 - Канал Saturation. Допустимые значения - от 0 до 1 - Канал Lightness. Допустимые значения - от 0 до 1 - Канал Alpha. Допустимые значения - от 0 до 1 - - - - - Преобразует изображение в массив байтов. - - - - - - - Конвертирует изображение в "Base64String". - - - - - - - Преобразует строку соответствующего формата в изображение. - - - - - - - Предоставляет изменяемый массив байтов. - Этот класс не наследуется. - - - - - Инициализирует пустой конструктор, готовый к заполнению. - - - - - Инициализирует конструктор из байтового набора данных. - - - - - - Инициализирует конструктор из строкового представления (Base64) существующего экземпляра. - - - - - - "true" в двоичной форме - - - - - "false" в байтовой форме - - - - - Содержит фактические байты - - - - - Количество байт - - - - - Добавьте строку необработанных байтов в хранилище - - - - - - Reads a specific number of bytes from the store - - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет массив типа в текущий поток. - - - Если "true" - длина добавляется перед значением - (это позволяет извлекать отдельные элементы обратно в исходную форму ввода). - - - - - Добавляет массив типа в текущий поток. - - - Количество добавляемых байтов - Если "true" - длина добавляется перед значением - (это позволяет извлекать отдельные элементы обратно в исходную форму ввода). - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет массив типа в текущий поток. - - - Если "true" - длина добавляется перед значением - (это позволяет извлекать отдельные элементы обратно в исходную форму ввода). - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - Value to append to existing builder data - Если "true" - длина добавляется перед значением - (это позволяет извлекать отдельные элементы обратно в исходную форму ввода). - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Добавляет данные типа в текущий поток. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает массив типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает массив типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Получает данные типа из текущего потока. - - - - - - Очищает данные. - - - - - Задаёт начальное значение для положения в текущем потоке. - - - - - Задаёт указанное значение для положения в текущем потоке. - WARNING: - При добавлении в построитель объектов переменного размера результаты чтения после поиска ненулевого значения непредсказуемы. - Построитель хранит не только объекты - для некоторых он также хранит дополнительную информацию. - - - - - - Возвращает поток в виде массива байтов. - - - - - - Возвращает данные класса в строковом представлении (Base64). - - - - - - Освобождает все ресурсы, используемые объектом . - - - - - Предоставляет методы для работы с INI файлами. - - - - - Список секций - - - - - INI файл - - - - - Возвращает значение ключа из заданной секции. - - - - - - - - Записывает ключ в указанную секцию. - - - - - - - - Удаляет ключ из указанной секции. - - - - - - - Удаляет выбранную секцию. - - - - - - Проверяет существования ключа в секции. - - - - - - - - Сохраняет INI файл. - - - - - - Имя ключа - - - - - Значнеие ключа - - - - - Имя секции - - - - - Список ключей - - - - - Осуществляет работу над архивами формата ".zip" - - - - - Получает список файлов содержащихся в архиве. - - - - - - - Создаёт архив. - - - - - - Создаёт архив - - - - - - - Создаёт защищённый архив. - - - - - - - - Добалвяет файл в архив. - - - - - - - Добалвяет файл в архив. - - - - - - - - Добавляет файл в защищённый архив. - - - - - - - - Добалвяет файлы в архив. - - - - - - - Добалвяет файлы в архив. - - - - - - - - Добавляет файлы в защищённый архив. - - - - - - - - Добавляет папку в архив. - - - - - - - Добавляет папку в архив. - - - - - - - - Добавляет папку в защищённый архив. - - - - - - - - - Удаляет файл из архива. - - - - - - - Удаляет файлы из архива. - - - - - - - Удаляет папку из архива. - - - - - - - Извлекает файл из архива. - - - - - - - - Извлекает файл из защищённого архива. - - - - - - - - - Извлекает файлы из архива. - - - - - - - - Извлекает файлы из защищённого архива. - - - - - - - - - Извлекает все файлы из архива. - - - - - - - Извлекает все файлы из защищённого архива. - - - - - - - - Создаёт ярклык для указанного файла. - - - - - - - Удаляет атрибут "Hidden" указанного файла. - - - - - - Устанавливает выбранный атрибут указанному файлу. - - - - - - - Получает MD5 указанного файла. - - - - - - - Список языков. - - - - - Русский язык - - - - - Английский язык - - - - - Получает статус соединение с WEB страницей или сервисом. - - - - - - - Осуществляет работу с локальной сетью - - - - - Список ошибок, возвращаемых NetServerEnum. - - - - - Получает список компьютеров в локальной сети. - - - - - - Получает список серверов в локальной сети. - - Тип сервера - - - - - Ошибка при работе сервера - - - - - Предоставляет методы для работы с сервером протокола TCP/IP - - - - - - - Номер порта, связанный с адресом, или любой доступный порт - Максимальное количество возможных подключений - - - - - - IP - Номер порта, связанный с адресом, или любой доступный порт - Максимальное количество возможных подключений - - - - Событие при получении данных от клиента. - - - - - Событие при возникновении ошибок в работе сервера. - - - - - Получает имя клиента из указанного сокета. - - - - - - - Преобразует строку в массив байтов. - - - - - - - Преобразует массив байт в строчное представление. - - - - - - - Преобразует массив байт в строчное представление. - - - - - - - - Запускает процесс получения данных. - - - - - Запускает процесс получения и трансляции данных. - - Транслируемые данные - - - - Метод получения данных от клиента. - - - - - - - - - - - - - - - - - - - - - - - - - - Завершает процесс получения данных. - - - - - - Завершает работу сервера и освобождает все связанные ресурсы. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Клиентский Socket - - - - - Переданные байты - - - - - Количество переданных байт - - - - - Тип сервера - - - - - Представляет адрес получателя электронной почты. - - - - - - - Адрес электронной почты - - - - Представляет адрес отправителя электронной почты. - - - - - - - Адрес электронной почты - Пароль от учётной записи - - - - - - Адрес электронной почты - Пароль от учётной записи - - - - - - Адрес электронной почты - /// Отображаемое имя связанное с электронной почтой - Пароль от учётной записи - - - - Предоставляет методы для работы с электронной почтой. - - - - - Отправляет письмо на указанную электронную почту. - - Данные отправителя - Данные получателя - Тема - Сообщение - - - - Отправляет письмо на указанную электронную почту. - - Данные отправителя - Данные получателя - Тема - Сообщение - Файлы - - - - Представляет двоичное число - - - - - Данные - - - - - Количество двоичных значений - - - - - Преобразует значение в строковое представление - - - - - - Представляет шестнадцатиричное число - - - - - Преобразует значение в строковое представление - - - - - - Представляет восьмиричное число - - - - - Преобразует значение в строковое представление - - - - - - Сохраняет требующиеся библиотеки рядом с основной. - - - - - Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. - - - - - Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. - - - - - Перезаписывает свойство CurrentUICulture текущего потока для всех - обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. - - - - - Поиск локализованного ресурса типа System.Byte[]. - - - - - Поиск локализованного ресурса типа System.Byte[]. - - - - - Поиск локализованного ресурса типа System.Drawing.Bitmap. - - - - - Поиск локализованного ресурса типа System.Drawing.Bitmap. - - - - - Поиск локализованного ресурса типа System.Drawing.Bitmap. - - - - - Ищет локализованную строку, похожую на ACCESSIBLE - ADD - ALL - ALTER - ANALYZE - AND - AS - ASC - ASENSITIVE - BEFORE - BEGIN - BETWEEN - BIGINT - BINARY - BLOB - BOTH - BY - CALL - CASCADE - CASE - CHANGE - CHAR - CHARACTER - CHECK - COLLATE - COLUMN - COMMIT - CONDITION - CONNECTION - CONSTRAINT - CONTINUE - CONVERT - CREATE - CROSS - CURRENT_DATE - CURRENT_TIME - CURRENT_TIMESTAMP - CURRENT_USER - CURSOR - DATABASE - DATABASES - DAY_HOUR - DAY_MICROSECOND - DAY_MINUTE - DAY_SECOND - DEC - DECIMAL - DECLARE - DEFAULT - DELAYED - DELETE - DESC - DESCRIBE - DETERMINISTIC - DISTINCT - DISTINCTROW - DIV - DO - DOUBLE - DROP - DUAL - EACH - ELSE - ELSEIF - ENCLOSED - END - ESC [остаток строки не уместился]";. - - - - - Поиск локализованного ресурса типа System.Drawing.Bitmap. - - - - - Поиск локализованного ресурса типа System.Byte[]. - - - - - Поиск локализованного ресурса типа System.Byte[]. - - - - - Represents a Windows Script Engine such as JScript, VBScript, etc. - - - - - The name of the function used for simple evaluation. - - - - - The default scripting language name. - - - - - The JavaScript or jscript scripting language name. - - - - - The javascript or jscript scripting language name. - - - - - The chakra javascript engine CLSID. The value is {16d51579-a30b-4c8b-a276-0ff4dc41e755}. - - - - - Determines if a script engine with the input name exists. - - The language. - true if the engine exists; false otherwise. - - - - Initializes a new instance of the class. - - The scripting language. Standard Windows Script engines names are 'jscript' or 'vbscript'. - - - - Gets the engine version. - - - The version. - - - - - Gets the engine name. - - - The name. - - - - - Gets a script engine property. - - The expected property type. - The property index. - The default value if not found. - The value of the property or the default value. - - - - Gets a script engine property. - - The property index. - The value. - true if the property was successfully got; false otherwise. - - - - Sets a script engine property. - - The property index. - The value. - true if the property was successfully set; false otherwise. - - - - Adds the name of a root-level item to the scripting engine's name space. - - The name. May not be null. - The value. It must be a ComVisible object. - - - - Evaluates an expression using the specified language. - - The language. - The expression. May not be null. - The result of the evaluation. - - - - Evaluates an expression using the specified language, with an optional array of named items. - - The language. - The expression. May not be null. - The named items array. - The result of the evaluation. - - - - Evaluates an expression. - - The expression. May not be null. - The result of the evaluation. - - - - Parses the specified text and returns an object that can be used for evaluation. - - The text to parse. - An instance of the ParsedScript class. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Преобразует кириллистический текст в латинский, в указанном формате. - - - Формат преобразования - - - - - Преобразует латинский текст в кириллистический, в указанном формате. - - - Формат преобразования - - - - - Возвращает новую строку, в которой все вхождения заданных знаков Юникода в текущем экземпляре заменены другим заданным знаком Юникода. - - - Заменяемый знак Юникода - Знак Юникода для замены всех обнаруженных вхождений OldChars - - - - - Возвращает новую строку, в которой все вхождения заданных строк в текущем экземпляре заменены другой заданной строкой. - - - Строка, которую требуется заменить - Строка для замены всех вхождений OldValues - - - - - Возвращает копию этой строки, с переверённой первой буквой в верхний регистр. - Пример: "Как в предложениях". - - - - - - - Возвращает копию этой строки, с переведённой каждой первой буквой слова в верхний регистр. - Пример: "Начинать С Прописных". - - - - - - - Возвращает копию этой строки, изменяя регистр каждого символа на обратный. - Пример: "иЗМЕНИТЬ РЕГИСТР". - - - - - - - Возвращает таблицу типа в табличном представлении типа . - - - - - - - Возвращает таблицу типа в табличном представлении типа . - - - - - - - - Generates a barcode image of a specified symbology from a string of data. - - - - - Default constructor. Does not populate the raw data. MUST be done via the RawData property before encoding. - - - - - Constructor. Populates the raw data. No whitespace will be added before or after the barcode. - - String to be encoded. - - - - Gets or sets the raw data to encode. - - - - - Gets the encoded value. - - - - - Gets the Country that assigned the Manufacturer Code. - - - - - Gets or sets the Encoded Type (ex. UPC-A, EAN-13 ... etc) - - - - - Gets the Image of the generated barcode. - - - - - Gets or sets the color of the bars. (Default is black) - - - - - Gets or sets the background color. (Default is white) - - - - - Gets or sets the label font. (Default is Microsoft Sans Serif, 10pt, Bold) - - - - - Gets or sets the location of the label in relation to the barcode. (BOTTOMCENTER is default) - - - - - Gets or sets the degree in which to rotate/flip the image.(No action is default) - - - - - Gets or sets the width of the image to be drawn. (Default is 300 pixels) - - - - - Gets or sets the height of the image to be drawn. (Default is 150 pixels) - - - - - If non-null, sets the width of a bar. is ignored and calculated automatically. - - - - - If non-null, is ignored and set to divided by this value rounded down. - - - As longer barcodes may be more difficult to align a scanner gun with, - growing the height based on the width automatically allows the gun to be rotated the - same amount regardless of how wide the barcode is. A recommended value is 2. - - This value is applied to after after has been - calculated. So it is safe to use in conjunction with . - - - - - Gets or sets whether a label should be drawn below the image. (Default is false) - - - - - Alternate label to be displayed. (IncludeLabel must be set to true as well) - - - - - Try to standardize the label format. (Valid only for EAN13 and empty AlternateLabel, default is true) - - - - - Gets or sets the amount of time in milliseconds that it took to encode and draw the barcode. - - - - - Gets the XML representation of the Barcode data and image. - - - - - Gets or sets the image format to use when encoding and returning images. (Jpeg is default) - - - - - Gets the list of errors encountered. - - - - - Gets or sets the alignment of the barcode inside the image. (Not for Postnet or ITF-14) - - - - - Gets a byte array representation of the encoded image. (Used for Crystal Reports) - - - - - Gets the assembly version information. - - - - - Represents the size of an image in real world coordinates (millimeters or inches). - - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Width of the resulting barcode.(pixels) - Height of the resulting barcode.(pixels) - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Foreground color - Background color - Width of the resulting barcode.(pixels) - Height of the resulting barcode.(pixels) - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Foreground color - Background color - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - - - - Encodes the raw data into binary form representing bars and spaces. - - - - - Gets a bitmap representation of the encoded data. - - Bitmap of encoded value. - - - - Gets the bytes that represent the image. - - File type to put the data in before returning the bytes. - Bytes representing the encoded image. - - - - Saves an encoded image to a specified file and type. - - Filename to save to. - Format to use. - - - - Saves an encoded image to a specified stream. - - Stream to write image to. - Format to use. - - - - Returns the size of the EncodedImage in real world coordinates (millimeters or inches). - - Millimeters if true, otherwise Inches. - - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - XML representation of the data and the image of the barcode. - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Include the label at the bottom of the image with data encoded. - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Include the label at the bottom of the image with data encoded. - Width of the resulting barcode.(pixels) - Height of the resulting barcode.(pixels) - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Include the label at the bottom of the image with data encoded. - Foreground color - Background color - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Include the label at the bottom of the image with data encoded. - Foreground color - Background color - Width of the resulting barcode.(pixels) - Height of the resulting barcode.(pixels) - Image representing the barcode. - - - - Encodes the raw data into binary form representing bars and spaces. Also generates an Image of the barcode. - - Type of encoding to use. - Raw data to encode. - Include the label at the bottom of the image with data encoded. - Foreground color - Background color - Width of the resulting barcode.(pixels) - Height of the resulting barcode.(pixels) - XML representation of the data and the image of the barcode. - Image representing the barcode. - - - - Barcode interface for symbology layout. - Written by: Brad Barnhill - - - - - Draws Label for ITF-14 barcodes - - Image representation of the barcode without the labels - Image representation of the barcode with labels applied - - - - Draws Label for Generic barcodes - - Image representation of the barcode without the labels - Image representation of the barcode with labels applied - - - - Draws Label for EAN-13 barcodes - - Image representation of the barcode without the labels - Image representation of the barcode with labels applied - - - - Draws Label for UPC-A barcodes - - Image representation of the barcode without the labels - Image representation of the barcode with labels applied - - - - Blank encoding template - Written by: Brad Barnhill - - - - - Codabar encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the Codabar algorithm. - - - - - Code 11 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the Code 11 algorithm. - - - - - Code 128 encoding - Written by: Brad Barnhill - - - - - Encodes data in Code128 format. - - Data to encode. - - - - Encodes data in Code128 format. - - Data to encode. - Type of encoding to lock to. (Code 128A, Code 128B, Code 128C) - - - - Code 39 encoding - Written by: Brad Barnhill - - - - - Encodes with Code39. - - Data to encode. - - - - Encodes with Code39. - - Data to encode. - Allow Extended Code 39 (Full Ascii mode). - - - - Encodes with Code39. - - Data to encode. - Allow Extended Code 39 (Full Ascii mode). - Whether to calculate the Mod 43 checksum and encode it into the barcode - - - - Encode the raw data using the Code 39 algorithm. - - - - - Code 93 encoding - Written by: Brad Barnhill - - - - - Encodes with Code93. - - Data to encode. - - - - Encode the raw data using the Code 93 algorithm. - - - - - EAN-13 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the EAN-13 algorithm. (Can include the checksum already. If it doesnt exist in the data then it will calculate it for you. Accepted data lengths are 12 + 1 checksum or just the 12 data digits) - - - - - EAN-8 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the EAN-8 algorithm. - - - - - FIM encoding - Written by: Brad Barnhill - - - - - Interleaved 2 of 5 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the Interleaved 2 of 5 algorithm. - - - - - ISBN encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the Bookland/ISBN algorithm. - - - - - ITF-14 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the ITF-14 algorithm. - - - - - JAN-13 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the JAN-13 algorithm. - - - - - MSI encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the MSI algorithm. - - - - - Pharmacode encoding - Written by: Brad Barnhill - - - - - Encodes with Pharmacode. - - Data to encode. - - - - Encode the raw data using the Pharmacode algorithm. - - - - - Postnet encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the PostNet algorithm. - - - - - Standard 2 of 5 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the Standard 2 of 5 algorithm. - - - - - Telepen encoding - Written by: Brad Barnhill - - - - - Encodes data using the Telepen algorithm. - - - - - - Encode the raw data using the Telepen algorithm. - - - - - UPC-A encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the UPC-A algorithm. - - - - - UPC-E encoding - Written by: Brad Barnhill - - - - - Encodes a UPC-E symbol. - - Data to encode. - - - - Encode the raw data using the UPC-E algorithm. - - - - - UPC Supplement-2 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the UPC Supplemental 2-digit algorithm. - - - - - UPC Supplement-5 encoding - Written by: Brad Barnhill - - - - - Encode the raw data using the UPC Supplemental 5-digit algorithm. - - - - - QR угол три искатели шаблон класса - - - - - QR-уголок конструктора - - - - - - - - Проверить QR-угол на валидность - - - - - - - - - Проверить QR-угол на валидность - - - - - - Класс поиска QR-кода - - - - - Конструктор при горизонтальном сканировании - - - - - Совпадение при вертикальном сканировании - - - - - Горизонтальное и вертикальное сканирование перекрываются - - - - - Finder в строку - - - - - Создать изображение QR кода для тестирования. Изображение преобразуется с помощью алгоритма перспективы. - - - - - Перечисление кода коррекции ошибок QR-кода - - - - - Low (01) - - - - - Medium (00) - - - - - Medium-high (11) - - - - - High (10) - - - - - Режимы кодирования QR-кода - - - - - Основной класс библиотеки QR-кодов - - - - - QR-код Матрицы. - - - - - Получает версию матрицы QR-кода - - - - - Получает размер матрицы QR-кода в битах - - - - - Получает размер изображения QR-кода - - Размер модуля в пикселях - Размер тихой зоны в пикселях - - - - - Получает код исправления ошибок QR-кода (L, M, Q, H) - - - - - Процент исправления ошибки (L, M, Q, H) - - - - - Получить код маски (от 0 до 7) - - - - - Формат файла изображения - - - - - Выбрать файл изображения - - - - - Фильтр файлов изображений - - - - - Конструктор - - - - - Задать длину закодированных битов данных - - - - - - - Задайте длину кодовых слов для данных и исправления ошибок - - - - - Информация о формате в код исправления ошибок - - - - - - - Построить Базовую Матрицу - - - - - Применить Маску - - - - - - Применить Маску №0: (row + column) % 2 == 0 - - - - - Применить Маску №1: row % 2 == 0 - - - - - Применить Маску №2: column % 3 == 0 - - - - - Применить Маску №3: (row + column) % 3 == 0 - - - - - Применить Маску №4: ((row / 2) + (column / 3)) % 2 == 0 - - - - - Применить Маску №5: ((row * column) % 2) + ((row * column) % 3) == 0 - - - - - Применить Маску №6: (((row * column) % 2) + ((row * column) mod 3)) mod 2 == 0 - - - - - Применить Маску №7: (((row + column) % 2) + ((row * column) mod 3)) mod 2 == 0 - - - - - Полиномиальное деление для исправления ошибок - - - - - - - - - Преобразование QR-код bool массив в растровое изображение. - - - - - Создать растровое изображение с QR Code массив - - QRCode - Размер модуля в пикселях - Тихая зона в пикселях - Растровое изображение QRCode - - - - Создать растровое изображение с QR Code массив более твердый или люк фон - - QRCode - Размер модуля в пикселях - Тихая зона в пикселях - SolidBrush или HatchBrush фон - Ширина выходного изображения - Высота выходного изображения - QRCode позиция X - QRCode позиция Y - Вращение QRCode в градусах - Растровое изображение QRCode - - - - Создать растровое изображение с QR Code массив более твердый или люк фон - - QRCode - Размер модуля в пикселях - Тихая зона в пикселях - Фон растрового изображения - QRCode позиция X - QRCode позиция Y - Вращение QRCode в градусах - Растровое изображение QRCode - - - - Создать растровое изображение с QR Code массив более твердый или люк фон - - QRCode - Размер модуля в пикселях - Quiet zone in pixels - Фон растрового изображения - QRCode позиция X - QRCode позиция Y - Вращение QRCode в градусах - Расстояние перспективной камеры в пикселях - Вид камеры вращение оси X в градусах - Растровое изображение QRCode - - - - Добавление областей ошибок для тестирования - - Растровое изображение - Перечисление контроля ошибок - Диаметр пятна ошибки - Количество пятен ошибок - - - - Конструктор - - - - - Декодировать QRCode булевой матрицы - - - - - - - Результат форматирования для отображения - - - - - - - Преобразовывает изображение в черно-белую булеву матрицу - - - - - - - Поиск по строкам для шлакоблоков - - - - - - Поиск блоков выравнивания по строкам - - - - - - - - - - Получить информацию о формате в левом верхнем углу - - - - - - Получить информацию о формате вокруг верхнего правого и нижнего левого углов - - - - - - Биты информации о формате теста - - - - - - - Количество битов - - - - - - - Преобразование изображения в матрицу qr-кода и тестирование фиксированных модулей - - - - - Выгружает данные матрицы из базовой матрицы - - - - - Восстанавливает чередующиеся данные и блоки коррекции ошибок - - - - - Вычисленяет исправления ошибок - - - - - Преобразует битовый массив в массив байтов - - - - - - Чтение данных из массива кодовых слов - - - - - - - QR Code Encoder class - - - - - Constructor - - - - - Encode one string into QRCode boolean matrix - - Error correction (L, M, Q, H) - string data segment - QR Code boolean matrix - - - - Encode one string into QRCode boolean matrix - - Error correction (L, M, Q, H) - string data segments - QR Code boolean matrix - - - - Encode one data segment into QRCode boolean matrix - - Error correction (L, M, Q, H) - Data segment byte array - QR Code boolean matrix - - - - Encode data segments array into QRCode boolean matrix - - Error correction (L, M, Q, H) - Data array of byte arrays - QR Code boolean matrix - - - - Предоставляет методы для работы над переводом регистра строки. - - - - - Возвращает копию этой строки, с переверённой первой буквой в верхний регистр. - Пример: "Как в предложениях". - - - - - - - Возвращает копию этой строки, переведённую в нижний регистр. - Пример: "все строчные". - - - - - - - Возвращает копию этой строки, переведённую в верхний регистр. - Пример: "ВСЕ ПРОПИСНЫЕ". - - - - - - - Возвращает копию этой строки, с переведённой каждой первой буквой слова в верхний регистр. - Пример: "Начинать С Прописных". - - - - - - - Возвращает копию этой строки, изменяя регистр каждого символа на обратный. - Пример: "иЗМЕНИТЬ РЕГИСТР". - - - - - - - Представляет методы для преобразования текста в различные алфавитные. - - - - - Словарь (ГОСТ 16876-71) - - - - - Словарь (ISO 9-95) - - - - - Пользовательский словарь - - TODO: Заполнить пользовательский алфавит - - - - Получает алфавитный словарь в указанном формате. - - Формат преобразования - - - - - Преобразует текст в пользовательский алфавит. - - Преобразуемый текст - Пользовательский алфавит - - - - - - Преобразует текст в указанный алфавит и формат преобразования. - - Преобразуемый текст - Алфавит - Формат преобразования - - - - - Преобразует кириллистический текст в латинский, в указанном формате. - - Преобразуемый текст - Формат преобразования - - - - - Преобразует латинский текст в кириллистический, в указанном формате. - - Преобразуемый текст - Формат преобразования - - - - - Список алфавитов, доступных для преобразования текста. - - - - - Латиница - - - - - Кириллика - - - - - Режим пользовательского преобразования. - - - - - ГОСТ 16876-71 - - - - - ISO 9-95 - - - - - Список форматов преобразования текста. - - - - - ГОСТ 16876-71 - - - - - ISO 9-95 - - - - - Пользовательский тип преобразования - - - - - Возвращает минимальное количество операций вставки одного символа, удаления одного символа и замены одного символа на другой, необходимых для превращения одной строки в другую. - - Искомый текст - Текст, с которым сравнивается искомый текст - - - - - Осуществляет неточный поиск по расстоянию Левенштейна и возвращает список найденных слов - - Искомый текст - Список текста, с которым сравнивается искомый текст - - - - - Возвращает объект класса Font с пользовательским шрифтом - - - - - - - Проверяет, когда раскрывающийся список полностью виден - - - - - Non чертеж границы зоны клиента - - Сообщение окна для обработки - Ручка к управлению - - - - Создает сообщение WM_CTLCOLOR_LISTBOX по умолчанию - - Ручка падения вниз - A WM_CTLCOLORLISTBOX message - - - - Возвращает элемент управления списком - - - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Представляет коллекцию цветов - - - Коллекция цветов позволяет дублировать элементы. - Доступ к элементам этой коллекции можно получить с помощью целочисленного индекса. Индексы в этой коллекции отсчитываются от нуля. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class that contains elements copied from the specified collection. - - The collection whose elements are copied to the new collection. - - - - Initializes a new instance of the class that contains elements copied from the specified collection. - - The collection whose elements are copied to the new collection. - - - - Initializes a new instance of the class that contains elements copied from the specified collection. - - The collection whose elements are copied to the new collection. - - - - Initializes a new instance of the class that contains elements copied from the specified collection. - - The collection whose elements are copied to the new collection. - - - - Occurs when elements in the collection are added, removed or modified. - - - - - Creates a new instance of the class that contains elements loaded from the specified file. - - Name of the file to load. - Thrown if the fileName argument is not specified. - Thrown if the file specified by fileName cannot be found. - Thrown if no is available for the file specified by fileName. - - - - Removes all elements from the . - - - - - Inserts an element into the at the specified index. - - The zero-based index at which should be inserted. - The object to insert. - - - - Removes the element at the specified index of the . - - The zero-based index of the element to remove. - - - - Replaces the element at the specified index. - - The zero-based index of the element to replace. - The new value for the element at the specified index. - - - Adds the elements of the specified collection to the end of the . - The collection whose elements should be added to the end of the . - - - - Creates a new object that is a copy of the current instance. - - A new object that is a copy of this instance. - - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - - The to locate in the . - The zero-based index of the first occurrence of item within the entire , if found; otherwise, –1. - - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - - The to locate in the . - If set to true only the red, green and blue channels of items in the will be compared. - The zero-based index of the first occurrence of item within the entire , if found; otherwise, –1. - - - - Searches for the specified object and returns the zero-based index of the first occurrence within the entire . - - The ARGB color to locate in the . - The zero-based index of the first occurrence of item within the entire , if found; otherwise, –1. - - - - Populates this with items loaded from the specified file. - - Name of the file to load. - Thrown if the fileName argument is not specified. - Thrown if the file specified by fileName cannot be found. - Thrown if no is available for the file specified by fileName. - - - - Saves the contents of this into the specified file. - - Name of the file to save. - Thrown if the fileName argument is not specified. - Thrown if no is available for the file specified by fileName. - - - - Sorts the elements in the entire %ColorCollection% using the specified order. - Сортирует элементы во всей коллекции %ColorCollection% в указанном порядке. - - The sort order. - Thrown when an invalid sort order is specified - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Builds an indexed lookup for quick searching. - - - - - Creates a new object that is a copy of the current instance. - - A new object that is a copy of this instance. - - - - Compares two objects. The result specifies whether the values of the two objects are equal. - - A to compare. - A to compare. - true if the values of and are equal; otherwise, false. - - - - Compares two objects. The result specifies whether the values of the two objects are unequal. - - A to compare. - A to compare. - true if the values of and differ; otherwise, false. - - - - Specifies whether this contains the same coordinates as the specified . - - The to test. - true if is a and has the same values as this . - - - - Indicates whether the current object is equal to another object of the same type. - - - true if the current object is equal to the parameter; otherwise, false. - - An object to compare with this object. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - Provides data for the event of a instance. - - - - Initializes a new instance of the class for the specified color. - - The color index that the event is responding to. - The %Color% that the event is responding to. - - - - Initializes a new instance of the class. - - - - - Gets the color that raised the event. - - The color that raised the event. - - - - Gets the color index that raised the event. - - The color index that raised the event. - - - - Задает порядок сортировки цветов - - - - - Ordered by hue. - - - - - Ordered by brightness. - - - - - Ordered by value - - - - - Предоставляет доступ к операциям сравнения цветов. - - - - - Сравнивает два цвета по яркости и возвращает указание их относительного порядка сортировки. - - A color to compare to y. - A color to compare to x. - - - - Сравнивает два цвета по оттенкам и возвращает указание на их относительный порядок сортировки. - - A color to compare to y. - A color to compare to x. - - - - Сравнивает два цвета по значению и возвращает указание на их относительный порядок сортировки. - - A color to compare to y. - A color to compare to x. - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Задает режим редактирования . - - - - - Occurs when the CellContextMenuStrip property value changes - - - - - Gets a value indicating whether painting of the control is allowed. - - - true if painting of the control is allowed; otherwise, false. - - - - - Disables any redrawing of the image box - - - - - Enables the redrawing of the image box - - - - - Returns the describing the bounds of a single color cell - - Thrown when one or more arguments are outside the - required range. - Zero-based index of the color cell to return. - - The cell bounds. - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Определяет способ отображения выбранной ячейки в элементе управления . - - - - - Initializes a new instance of the class. - - - - - Gets or sets the increment for rendering the color wheel. - - The color step. - Value must be between 1 and 359 - - - - Gets or sets the component color. - - The component color. - - - - Gets or sets a value to be added to or subtracted from the property when the wheel selection is moved a large distance. - - A numeric value. The default value is 5. - - - - Gets or sets the size of the selection handle. - - The size of the selection handle. - - - - Gets or sets a value to be added to or subtracted from the property when the wheel selection is moved a small distance. - - A numeric value. The default value is 1. - - - - Gets a value indicating whether painting of the control is allowed. - - - true if painting of the control is allowed; otherwise, false. - - - - - Disables any redrawing of the image box - - - - - Enables the redrawing of the image box - - - - - Calculates wheel attributes. - - - - - Creates the gradient brush used to paint the wheel. - - - - - Creates the selection glyph. - - - - - Releases the unmanaged resources used by the and its child controls and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the point within the wheel representing the source color. - - The color. - - - - Gets the point within the wheel representing the source color. - - The color. - - - - Determines whether the specified key is a regular input key or a special key that requires preprocessing. - - One of the values. - true if the specified key is a regular input key; otherwise, false. - - - - Determines whether the specified point is within the bounds of the color wheel. - - The point. - true if the specified point is within the bounds of the color wheel; otherwise, false. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - An that contains the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - An that contains the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - A that contains the event data. - - - - Raises the event. - - An that contains the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Refreshes the wheel attributes and then repaints the control - - - - - Gets or sets the component color. - - The component color. - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Serializes and deserializes color palettes into and from other documents. - - - - - Gets a value indicating whether this serializer can be used to read palettes. - - true if palettes can be read using this serializer; otherwise, false. - - - - Gets a value indicating whether this serializer can be used to write palettes. - - true if palettes can be written using this serializer; otherwise, false. - - - - Gets the default extension for files generated with this palette format. - - The default extension for files generated with this palette format. - - - - Gets the maximum number of colors supported by this format. - - - The maximum value number of colors supported by this format. - - - - - Gets the minimum numbers of colors supported by this format. - - - The minimum number of colors supported by this format. - - - - - Gets a descriptive name of the palette format - - The descriptive name of the palette format. - - - - Determines whether this instance can read palette data from the specified stream. - - The stream. - true if this instance can read palette data from the specified stream; otherwise, false. - - - - Deserializes the contained by the specified . - - The that contains the palette to deserialize. - The being deserialized. - - - - Serializes the specified and writes the palette to a file using the specified . - - The used to write the palette. - The to serialize. - - - - Logical pixels inch in X - - - - - Logical pixels inch in Y - - - - - Указывает начало операции навигации - - - - - Serializes and deserializes color palettes into and from other documents. - - - - - Initializes static members of the class. - - - - - Gets all loaded serializers. - - The loaded serializers. - - - - Returns a filter suitable for use with the . - - A filter suitable for use with the . - This filter does not include any serializers that cannot read source data. - - - - Returns a filter suitable for use with the . - - A filter suitable for use with the . - This filter does not include any serializers that cannot write destination data. - - - - Creates the Open and Save As filters. - - - - - Gets the loadable types from an assembly. - - The assembly to load types from. - Available types - - - - Loads the serializers. - - - - - Gets a value indicating whether this serializer can be used to read palettes. - - true if palettes can be read using this serializer; otherwise, false. - - - - Gets a value indicating whether this serializer can be used to write palettes. - - true if palettes can be written using this serializer; otherwise, false. - - - - Gets the default extension for files generated with this palette format. - - The default extension for files generated with this palette format. - - - - Gets a descriptive name of the palette format - - The descriptive name of the palette format. - - - - Determines whether this instance can read palette from data the specified stream. - - The stream. - true if this instance can read palette data from the specified stream; otherwise, false. - - - - Deserializes the contained by the specified . - - The that contains the palette to deserialize. - The being deserialized. - - - - Deserializes the contained by the specified . - - The name of the file that the palette will be read from. - The being deserialized. - - - - Serializes the specified and writes the palette to a file using the specified . - - The used to write the palette. - The to serialize. - - - - Serializes the specified and writes the palette to a file using the specified . - - The name of the file where the palette will be written to. - The to serialize. - - - - Reads a 16bit unsigned integer in big-endian format. - - The stream to read the data from. - The unsigned 16bit integer cast to an Int32. - - - - Reads a 32bit unsigned integer in big-endian format. - - The stream to read the data from. - The unsigned 32bit integer cast to an Int32. - - - - Reads a unicode string of the specified length. - - The stream to read the data from. - The number of characters in the string. - The string read from the stream. - - - - Writes a 16bit unsigned integer in big-endian format. - - The stream to write the data to. - The value to write - - - - Writes a 32bit unsigned integer in big-endian format. - - The stream to write the data to. - The value to write - - - - Determines whether this instance can read palette data from the specified stream. - - The stream. - true if this instance can read palette data from the specified stream; otherwise, false. - - - - Deserializes the contained by the specified . - - The that contains the palette to deserialize. - The being deserialized. - - - - Serializes the specified and writes the palette to a file using the specified Stream. - - The used to write the palette. - The to serialize. - - - - Gets the maximum number of colors supported by this format. - - - The maximum value number of colors supported by this format. - - - - - Gets the minimum numbers of colors supported by this format. - - - The minimum number of colors supported by this format. - - - - - Gets a value indicating whether this serializer can be used to read palettes. - - true if palettes can be read using this serializer; otherwise, false. - - - - Gets a value indicating whether this serializer can be used to write palettes. - - true if palettes can be written using this serializer; otherwise, false. - - - - Gets the default extension for files generated with this palette format. - - The default extension for files generated with this palette format. - - - - Gets a descriptive name of the palette format - - The descriptive name of the palette format. - - - - Инициализирует новый экземпляр класса . - - - - - Возвращает или задает цвет сетки. - - - - - Возвращает, если снимок доступен. - - - - - Возвращает или задает изображение. - - - - - Возвращает или задает значение, указывающее, отображается ли пиксельная сетка. - - - - - Возвращает или задает значение, указывающее, должен ли отображаться текст при наличии моментального снимка. - - - - - Получает или задает порядок управления внутри контейнера. - - - - - Возвращает или задает значение, указывающее, может ли пользователь предоставить фокус этому элементу управления с помощью клавиши TAB. - - - - - Возвращает или задает уровень масштабирования снимка. - - - - - Возвращает или задает значение, указывающее, что выполняется захват моментального снимка. - - - - - Возвращает или задает значение, указывающее, следует ли выполнять операции перерисовки. - - - - - Возвращает или задает образ моментального снимка. - - - - - Создает снимок изображения. - - - - - Освобождает неуправляемые ресурсы, используемые и его дочерние элементы управления и при необходимости освобождает управляемые ресурсы. - - true, чтобы освободить управляемые и неуправляемые ресурсы; значение false, чтобы освободить только неуправляемые ресурсы. - - - - Возвращает центральную точку на основе текущего уровня масштабирования. - - - - - Возвращает размер моментального снимка. - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Вызывает событие . - - - - - - Рисует украшения на элементе управления. - - - - - - Рисует центральный маркер. - - - - - - Рисует пиксельную сетку. - - - - - - Обновления моментального снимка. - - - - - Возвращает или задает цвет компонента. - - - - - Item of autocomplete menu - - - - - Returns text for inserting into Textbox - - - - - Compares fragment text with this item - - - - - Returns text for display into popup menu - - - - - This method is called after item inserted into text - - - - - Title for tooltip. - - Return null for disable tooltip for this item - - - - Tooltip text. - - For display tooltip text, ToolTipTitle must be not null - - - - Menu text. This text is displayed in the drop-down menu. - - - - - Fore color of text of item - - - - - Back color of item - - - - - Item do not appears - - - - - Item appears - - - - - Item appears and will selected - - - - - Autocomplete item for code snippets - - Snippet can contain special char ^ for caret position. - - - - Compares fragment text with this item - - - - - This autocomplete item appears after dot - - - - - This Item does not check correspondence to current text fragment. - SuggestItem is intended for dynamic menus. - - - - - Всплывающее меню для автозаполнения - - - - - Regex pattern for serach fragment around caret - - - - - Minimum fragment length for popup - - - - - User selects item - - - - - It fires after item inserting - - - - - Occurs when popup menu is opening - - - - - Allow TAB for select menu item - - - - - Interval of menu appear (ms) - - - - - Sets the max tooltip window size - - - - - Tooltip will perm show and duration will be ignored - - - - - Back color of selected item - - - - - Border color of hovered item - - - - - Shows popup menu immediately - - If True - MinFragmentLength will be ignored - - - - Minimal size of menu - - - - - Image list of menu - - - - - Tooltip duration (ms) - - - - - Tooltip - - - - - Base class for bookmark collection - - - - - Collection of bookmarks - - - - - Removes bookmark by line index - - - - - Returns Bookmark by index. - - - - - Bookmark of FastColoredTextbox - - - - - Name of bookmark - - - - - Line index - - - - - Color of bookmark sign - - - - - Scroll textbox to the bookmark - - - - - Char and style - - - - - Unicode character - - - - - Style bit mask - - Bit 1 in position n means that this char will rendering by FastColoredTextBox.Styles[n] - - - - Insert single char - - This operation includes also insertion of new line and removing char by backspace - - - - Constructor - - Underlaying textbox - Inserting char - - - - Undo operation - - - - - Execute operation - - - - - Merge lines i and i+1 - - - - - Insert text - - - - - Constructor - - Underlaying textbox - Text for inserting - - - - Undo operation - - - - - Execute operation - - - - - Insert text into given ranges - - - - - Constructor - - Underlaying textbox - List of ranges for replace - Text for inserting - - - - Undo operation - - - - - Execute operation - - - - - Clear selected text - - - - - Construstor - - Underlaying textbox - - - - Undo operation - - - - - Execute operation - - - - - Replaces text - - - - - Constructor - - Underlaying textsource - List of ranges for replace - - - - Undo operation - - - - - Execute operation - - - - - Removes lines - - - - - Constructor - - Underlaying textbox - List of ranges for replace - Text for inserting - - - - Undo operation - - - - - Execute operation - - - - - Wrapper for multirange commands - - - - - Remembers current selection and restore it after Undo - - - - - Показать карту документов FCTB - - - - - Scale - - - - - Scrollbar visibility - - - - - Exports colored text as HTML - - At this time only TextStyle renderer is supported. Other styles is not exported. - - - - Use nbsp; instead space - - - - - Use nbsp; instead space in beginning of line - - - - - Use original font - - - - - Use style tag instead style attribute - - - - - Use 'br' tag instead of '\n' - - - - - Includes line numbers - - - - - Exports colored text as RTF - - At this time only TextStyle renderer is supported. Other styles are not exported. - - - - Includes line numbers - - - - - Use original font - - - - - Fast colored textbox - - - - - Constructor - - - - - AutoComplete brackets - - - - - Colors of some service visual markers - - - - - Contains UniqueId of start lines of folded blocks - - This dictionary remembers folding state of blocks. - It is needed to restore child folding after user collapsed/expanded top-level folding block. - - - - Strategy of search of brackets to highlighting - - - - - Automatically shifts secondary wordwrap lines on the shift amount of the first line - - - - - Indent of secondary wordwrap lines (in chars) - - - - - MacrosManager records, stores and executes the macroses - - - - - Allows drag and drop - - - - - Collection of Hints. - This is temporary buffer for currently displayed hints. - - You can asynchronously add, remove and clear hints. Appropriate hints will be shown or hidden from the screen. - - - - Delay (ms) of ToolTip - - - - - ToolTip component - - - - - Color of bookmarks - - - - - Bookmarks - - - - - Enables virtual spaces - - - - - Strategy of search of end of folding block - - - - - Indicates if tab characters are accepted as input - - - - - Indicates if return characters are accepted as input - - - - - Shows or hides the caret - - - - - Enables caret blinking - - - - - Draw caret when the control is not focused - - - - - Color of border of text area - - - - - Type of border of text area - - - - - Background color for current line - - - - - Background color for highlighting of changed lines - - - - - Fore color (default style color) - - - - - Height of char in pixels (includes LineInterval) - - - - - Interval between lines (in pixels) - - - - - Width of char in pixels - - - - - Spaces count for tab - - - - - Text was changed - - - - - Text version - - This counter is incremented each time changes the text - - - - Read only - - - - - Shows line numbers. - - - - - Shows vertical lines between folding start line and folding end line. - - - - - Rectangle where located text - - - - - Color of line numbers. - - - - - Start value of first line number. - - - - - Background color of indent area - - - - - Background color of padding area - - - - - Color of disabled component - - - - - Color of caret - - - - - Wide caret - - - - - Color of service lines (folding lines, borders of blocks etc.) - - - - - Padings of text area - - - - - --Do not use this property-- - - - - - Color of folding area indicator - - - - - Enables folding indicator (left vertical line between folding bounds) - - - - - Left distance to text beginning - - - - - Left padding in pixels - - - - - This property draws vertical line after defined char position. - Set to 0 for disable drawing of vertical line. - - - - - Styles - - - - - Hotkeys. Do not use this property in your code, use HotkeysMapping property. - - - - - Hotkeys mapping - - - - - Default text style - This style is using when no one other TextStyle is not defined in Char.style - - - - - Style for rendering Selection area - - - - - Style for folded block rendering - - - - - Style for brackets highlighting - - - - - Style for alternative brackets highlighting - - - - - Opening bracket for brackets highlighting. - Set to '\x0' for disable brackets highlighting. - - - - - Closing bracket for brackets highlighting. - Set to '\x0' for disable brackets highlighting. - - - - - Alternative opening bracket for brackets highlighting. - Set to '\x0' for disable brackets highlighting. - - - - - Alternative closing bracket for brackets highlighting. - Set to '\x0' for disable brackets highlighting. - - - - - Comment line prefix. - - - - - This property specifies which part of the text will be highlighted as you type (by built-in highlighter). - - When a user enters text, a component refreshes highlighting (because the text was changed). - This property specifies exactly which section of the text will be re-highlighted. - This can be useful to highlight multi-line comments, for example. - - - - Is keyboard in replace mode (wide caret) ? - - - - - Allows text rendering several styles same time. - - - - - Allows to record macros. - - - - - Allows AutoIndent. Inserts spaces before new line. - - - - - Does autoindenting in existing lines. It works only if AutoIndent is True. - - - - - Minimal delay(ms) for delayed events (except TextChangedDelayed). - - - - - Minimal delay(ms) for TextChangedDelayed event. - - - - - Language for highlighting by built-in highlighter. - - - - - Syntax Highlighter - - - - - XML file with description of syntax highlighting. - This property works only with Language == Language.Custom. - - - - - Position of left highlighted bracket. - - - - - Position of right highlighted bracket. - - - - - Position of left highlighted alternative bracket. - - - - - Position of right highlighted alternative bracket. - - - - - Start line index of current highlighted folding area. Return -1 if start of area is not found. - - - - - End line index of current highlighted folding area. Return -1 if end of area is not found. - - - - - TextSource - - - - - The source of the text. - Allows to get text from other FastColoredTextBox. - - - - - Returns current visible range of text - - - - - Current selection range - - - - - Background color. - It is used if BackBrush is null. - - - - - Background brush. - If Null then BackColor is used. - - - - - Multiline - - - - - WordWrap. - - - - - WordWrap mode. - - - - - If true then line breaks included into the selection will be selected too. - Then line breaks will be shown as selected blank character. - - - - - Do not change this property - - - - - Count of lines - - - - - Gets or sets char and styleId for given place - This property does not fire OnTextChanged event - - - - - Gets Line - - - - - Text of control - - - - - Text lines - - - - - Gets colored text as HTML - - For more flexibility you can use ExportToHTML class also - - - - Gets colored text as RTF - - For more flexibility you can use ExportToRTF class also - - - - Text of current selection - - - - - Start position of selection - - - - - Length of selected text - - - - - Font - - Use only monospaced font - - - - Font - - Use only monospaced font - - - - Indicates that IME is allowed (for CJK language entering) - - - - - Is undo enabled? - - - - - Is redo enabled? - - - - - Range of all text - - - - - Color of selected area - - - - - Reserved space for line number characters. - If smaller than needed (e. g. line count >= 10 and this value set to 1) this value will have no impact. - If you want to reserve space, e. g. for line numbers >= 10 or >= 100 than you can set this value to 2 or 3 or higher. - - - - - Occurs when mouse is moving over text and tooltip is needed - - - - - Removes all hints - - - - - Add and shows the hint - - Linked range - Inner control - Scrolls textbox to the hint - Inlining. If True then hint will moves apart text - Docking. If True then hint will fill whole line - - - - Add and shows the hint - - Linked range - Inner control - - - - Add and shows simple text hint - - Linked range - Text of simple hint - Scrolls textbox to the hint - Inlining. If True then hint will moves apart text - Docking. If True then hint will fill whole line - - - - Add and shows simple text hint - - Linked range - Text of simple hint - - - - Occurs when user click on the hint - - - - - - Occurs when VisibleRange is changed - - - - - Invalidates the entire surface of the control and causes the control to be redrawn. - This method is thread safe and does not require Invoke. - - - - - HintClick event. - It occurs if user click on the hint. - - - - - TextChanged event. - It occurs after insert, delete, clear, undo and redo operations. - - - - - Fake event for correct data binding - - - - - Occurs when user paste text from clipboard - - - - - TextChanging event. - It occurs before insert, delete, clear, undo and redo operations. - - - - - SelectionChanged event. - It occurs after changing of selection. - - - - - VisibleRangeChanged event. - It occurs after changing of visible range. - - - - - TextChangedDelayed event. - It occurs after insert, delete, clear, undo and redo operations. - This event occurs with a delay relative to TextChanged, and fires only once. - - - - - SelectionChangedDelayed event. - It occurs after changing of selection. - This event occurs with a delay relative to SelectionChanged, and fires only once. - - - - - VisibleRangeChangedDelayed event. - It occurs after changing of visible range. - This event occurs with a delay relative to VisibleRangeChanged, and fires only once. - - - - - It occurs when user click on VisualMarker. - - - - - It occurs when visible char is enetering (alphabetic, digit, punctuation, DEL, BACKSPACE) - - Set Handle to True for cancel key - - - - It occurs when visible char is enetered (alphabetic, digit, punctuation, DEL, BACKSPACE) - - - - - It occurs when calculates AutoIndent for new line - - - - - It occurs when line background is painting - - - - - Occurs when line was inserted/added - - - - - Occurs when line was removed - - - - - Occurs when current highlighted folding area is changed. - Current folding area see in StartFoldingLine and EndFoldingLine. - - - - - - Occurs when undo/redo stack is changed - - - - - - Occurs when component was zoomed - - - - - Occurs when user pressed key, that specified as CustomAction - - - - - Occurs when scroolbars are updated - - - - - Occurs when custom wordwrap is needed - - - - - Returns list of styles of given place - - - - - Call this method if the recalc of the position of lines is needed. - - - - - Call this method if the recalc of the position of lines is needed. - - - - - Call this method if the recalc of the position of lines is needed. - - - - - Navigates forward (by Line.LastVisit property) - - - - - Navigates backward (by Line.LastVisit property) - - - - - Navigates to defined line, without Line.LastVisit reseting - - - - - Add new style - - Layer index of this style - - - - Checks if the styles buffer has enough space to add one - more element. If not, an exception is thrown. Otherwise, - the index of a free slot is returned. - - Index of free styles buffer slot - If maximum count of styles is exceeded - - - - Shows find dialog - - - - - Shows find dialog - - - - - Shows replace dialog - - - - - Shows replace dialog - - - - - Gets length of given line - - Line index - Length of line - - - - Get range of line - - Line index - - - - Copy selected text into Clipboard - - - - - Cut selected text into Clipboard - - - - - Paste text from clipboard into selected position - - - - - Select all chars of text - - - - - Move caret to end of text - - - - - Move caret to first position - - - - - Clear text, styles, history, caches - - - - - Clear buffer of styles - - - - - Clear style of all text - - - - - Clears undo and redo stacks - - - - - Insert text into current selected position - - - - - Insert text into current selected position - - - - - - Insert text into current selection position (with predefined style) - - - - - - Insert text into current selection position (with predefined style) - - - - - Insert text into replaceRange and restore previous selection - - - - - Append string to end of the Text - - - - - Append string to end of the Text - - - - - Returns index of the style in Styles - -1 otherwise - - - Index of the style in Styles - - - - Returns StyleIndex mask of given styles - - - StyleIndex mask of given styles - - - - Deletes selected chars - - - - - Deletes current line(s) - - - - - Calculates wordwrap cutoffs - - - - - Scroll control for display defined rectangle - - - - - - Updates scrollbar position after Value changed - - - - - Scroll control for display caret - - - - - Scroll control left - - - - - Scroll control for display selection area - - - - - Scroll control for display given range - - - - - Scroll control for display given range - - - - - Process control keys - - - - - Scrolls to nearest bookmark or to first bookmark - - Current bookmark line index - - - - Scrolls to nearest previous bookmark or to last bookmark - - Current bookmark line index - - - - Bookmarks line - - - - - Unbookmarks current line - - - - - Moves selected lines down - - - - - Moves selected lines up - - - - - Convert selected text to upper case - - - - - Convert selected text to lower case - - - - - Convert selected text to title case - - - - - Convert selected text to sentence case - - - - - Insert/remove comment prefix into selected lines - - - - - Insert/remove comment prefix into selected lines - - - - - Process "real" keys (no control) - - - - - Enables AutoIndentChars mode - - - - - Regex patterns for AutoIndentChars (one regex per line) - - - - - Do AutoIndentChars - - - - - Finds given char after current caret position, moves the caret to found pos. - - - - - - Inserts autoindent's spaces in the line - - - - - Returns needed start space count for the line - - - - - Undo last operation - - - - - Redo - - - - - Draws text to given Graphics - - - Start place of drawing text - Size of drawing - - - - Draw control - - - - - Gets the value for the system control panel mouse wheel scroll settings. - The value returns the number of lines that shall be scolled if the user turns the mouse wheet one step. - - - This methods gets the "WheelScrollLines" value our from the registry key "HKEY_CURRENT_USER\Control Panel\Desktop". - If the value of this option is 0, the screen will not scroll when the mouse wheel is turned. - If the value of this option is -1 or is greater than the number of lines visible in the window, - the screen will scroll up or down by one page. - - - Number of lines to scrol l when the mouse wheel is turned - - - - - Zooming (in percentages) - - - - - Gets nearest line and char position from coordinates - - Point - Line and char position - - - - Gets nearest absolute text position for given point - - Point - Position - - - - Fires TextChanging event - - - - - Fires TextChanged event - - - - - Fires TextChanged event - - - - - Fires TextChanged event - - - - - Call this method before multiple text changing - - - - - Call this method after multiple text changing - - - - - Fires TextChanged event - - - - - Clears folding state for range of text - - - - - Fires SelectionChanged event - - - - - Gets absolute text position from line and char position - - Line and char position - Point of char - - - - Gets line and char position from absolute text position - - - - - Gets absolute char position from char position - - - - - Gets point for given line and char position - - Line and char position - Coordiantes - - - - Get range of text - - Absolute start position - Absolute finish position - Range - - - - Get range of text - - Line and char position - Line and char position - Range - - - - Finds ranges for given regex pattern - - Regex pattern - Enumeration of ranges - - - - Finds ranges for given regex pattern - - Regex pattern - Enumeration of ranges - - - - Get text of given line - - Line index - Text - - - - Exapnds folded block - - Start line - - - - Collapse folding blocks using FoldedBlocks dictionary. - - - - - Expand collapsed block - - - - - Expand collapsed block - - Any line inside collapsed block - - - - Collapses all folding blocks - - - - - Exapnds all folded blocks - - - - - - Collapses folding block - - Start folding line - - - - Start foilding marker for the line - - - - - End foilding marker for the line - - - - - Collapse text block - - - - - Insert TAB into front of seletcted lines. - - - - - Remove TAB from front of seletcted lines. - - - - - Remove TAB in front of the caret ot the selected line. - - - - - Insert autoindents into selected lines - - - - - Insert prefix into front of seletcted lines - - - - - Remove prefix from front of selected lines - This method ignores forward spaces of the line - - - - - Begins AutoUndo block. - All changes of text between BeginAutoUndo() and EndAutoUndo() will be canceled in one operation Undo. - - - - - Ends AutoUndo block. - All changes of text between BeginAutoUndo() and EndAutoUndo() will be canceled in one operation Undo. - - - - - Highlights brackets around caret - - - - - Returns range between brackets (or null if not found) - - - - - Selectes next fragment for given regex. - - - - - Prints range of text - - - - - Prints all text - - - - - Prints all text, without any dialog windows - - - - - Open text file - - - - - Open text file (with automatic encoding detector) - - - - - Open file binding mode - - - - - - - Close file binding mode - - - - - Save text to the file - - - - - - - Set VisibleState of line - - - - - Returns VisibleState of the line - - - - - Shows Goto dialog form - - - - - Occurs when undo/redo stack is changed - - - - - Search lines by regex pattern - - - - - Removes given lines - - - - - Activates the scrolling mode (middle click button). - - MouseEventArgs - - - - Deactivates the scrolling mode (middle click button). - - - - - Restore scrolls - - - - - Inserted line index - - - - - Count of inserted lines - - - - - Removed line index - - - - - Count of removed lines - - - - - UniqueIds of removed lines - - - - - TextChanged event argument - - - - - Constructor - - - - - This range contains changed area of text - - - - - Set to true if you want to cancel text inserting - - - - - Word wrapping by control width - - - - - Word wrapping by preferred line width (PreferredLineWidth) - - - - - Char wrapping by control width - - - - - Char wrapping by preferred line width (PreferredLineWidth) - - - - - Custom wrap (by event WordWrapNeeded) - - - - - Title of page. If you want to print Title on the page, insert code &w in Footer or Header. - - - - - Footer of page. - Here you can use special codes: &w (Window title), &D, &d (Date), &t(), &4 (Time), &p (Current page number), &P (Total number of pages), && (A single ampersand), &b (Right justify text, Center text. If &b occurs once, then anything after the &b is right justified. If &b occurs twice, then anything between the two &b is centered, and anything after the second &b is right justified). - More detailed see here - - - - - Header of page - Here you can use special codes: &w (Window title), &D, &d (Date), &t(), &4 (Time), &p (Current page number), &P (Total number of pages), && (A single ampersand), &b (Right justify text, Center text. If &b occurs once, then anything after the &b is right justified. If &b occurs twice, then anything between the two &b is centered, and anything after the second &b is right justified). - More detailed see here - - - - - Prints line numbers - - - - - Additional spaces count for this line, relative to previous line - - - - - Additional spaces count for next line, relative to previous line - - - - - Absolute indentation of current line. You can change this property if you want to set absolute indentation. - - - - - Type of highlighting - - - - - Highlight only changed range of text. Highest performance. - - - - - Highlight visible range of text. Middle performance. - - - - - Highlight all (visible and invisible) text. Lowest performance. - - - - - Strategy of search of end of folding block - - - - - Strategy of search of brackets to highlighting - - - - - ToolTipNeeded event args - - - - - HintClick event args - - - - - CustomAction event args - - - - - Style index mask (16 styles) - - - - - This class contains the source text (chars and styles). - It stores a text lines, the manager of commands, undo/redo stack, styles. - - - - - Occurs when need to display line in the textbox - - - - - Occurs when need to save line in the file - - - - - End Of Line characters used for saving - - - - - This text will be displayed in textbox - - - - - This property contains only changed text. - If text of line is not changed, this property contains null. - - - - - This text will be saved in the file - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Collection of Hints. - This is temporary buffer for currently displayed hints. - - - - - Clears all displayed hints - - - - - Add and shows the hint - - - - - - Is collection contains the hint? - - - - - Count of hints - - - - - Hint of FastColoredTextbox - - - - - Text of simple hint - - - - - Linked range - - - - - Backcolor - - - - - Second backcolor - - - - - Border color - - - - - Fore color - - - - - Text alignment - - - - - Font - - - - - Occurs when user click on simple hint - - - - - Inner control - - - - - Docking (allows None and Fill only) - - - - - Width of hint (if Dock is None) - - - - - Height of hint - - - - - Host panel - - - - - Tag - - - - - Cursor - - - - - Inlining. If True then hint will moves apart text. - - - - - Scroll textbox to the hint - - - - - Creates Hint - - Linked range - Text for simple hint - Inlining. If True then hint will moves apart text - Docking. If True then hint will fill whole line - - - - Creates Hint - - Linked range - Text for simple hint - - - - Creates Hint - - Linked range - Inner control - Inlining. If True then hint will moves apart text - Docking. If True then hint will fill whole line - - - - Creates Hint - - Linked range - Inner control - - - - Dictionary of shortcuts for FCTB - - - - - Actions for shortcuts - - - - - Returns edited hotkey map - - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Limited stack - - - - - Max stack length - - - - - Current length of stack - - - - - Constructor - - Maximum length of stack - - - - Pop item - - - - - Peek item - - - - - Push item - - - - - Clear stack - - - - - Line of text - - - - - Text of line was changed - - - - - Time of last visit of caret in this line - - This property can be used for forward/backward navigating - - - - Background brush. - - - - - Unique ID - - - - - Count of needed start spaces for AutoIndent - - - - - Clears style of chars, delete folding markers - - - - - Text of the line - - - - - Clears folding markers - - - - - Count of start spaces - - - - - Chars count - - - - - Visible state - - - - - Positions for wordwrap cutoffs - - - - - Count of wordwrap string count for this line - - - - - Gets index of wordwrap string for given char position - - - - - This class records, stores and executes the macros. - - - - - Allows to user to record macros - - - - - Returns current recording state. Set to True/False to start/stop recording programmatically. - - - - - FCTB - - - - - Executes recorded macro - - - - - - Adds the char to current macro - - - - - Adds keyboard key to current macro - - - - - Clears last recorded macro - - - - - Returns True if last macro is empty - - - - - Macros as string. - - - - - Line index and char index - - - - - Diapason of text chars - - - - - Constructor - - - - - Return true if no selected text - - - - - Column selection mode - - - - - Constructor - - - - - Constructor - - - - - Constructor. Creates range of the line - - - - - Returns intersection with other range, - empty range returned otherwise - - - - - - - Returns union with other range. - - - - - - - Select all chars of control - - - - - Start line and char position - - - - - Finish line and char position - - - - - Text of range - - This property has not 'set' accessor because undo/redo stack works only with - FastColoredTextBox.Selection range. So, if you want to set text, you need to use FastColoredTextBox.Selection - and FastColoredTextBox.InsertText() mehtod. - - - - - Returns first char after Start place - - - - - Returns first char before Start place - - - - - Returns required char's number before start of the Range - - - - - Returns required char's number after start of the Range - - - - - Clone range - - - - - - Return minimum of end.X and start.X - - - - - Return maximum of end.X and start.X - - - - - Move range right - - This method jump over folded blocks - - - - Move range left - - This method can to go inside folded blocks - - - - Move range left - - This method jump over folded blocks - - - - Move range left - - This method can to go inside folded blocks - - - - Set style for range - - - - - Set style for given regex pattern - - - - - Set style for given regex - - - - - Set style for given regex pattern - - - - - Set style for given regex pattern - - - - - Set style for given regex pattern - - - - - Appends style to chars of range - - - - - Sets folding markers - - Pattern for start folding line - Pattern for finish folding line - - - - Sets folding markers - - Pattern for start folding line - Pattern for finish folding line - - - - Sets folding markers - - Pattern for start and end folding line - - - - Finds ranges for given regex pattern - - Regex pattern - Enumeration of ranges - - - - Finds ranges for given regex pattern - - Regex pattern - Enumeration of ranges - - - - Finds ranges for given regex pattern. - Search is separately in each line. - This method requires less memory than GetRanges(). - - Regex pattern - Enumeration of ranges - - - - Finds ranges for given regex. - Search is separately in each line. - This method requires less memory than GetRanges(). - - Regex - Enumeration of ranges - - - - Finds ranges for given regex pattern. - Search is separately in each line (order of lines is reversed). - This method requires less memory than GetRanges(). - - Regex pattern - Enumeration of ranges - - - - Finds ranges for given regex - - Enumeration of ranges - - - - Clear styles of range - - - - - Clear styles of range - - - - - Clear folding markers of all lines of range - - - - - Starts selection position updating - - - - - Ends selection position updating - - - - - Exchanges Start and End if End appears before Start - - - - - Exchanges Start and End - - - - - Expands range from first char of Start line to last char of End line - - - - - Chars of range (exclude \n) - - - - - Get fragment of text around Start place. Returns maximal matched to pattern fragment. - - Allowed chars pattern for fragment - Range of found fragment - - - - Get fragment of text around Start place. Returns maximal matched to given Style. - - Allowed style for fragment - Range of found fragment - - - - Get fragment of text around Start place. Returns maximal mathed to pattern fragment. - - Allowed chars pattern for fragment - Range of found fragment - - - - Range is readonly? - This property return True if any char of the range contains ReadOnlyStyle. - Set this property to True/False to mark chars of the range as Readonly/Writable. - - - - - Is char before range readonly - - - - - - Is char after range readonly - - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Style of chars - - This is base class for all text and design renderers - - - - This style is exported to outer formats (HTML for example) - - - - - Occurs when user click on StyleVisualMarker joined to this style - - - - - Constructor - - - - - Renders given range of text - - Graphics object - Position of the range in absolute control coordinates - Rendering range of text - - - - Occurs when user click on StyleVisualMarker joined to this style - - - - - Shows VisualMarker - Call this method in Draw method, when you need to show VisualMarker for your style - - - - - Returns CSS for export to HTML - - - - - - Returns RTF descriptor for export to RTF - - - - - - Style for chars rendering - This renderer can draws chars, with defined fore and back colors - - - - - Renderer for folded block - - - - - Renderer for selected area - - - - - Marker style - Draws background color for text - - - - - Draws small rectangle for popup menu - - - - - This style draws a wavy line below a given text range. - - Thanks for Yallie - - - - This style is used to mark range of text as ReadOnly block - - You can inherite this style to add visual effects of readonly text - - - - Highlights syntax for given language - - - - - Highlights syntax for given XML description file - - - - - Uses the given to parse a XML description and adds it as syntax descriptor. - The syntax descriptor is used for highlighting when - - Language property of FCTB is set to - DescriptionFile property of FCTB has the same value as the method parameter - - - Name of the description file - XmlDocument to parse - - - - Adds the given as resilient style. A resilient style is additionally available when highlighting is - based on a syntax descriptor that has been derived from a XML description file. In the run of the highlighting routine - the styles used by the FCTB are always dropped and replaced with the (initial) ones from the syntax descriptor. Resilient styles are - added afterwards and can be used anyway. - - Style to add - - - - Highlights C# code - - - - - - Highlights VB code - - - - - - Highlights HTML code - - - - - - Highlights XML code - - - - - - Highlights SQL code - - - - - - Highlights PHP code - - - - - - Highlights JavaScript code - - - - - - Highlights Lua code - - - - - - String style - - - - - Comment style - - - - - Number style - - - - - C# attribute style - - - - - Class name style - - - - - Keyword style - - - - - Style of tags in comments of C# - - - - - HTML attribute value style - - - - - HTML tag brackets style - - - - - HTML tag name style - - - - - HTML Entity style - - - - - XML attribute style - - - - - XML attribute value style - - - - - XML tag brackets style - - - - - XML tag name style - - - - - XML Entity style - - - - - XML CData style - - - - - Variable style - - - - - Specific PHP keyword style - - - - - Specific PHP keyword style - - - - - SQL Statements style - - - - - SQL Functions style - - - - - SQL Types style - - - - - Language - - - - - This class contains the source text (chars and styles). - It stores a text lines, the manager of commands, undo/redo stack, styles. - - - - - Styles - - - - - Occurs when line was inserted/added - - - - - Occurs when line was removed - - - - - Occurs when text was changed - - - - - Occurs when recalc is needed - - - - - Occurs when recalc wordwrap is needed - - - - - Occurs before text changing - - - - - Occurs after CurrentTB was changed - - - - - Current focused FastColoredTextBox - - - - - Default text style - This style is using when no one other TextStyle is not defined in Char.style - - - - - Text lines - - - - - Lines count - - - - - These classes are required for correct data binding to Text property of FastColoredTextbox - - - - - Возвращает дубликат элемента управления - - - - - - - - Возвращает в виде - - - - - - - Defines the Color Scheme to be used for all forms. - - The primary color, a -500 color is suggested here. - A darker version of the primary color, a -700 color is suggested here. - A lighter version of the primary color, a -100 color is suggested here. - The accent color, a -200 color is suggested here. - The text color, the one with the highest contrast is suggested. - - - - Convert an integer number to a Color. - - - - - - Removes the alpha component of a color. - - - - - - - Converts a 0-100 integer to a 0-255 color component. - - - - - - - Material design-like progress bar - - - - - Initializes a new instance of the class. - - - - - Gets or sets the depth. - - - The depth. - - - - - Gets the skin manager. - - - The skin manager. - - - - - Gets or sets the state of the mouse. - - - The state of the mouse. - - - - - Performs the work of setting the specified bounds of this control. - - The new property value of the control. - The new property value of the control. - The new property value of the control. - The new property value of the control. - A bitwise combination of the values. - - - - Raises the event. - - A that contains the event data. - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обязательный метод для поддержки конструктора - не изменяйте содержимое данного метода при помощи редактора кода. - - - - - Освобождает все ресурсы, используемые текущим экземпляром класса . - - - - - Предоставляет методы для работы с окном, отображающим свойства сборки. - - - - - Отображает окно со свойствами указанной сборки. - - Свойства сборки - - - - Отображает окно со свойствами указанной сборки. - - Свойства сборки - Ссылка на сайт компании или страницу разработчика - - - - Отображает окно со свойствами указанной сборки. - - Свойства сборки - Ссылка на сайт компании или страницу разработчика - - - - - Отображает окно со свойствами указанной сборки. - - Свойства сборки - Ссылка на сайт компании или страницу разработчика - - - - - - Форма, показывающая указанные метаданные сборки. - - - - - Обязательная переменная конструктора. - - - - - Освободить все используемые ресурсы. - - истинно, если управляемый ресурс должен быть удален; иначе ложно. - - - - Требуемый метод для поддержки конструктора — не изменяйте - содержимое этого метода с помощью редактора кода. - - - - - Обновляет цветовую тему. - - - - - - - Отображает окно с метаданными текущей сборки. - - - - - Отображает окно с указанными метаданными. - - - - - - Отображает окно с указанными метаданными. - - - - - - - Отображает окно с указанными метаданными. - - - - - - - Отображает окно с указанными метаданными. - - - - - - - - Отображает окно с указанными метаданными. - - - - - - - - - Обработчик события нажатия на ссылку. - - - - - - - Класическая тема иконок - - - - - Минималистическая тема в виде стрелок - - - - - Конвертирует список клавиш в . - - - - - - - Задаёт цветовую палитру, в зависимости от выбранной темы. - - - - - - Задаёт Margin первому и последнему элементам списка. - - - - - - Получает список родительского . - - - - - - - Получает список коллекции . - - - - - - - Изменяет позицию при воздействии на неё мышью. - - - - - - Изменяет размер при воздействии на неё мышью. - - - /// - - - - Плавно загружает . - - Загружаемая форма - Скорость появления - - - - Плавно загружает до определённой прозрачности. - - Загружаемая форма - Конечная прозрачность - Скорость появления - - - - Плавно загружает с раздвижением из центра по вертикали. - - Загружаемая форма. - - - - Плавно деактивирует . - - Загружаемая форма. - /// Скорость деактивации. - - - - Плавно скрывает . - - Скрываемая форма. - Скорость скрытия. - - - - Плавно закрывает . - - Закрываемая форма. - Скорость закрытия. - - - - Плавно закрывает с выходом из приложения. - - Закрываемая форма. - Скорость закрытия. - - - - Закрывает со сжатием в центр по вертикали и выходом из приложения. - - Закрываемая форма. - - - - Задаёт случайный порядок списка - - - - - - - The implementation of the caching_sha2_password authentication plugin. - - - - - Defines the stage of the authentication. - - - - - This is a factory method that is used only internally. It creates an auth plugin based on the method type - - - - - - - - - Returns a byte array containing the proper encryption of the - given password/seed according to the new 4.1.1 authentication scheme. - - - - - - - - The implementation of the sha256_password authentication plugin. - - - - - - - - - - - - - - - Gets or sets the connection. - - The connection. - - - - Gets or sets the field terminator. - - The field terminator. - - - - Gets or sets the line terminator. - - The line terminator. - - - - Gets or sets the name of the table. - - The name of the table. - - - - Gets or sets the character set. - - The character set. - - - - Gets or sets the name of the file. - - The name of the file. - - - - Gets or sets the timeout. - - The timeout. - - - - Gets or sets a value indicating whether the filename that is to be loaded - is local to the client or not - - true if local; otherwise, false. - - - - Gets or sets the number of lines to skip. - - The number of lines to skip. - - - - Gets or sets the line prefix. - - The line prefix. - - - - Gets or sets the field quotation character. - - The field quotation character. - - - - Gets or sets a value indicating whether [field quotation optional]. - - - true if [field quotation optional]; otherwise, false. - - - - - Gets or sets the escape character. - - The escape character. - - - - Gets or sets the conflict option. - - The conflict option. - - - - Gets or sets the priority. - - The priority. - - - - Gets the columns. - - The columns. - - - - Gets the expressions. - - The expressions. - - - - Execute the load operation - - The number of rows inserted. - - - - Async version of Load - - The number of rows inserted. - - - - - - - - - This is the default and indicates normal priority - - - - - Low priority will cause the load operation to wait until all readers of the table - have finished. This only affects storage engines that use only table-level locking - such as MyISAM, Memory, and Merge. - - - - - Concurrent priority is only relevant for MyISAM tables and signals that if the table - has no free blocks in the middle that other readers can retrieve data from the table - while the load operation is happening. - - - - - - - - - - This is the default and indicates normal operation. In the event of a LOCAL load, this - is the same as ignore. When the data file is on the server, then a key conflict will - cause an error to be thrown and the rest of the data file ignored. - - - - - Replace column values when a key conflict occurs. - - - - - Ignore any rows where the primary key conflicts. - - - - - Summary description for CharSetMap. - - - - - Returns the text encoding for a given MySQL character set name - - Version of the connection requesting the encoding - Name of the character set to get the encoding for - Encoding object for the given character set name - - - - - - - - - Представляет оператор MySql или хранимую процедуру, применяемую к источнику данных. - - - - - Инициализирует новый экземпляр класса . - - - - - Инициализирует новый экземпляр класса текстом запроса. - - Текст запроса - - - - Инициализирует новый экземпляр класса текстом запроса и подключением . - - Текст запроса - представляет подключение к источнику данных - - - - Инициализирует новый экземпляр класса текстом запроса, подключением S и транзакцией . - - Текст запроса - представляет подключение к источнику данных. - Транзакция, в которой выполняется команда - - - - - - - Gets or sets the SQL statement to execute at the data source. - - The SQL statement or stored procedure to execute. The default is an empty string. - - - When the property is set to StoredProcedure, - the CommandText property should be set to the name of the stored procedure. - The user may be required to use escape character syntax if the stored procedure name - contains any special characters. The command executes this stored procedure when - you call one of the Execute methods. Starting with Connector/Net 5.0, having both a stored function - and stored procedure with the same name in the same database is not supported. It is - suggested that you provide unqiue names for your stored routines. - - - The following example creates a and sets some of its properties. - - Public Sub CreateMySqlCommand() - Dim myCommand As New MySqlCommand() - myCommand.CommandText = "SELECT * FROM Mytable ORDER BY id" - myCommand.CommandType = CommandType.Text - End Sub - - - public void CreateMySqlCommand() - { - MySqlCommand myCommand = new MySqlCommand(); - myCommand.CommandText = "SELECT * FROM mytable ORDER BY id"; - myCommand.CommandType = CommandType.Text; - } - - - - - - Gets or sets the wait time before terminating the attempt to execute a command - and generating an error. - - The time (in seconds) to wait for the command to execute. The default is 30 - seconds. - - CommandTimeout is dependent on the ability of MySQL to cancel an executing query. - Because of this, CommandTimeout is only supported when connected to MySQL - version 5.0.0 or higher. - - - - - Gets or sets a value indicating how the property is to be interpreted. - - One of the values. The default is Text. - - - When you set the CommandType property to StoredProcedure, you - should set the property to the name of the stored - procedure. The command executes this stored procedure when you call one of the - Execute methods. - - - The following example creates a and sets some of its properties. - - Public Sub CreateMySqlCommand() - Dim myCommand As New MySqlCommand() - myCommand.CommandType = CommandType.Text - End Sub - - - public void CreateMySqlCommand() - { - MySqlCommand myCommand = new MySqlCommand(); - myCommand.CommandType = CommandType.Text; - } - - - - - - - - - Gets or sets the used by this instance of the - . - - The connection to a data source. The default value is a null reference - (Nothing in Visual Basic). - - - If you set Connection while a transaction is in progress and the - property is not null, an - is generated. If the Transaction property is not null and the transaction - has already been committed or rolled back, Transaction is set to - null. - - - The following example creates a and sets some of its properties. - - Public Sub CreateMySqlCommand() - Dim mySelectQuery As String = "SELECT * FROM mytable ORDER BY id" - Dim myConnectString As String = "Persist Security Info=False;database=test;server=myServer" - Dim myCommand As New MySqlCommand(mySelectQuery) - myCommand.Connection = New MySqlConnection(myConnectString) - myCommand.CommandType = CommandType.Text - End Sub - - - public void CreateMySqlCommand() - { - string mySelectQuery = "SELECT * FROM mytable ORDER BY id"; - string myConnectString = "Persist Security Info=False;database=test;server=myServer"; - MySqlCommand myCommand = new MySqlCommand(mySelectQuery); - myCommand.Connection = new MySqlConnection(myConnectString); - myCommand.CommandType = CommandType.Text; - } - - - - - - Get the - - The parameters of the SQL statement or stored procedure. The default is - an empty collection. - - Connector/Net does not support unnamed parameters. Every parameter added to the collection must - have an associated name. - - The following example creates a and displays its parameters. - To accomplish this, the method is passed a , a query string - that is a SQL SELECT statement, and an array of objects. - - Public Sub CreateMySqlCommand(myConnection As MySqlConnection, _ - mySelectQuery As String, myParamArray() As MySqlParameter) - Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) - myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age" - myCommand.UpdatedRowSource = UpdateRowSource.Both - myCommand.Parameters.Add(myParamArray) - Dim j As Integer - For j = 0 To myCommand.Parameters.Count - 1 - myCommand.Parameters.Add(myParamArray(j)) - Next j - Dim myMessage As String = "" - Dim i As Integer - For i = 0 To myCommand.Parameters.Count - 1 - myMessage += myCommand.Parameters(i).ToString() & ControlChars.Cr - Next i - Console.WriteLine(myMessage) - End Sub - - - public void CreateMySqlCommand(MySqlConnection myConnection, string mySelectQuery, - MySqlParameter[] myParamArray) - { - MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); - myCommand.CommandText = "SELECT id, name FROM mytable WHERE age=@age"; - myCommand.Parameters.Add(myParamArray); - for (int j=0; j<myParamArray.Length; j++) - { - myCommand.Parameters.Add(myParamArray[j]) ; - } - string myMessage = ""; - for (int i = 0; i < myCommand.Parameters.Count; i++) - { - myMessage += myCommand.Parameters[i].ToString() + "\n"; - } - MessageBox.Show(myMessage); - } - - - - - - Gets or sets the within which the executes. - - The . The default value is a null reference (Nothing in Visual Basic). - - You cannot set the Transaction property if it is already set to a - specific value, and the command is in the process of executing. If you set the - transaction property to a object that is not connected - to the same as the object, - an exception will be thrown the next time you attempt to execute a statement. - - - - - Attempts to cancel the execution of a currently active command - - - Cancelling a currently active query only works with MySQL versions 5.0.0 and higher. - - - - - Creates a new instance of a object. - - - This method is a strongly-typed version of . - - A object. - - - - - Check the connection to make sure - - it is open - - it is not currently being used by a reader - - and we have the right version of MySQL for the requested command type - - - - - Executes a SQL statement against the connection and returns the number of rows affected. - Number of rows affected - You can use ExecuteNonQuery to perform any type of database operation, - however any resultsets returned will not be available. Any output parameters - used in calling a stored procedure will be populated with data and can be - retrieved after execution is complete. - For UPDATE, INSERT, and DELETE statements, the return value is the number - of rows affected by the command. For all other types of statements, the return - value is -1. - - The following example creates a MySqlCommand and then - executes it using ExecuteNonQuery. The example is passed a string that is a - SQL statement (such as UPDATE, INSERT, or DELETE) and a string to use to - connect to the data source. - - Public Sub CreateMySqlCommand(myExecuteQuery As String, myConnection As MySqlConnection) - Dim myCommand As New MySqlCommand(myExecuteQuery, myConnection) - myCommand.Connection.Open() - myCommand.ExecuteNonQuery() - myConnection.Close() - End Sub - - - public void CreateMySqlCommand(string myExecuteQuery, MySqlConnection myConnection) - { - MySqlCommand myCommand = new MySqlCommand(myExecuteQuery, myConnection); - myCommand.Connection.Open(); - myCommand.ExecuteNonQuery(); - myConnection.Close(); - } - - - - - - Reset reader to null, to avoid "There is already an open data reader" - on the next ExecuteReader(). Used in error handling scenarios. - - - - - Reset SQL_SELECT_LIMIT that could have been modified by CommandBehavior. - - - - - Sends the to the Connection - and builds a . - - A object. - - - When the property is set to StoredProcedure, - the property should be set to the name of the stored - procedure. The command executes this stored procedure when you call - ExecuteReader. - - - While the is in use, the associated - is busy serving the MySqlDataReader. - While in this state, no other operations can be performed on the - MySqlConnection other than closing it. This is the case until the - method of the MySqlDataReader is called. - - - The following example creates a , then executes it by - passing a string that is a SQL SELECT statement, and a string to use to connect to the - data source. - - Public Sub CreateMySqlDataReader(mySelectQuery As String, myConnection As MySqlConnection) - Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) - myConnection.Open() - Dim myReader As MySqlDataReader - myReader = myCommand.ExecuteReader() - Try - While myReader.Read() - Console.WriteLine(myReader.GetString(0)) - End While - Finally - myReader.Close - myConnection.Close - End Try - End Sub - - - public void CreateMySqlDataReader(string mySelectQuery, MySqlConnection myConnection) - { - MySqlCommand myCommand = new MySqlCommand(mySelectQuery, myConnection); - myConnection.Open(); - MMySqlDataReader myReader; - myReader = myCommand.ExecuteReader(); - try - { - while(myReader.Read()) - { - Console.WriteLine(myReader.GetString(0)); - } - } - finally - { - myReader.Close(); - myConnection.Close(); - } - } - - - - - - Sends the to the Connection, - and builds a using one of the values. - - One of the values. - - - When the property is set to StoredProcedure, - the property should be set to the name of the stored - procedure. The command executes this stored procedure when you call - ExecuteReader. - - - The supports a special mode that enables large binary - values to be read efficiently. For more information, see the SequentialAccess - setting for . - - - While the is in use, the associated - is busy serving the MySqlDataReader. - While in this state, no other operations can be performed on the - MySqlConnection other than closing it. This is the case until the - method of the MySqlDataReader is called. - If the MySqlDataReader is created with CommandBehavior set to - CloseConnection, closing the MySqlDataReader closes the connection - automatically. - - - When calling ExecuteReader with the SingleRow behavior, you should be aware that using a limit - clause in your SQL will cause all rows (up to the limit given) to be retrieved by the client. The - method will still return false after the first row but pulling all rows of data - into the client will have a performance impact. If the limit clause is not necessary, it should - be avoided. - - - A object. - - - - - Executes the query, and returns the first column of the first row in the - result set returned by the query. Extra columns or rows are ignored. - - The first column of the first row in the result set, or a null reference if the - result set is empty - - - Use the ExecuteScalar method to retrieve a single value (for example, - an aggregate value) from a database. This requires less code than using the - method, and then performing the operations necessary - to generate the single value using the data returned by a - - - The following example creates a and then - executes it using ExecuteScalar. The example is passed a string that is a - SQL statement that returns an aggregate result, and a string to use to - connect to the data source. - - - Public Sub CreateMySqlCommand(myScalarQuery As String, myConnection As MySqlConnection) - Dim myCommand As New MySqlCommand(myScalarQuery, myConnection) - myCommand.Connection.Open() - myCommand.ExecuteScalar() - myConnection.Close() - End Sub - - - public void CreateMySqlCommand(string myScalarQuery, MySqlConnection myConnection) - { - MySqlCommand myCommand = new MySqlCommand(myScalarQuery, myConnection); - myCommand.Connection.Open(); - myCommand.ExecuteScalar(); - myConnection.Close(); - } - - - public: - void CreateMySqlCommand(String* myScalarQuery, MySqlConnection* myConnection) - { - MySqlCommand* myCommand = new MySqlCommand(myScalarQuery, myConnection); - myCommand->Connection->Open(); - myCommand->ExecuteScalar(); - myConnection->Close(); - } - - - - - - - - - - Creates a prepared version of the command on an instance of MySQL Server. - - - Prepared statements are only supported on MySQL version 4.1 and higher. Calling - prepare while connected to earlier versions of MySQL will succeed but will execute - the statement in the same way as unprepared. - - - The following example demonstrates the use of the Prepare method. - - public sub PrepareExample() - Dim cmd as New MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection) - cmd.Parameters.Add( "@val", 10 ) - cmd.Prepare() - cmd.ExecuteNonQuery() - - cmd.Parameters(0).Value = 20 - cmd.ExecuteNonQuery() - end sub - - - private void PrepareExample() - { - MySqlCommand cmd = new MySqlCommand("INSERT INTO mytable VALUES (@val)", myConnection); - cmd.Parameters.Add( "@val", 10 ); - cmd.Prepare(); - cmd.ExecuteNonQuery(); - - cmd.Parameters[0].Value = 20; - cmd.ExecuteNonQuery(); - } - - - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this , and retrieves one or more - result sets from the server. - - An that can be used to poll, wait for results, - or both; this value is also needed when invoking EndExecuteReader, - which returns a instance that can be used to retrieve - the returned rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this using one of the - CommandBehavior values. - - One of the values, indicating - options for statement execution and data retrieval. - An that can be used to poll, wait for results, - or both; this value is also needed when invoking EndExecuteReader, - which returns a instance that can be used to retrieve - the returned rows. - - - - Finishes asynchronous execution of a SQL statement, returning the requested - . - - The returned by the call to - . - A MySqlDataReader object that can be used to retrieve the requested rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this . - - - An delegate that is invoked when the command's - execution has completed. Pass a null reference (Nothing in Visual Basic) - to indicate that no callback is required. - A user-defined state object that is passed to the - callback procedure. Retrieve this object from within the callback procedure - using the property. - An that can be used to poll or wait for results, - or both; this value is also needed when invoking , - which returns the number of affected rows. - - - - Initiates the asynchronous execution of the SQL statement or stored procedure - that is described by this . - - An that can be used to poll or wait for results, - or both; this value is also needed when invoking , - which returns the number of affected rows. - - - - Finishes asynchronous execution of a SQL statement. - - The returned by the call - to . - - - - - Verifies if a query is valid even if it has not spaces or is a stored procedure call - - Query to validate - If it is necessary to add call statement - - - - Creates a clone of this MySqlCommand object. CommandText, Connection, and Transaction properties - are included as well as the entire parameter list. - - The cloned MySqlCommand object - - - - Gets or sets how command results are applied to the DataRow when used by the - Update method of the DbDataAdapter. - - - - - Gets or sets a value indicating whether the command object should be visible in a Windows Form Designer control. - - - - - Automatically generates single-table commands used to reconcile changes made to a DataSet with the associated MySQL database. This class cannot be inherited. - - - The does not automatically generate the SQL statements required to - reconcile changes made to a DataSet with the associated instance of MySQL. - However, you can create a MySqlCommandBuilder object to automatically generate SQL statements for - single-table updates if you set the SelectCommand property - of the MySqlDataAdapter. Then, any additional SQL statements that you do not set are generated by the - MySqlCommandBuilder. - - - - The MySqlCommandBuilder registers itself as a listener for RowUpdating - events whenever you set the property. You can only associate one - MySqlDataAdapter or MySqlCommandBuilder object with each other at one time. - - - - To generate INSERT, UPDATE, or DELETE statements, the MySqlCommandBuilder uses the - SelectCommand property to retrieve a required set of metadata automatically. If you change - the SelectCommand after the metadata has is retrieved (for example, after the first update), you - should call the method to update the metadata. - - - - The SelectCommand must also return at least one primary key or unique - column. If none are present, an InvalidOperation exception is generated, - and the commands are not generated. - - - - The MySqlCommandBuilder also uses the Connection, - CommandTimeout, and Transaction - properties referenced by the SelectCommand. The user should call - RefreshSchema if any of these properties are modified, or if the - SelectCommand itself is replaced. Otherwise the InsertCommand, - UpdateCommand, and - DeleteCommand properties retain - their previous values. - - - - If you call Dispose, the MySqlCommandBuilder is disassociated - from the MySqlDataAdapter, and the generated commands are no longer used. - - - - Caution must be used when using MySqlCOmmandBuilder on MySql 4.0 systems. With MySql 4.0, - database/schema information is not provided to the connector for a query. This means that - a query that pulls columns from two identically named tables in two or more different databases - will not cause an exception to be thrown but will not work correctly. Even more dangerous - is the situation where your select statement references database X but is executed in - database Y and both databases have tables with similar layouts. This situation can cause - unwanted changes or deletes. - This note does not apply to MySQL versions 4.1 and later. - - - - The following example uses the , along - and , to - select rows from a data source. The example is passed an initialized - , a connection string, a - query string that is a SQL SELECT statement, and a string that is the - name of the database table. The example then creates a MySqlCommandBuilder. - - - Public Shared Function SelectRows(myConnection As String, mySelectQuery As String, myTableName As String) As DataSet - Dim myConn As New MySqlConnection(myConnection) - Dim myDataAdapter As New MySqlDataAdapter() - myDataAdapter.SelectCommand = New MySqlCommand(mySelectQuery, myConn) - Dim cb As SqlCommandBuilder = New MySqlCommandBuilder(myDataAdapter) - - myConn.Open() - - Dim ds As DataSet = New DataSet - myDataAdapter.Fill(ds, myTableName) - - ' Code to modify data in DataSet here - - ' Without the MySqlCommandBuilder this line would fail. - myDataAdapter.Update(ds, myTableName) - - myConn.Close() - End Function 'SelectRows - - - public static DataSet SelectRows(string myConnection, string mySelectQuery, string myTableName) - { - MySqlConnection myConn = new MySqlConnection(myConnection); - MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); - myDataAdapter.SelectCommand = new MySqlCommand(mySelectQuery, myConn); - MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); - - myConn.Open(); - - DataSet ds = new DataSet(); - myDataAdapter.Fill(ds, myTableName); - - //code to modify data in DataSet here - - //Without the MySqlCommandBuilder this line would fail - myDataAdapter.Update(ds, myTableName); - - myConn.Close(); - - return ds; - } - - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class - with the associated object. - - The to use. - - - The registers itself as a listener for - events that are generated by the - specified in this property. - - - When you create a new instance MySqlCommandBuilder, any existing - MySqlCommandBuilder associated with this MySqlDataAdapter - is released. - - - - - - Gets or sets a object for which SQL statements are automatically generated. - - A object. - - - The registers itself as a listener for - events that are generated by the - specified in this property. - - - When you create a new instance MySqlCommandBuilder, any existing - MySqlCommandBuilder associated with this MySqlDataAdapter - is released. - - - - - - Retrieves parameter information from the stored procedure specified - in the MySqlCommand and populates the Parameters collection of the - specified MySqlCommand object. - This method is not currently supported since stored procedures are - not available in MySql. - - The MySqlCommand referencing the stored - procedure from which the parameter information is to be derived. - The derived parameters are added to the Parameters collection of the - MySqlCommand. - The command text is not - a valid stored procedure name. - - - - Gets the delete command. - - - - - - Gets the update command. - - - - - - Gets the insert command. - - - - - - - - - - - - - Read a single quoted identifier from the stream - - - - - - - Summary description for CompressedStream. - - - - - Представляет открытое подключение к источнику данных. - - - - - Инициализирует новый экземпляр класса . - - - - - Инициализирует новый экземпляр класса с заданной строкой подключения. - - Подключение, которое используется для открытия базы данных - - - - Returns the id of the server thread this connection is executing on - - - - - Gets the name of the MySQL server to which to connect. - - - - - Gets the time to wait while trying to establish a connection before terminating the attempt and generating an error. - The value set is less than 0. - A value of 0 indicates no limit, and should be avoided in a - because an attempt to connect - will wait indefinitely. - - The following example creates a MySqlConnection - and sets some of its properties in the connection string. - - Public Sub CreateSqlConnection() - Dim myConnection As New MySqlConnection() - myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30" - myConnection.Open() - End Sub - - - public void CreateSqlConnection() - { - MySqlConnection myConnection = new MySqlConnection(); - myConnection.ConnectionString = "Persist Security Info=False;Username=user;Password=pass;database=test1;server=localhost;Connect Timeout=30"; - myConnection.Open(); - } - - - - - Gets the name of the current database or the database to be used after a connection is opened.The name of the current database or the name of the database to be used after a connection is opened. The default value is an empty string. - - The Database property does not update dynamically. - If you change the current database using a SQL statement, then this property - may reflect the wrong value. If you change the current database using the - method, this property is updated to reflect the new database. - - - The following example creates a and displays - some of its read-only properties. - - - Public Sub CreateMySqlConnection() - Dim myConnString As String = _ - "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" - Dim myConnection As New MySqlConnection( myConnString ) - myConnection.Open() - MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ - + ControlChars.NewLine + "Database: " + myConnection.Database ) - myConnection.ChangeDatabase( "test2" ) - MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ - + ControlChars.NewLine + "Database: " + myConnection.Database ) - myConnection.Close() - End Sub - - - - public void CreateMySqlConnection() - { - string myConnString = - "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; - MySqlConnection myConnection = new MySqlConnection( myConnString ); - myConnection.Open(); - MessageBox.Show( "Server Version: " + myConnection.ServerVersion - + "\nDatabase: " + myConnection.Database ); - myConnection.ChangeDatabase( "test2" ); - MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion - + "\nDatabase: " + myConnection.Database ); - myConnection.Close(); - } - - - - - - Указывает, должно ли это соединение использовать сжатие при взаимодействии с сервером. - - - - - Получает текущее состояние подключения - - - - Gets a string containing the version of the MySQL server to which the client is connected.The version of the instance of MySQL.The connection is closed. - The following example creates a , opens it, - displays some of its properties, then closes the connection. - - - Public Sub CreateMySqlConnection(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _ - + ControlChars.Cr + "State: " + myConnection.State.ToString()) - myConnection.Close() - End Sub - - - public void CreateMySqlConnection(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - MessageBox.Show("ServerVersion: " + myConnection.ServerVersion + - "\nState: " + myConnection.State.ToString()); - myConnection.Close(); - } - - - - - - Gets or sets the string used to connect to a MySQL Server database. - - - The ConnectionString returned may not be exactly like what was originally - set but will be indentical in terms of keyword/value pairs. Security information - will not be included unless the Persist Security Info value is set to true. - - - You can use the ConnectionString property to connect to a database. - The following example illustrates a typical connection string. - - "Persist Security Info=False;database=MyDB;server=MySqlServer;user id=myUser;Password=myPass" - - The ConnectionString property can be set only when the connection is - closed. Many of the connection string values have corresponding read-only - properties. When the connection string is set, all of these properties are - updated, except when an error is detected. In this case, none of the properties - are updated. properties return only those settings contained in the - ConnectionString. - - - To connect to a local machine, specify "localhost" for the server. If you do not - specify a server, localhost is assumed. - - - Resetting the ConnectionString on a closed connection resets all - connection string values (and related properties) including the password. For - example, if you set a connection string that includes "Database= MyDb", and - then reset the connection string to "Data Source=myserver;User Id=myUser;Password=myPass", - the property is no longer set to MyDb. - - - The connection string is parsed immediately after being set. If errors in - syntax are found when parsing, a runtime exception, such as , - is generated. Other errors can be found only when an attempt is made to open the - connection. - - - The basic format of a connection string consists of a series of keyword/value - pairs separated by semicolons. The equal sign (=) connects each keyword and its - value. To include values that contain a semicolon, single-quote character, or - double-quote character, the value must be enclosed in double quotes. If the - value contains both a semicolon and a double-quote character, the value can be - enclosed in single quotes. The single quote is also useful if the value begins - with a double-quote character. Conversely, the double quote can be used if the - value begins with a single quote. If the value contains both single-quote and - double-quote characters, the quote character used to enclose the value must be - doubled each time it occurs within the value. - - - To include preceding or trailing spaces in the string value, the value must - be enclosed in either single quotes or double quotes. Any leading or trailing - spaces around integer, Boolean, or enumerated values are ignored, even if - enclosed in quotes. However, spaces within a string literal keyword or value are - preserved. Using .NET Framework version 1.1, single or double quotes may be used - within a connection string without using delimiters (for example, Data Source= - my'Server or Data Source= my"Server), unless a quote character is the first or - last character in the value. - - - To include an equal sign (=) in a keyword or value, it must be preceded by - another equal sign. For example, in the hypothetical connection string - - "key==word=value" - - the keyword is "key=word" and the value is "value". - - If a specific keyword in a keyword= value pair occurs multiple times in a - connection string, the last occurrence listed is used in the value set. - - Keywords are not case sensitive. - - The following table lists the valid names for keyword values within the - ConnectionString. - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDefaultDescription
- Connect Timeout -or- Connection Timeout - 15 - The length of time (in seconds) to wait for a connection to the server before - terminating the attempt and generating an error. -
- Host -or- Server -or- Data Source -or- - DataSource -or- Address -or- Addr -or- - Network Address - localhost - - The name or network address of the instance of MySQL to which to connect. Multiple hosts can be - specified separated by &. This can be useful where multiple MySQL servers are configured for replication - and you are not concerned about the precise server you are connecting to. No attempt is made by the provider to - synchronize writes to the database so care should be taken when using this option. - - - In Unix environment with Mono, this can be a fully qualified path to MySQL socket filename. With this configuration, the Unix socket will be used instead of TCP/IP socket. - Currently only a single socket name can be given so accessing MySQL in a replicated environment using Unix sockets is not currently supported. - -
Port3306 - The port MySQL is using to listen for connections. This value is ignored if the connection protocol - is anything but socket. -
Protocolsocket - Specifies the type of connection to make to the server.Values can be: - socket or tcp for a socket connection
- pipe for a named pipe connection
- unix for a Unix socket connection
- memory to use MySQL shared memory -
- CharSet -or Character Set - - - Specifies the character set that should be used to encode all queries sent to the server. - Resultsets are still returned in the character set of the data returned. -
LoggingfalseWhen true, various pieces of information is output to any configured TraceListeners.
Allow Batchtrue - When true, multiple SQL statements can be sent with one command execution.

- -Note-
- Starting with MySQL 4.1.1, batch statements should be separated by the server-defined seperator character.
- Commands sent to earlier versions of MySQL should be seperated with ';'. -
Encryptfalse - When true, SSL/TLS encryption is used for all data sent between the - client and server if the server has a certificate installed. Recognized values - are true, false, yes, and no. -
- Initial Catalog -or- Database - mysqlThe name of the database to use intially
- Password -or- pwd - - The password for the MySQL account being used.
Persist Security Infofalse - When set to false or no (strongly recommended), security-sensitive - information, such as the password, is not returned as part of the connection if - the connection is open or has ever been in an open state. Resetting the - connection string resets all connection string values including the password. - Recognized values are true, false, yes, and no. -
- User Id -or- Username -or- Uid -or- User name - - The MySQL login account being used.
Shared Memory NameMYSQLThe name of the shared memory object to use for communication if the connection protocol is set to memory.
Allow Zero Datetimefalse - True to have MySqlDataReader.GetValue() return a MySqlDateTime for date or datetime columns that have illegal values. - False will cause a DateTime object to be returned for legal values and an exception will be thrown for illegal values. -
Convert Zero Datetimefalse - True to have MySqlDataReader.GetValue() and MySqlDataReader.GetDateTime() - return DateTime.MinValue for date or datetime columns that have illegal values. -
- Pipe Name -or- Pipe - mysql - When set to the name of a named pipe, the MySqlConnection will attempt to connect to MySQL - on that named pipe.

This settings only applies to the Windows platform. -
- Use Performance Monitor -or- UsePerformanceMonitor - false - Posts performance data that can be tracked using perfmon -
- Procedure Cache Size - 25 - How many stored procedure definitions can be held in the cache -
- Ignore Prepare - true - Instructs the provider to ignore any attempts to prepare commands. This option - was added to allow a user to disable prepared statements in an entire application - without modifying the code. A user might want to do this if errors or bugs are - encountered with MySQL prepared statements. -
Use Procedure Bodiestrue - Instructs the provider to attempt to call the procedure without first resolving the metadata. This - is useful in situations where the calling user does not have access to the mysql.proc table. To - use this mode, the parameters for the procedure must be added to the command in the same order - as they appear in the procedure definition and their types must be explicitly set. -
Auto Enlisttrue - Indicates whether the connection should automatically enlist in the current transaction, - if there is one. -
Respect Binary Flagstrue - Indicates whether the connection should respect all binary flags sent to the client - as part of column metadata. False will cause the connector to behave like - Connector/Net 5.0 and earlier. -
BlobAsUTF8IncludePatternnull - Pattern that should be used to indicate which blob columns should be treated as UTF-8. -
BlobAsUTF8ExcludePatternnull - Pattern that should be used to indicate which blob columns should not be treated as UTF-8. -
Default Command Timeout30 - The default timeout that new MySqlCommand objects will use unless changed. -
Allow User Variablesfalse - Should the provider expect user variables in the SQL. -
Interactive -or- Interactive Sessionfalse - Should this session be considered interactive? -
Functions Return Stringfalse - Set this option to true to force the return value of SQL functions to be string. -
Use Affected Rowsfalse - Set this option to true to cause the affected rows reported to reflect only the - rows that are actually changed. By default, the number of rows that are matched - is returned. -
-
- - The following table lists the valid names for connection pooling values within - the ConnectionString. For more information about connection pooling, see - Connection Pooling for the MySql Data Provider. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NameDefaultDescription
Connection Lifetime0 - When a connection is returned to the pool, its creation time is compared with - the current time, and the connection is destroyed if that time span (in seconds) - exceeds the value specified by Connection Lifetime. This is useful in - clustered configurations to force load balancing between a running server and a - server just brought online. - - A value of zero (0) causes pooled connections to have the maximum connection - timeout. - -
Max Pool Size100The maximum number of connections allowed in the pool.
Min Pool Size0The minimum number of connections allowed in the pool.
Poolingtrue - When true, the MySqlConnection object is drawn from the appropriate - pool, or if necessary, is created and added to the appropriate pool. Recognized - values are true, false, yes, and no. -
Connection Resetfalse - Specifies whether the database connection should be reset when being - drawn from the pool. Leaving this as false will yeild much faster - connection opens but the user should understand the side effects - of doing this such as temporary tables and user variables from the previous - session not being cleared out. -
Cache Server Propertiesfalse - Specifies whether the server variables are cached between pooled connections. - On systems where the variables change infrequently and there are lots of - connection attempts, this can speed up things dramatically. -
-
- - When setting keyword or connection pooling values that require a Boolean - value, you can use 'yes' instead of 'true', and 'no' instead of 'false'. - - - Note The MySql Data Provider uses the native socket protocol to - communicate with MySQL. Therefore, it does not support the use of an ODBC data source name (DSN) when - connecting to MySQL because it does not add an ODBC layer. - - - CAUTION In this release, the application should use caution when constructing a - connection string based on user input (for example when retrieving user ID and password information from a - dialog box, and appending it to the connection string). The application should - ensure that a user cannot embed extra connection string parameters in these - values (for example, entering a password as "validpassword;database=somedb" in - an attempt to attach to a different database). - -
- The following example creates a and sets some of its properties - - Public Sub CreateConnection() - Dim myConnection As New MySqlConnection() - myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass" - myConnection.Open() - End Sub 'CreateConnection - - - public void CreateConnection() - { - MySqlConnection myConnection = new MySqlConnection(); - myConnection.ConnectionString = "Persist Security Info=False;database=myDB;server=myHost;Connect Timeout=30;user id=myUser; pwd=myPass"; - myConnection.Open(); - } - - - The following example creates a in Unix environment with Mono installed. MySQL socket filename used in this example is "/var/lib/mysql/mysql.sock". The actual filename depends on your MySQL configuration. - - Public Sub CreateConnection() - Dim myConnection As New MySqlConnection() - myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass" - myConnection.Open() - End Sub 'CreateConnection - - - public void CreateConnection() - { - MySqlConnection myConnection = new MySqlConnection(); - myConnection.ConnectionString = "database=myDB;server=/var/lib/mysql/mysql.sock;user id=myUser; pwd=myPass"; - myConnection.Open(); - } - - -
- - - Enlists in the specified transaction. - - - A reference to an existing in which to enlist. - - - - Begins a database transaction.An object representing the new transaction.Parallel transactions are not supported. - This command is equivalent to the MySQL BEGIN TRANSACTION command. - - You must explicitly commit or roll back the transaction using the or - method. - - If you do not specify an isolation level, the default isolation level is used. To specify an isolation - level with the method, use the overload that takes the iso parameter. Also - note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. - On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. - - - - The following example creates a and a - . It also demonstrates how to use the BeginTransaction, a - , and methods. - - Public Sub RunTransaction(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - - Dim myCommand As MySqlCommand = myConnection.CreateCommand() - Dim myTrans As MySqlTransaction - - ' Start a local transaction - myTrans = myConnection.BeginTransaction() - ' Must assign both transaction object and connection - ' to Command object for a pending local transaction - myCommand.Connection = myConnection - myCommand.Transaction = myTrans - - Try - myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" - myCommand.ExecuteNonQuery() - myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" - myCommand.ExecuteNonQuery() - myTrans.Commit() - Console.WriteLine("Both records are written to database.") - Catch e As Exception - Try - myTrans.Rollback() - Catch ex As MySqlException - If Not myTrans.Connection Is Nothing Then - Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ - " was encountered while attempting to roll back the transaction.") - End If - End Try - - Console.WriteLine("An exception of type " + e.GetType().ToString() + _ - "was encountered while inserting the data.") - Console.WriteLine("Neither record was written to database.") - Finally - myConnection.Close() - End Try - End Sub - - - public void RunTransaction(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - - MySqlCommand myCommand = myConnection.CreateCommand(); - MySqlTransaction myTrans; - - // Start a local transaction - myTrans = myConnection.BeginTransaction(); - // Must assign both transaction object and connection - // to Command object for a pending local transaction - myCommand.Connection = myConnection; - myCommand.Transaction = myTrans; - - try - { - myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; - myCommand.ExecuteNonQuery(); - myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; - myCommand.ExecuteNonQuery(); - myTrans.Commit(); - Console.WriteLine("Both records are written to database."); - } - catch(Exception e) - { - try - { - myTrans.Rollback(); - } - catch (SqlException ex) - { - if (myTrans.Connection != null) - { - Console.WriteLine("An exception of type " + ex.GetType() + - " was encountered while attempting to roll back the transaction."); - } - } - - Console.WriteLine("An exception of type " + e.GetType() + - " was encountered while inserting the data."); - Console.WriteLine("Neither record was written to database."); - } - finally - { - myConnection.Close(); - } - } - - - - - Begins a database transaction with the specified isolation level.The isolation level under which the transaction should run. An object representing the new transaction.Parallel exceptions are not supported. - This command is equivalent to the MySQL BEGIN TRANSACTION command. - - You must explicitly commit or roll back the transaction using the or - method. - - If you do not specify an isolation level, the default isolation level is used. To specify an isolation - level with the method, use the overload that takes the iso parameter. - Also note that any attempt to begin a transaction while a transaction is in progress will throw an exception on MySQL 4.1 and higher. - On MySQL 4.0, an exception will not be thrown because servers 4.0 and earlier did not report their transacation status. - - - - The following example creates a and a - . It also demonstrates how to use the BeginTransaction, a - , and methods. - - Public Sub RunTransaction(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - - Dim myCommand As MySqlCommand = myConnection.CreateCommand() - Dim myTrans As MySqlTransaction - - ' Start a local transaction - myTrans = myConnection.BeginTransaction() - ' Must assign both transaction object and connection - ' to Command object for a pending local transaction - myCommand.Connection = myConnection - myCommand.Transaction = myTrans - - Try - myCommand.CommandText = "Insert into Test (id, desc) VALUES (100, 'Description')" - myCommand.ExecuteNonQuery() - myCommand.CommandText = "Insert into Test (id, desc) VALUES (101, 'Description')" - myCommand.ExecuteNonQuery() - myTrans.Commit() - Console.WriteLine("Both records are written to database.") - Catch e As Exception - Try - myTrans.Rollback() - Catch ex As MySqlException - If Not myTrans.Connection Is Nothing Then - Console.WriteLine("An exception of type " + ex.GetType().ToString() + _ - " was encountered while attempting to roll back the transaction.") - End If - End Try - - Console.WriteLine("An exception of type " + e.GetType().ToString() + _ - "was encountered while inserting the data.") - Console.WriteLine("Neither record was written to database.") - Finally - myConnection.Close() - End Try - End Sub - - - public void RunTransaction(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - - MySqlCommand myCommand = myConnection.CreateCommand(); - MySqlTransaction myTrans; - - // Start a local transaction - myTrans = myConnection.BeginTransaction(); - // Must assign both transaction object and connection - // to Command object for a pending local transaction - myCommand.Connection = myConnection; - myCommand.Transaction = myTrans; - - try - { - myCommand.CommandText = "insert into Test (id, desc) VALUES (100, 'Description')"; - myCommand.ExecuteNonQuery(); - myCommand.CommandText = "insert into Test (id, desc) VALUES (101, 'Description')"; - myCommand.ExecuteNonQuery(); - myTrans.Commit(); - Console.WriteLine("Both records are written to database."); - } - catch(Exception e) - { - try - { - myTrans.Rollback(); - } - catch (SqlException ex) - { - if (myTrans.Connection != null) - { - Console.WriteLine("An exception of type " + ex.GetType() + - " was encountered while attempting to roll back the transaction."); - } - } - - Console.WriteLine("An exception of type " + e.GetType() + - " was encountered while inserting the data."); - Console.WriteLine("Neither record was written to database."); - } - finally - { - myConnection.Close(); - } - } - - - - - Changes the current database for an open MySqlConnection.The name of the database to use. - - The value supplied in the database parameter must be a valid database - name. The database parameter cannot contain a null value, an empty - string, or a string with only blank characters. - - - - When you are using connection pooling against MySQL, and you close - the connection, it is returned to the connection pool. The next time the - connection is retrieved from the pool, the reset connection request - executes before the user performs any operations. - - The database name is not valid.The connection is not open.Cannot change the database. - The following example creates a and displays - some of its read-only properties. - - - Public Sub CreateMySqlConnection() - Dim myConnString As String = _ - "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass" - Dim myConnection As New MySqlConnection( myConnString ) - myConnection.Open() - MessageBox.Show( "Server Version: " + myConnection.ServerVersion _ - + ControlChars.NewLine + "Database: " + myConnection.Database ) - myConnection.ChangeDatabase( "test2" ) - MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion _ - + ControlChars.NewLine + "Database: " + myConnection.Database ) - myConnection.Close() - End Sub - - - - public void CreateMySqlConnection() - { - string myConnString = - "Persist Security Info=False;database=test;server=localhost;user id=joeuser;pwd=pass"; - MySqlConnection myConnection = new MySqlConnection( myConnString ); - myConnection.Open(); - MessageBox.Show( "Server Version: " + myConnection.ServerVersion - + "\nDatabase: " + myConnection.Database ); - myConnection.ChangeDatabase( "test2" ); - MessageBox.Show( "ServerVersion: " + myConnection.ServerVersion - + "\nDatabase: " + myConnection.Database ); - myConnection.Close(); - } - - - - - - Ping - - - - - - Открывает подключение к базе данных со значениями свойств, определяемыми объектом . - - - - - Creates and returns a object associated with the . - - A object. - - - - - Creates a new MySqlConnection object with the exact same ConnectionString value - - A cloned MySqlConnection object - - - - Закрывает подключение к источнику данных. - - - - - Sets query timeout. If timeout has been set prior and not - yet cleared ClearCommandTimeout(), it has no effect. - - timeout in seconds - true if - - - - Clears query timeout, allowing next SetCommandTimeout() to succeed. - - - - Empties the connection pool associated with the specified connection. - The associated with the pool to be cleared. - - - ClearPool clears the connection pool that is associated with the connection. - If additional connections associated with connection are in use at the time of the call, - they are marked appropriately and are discarded (instead of being returned to the pool) - when Close is called on them. - - - - - Clears all connection pools. - - ClearAllPools essentially performs a on all current connection - pools. - - - - - - Освобождает все ресурсы, используемые объектом . - - - - - Async version of BeginTransaction - - An object representing the new transaction. - - - - Async version of BeginTransaction - - The isolation level under which the transaction should run. - An object representing the new transaction. - - - - Async version of ChangeDataBase - - The name of the database to use. - - - - - Async version of Close - - - - - - Async version of ClearPool - - The connection associated with the pool to be cleared. - - - - - Async version of ClearAllPools - - - - - - Async version of GetSchemaCollection - - Name of the collection - Values to restrict - A schema collection - - - - Returns schema information for the data source of this . - - A that contains schema information. - - - - Returns schema information for the data source of this - using the specified string for the schema name. - - Specifies the name of the schema to return. - A that contains schema information. - - - - Returns schema information for the data source of this - using the specified string for the schema name and the specified string array - for the restriction values. - - Specifies the name of the schema to return. - Specifies a set of restriction values for the requested schema. - A that contains schema information. - - - - Represents the method that will handle the event of a - . - - - - - Provides data for the InfoMessage event. This class cannot be inherited. - - - - - - - - - - IDisposable wrapper around SetCommandTimeout and ClearCommandTimeout - functionality - - - - - Summary description for Crypt. - - - - - Simple XOR scramble - - Source array - Index inside source array - Destination array - Index inside destination array - Password used to xor the bits - Number of bytes to scramble - - - - Returns a byte array containing the proper encryption of the - given password/seed according to the new 4.1.1 authentication scheme. - - - - - - - - Encrypts a password using the MySql encryption scheme - - The password to encrypt - The encryption seed the server gave us - Indicates if we should use the old or new encryption scheme - - - - - Hashes a password using the algorithm from Monty's code. - The first element in the return is the result of the "old" hash. - The second element is the rest of the "new" hash. - - Password to be hashed - Two element array containing the hashed values - - - - Представляет набор команд данных и подключение базы данных, которые используются для заполнения и обновления источника данных. - - - - - Occurs during Update before a command is executed against the data source. The attempt to update is made, so the event fires. - - - - - Occurs during Update after a command is executed against the data source. The attempt to update is made, so the event fires. - - - - - Инициализирует новый экземпляр класса . - - - - - Инициализирует новый экземпляр класса с помощью указанной команды в качестве свойства . - - Объект , представляющий собой оператор SELECT или хранимую процедуру и заданный как свойство объекта - - - - Инициализирует новый экземпляр класса с помощью . - - Строка, представляющая собой оператор SQL SELECT или хранимую процедуру, используемую в свойстве объекта - представляет подключение - - - - Инициализирует новый экземпляр класса с помощью . - - Строка, представляющая собой оператор SQL SELECT или хранимую процедуру, используемую в свойстве объекта - Строка подключения - - - - Gets or sets a SQL statement or stored procedure used to delete records from the data set. - - A used during to delete records in the - database that correspond to deleted rows in the . - - - During , if this property is not set and primary key information - is present in the , the DeleteCommand can be generated - automatically if you set the property and use the - . Then, any additional commands that you do not set are - generated by the MySqlCommandBuilder. This generation logic requires key column - information to be present in the DataSet. - - - When DeleteCommand is assigned to a previously created , - the MySqlCommand is not cloned. The DeleteCommand maintains a reference - to the previously created MySqlCommand object. - - - The following example creates a and sets the - and DeleteCommand properties. It assumes you have already - created a object. - - Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter - - Dim da As MySqlDataAdapter = New MySqlDataAdapter() - Dim cmd As MySqlCommand - Dim parm As MySqlParameter - - ' Create the SelectCommand. - cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) - - da.SelectCommand = cmd - - ' Create the DeleteCommand. - cmd = New MySqlCommand("DELETE FROM mytable WHERE id=@id", conn) - - parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id") - parm.SourceVersion = DataRowVersion.Original - - da.DeleteCommand = cmd - - Return da - End Function - - - public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) - { - MySqlDataAdapter da = new MySqlDataAdapter(); - MySqlCommand cmd; - MySqlParameter parm; - - // Create the SelectCommand. - cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); - - da.SelectCommand = cmd; - - // Create the DeleteCommand. - cmd = new MySqlCommand("DELETE FROM mytable WHERE id=@id", conn); - - parm = cmd.Parameters.Add("@id", MySqlDbType.VarChar, 5, "id"); - parm.SourceVersion = DataRowVersion.Original; - - da.DeleteCommand = cmd; - - return da; - } - - - - - - Gets or sets a SQL statement or stored procedure used to insert records into the data set. - - A used during to insert records into the - database that correspond to new rows in the . - - - During , if this property is not set and primary key information - is present in the , the InsertCommand can be generated - automatically if you set the property and use the - . Then, any additional commands that you do not set are - generated by the MySqlCommandBuilder. This generation logic requires key column - information to be present in the DataSet. - - - When InsertCommand is assigned to a previously created , - the MySqlCommand is not cloned. The InsertCommand maintains a reference - to the previously created MySqlCommand object. - - - If execution of this command returns rows, these rows may be added to the DataSet - depending on how you set the property of the MySqlCommand object. - - - The following example creates a and sets the - and InsertCommand properties. It assumes you have already - created a object. - - Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter - - Dim da As MySqlDataAdapter = New MySqlDataAdapter() - Dim cmd As MySqlCommand - Dim parm As MySqlParameter - - ' Create the SelectCommand. - cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) - - da.SelectCommand = cmd - - ' Create the InsertCommand. - cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) - - cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) - cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) - da.InsertCommand = cmd - - Return da - End Function - - - public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) - { - MySqlDataAdapter da = new MySqlDataAdapter(); - MySqlCommand cmd; - MySqlParameter parm; - - // Create the SelectCommand. - cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); - - da.SelectCommand = cmd; - - // Create the InsertCommand. - cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); - - da.InsertCommand = cmd; - - return da; - } - - - - - - Gets or sets a SQL statement or stored procedure used to select records in the data source. - - A used during to select records from the - database for placement in the . - - - When SelectCommand is assigned to a previously created , - the MySqlCommand is not cloned. The SelectCommand maintains a reference to the - previously created MySqlCommand object. - - - If the SelectCommand does not return any rows, no tables are added to the - , and no exception is raised. - - - The following example creates a and sets the - and InsertCommand properties. It assumes you have already - created a object. - - Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter - - Dim da As MySqlDataAdapter = New MySqlDataAdapter() - Dim cmd As MySqlCommand - Dim parm As MySqlParameter - - ' Create the SelectCommand. - cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) - - da.SelectCommand = cmd - - ' Create the InsertCommand. - cmd = New MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id, @name)", conn) - - cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) - cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) - da.InsertCommand = cmd - - Return da - End Function - - - public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) - { - MySqlDataAdapter da = new MySqlDataAdapter(); - MySqlCommand cmd; - MySqlParameter parm; - - // Create the SelectCommand. - cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); - - da.SelectCommand = cmd; - - // Create the InsertCommand. - cmd = new MySqlCommand("INSERT INTO mytable (id,name) VALUES (@id,@name)", conn); - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); - - da.InsertCommand = cmd; - - return da; - } - - - - - - Gets or sets a SQL statement or stored procedure used to updated records in the data source. - - A used during to update records in the - database with data from the . - - - During , if this property is not set and primary key information - is present in the , the UpdateCommand can be generated - automatically if you set the property and use the - . Then, any additional commands that you do not set are - generated by the MySqlCommandBuilder. This generation logic requires key column - information to be present in the DataSet. - - - When UpdateCommand is assigned to a previously created , - the MySqlCommand is not cloned. The UpdateCommand maintains a reference - to the previously created MySqlCommand object. - - - If execution of this command returns rows, these rows may be merged with the DataSet - depending on how you set the property of the MySqlCommand object. - - - The following example creates a and sets the - and UpdateCommand properties. It assumes you have already - created a object. - - Public Shared Function CreateCustomerAdapter(conn As MySqlConnection) As MySqlDataAdapter - - Dim da As MySqlDataAdapter = New MySqlDataAdapter() - Dim cmd As MySqlCommand - Dim parm As MySqlParameter - - ' Create the SelectCommand. - cmd = New MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn) - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15) - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15) - - da.SelectCommand = cmd - - ' Create the UpdateCommand. - cmd = New MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn) - - cmd.Parameters.Add( "@id", MySqlDbType.VarChar, 15, "id" ) - cmd.Parameters.Add( "@name", MySqlDbType.VarChar, 15, "name" ) - - parm = cmd.Parameters.Add("@oldId", MySqlDbType.VarChar, 15, "id") - parm.SourceVersion = DataRowVersion.Original - - da.UpdateCommand = cmd - - Return da - End Function - - - public static MySqlDataAdapter CreateCustomerAdapter(MySqlConnection conn) - { - MySqlDataAdapter da = new MySqlDataAdapter(); - MySqlCommand cmd; - MySqlParameter parm; - - // Create the SelectCommand. - cmd = new MySqlCommand("SELECT * FROM mytable WHERE id=@id AND name=@name", conn); - - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15); - - da.SelectCommand = cmd; - - // Create the UpdateCommand. - cmd = new MySqlCommand("UPDATE mytable SET id=@id, name=@name WHERE id=@oldId", conn); - cmd.Parameters.Add("@id", MySqlDbType.VarChar, 15, "id" ); - cmd.Parameters.Add("@name", MySqlDbType.VarChar, 15, "name" ); - - parm = cmd.Parameters.Add( "@oldId", MySqlDbType.VarChar, 15, "id" ); - parm.SourceVersion = DataRowVersion.Original; - - da.UpdateCommand = cmd; - - return da; - } - - - - - - Open connection if it was closed. - Necessary to workaround "connection must be open and valid" error - with batched updates. - - Row state - list of opened connections - If connection is opened by this function, the list is updated - - true if connection was opened - - - - Overridden. See . - - - - - - - - - - Overridden. See . - - - - - - - - - - Overridden. Raises the RowUpdating event. - - A MySqlRowUpdatingEventArgs that contains the event data. - - - - Overridden. Raises the RowUpdated event. - - A MySqlRowUpdatedEventArgs that contains the event data. - - - - Async version of Fill - - Dataset to use - int - - - - Async version of Fill - - Datatable to use - int - - - - Async version of Fill - - DataSet to use - Source table - int - - - - Async version of Fill - - Datatable to use - DataReader to use - int - - - - Async version of Fill - - DataTable to use - DbCommand to use - Command Behavior - int - - - - Async version of Fill - - Start record - Max records - DataTable[] to use - int - - - - Async version of Fill - - DataSet to use - Start record - Max records - Source table - int - - - - Async version of Fill - - DataSet to use - Source table - DataReader to use - Start record - Max records - - - - - Async version of Fill - - DataTable[] to use - Start record - Max records - DbCommand to use - Command Behavior - - - - - Async version of Fill - - DataSet to use - Start record - Max records - Source table - DbCommand to use - Command Behavior - - - - - Async version of FillSchema - - DataSet to use - Schema Type - DataTable[] - - - - Async version of FillSchema - - DataSet to use - Schema Type - Source Table - DataTable[] - - - - Async version of FillSchema - - DataSet to use - Schema Type - Source Table - DataReader to use - DataTable[] - - - - Async version of FillSchema - - DataSet to use - Schema Type - DBCommand to use - Source Table - Command Behavior - DataTable[] - - - - Async version of FillSchema - - DataTable to use - Schema Type - DataTable - - - - Async version of FillSchema - - DataTable to use - Schema Type - DataReader to use - DataTable - - - - Async version of FillSchema - - DataTable to use - Schema Type - DBCommand to use - Command Behavior - DataTable - - - - Async version of Update - - DataRow[] to use - int - - - - Async version of Update - - DataSet to use - int - - - - Async version of Update - - DataTable to use - int - - - - Async version of Update - - DataRow[] to use - Data Table Mapping - int - - - - Async version of Update - - DataSet to use - Source Table - - - - - Represents the method that will handle the event of a . - - - - - Represents the method that will handle the event of a . - - - - - Provides data for the RowUpdating event. This class cannot be inherited. - - - - - Initializes a new instance of the MySqlRowUpdatingEventArgs class. - - The to - . - The to execute during . - One of the values that specifies the type of query executed. - The sent through an . - - - - Gets or sets the MySqlCommand to execute when performing the Update. - - - - - Provides data for the RowUpdated event. This class cannot be inherited. - - - - - Initializes a new instance of the MySqlRowUpdatedEventArgs class. - - The sent through an . - The executed when is called. - One of the values that specifies the type of query executed. - The sent through an . - - - - Gets or sets the MySqlCommand executed when Update is called. - - - - - Provides a means of reading a forward-only stream of rows from a MySQL database. This class cannot be inherited. - - - To create a MySQLDataReader, you must call the - method of the object, rather than directly using a constructor. - - - While the MySqlDataReader is in use, the associated - is busy serving the MySqlDataReader, and no other operations can be performed - on the MySqlConnection other than closing it. This is the case until the - method of the MySqlDataReader is called. - - - and - are the only properties that you can call after the MySqlDataReader is - closed. Though the RecordsAffected property may be accessed at any time - while the MySqlDataReader exists, always call Close before returning - the value of RecordsAffected to ensure an accurate return value. - - - For optimal performance, MySqlDataReader avoids creating - unnecessary objects or making unnecessary copies of data. As a result, multiple calls - to methods such as return a reference to the - same object. Use caution if you are modifying the underlying value of the objects - returned by methods such as GetValue. - - - The following example creates a , - a , and a MySqlDataReader. The example reads through - the data, writing it out to the console. Finally, the example closes the MySqlDataReader, then the - MySqlConnection. - - Public Sub ReadMyData(myConnString As String) - Dim mySelectQuery As String = "SELECT OrderID, CustomerID FROM Orders" - Dim myConnection As New MySqlConnection(myConnString) - Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) - myConnection.Open() - Dim myReader As MySqlDataReader - myReader = myCommand.ExecuteReader() - ' Always call Read before accessing data. - While myReader.Read() - Console.WriteLine((myReader.GetInt32(0) & ", " & myReader.GetString(1))) - End While - ' always call Close when done reading. - myReader.Close() - ' Close the connection when done with it. - myConnection.Close() - End Sub 'ReadMyData - - - public void ReadMyData(string myConnString) { - string mySelectQuery = "SELECT OrderID, CustomerID FROM Orders"; - MySqlConnection myConnection = new MySqlConnection(myConnString); - MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); - myConnection.Open(); - MySqlDataReader myReader; - myReader = myCommand.ExecuteReader(); - // Always call Read before accessing data. - while (myReader.Read()) { - Console.WriteLine(myReader.GetInt32(0) + ", " + myReader.GetString(1)); - } - // always call Close when done reading. - myReader.Close(); - // Close the connection when done with it. - myConnection.Close(); - } - - - - - - Gets the number of columns in the current row. - - - - - Gets a value indicating whether the MySqlDataReader contains one or more rows. - - - - - Gets a value indicating whether the data reader is closed. - - - - - Gets the number of rows changed, inserted, or deleted by execution of the SQL statement. - - - - - Overloaded. Gets the value of a column in its native format. - In C#, this property is the indexer for the MySqlDataReader class. - - - - - Gets the value of a column in its native format. - [C#] In C#, this property is the indexer for the MySqlDataReader class. - - - - - Closes the MySqlDataReader object. - - - - - Gets the value of the specified column as a Boolean. - - - - - - - Gets the value of the specified column as a Boolean. - - - - - - - Gets the value of the specified column as a byte. - - - - - - - Gets the value of the specified column as a byte. - - - - - - - Gets the value of the specified column as a sbyte. - - - - - - - Gets the value of the specified column as a sbyte. - - - - - - - Reads a stream of bytes from the specified column offset into the buffer an array starting at the given buffer offset. - - The zero-based column ordinal. - The index within the field from which to begin the read operation. - The buffer into which to read the stream of bytes. - The index for buffer to begin the read operation. - The maximum length to copy into the buffer. - The actual number of bytes read. - - - - - Gets the value of the specified column as a single character. - - - - - - - Gets the value of the specified column as a single character. - - - - - - - Reads a stream of characters from the specified column offset into the buffer as an array starting at the given buffer offset. - - - - - - - - - - - Gets the name of the source data type. - - - - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a DateTime object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a DateTime object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a DateTime object. - - - Call IsDBNull to check for null values before calling this method. - - - - MySql allows date columns to contain the value '0000-00-00' and datetime - columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain - or represent these values. To read a datetime value from a column that might - contain zero values, use . - - - The behavior of reading a zero datetime column using this method is defined by the - ZeroDateTimeBehavior connection string option. For more information on this option, - please refer to . - - - The column name.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a DateTime object. - - - Call IsDBNull to check for null values before calling this method. - - - - MySql allows date columns to contain the value '0000-00-00' and datetime - columns to contain the value '0000-00-00 00:00:00'. The DateTime structure cannot contain - or represent these values. To read a datetime value from a column that might - contain zero values, use . - - - The behavior of reading a zero datetime column using this method is defined by the - ZeroDateTimeBehavior connection string option. For more information on this option, - please refer to . - - - The zero-based column ordinal.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a Decimal object. - - - Call IsDBNull to check for null values before calling this method. - - The column nameThe value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a Decimal object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinalThe value of the specified column. - - - Gets the value of the specified column as a double-precision floating point number. - - No conversions are performed; therefore, the data retrieved must already be a Double object. - - - Call IsDBNull to check for null values before calling this method. - - The column nameThe value of the specified column. - - - Gets the value of the specified column as a double-precision floating point number. - - No conversions are performed; therefore, the data retrieved must already be a Double object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - - Gets the Type that is the data type of the object. - - - - - - - Gets the value of the specified column as a single-precision floating point number. - - - No conversions are performed; therefore, the data retrieved must already be a Float object. - - - Call IsDBNull to check for null values before calling this method. - - The column nameThe value of the specified column. - - - - Gets the value of the specified column as a single-precision floating point number. - - - No conversions are performed; therefore, the data retrieved must already be a Float object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - - - - - - - Gets the value of the specified column as a 16-bit signed integer. - - No conversions are performed; threfore, the data retrieved must already be a 16 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The column nameThe value of the specified column. - - - Gets the value of the specified column as a 16-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a 16 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - Gets the value of the specified column as a 32-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The column name.The value of the specified column. - - - Gets the value of the specified column as a 32-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a 32 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - Gets the value of the specified column as a 64-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The column name.The value of the specified column. - - - Gets the value of the specified column as a 64-bit signed integer. - - No conversions are performed; therefore, the data retrieved must already be a 64 bit integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - - Gets the name of the specified column. - - - - - - - Gets the column ordinal, given the name of the column. - - - - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a String object. - - - Call IsDBNull to check for null values before calling this method. - - The column name.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a String object. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a Time value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - - Gets the value of the specified column as a object. - - - No conversions are performed; therefore, the data retrieved must already be a Time value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - - Gets the value of the specified column in its native format. - - - - - - - Gets all attribute columns in the collection for the current row. - - - - - - Gets the value of the specified column as a 16-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - Gets the value of the specified column as a 16-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 16 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - Gets the value of the specified column as a 32-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - Gets the value of the specified column as a 32-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 32 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - Gets the value of the specified column as a 64-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - Gets the value of the specified column as a 64-bit unsigned integer. - - No conversions are performed; therefore, the data retrieved must already be a 64 bit unsigned integer value. - - - Call IsDBNull to check for null values before calling this method. - - The zero-based column ordinal or column name.The value of the specified column. - - - - Gets a value indicating whether the column contains non-existent or missing values. - - - - - - - Advances the data reader to the next result, when reading the results of batch SQL statements. - - - - - - Advances the MySqlDataReader to the next record. - - - - - - Gets a value indicating the depth of nesting for the current row. This method is not - supported currently and always returns 0. - - - - - Returns a DataTable that describes the column metadata of the MySqlDataReader. - - - - - - Returns an that iterates through the . - - - - - - Summary description for BaseDriver. - - - - - For pooled connections, time when the driver was - put into idle queue - - - - - Loads the properties from the connected server into a hashtable - - - - - - - Loads all the current character set names and ids for this server - into the charSets hashtable - - - - - The exception that is thrown when MySQL returns an error. This class cannot be inherited. - - - - This class is created whenever the MySql Data Provider encounters an error generated from the server. - - - Any open connections are not automatically closed when an exception is thrown. If - the client application determines that the exception is fatal, it should close any open - objects or objects. - - - The following example generates a MySqlException due to a missing server, - and then displays the exception. - - - Public Sub ShowException() - Dim mySelectQuery As String = "SELECT column1 FROM table1" - Dim myConnection As New MySqlConnection ("Data Source=localhost;Database=Sample;") - Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) - - Try - myCommand.Connection.Open() - Catch e As MySqlException - MessageBox.Show( e.Message ) - End Try - End Sub - - - public void ShowException() - { - string mySelectQuery = "SELECT column1 FROM table1"; - MySqlConnection myConnection = - new MySqlConnection("Data Source=localhost;Database=Sample;"); - MySqlCommand myCommand = new MySqlCommand(mySelectQuery,myConnection); - - try - { - myCommand.Connection.Open(); - } - catch (MySqlException e) - { - MessageBox.Show( e.Message ); - } - } - - - - - - Gets a number that identifies the type of error. - - - - - True if this exception was fatal and cause the closing of the connection, false otherwise. - - - - - Обеспечивает удобный способ создания и управления содержимым строк подключения с помощью класса . - - - - - Gets or sets the name of the server. - - The server. - - - - Gets or sets the name of the database the connection should - initially connect to. - - - - - Gets or sets the protocol that should be used for communicating - with MySQL. - - - - - Gets or sets the name of the named pipe that should be used - for communicating with MySQL. - - - - - Gets or sets a boolean value that indicates whether this connection - should use compression. - - - - - Gets or sets a boolean value that indicates whether this connection will allow - commands to send multiple SQL statements in one execution. - - - - - Gets or sets a boolean value that indicates whether logging is enabled. - - - - - Gets or sets the base name of the shared memory objects used to - communicate with MySQL when the shared memory protocol is being used. - - - - - Gets or sets a boolean value that indicates whether this connection uses - the old style (@) parameter markers or the new (?) style. - - - - - Gets or sets the port number that is used when the socket - protocol is being used. - - - - - Gets or sets the connection timeout. - - - - - Gets or sets the default command timeout. - - - - - Gets or sets the user id that should be used to connect with. - - - - - Gets or sets the password that should be used to connect with. - - - - - Gets or sets a boolean value that indicates if the password should be persisted - in the connection string. - - - - - Gets or sets a boolean value that indicates if zero date time values are supported. - - - - - Gets or sets a boolean value indicating if zero datetime values should be - converted to DateTime.MinValue. - - - - - Gets or sets a boolean value indicating if the Usage Advisor should be enabled. - - - - - Gets or sets the size of the stored procedure cache. - - - - - Gets or sets a boolean value indicating if the permon hooks should be enabled. - - - - - Gets or sets a boolean value indicating if calls to Prepare() should be ignored. - - - - - Gets or sets the lifetime of a pooled connection. - - - - - Gets or sets a boolean value indicating if connection pooling is enabled. - - - - - Gets the minimum connection pool size. - - - - - Gets or sets the maximum connection pool setting. - - - - - Gets or sets a boolean value indicating if the connection should be reset when retrieved - from the pool. - - - - - Gets or sets the character set that should be used for sending queries to the server. - - - - - Indicates whether the driver should treat binary blobs as UTF8 - - - - - Gets or sets the pattern that matches the columns that should be treated as UTF8 - - - - - Gets or sets the pattern that matches the columns that should not be treated as UTF8 - - - - - Indicates whether to use SSL connections and how to handle server certificate errors. - - - - - Represents a parameter to a , and optionally, its mapping to columns. This class cannot be inherited. - - - - - Initializes a new instance of the class with the parameter name, the , the size, and the source column name. - - The name of the parameter to map. - One of the values. - The length of the parameter. - The name of the source column. - - - - Initializes a new instance of the class with the parameter name, the type of the parameter, the size of the parameter, a , the precision of the parameter, the scale of the parameter, the source column, a to use, and the value of the parameter. - - The name of the parameter to map. - One of the values. - The length of the parameter. - One of the values. - true if the value of the field can be null, otherwise false. - The total number of digits to the left and right of the decimal point to which is resolved. - The total number of decimal places to which is resolved. - The name of the source column. - One of the values. - An that is the value of the . - - - - - Gets or sets the to use when loading . - - - - - Gets or sets the name of the source column that is mapped to the and used for loading or returning the . - - - - - Resets the DbType property to its original settings. - - - - - Sets or gets a value which indicates whether the source column is nullable. - This allows to correctly generate Update statements - for nullable columns. - - - - - Gets or sets the of the parameter. - - - - - Initializes a new instance of the class with the parameter name and a value of the new MySqlParameter. - - The name of the parameter to map. - An that is the value of the . - - - - Initializes a new instance of the class with the parameter name and the data type. - - The name of the parameter to map. - One of the values. - - - - Initializes a new instance of the class with the parameter name, the , and the size. - - The name of the parameter to map. - One of the values. - The length of the parameter. - - - - Gets or sets a value indicating whether the parameter is input-only, output-only, bidirectional, or a stored procedure return value parameter. - As of MySql version 4.1 and earlier, input-only is the only valid choice. - - - - - Gets or sets a value indicating whether the parameter accepts null values. - - - - - Gets or sets the MySqlDbType of the parameter. - - - - - Gets or sets the maximum number of digits used to represent the property. - - - - - Gets or sets the number of decimal places to which is resolved. - - - - - Gets or sets the maximum size, in bytes, of the data within the column. - - - - - Gets or sets the value of the parameter. - - - - - Returns the possible values for this parameter if this parameter is of type - SET or ENUM. Returns null otherwise. - - - - - Overridden. Gets a string containing the . - - - - - - Represents a collection of parameters relevant to a as well as their respective mappings to columns in a . This class cannot be inherited. - - - The number of the parameters in the collection must be equal to the number of - parameter placeholders within the command text, or an exception will be generated. - - The following example creates multiple instances of - through the MySqlParameterCollection collection within the . - These parameters are used to select data within the data source and place the data in - the . This code assumes that a DataSet and a MySqlDataAdapter - have already been created with the appropriate schema, commands, and connection. - - Public Sub AddParameters() - ' ... - ' create myDataSet and myDataAdapter - ' ... - myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters" - myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239 - - myDataAdapter.Fill(myDataSet) - End Sub 'AddSqlParameters - - - public void AddSqlParameters() - { - // ... - // create myDataSet and myDataAdapter - // ... - - myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", MySqlDbType.VarChar, 80).Value = "toasters"; - myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", MySqlDbType.Long).Value = 239; - myDataAdapter.Fill(myDataSet); - - } - - - - - - Adds a to the with the parameter name, the data type, the column length, and the source column name. - - The name of the parameter. - One of the values. - The length of the column. - The name of the source column. - The newly added object. - - - - Adds an array of values to the end of the . - - - - - - Retrieve the parameter with the given name. - - - - - - - Adds the specified object to the . - - The to add to the collection. - The index of the new object. - - - - Gets a value indicating whether a with the specified parameter name exists in the collection. - - The name of the object to find. - true if the collection contains the parameter; otherwise, false. - - - - Gets a value indicating whether a MySqlParameter exists in the collection. - - The value of the object to find. - true if the collection contains the object; otherwise, false. - Gets a value indicating whether a exists in the collection. - - - - Copies MySqlParameter objects from the MySqlParameterCollection to the specified array. - - - - - - - Returns an enumerator that iterates through the . - - - - - - Inserts a MySqlParameter into the collection at the specified index. - - - - - - - Gets a value that indicates whether the - has a fixed size. - - - - - Gets a value that indicates whether the - is read-only. - - - - - Gets a value that indicates whether the - is synchronized. - - - - - Removes the specified MySqlParameter from the collection. - - - - - - Removes the specified from the collection using the parameter name. - - The name of the object to retrieve. - - - - Removes the specified from the collection using a specific index. - - The zero-based index of the parameter. - Removes the specified from the collection. - - - - Gets an object that can be used to synchronize access to the - . - - - - - Gets the number of MySqlParameter objects in the collection. - - - - - Gets the at the specified index. - - Gets the with a specified attribute. - [C#] In C#, this property is the indexer for the class. - - - - - Gets the with the specified name. - - - - - Adds the specified object to the . - - The to add to the collection. - The newly added object. - - - - Adds a to the given the specified parameter name and value. - - The name of the parameter. - The of the to add to the collection. - The newly added object. - - - - Adds a to the given the parameter name and the data type. - - The name of the parameter. - One of the values. - The newly added object. - - - - Adds a to the with the parameter name, the data type, and the column length. - - The name of the parameter. - One of the values. - The length of the column. - The newly added object. - - - - Removes all items from the collection. - - - - - Gets the location of the in the collection with a specific parameter name. - - The name of the object to retrieve. - The zero-based location of the in the collection. - - - - Gets the location of a in the collection. - - The object to locate. - The zero-based location of the in the collection. - Gets the location of a in the collection. - - - - This method will update all the items in the index hashes when - we insert a parameter somewhere in the middle - - - - - - - Represents a SQL transaction to be made in a MySQL database. This class cannot be inherited. - - The application creates a MySqlTransaction object by calling - on the object. All subsequent operations associated with the - transaction (for example, committing or aborting the transaction), are performed on the - MySqlTransaction object. - - The following example creates a and a MySqlTransaction. - It also demonstrates how to use the , - , and methods. - - Public Sub RunTransaction(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - - Dim myCommand As MySqlCommand = myConnection.CreateCommand() - Dim myTrans As MySqlTransaction - - ' Start a local transaction - myTrans = myConnection.BeginTransaction() - ' Must assign both transaction object and connection - ' to Command object for a pending local transaction - myCommand.Connection = myConnection - myCommand.Transaction = myTrans - - Try - myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')" - myCommand.ExecuteNonQuery() - myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')" - myCommand.ExecuteNonQuery() - myTrans.Commit() - Console.WriteLine("Both records are written to database.") - Catch e As Exception - Try - myTrans.Rollback() - Catch ex As MySqlException - If Not myTrans.Connection Is Nothing Then - Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ - " was encountered while attempting to roll back the transaction.") - End If - End Try - - Console.WriteLine("An exception of type " & e.GetType().ToString() & _ - "was encountered while inserting the data.") - Console.WriteLine("Neither record was written to database.") - Finally - myConnection.Close() - End Try - End Sub 'RunTransaction - - - public void RunTransaction(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - - MySqlCommand myCommand = myConnection.CreateCommand(); - MySqlTransaction myTrans; - - // Start a local transaction - myTrans = myConnection.BeginTransaction(); - // Must assign both transaction object and connection - // to Command object for a pending local transaction - myCommand.Connection = myConnection; - myCommand.Transaction = myTrans; - - try - { - myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (100, 'Description')"; - myCommand.ExecuteNonQuery(); - myCommand.CommandText = "Insert into Region (RegionID, RegionDescription) VALUES (101, 'Description')"; - myCommand.ExecuteNonQuery(); - myTrans.Commit(); - Console.WriteLine("Both records are written to database."); - } - catch(Exception e) - { - try - { - myTrans.Rollback(); - } - catch (MySqlException ex) - { - if (myTrans.Connection != null) - { - Console.WriteLine("An exception of type " + ex.GetType() + - " was encountered while attempting to roll back the transaction."); - } - } - - Console.WriteLine("An exception of type " + e.GetType() + - " was encountered while inserting the data."); - Console.WriteLine("Neither record was written to database."); - } - finally - { - myConnection.Close(); - } - } - - - - - - Gets the object associated with the transaction, or a null reference (Nothing in Visual Basic) if the transaction is no longer valid. - - The object associated with this transaction. - - A single application may have multiple database connections, each - with zero or more transactions. This property enables you to - determine the connection object associated with a particular - transaction created by . - - - - - Specifies the for this transaction. - - - The for this transaction. The default is ReadCommitted. - - - Parallel transactions are not supported. Therefore, the IsolationLevel - applies to the entire transaction. - - - - - Commits the database transaction. - - The Commit method is equivalent to the MySQL SQL statement - COMMIT. - - The following example creates a and a - . It also demonstrates how to use the - , , and Rollback - methods. - - Public Sub RunSqlTransaction(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - - Dim myCommand As MySqlCommand = myConnection.CreateCommand() - Dim myTrans As MySqlTransaction - - ' Start a local transaction - myTrans = myConnection.BeginTransaction() - - ' Must assign both transaction object and connection - ' to Command object for a pending local transaction - myCommand.Connection = myConnection - myCommand.Transaction = myTrans - - Try - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" - myCommand.ExecuteNonQuery() - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" - myCommand.ExecuteNonQuery() - myTrans.Commit() - Console.WriteLine("Success.") - Catch e As Exception - Try - myTrans.Rollback() - Catch ex As MySqlException - If Not myTrans.Connection Is Nothing Then - Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ - " was encountered while attempting to roll back the transaction.") - End If - End Try - - Console.WriteLine("An exception of type " & e.GetType().ToString() & _ - "was encountered while inserting the data.") - Console.WriteLine("Neither record was written to database.") - Finally - myConnection.Close() - End Try - End Sub - - - public void RunSqlTransaction(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - - MySqlCommand myCommand = myConnection.CreateCommand(); - MySqlTransaction myTrans; - - // Start a local transaction - myTrans = myConnection.BeginTransaction(); - // Must assign both transaction object and connection - // to Command object for a pending local transaction - myCommand.Connection = myConnection; - myCommand.Transaction = myTrans; - - try - { - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; - myCommand.ExecuteNonQuery(); - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; - myCommand.ExecuteNonQuery(); - myTrans.Commit(); - Console.WriteLine("Both records are written to database."); - } - catch(Exception e) - { - try - { - myTrans.Rollback(); - } - catch (MySqlException ex) - { - if (myTrans.Connection != null) - { - Console.WriteLine("An exception of type " + ex.GetType() + - " was encountered while attempting to roll back the transaction."); - } - } - - Console.WriteLine("An exception of type " + e.GetType() + - " was encountered while inserting the data."); - Console.WriteLine("Neither record was written to database."); - } - finally - { - myConnection.Close(); - } - } - - - - - - Rolls back a transaction from a pending state. - - The Rollback method is equivalent to the MySQL statement ROLLBACK. - The transaction can only be rolled back from a pending state - (after BeginTransaction has been called, but before Commit is - called). - - The following example creates a and a - . It also demonstrates how to use the - , , and Rollback - methods. - - Public Sub RunSqlTransaction(myConnString As String) - Dim myConnection As New MySqlConnection(myConnString) - myConnection.Open() - - Dim myCommand As MySqlCommand = myConnection.CreateCommand() - Dim myTrans As MySqlTransaction - - ' Start a local transaction - myTrans = myConnection.BeginTransaction() - - ' Must assign both transaction object and connection - ' to Command object for a pending local transaction - myCommand.Connection = myConnection - myCommand.Transaction = myTrans - - Try - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')" - myCommand.ExecuteNonQuery() - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')" - myCommand.ExecuteNonQuery() - myTrans.Commit() - Console.WriteLine("Success.") - Catch e As Exception - Try - myTrans.Rollback() - Catch ex As MySqlException - If Not myTrans.Connection Is Nothing Then - Console.WriteLine("An exception of type " & ex.GetType().ToString() & _ - " was encountered while attempting to roll back the transaction.") - End If - End Try - - Console.WriteLine("An exception of type " & e.GetType().ToString() & _ - "was encountered while inserting the data.") - Console.WriteLine("Neither record was written to database.") - Finally - myConnection.Close() - End Try - End Sub - - - public void RunSqlTransaction(string myConnString) - { - MySqlConnection myConnection = new MySqlConnection(myConnString); - myConnection.Open(); - - MySqlCommand myCommand = myConnection.CreateCommand(); - MySqlTransaction myTrans; - - // Start a local transaction - myTrans = myConnection.BeginTransaction(); - // Must assign both transaction object and connection - // to Command object for a pending local transaction - myCommand.Connection = myConnection; - myCommand.Transaction = myTrans; - - try - { - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (100, 'Description')"; - myCommand.ExecuteNonQuery(); - myCommand.CommandText = "Insert into mytable (id, desc) VALUES (101, 'Description')"; - myCommand.ExecuteNonQuery(); - myTrans.Commit(); - Console.WriteLine("Both records are written to database."); - } - catch(Exception e) - { - try - { - myTrans.Rollback(); - } - catch (MySqlException ex) - { - if (myTrans.Connection != null) - { - Console.WriteLine("An exception of type " + ex.GetType() + - " was encountered while attempting to roll back the transaction."); - } - } - - Console.WriteLine("An exception of type " + e.GetType() + - " was encountered while inserting the data."); - Console.WriteLine("Neither record was written to database."); - } - finally - { - myConnection.Close(); - } - } - - - - - - Summary description for Field. - - - - - We are adding a custom installer class to our assembly so our installer - can make proper changes to the machine.config file. - - - - - We override Install so we can add our assembly to the proper - machine.config files. - - - - - - We override Uninstall so we can remove out assembly from the - machine.config files. - - - - - - BaseCommandInterceptor is the base class that should be used for all userland - command interceptors - - - - - CommandInterceptor is the "manager" class that keeps the list of registered interceptors - for the given connection. - - - - - BaseExceptionInterceptor is the base class that should be used for all userland - exception interceptors - - - - - StandardExceptionInterceptor is the standard interceptor that simply throws the exception. - It is the default action. - - - - - ExceptionInterceptor is the "manager" class that keeps the list of registered interceptors - for the given connection. - - - - - Interceptor is the base class for the "manager" classes such as ExceptionInterceptor, - CommandInterceptor, etc - - - - - Return schema information about procedures and functions - Restrictions supported are: - schema, name, type - - - - - - - Return schema information about parameters for procedures and functions - Restrictions supported are: - schema, name, type, parameter name - - - - - Initializes a new row for the procedure parameters table. - - - - - Parses out the elements of a procedure parameter data type. - - - - - Implementation of memcached binary client protocol. - - According to http://code.google.com/p/memcached/wiki/BinaryProtocolRevamped - - - - Sends an store command (add, replace, set). - - - - - - - - - - Sends a get command. - - - - - - - - - Sends a delete command. - - - - - - - - - Sends a command without args (like flush). - - - - - - - - - Sends a command with amount (INCR/DECR) - - - - - - - - - - An interface of the client memcached protocol. This class is abstract for - implementation of the Memcached client interface see for the - text protocol version and for the binary protocol version. - - - - - The port used by the connection. - - - - - The server DNS or IP address used by the connection. - - - - - The network stream used by the connecition. - - - - - Factory method for creating instances of that implement a connection with the requested features. - The connection object returned must be explicitely opened see method . - - The Memcached server DNS or IP address. - The port for the Memcached server - A set of flags indicating characterestics requested. - An instance of a client connection ready to be used. - - - - Opens the client connection. - - - - - Closes the client connection. - - - - - Adds a new key/value pair with the given TimeSpan expiration. - - The key for identifying the entry. - The data to associate with the key. - The interval of timespan, use TimeSpan.Zero for no expiration. - - - - Appens the data to the existing data for the associated key. - - The key for identifying the entry. - The data to append with the data associated with the key. - - - - Executes the Check-and-set Memcached operation. - - The key for identifying the entry. - The data to use in the CAS. - The interval of timespan, use TimeSpan.Zero for no expiration. - The CAS unique value to use. - - - - - Decrements the value associated with a key by the given amount. - - The key associated with the value to decrement. - The amount to decrement the value. - - - - Removes they pair key/value given the specified key. - - - - - - Removes all entries from the storage, effectively invalidating the whole cache. - - The interval after which the cache will be cleaned. Can be TimeSpan.Zero for immediately. - - - - Get the key/value pair associated with a given key. - - The key for which to returm the key/value. - The key/value associated with the key or a MemcachedException if it does not exists. - - - - Increments the value associated with a key by the given amount. - - The key associated with the value to increment. - The amount to increment the value. - - - - Prepends the data to the existing data for the associated key. - - The key for identifying the entry. - The data to append with the data associated with the key. - - - - Replaces the value associated with the given key with another value. - - The key for identifying the entry. - The data to replace the value associated with the key. - The interval of timespan, use TimeSpan.Zero for no expiration. - - - - Set the value of a given key. - - The key for identifying the entry. - The data to associate with the given key. - The interval of timespan, use TimeSpan.Zero for no expiration. - - - - A set of flags for requesting new instances of connections - - - - - Requests a connection implememting the text protocol. - - - - - Requests a connection implementing the binary protocol. - - - - - Requests a TCP connection. Currently UDP is not supported. - - - - - The base exception class for all Memcached exceptions. - - - - - Implementation of the Memcached text client protocol. - - - - - - - Send a command to memcached server. - - - - - - This version is for commands that don't need flags neither expiration fields. - - - - Sends a command to the server. - - - - This version is for commands that only require a key - - - - - - DBProviderFactory implementation for MysqlClient. - - - - - Gets an instance of the . - This can be used to retrieve strongly typed data objects. - - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbCommandBuilder. - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbCommand. - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbConnection. - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbDataAdapter. - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbParameter. - - - - Returns a strongly typed instance. - - A new strongly typed instance of DbConnectionStringBuilder. - - - - Returns true if a MySqlDataSourceEnumerator can be created; - otherwise false. - - - - - Provide a simple caching layer - - - - - Adds a new connection string with set of restricted keywords to the MySqlClientPermission object - - Settings to be used for the connection - Keywords to define the restrictions - KeyRestrictionBehavior to be used - - - - Returns MySqlClientPermission as an IPermission - - - - - - - - - - - - - - - - - - - - - - Summary description for ClientParam. - - - - - DB Operations Code - - - - - Specifies MySQL specific data type of a field, property, for use in a . - - - - - - A fixed precision and scale numeric value between -1038 - -1 and 10 38 -1. - - - - - The signed range is -128 to 127. The unsigned - range is 0 to 255. - - - - - A 16-bit signed integer. The signed range is - -32768 to 32767. The unsigned range is 0 to 65535 - - - - - Specifies a 24 (3 byte) signed or unsigned value. - - - - - A 32-bit signed integer - - - - - A 64-bit signed integer. - - - - - A small (single-precision) floating-point - number. Allowable values are -3.402823466E+38 to -1.175494351E-38, - 0, and 1.175494351E-38 to 3.402823466E+38. - - - - - A normal-size (double-precision) - floating-point number. Allowable values are -1.7976931348623157E+308 - to -2.2250738585072014E-308, 0, and 2.2250738585072014E-308 to - 1.7976931348623157E+308. - - - - - A timestamp. The range is '1970-01-01 00:00:00' to sometime in the - year 2037 - - - - - Date The supported range is '1000-01-01' to '9999-12-31'. - - - - - Time The range is '-838:59:59' to '838:59:59'. - - - - - DateTime The supported range is '1000-01-01 00:00:00' to - '9999-12-31 23:59:59'. - - - - - Datetime The supported range is '1000-01-01 00:00:00' to - '9999-12-31 23:59:59'. - - - - - A year in 2- or 4-digit format (default is 4-digit). The - allowable values are 1901 to 2155, 0000 in the 4-digit year - format, and 1970-2069 if you use the 2-digit format (70-69). - - - - - Obsolete Use Datetime or Date type - - - - - A variable-length string containing 0 to 65535 characters - - - - - Bit-field data type - - - - - JSON - - - - - New Decimal - - - - - An enumeration. A string object that can have only one value, - chosen from the list of values 'value1', 'value2', ..., NULL - or the special "" error value. An ENUM can have a maximum of - 65535 distinct values - - - - - A set. A string object that can have zero or more values, each - of which must be chosen from the list of values 'value1', 'value2', - ... A SET can have a maximum of 64 members. - - - - - A binary column with a maximum length of 255 (2^8 - 1) - characters - - - - - A binary column with a maximum length of 16777215 (2^24 - 1) bytes. - - - - - A binary column with a maximum length of 4294967295 or - 4G (2^32 - 1) bytes. - - - - - A binary column with a maximum length of 65535 (2^16 - 1) bytes. - - - - - A variable-length string containing 0 to 255 bytes. - - - - - A fixed-length string. - - - - - Geometric (GIS) data type. - - - - - Unsigned 8-bit value. - - - - - Unsigned 16-bit value. - - - - - Unsigned 24-bit value. - - - - - Unsigned 32-bit value. - - - - - Unsigned 64-bit value. - - - - - Fixed length binary string. - - - - - Variable length binary string. - - - - - A text column with a maximum length of 255 (2^8 - 1) characters. - - - - - A text column with a maximum length of 16777215 (2^24 - 1) characters. - - - - - A text column with a maximum length of 4294967295 or - 4G (2^32 - 1) characters. - - - - - A text column with a maximum length of 65535 (2^16 - 1) characters. - - - - - A guid column - - - - - Allows the user to specify the type of connection that should - be used. - - - - - TCP/IP style connection. Works everywhere. - - - - - Named pipe connection. Works only on Windows systems. - - - - - Unix domain socket connection. Works only with Unix systems. - - - - - Shared memory connection. Currently works only with Windows systems. - - - - - SSL options for connection. - - - - - Do not use SSL. - - - - - Use SSL, if server supports it. - - - - - Always use SSL. Deny connection if server does not support SSL. - Do not perform server certificate validation. - - - - - Always use SSL. Validate server SSL certificate, but different host name mismatch. - - - - - Always use SSL and perform full certificate validation. - - - - - Specifies the connection types supported - - - - - Use TCP/IP sockets. - - - - - Use client library. - - - - - Use MySQL embedded server. - - - - - Do not use certificate store - - - - - Use certificate store for the current user - - - - - User certificate store for the machine - - - - - Collection of error codes that can be returned by the server - - - - - - - - - - - Error level - - - - - Error code - - - - - Error message - - - - - Provides a reference to error codes returned by MySQL. - - - - - ER_HASHCHK - - - - ER_NISAMCHK - - - - ER_NO - - - - ER_YES - - - The file couldn't be created. - ER_CANT_CREATE_FILE - - - The table couldn't be created. - ER_CANT_CREATE_TABLE - - - The database couldn't be created. - ER_CANT_CREATE_DB - - - The database couldn't be created, it already exists. - ER_DB_CREATE_EXISTS - - - The database couldn't be dropped, it doesn't exist. - ER_DB_DROP_EXISTS - - - The database couldn't be dropped, the file can't be deleted. - ER_DB_DROP_DELETE - - - The database couldn't be dropped, the directory can't be deleted. - ER_DB_DROP_RMDIR - - - The file couldn't be deleted. - ER_CANT_DELETE_FILE - - - The record couldn't be read from the system table. - ER_CANT_FIND_SYSTEM_REC - - - The status couldn't be retrieved. - ER_CANT_GET_STAT - - - The working directory couldn't be retrieved. - ER_CANT_GET_WD - - - The file couldn't be locked. - ER_CANT_LOCK - - - The file couldn't be opened. - ER_CANT_OPEN_FILE - - - The file couldn't be found. - ER_FILE_NOT_FOUND - - - The directory couldn't be read. - ER_CANT_READ_DIR - - - The working directory couldn't be entered. - ER_CANT_SET_WD - - - The record changed since it was last read. - ER_CHECKREAD - - - The disk is full. - ER_DISK_FULL - - - - There is already a key with the given values. - - - - An error occurred when closing the file. - ER_ERROR_ON_CLOSE - - - An error occurred when reading from the file. - ER_ERROR_ON_READ - - - An error occurred when renaming then file. - ER_ERROR_ON_RENAME - - - An error occurred when writing to the file. - ER_ERROR_ON_WRITE - - - The file is in use. - ER_FILE_USED - - - Sorting has been aborted. - ER_FILSORT_ABORT - - - The view doesn't exist. - ER_FORM_NOT_FOUND - - - Got the specified error from the table storage engine. - ER_GET_ERRNO - - - The table storage engine doesn't support the specified option. - ER_ILLEGAL_HA - - - - The specified key was not found. - - - - The file contains incorrect information. - ER_NOT_FORM_FILE - - - The key file is incorrect for the table, it should be repaired. - ER_NOT_KEYFILE - - - The key file is old for the table, it should be repaired. - ER_OLD_KEYFILE - - - The table is read-only - ER_OPEN_AS_READONLY - - - The server is out of memory, it should be restarted. - ER_OUTOFMEMORY - - - The server is out of sort-memory, the sort buffer size should be increased. - ER_OUT_OF_SORTMEMORY - - - An unexpected EOF was found when reading from the file. - ER_UNEXPECTED_EOF - - - Too many connections are open. - ER_CON_COUNT_ERROR - - - The server is out of resources, check if MySql or some other process is using all available memory. - ER_OUT_OF_RESOURCES - - - - Given when the connection is unable to successfully connect to host. - - - - The handshake was invalid. - ER_HANDSHAKE_ERROR - - - Access was denied for the specified user using the specified database. - ER_DBACCESS_DENIED_ERROR - - - - Normally returned when an incorrect password is given - - - - No database has been selected. - ER_NO_DB_ERROR - - - The command is unknown. - ER_UNKNOWN_COM_ERROR - - - The specified column cannot be NULL. - ER_BAD_NULL_ERROR - - - The specified database is not known. - - - The specified table already exists. - ER_TABLE_EXISTS_ERROR - - - The specified table is unknown. - ER_BAD_TABLE_ERROR - - - The specified column is ambiguous. - ER_NON_UNIQ_ERROR - - - The server is currently being shutdown. - ER_SERVER_SHUTDOWN - - - The specified columns is unknown. - ER_BAD_FIELD_ERROR - - - The specified column isn't in GROUP BY. - ER_WRONG_FIELD_WITH_GROUP - - - The specified columns cannot be grouped on. - ER_WRONG_GROUP_FIELD - - - There are sum functions and columns in the same statement. - ER_WRONG_SUM_SELECT - - - The column count doesn't match the value count. - ER_WRONG_VALUE_COUNT - - - The identifier name is too long. - ER_TOO_LONG_IDENT - - - The column name is duplicated. - ER_DUP_FIELDNAME - - - - Duplicate Key Name - - - - - Duplicate Key Entry - - - - The column specifier is incorrect. - ER_WRONG_FIELD_SPEC - - - An error occurred when parsing the statement. - ER_PARSE_ERROR - - - The statement is empty. - ER_EMPTY_QUERY - - - The table alias isn't unique. - ER_NONUNIQ_TABLE - - - The default value is invalid for the specified field. - ER_INVALID_DEFAULT - - - The table has multiple primary keys defined. - ER_MULTIPLE_PRI_KEY - - - Too many keys were defined for the table. - ER_TOO_MANY_KEYS - - - Too many parts to the keys were defined for the table. - ER_TOO_MANY_KEY_PARTS - - - The specified key is too long - ER_TOO_LONG_KEY - - - The specified key column doesn't exist in the table. - ER_KEY_COLUMN_DOES_NOT_EXITS - - - The BLOB column was used as a key, this can't be done. - ER_BLOB_USED_AS_KEY - - - The column length is too big for the specified column type. - ER_TOO_BIG_FIELDLENGTH - - - There can only be one auto-column, and it must be defined as a PK. - ER_WRONG_AUTO_KEY - - - The server is ready to accept connections. - ER_READY - - - - ER_NORMAL_SHUTDOWN - - - The server received the specified signal and is aborting. - ER_GOT_SIGNAL - - - The server shutdown is complete. - ER_SHUTDOWN_COMPLETE - - - The server is forcing close of the specified thread. - ER_FORCING_CLOSE - - - An error occurred when creating the IP socket. - ER_IPSOCK_ERROR - - - The table has no index like the one used in CREATE INDEX. - ER_NO_SUCH_INDEX - - - The field separator argument is not what is expected, check the manual. - ER_WRONG_FIELD_TERMINATORS - - - The BLOB columns must terminated, fixed row lengths cannot be used. - ER_BLOBS_AND_NO_TERMINATED - - - The text file cannot be read. - ER_TEXTFILE_NOT_READABLE - - - The specified file already exists. - ER_FILE_EXISTS_ERROR - - - Information returned by the LOAD statement. - ER_LOAD_INFO - - - Information returned by an UPDATE statement. - ER_ALTER_INFO - - - The prefix key is incorrect. - ER_WRONG_SUB_KEY - - - All columns cannot be removed from a table, use DROP TABLE instead. - ER_CANT_REMOVE_ALL_FIELDS - - - Cannot DROP, check that the column or key exists. - ER_CANT_DROP_FIELD_OR_KEY - - - Information returned by an INSERT statement. - ER_INSERT_INFO - - - The target table cannot be specified for update in FROM clause. - ER_UPDATE_TABLE_USED - - - The specified thread ID is unknown. - ER_NO_SUCH_THREAD - - - The thread cannot be killed, the current user is not the owner. - ER_KILL_DENIED_ERROR - - - No tables used in the statement. - ER_NO_TABLES_USED - - - Too many string have been used for the specified column and SET. - ER_TOO_BIG_SET - - - A unique filename couldn't be generated. - ER_NO_UNIQUE_LOGFILE - - - The specified table was locked with a READ lock, and can't be updated. - ER_TABLE_NOT_LOCKED_FOR_WRITE - - - The specified table was not locked with LOCK TABLES. - ER_TABLE_NOT_LOCKED - - - BLOB and Text columns cannot have a default value. - ER_BLOB_CANT_HAVE_DEFAULT - - - The specified database name is incorrect. - ER_WRONG_DB_NAME - - - The specified table name is incorrect. - ER_WRONG_TABLE_NAME - - - The SELECT command would examine more than MAX_JOIN_SIZE rows, check the WHERE clause and use SET SQL_BIG_SELECTS=1 or SET SQL_MAX_JOIN_SIZE=# if the SELECT is ok. - ER_TOO_BIG_SELECT - - - An unknown error occurred. - ER_UNKNOWN_ERROR - - - The specified procedure is unknown. - ER_UNKNOWN_PROCEDURE - - - The number of parameters provided for the specified procedure is incorrect. - ER_WRONG_PARAMCOUNT_TO_PROCEDURE - - - The parameters provided for the specified procedure are incorrect. - ER_WRONG_PARAMETERS_TO_PROCEDURE - - - The specified table is unknown. - ER_UNKNOWN_TABLE - - - The specified column has been specified twice. - ER_FIELD_SPECIFIED_TWICE - - - The group function has been incorrectly used. - ER_INVALID_GROUP_FUNC_USE - - - The specified table uses an extension that doesn't exist in this MySQL version. - ER_UNSUPPORTED_EXTENSION - - - The table must have at least one column. - ER_TABLE_MUST_HAVE_COLUMNS - - - The specified table is full. - ER_RECORD_FILE_FULL - - - The specified character set is unknown. - ER_UNKNOWN_CHARACTER_SET - - - Too many tables, MySQL can only use the specified number of tables in a JOIN. - ER_TOO_MANY_TABLES - - - Too many columns - ER_TOO_MANY_FIELDS - - - The row size is too large, the maximum row size for the used tables (not counting BLOBS) is specified, change some columns or BLOBS. - ER_TOO_BIG_ROWSIZE - - - A thread stack overrun occurred. Stack statistics are specified. - ER_STACK_OVERRUN - - - A cross dependency was found in the OUTER JOIN, examine the ON conditions. - ER_WRONG_OUTER_JOIN - - - The table handler doesn't support NULL in the given index, change specified column to be NOT NULL or use another handler. - ER_NULL_COLUMN_IN_INDEX - - - The specified user defined function cannot be loaded. - ER_CANT_FIND_UDF - - - The specified user defined function cannot be initialised. - ER_CANT_INITIALIZE_UDF - - - No paths are allowed for the shared library. - ER_UDF_NO_PATHS - - - The specified user defined function already exists. - ER_UDF_EXISTS - - - The specified shared library cannot be opened. - ER_CANT_OPEN_LIBRARY - - - The specified symbol cannot be found in the library. - ER_CANT_FIND_DL_ENTRY - - - The specified function is not defined. - ER_FUNCTION_NOT_DEFINED - - - The specified host is blocked because of too many connection errors, unblock with 'mysqladmin flush-hosts'. - ER_HOST_IS_BLOCKED - - - - The given host is not allowed to connect - - - - - The anonymous user is not allowed to connect - - - - - The given password is not allowed - - - - - The given password does not match - - - - Information returned by an UPDATE statement. - ER_UPDATE_INFO - - - A new thread couldn't be created. - ER_CANT_CREATE_THREAD - - - The column count doesn't match the value count. - ER_WRONG_VALUE_COUNT_ON_ROW - - - The specified table can't be re-opened. - ER_CANT_REOPEN_TABLE - - - The NULL value has been used incorrectly. - ER_INVALID_USE_OF_NULL - - - The regular expression contains an error. - ER_REGEXP_ERROR - - - GROUP columns (MIN(), MAX(), COUNT(), ...) cannot be mixes with no GROUP columns if there is not GROUP BY clause. - ER_MIX_OF_GROUP_FUNC_AND_FIELDS - - - - ER_NONEXISTING_GRANT - - - - ER_TABLEACCESS_DENIED_ERROR - - - - ER_COLUMNACCESS_DENIED_ERROR - - - - ER_ILLEGAL_GRANT_FOR_TABLE - - - - ER_GRANT_WRONG_HOST_OR_USER - - - - ER_NO_SUCH_TABLE - - - - ER_NONEXISTING_TABLE_GRANT - - - - ER_NOT_ALLOWED_COMMAND - - - - ER_SYNTAX_ERROR - - - - ER_DELAYED_CANT_CHANGE_LOCK - - - - ER_TOO_MANY_DELAYED_THREADS - - - - ER_ABORTING_CONNECTION - - - - An attempt was made to send or receive a packet larger than - max_allowed_packet_size - - - - - ER_NET_READ_ERROR_FROM_PIPE - - - - ER_NET_FCNTL_ERROR - - - - ER_NET_PACKETS_OUT_OF_ORDER - - - - ER_NET_UNCOMPRESS_ERROR - - - - ER_NET_READ_ERROR - - - - ER_NET_READ_INTERRUPTED - - - - ER_NET_ERROR_ON_WRITE - - - - ER_NET_WRITE_INTERRUPTED - - - - ER_TOO_LONG_STRING - - - - ER_TABLE_CANT_HANDLE_BLOB - - - - ER_TABLE_CANT_HANDLE_AUTO_INCREMENT - - - - ER_DELAYED_INSERT_TABLE_LOCKED - - - - ER_WRONG_COLUMN_NAME - - - - ER_WRONG_KEY_COLUMN - - - - ER_WRONG_MRG_TABLE - - - - ER_DUP_UNIQUE - - - - ER_BLOB_KEY_WITHOUT_LENGTH - - - - ER_PRIMARY_CANT_HAVE_NULL - - - - ER_TOO_MANY_ROWS - - - - ER_REQUIRES_PRIMARY_KEY - - - - ER_NO_RAID_COMPILED - - - - ER_UPDATE_WITHOUT_KEY_IN_SAFE_MODE - - - - ER_KEY_DOES_NOT_EXITS - - - - ER_CHECK_NO_SUCH_TABLE - - - - ER_CHECK_NOT_IMPLEMENTED - - - - ER_CANT_DO_THIS_DURING_AN_TRANSACTION - - - - ER_ERROR_DURING_COMMIT - - - - ER_ERROR_DURING_ROLLBACK - - - - ER_ERROR_DURING_FLUSH_LOGS - - - - ER_ERROR_DURING_CHECKPOINT - - - - ER_NEW_ABORTING_CONNECTION - - - - ER_DUMP_NOT_IMPLEMENTED - - - - ER_FLUSH_MASTER_BINLOG_CLOSED - - - - ER_INDEX_REBUILD - - - - ER_MASTER - - - - ER_MASTER_NET_READ - - - - ER_MASTER_NET_WRITE - - - - ER_FT_MATCHING_KEY_NOT_FOUND - - - - ER_LOCK_OR_ACTIVE_TRANSACTION - - - - ER_UNKNOWN_SYSTEM_VARIABLE - - - - ER_CRASHED_ON_USAGE - - - - ER_CRASHED_ON_REPAIR - - - - ER_WARNING_NOT_COMPLETE_ROLLBACK - - - - ER_TRANS_CACHE_FULL - - - - ER_SLAVE_MUST_STOP - - - - ER_SLAVE_NOT_RUNNING - - - - ER_BAD_SLAVE - - - - ER_MASTER_INFO - - - - ER_SLAVE_THREAD - - - - ER_TOO_MANY_USER_CONNECTIONS - - - - ER_SET_CONSTANTS_ONLY - - - - ER_LOCK_WAIT_TIMEOUT - - - - ER_LOCK_TABLE_FULL - - - - ER_READ_ONLY_TRANSACTION - - - - ER_DROP_DB_WITH_READ_LOCK - - - - ER_CREATE_DB_WITH_READ_LOCK - - - - ER_WRONG_ARGUMENTS - - - - ER_NO_PERMISSION_TO_CREATE_USER - - - - ER_UNION_TABLES_IN_DIFFERENT_DIR - - - - ER_LOCK_DEADLOCK - - - - ER_TABLE_CANT_HANDLE_FT - - - - ER_CANNOT_ADD_FOREIGN - - - - ER_NO_REFERENCED_ROW - - - - ER_ROW_IS_REFERENCED - - - - ER_CONNECT_TO_MASTER - - - - ER_QUERY_ON_MASTER - - - - ER_ERROR_WHEN_EXECUTING_COMMAND - - - - ER_WRONG_USAGE - - - - ER_WRONG_NUMBER_OF_COLUMNS_IN_SELECT - - - - ER_CANT_UPDATE_WITH_READLOCK - - - - ER_MIXING_NOT_ALLOWED - - - - ER_DUP_ARGUMENT - - - - ER_USER_LIMIT_REACHED - - - - ER_SPECIFIC_ACCESS_DENIED_ERROR - - - - ER_LOCAL_VARIABLE - - - - ER_GLOBAL_VARIABLE - - - - ER_NO_DEFAULT - - - - ER_WRONG_VALUE_FOR_VAR - - - - ER_WRONG_TYPE_FOR_VAR - - - - ER_VAR_CANT_BE_READ - - - - ER_CANT_USE_OPTION_HERE - - - - ER_NOT_SUPPORTED_YET - - - - ER_MASTER_FATAL_ERROR_READING_BINLOG - - - - ER_SLAVE_IGNORED_TABLE - - - - ER_INCORRECT_GLOBAL_LOCAL_VAR - - - - ER_WRONG_FK_DEF - - - - ER_KEY_REF_DO_NOT_MATCH_TABLE_REF - - - - ER_OPERAND_COLUMNS - - - - ER_SUBQUERY_NO_1_ROW - - - - ER_UNKNOWN_STMT_HANDLER - - - - ER_CORRUPT_HELP_DB - - - - ER_CYCLIC_REFERENCE - - - - ER_AUTO_CONVERT - - - - ER_ILLEGAL_REFERENCE - - - - ER_DERIVED_MUST_HAVE_ALIAS - - - - ER_SELECT_REDUCED - - - - ER_TABLENAME_NOT_ALLOWED_HERE - - - - ER_NOT_SUPPORTED_AUTH_MODE - - - - ER_SPATIAL_CANT_HAVE_NULL - - - - ER_COLLATION_CHARSET_MISMATCH - - - - ER_SLAVE_WAS_RUNNING - - - - ER_SLAVE_WAS_NOT_RUNNING - - - - ER_TOO_BIG_FOR_UNCOMPRESS - - - - ER_ZLIB_Z_MEM_ERROR - - - - ER_ZLIB_Z_BUF_ERROR - - - - ER_ZLIB_Z_DATA_ERROR - - - - ER_CUT_VALUE_GROUP_CONCAT - - - - ER_WARN_TOO_FEW_RECORDS - - - - ER_WARN_TOO_MANY_RECORDS - - - - ER_WARN_NULL_TO_NOTNULL - - - - ER_WARN_DATA_OUT_OF_RANGE - - - - WARN_DATA_TRUNCATED - - - - ER_WARN_USING_OTHER_HANDLER - - - - ER_CANT_AGGREGATE_2COLLATIONS - - - - ER_DROP_USER - - - - ER_REVOKE_GRANTS - - - - ER_CANT_AGGREGATE_3COLLATIONS - - - - ER_CANT_AGGREGATE_NCOLLATIONS - - - - ER_VARIABLE_IS_NOT_STRUCT - - - - ER_UNKNOWN_COLLATION - - - - ER_SLAVE_IGNORED_SSL_PARAMS - - - - ER_SERVER_IS_IN_SECURE_AUTH_MODE - - - - ER_WARN_FIELD_RESOLVED - - - - ER_BAD_SLAVE_UNTIL_COND - - - - ER_MISSING_SKIP_SLAVE - - - - ER_UNTIL_COND_IGNORED - - - - ER_WRONG_NAME_FOR_INDEX - - - - ER_WRONG_NAME_FOR_CATALOG - - - - ER_WARN_QC_RESIZE - - - - ER_BAD_FT_COLUMN - - - - ER_UNKNOWN_KEY_CACHE - - - - ER_WARN_HOSTNAME_WONT_WORK - - - - ER_UNKNOWN_STORAGE_ENGINE - - - - ER_WARN_DEPRECATED_SYNTAX - - - - ER_NON_UPDATABLE_TABLE - - - - ER_FEATURE_DISABLED - - - - ER_OPTION_PREVENTS_STATEMENT - - - - ER_DUPLICATED_VALUE_IN_TYPE - - - - ER_TRUNCATED_WRONG_VALUE - - - - ER_TOO_MUCH_AUTO_TIMESTAMP_COLS - - - - ER_INVALID_ON_UPDATE - - - - ER_UNSUPPORTED_PS - - - - ER_GET_ERRMSG - - - - ER_GET_TEMPORARY_ERRMSG - - - - ER_UNKNOWN_TIME_ZONE - - - - ER_WARN_INVALID_TIMESTAMP - - - - ER_INVALID_CHARACTER_STRING - - - - ER_WARN_ALLOWED_PACKET_OVERFLOWED - - - - ER_CONFLICTING_DECLARATIONS - - - - ER_SP_NO_RECURSIVE_CREATE - - - - ER_SP_ALREADY_EXISTS - - - - ER_SP_DOES_NOT_EXIST - - - - ER_SP_DROP_FAILED - - - - ER_SP_STORE_FAILED - - - - ER_SP_LILABEL_MISMATCH - - - - ER_SP_LABEL_REDEFINE - - - - ER_SP_LABEL_MISMATCH - - - - ER_SP_UNINIT_VAR - - - - ER_SP_BADSELECT - - - - ER_SP_BADRETURN - - - - ER_SP_BADSTATEMENT - - - - ER_UPDATE_LOG_DEPRECATED_IGNORED - - - - ER_UPDATE_LOG_DEPRECATED_TRANSLATED - - - - ER_QUERY_INTERRUPTED - - - - ER_SP_WRONG_NO_OF_ARGS - - - - ER_SP_COND_MISMATCH - - - - ER_SP_NORETURN - - - - ER_SP_NORETURNEND - - - - ER_SP_BAD_CURSOR_QUERY - - - - ER_SP_BAD_CURSOR_SELECT - - - - ER_SP_CURSOR_MISMATCH - - - - ER_SP_CURSOR_ALREADY_OPEN - - - - ER_SP_CURSOR_NOT_OPEN - - - - ER_SP_UNDECLARED_VAR - - - - ER_SP_WRONG_NO_OF_FETCH_ARGS - - - - ER_SP_FETCH_NO_DATA - - - - ER_SP_DUP_PARAM - - - - ER_SP_DUP_VAR - - - - ER_SP_DUP_COND - - - - ER_SP_DUP_CURS - - - - ER_SP_CANT_ALTER - - - - ER_SP_SUBSELECT_NYI - - - - ER_STMT_NOT_ALLOWED_IN_SF_OR_TRG - - - - ER_SP_VARCOND_AFTER_CURSHNDLR - - - - ER_SP_CURSOR_AFTER_HANDLER - - - - ER_SP_CASE_NOT_FOUND - - - - ER_FPARSER_TOO_BIG_FILE - - - - ER_FPARSER_BAD_HEADER - - - - ER_FPARSER_EOF_IN_COMMENT - - - - ER_FPARSER_ERROR_IN_PARAMETER - - - - ER_FPARSER_EOF_IN_UNKNOWN_PARAMETER - - - - ER_VIEW_NO_EXPLAIN - - - - ER_FRM_UNKNOWN_TYPE - - - - ER_WRONG_OBJECT - - - - ER_NONUPDATEABLE_COLUMN - - - - ER_VIEW_SELECT_DERIVED - - - - ER_VIEW_SELECT_CLAUSE - - - - ER_VIEW_SELECT_VARIABLE - - - - ER_VIEW_SELECT_TMPTABLE - - - - ER_VIEW_WRONG_LIST - - - - ER_WARN_VIEW_MERGE - - - - ER_WARN_VIEW_WITHOUT_KEY - - - - ER_VIEW_INVALID - - - - ER_SP_NO_DROP_SP - - - - ER_SP_GOTO_IN_HNDLR - - - - ER_TRG_ALREADY_EXISTS - - - - ER_TRG_DOES_NOT_EXIST - - - - ER_TRG_ON_VIEW_OR_TEMP_TABLE - - - - ER_TRG_CANT_CHANGE_ROW - - - - ER_TRG_NO_SUCH_ROW_IN_TRG - - - - ER_NO_DEFAULT_FOR_FIELD - - - - ER_DIVISION_BY_ZERO - - - - ER_TRUNCATED_WRONG_VALUE_FOR_FIELD - - - - ER_ILLEGAL_VALUE_FOR_TYPE - - - - ER_VIEW_NONUPD_CHECK - - - - ER_VIEW_CHECK_FAILED - - - - ER_PROCACCESS_DENIED_ERROR - - - - ER_RELAY_LOG_FAIL - - - - ER_PASSWD_LENGTH - - - - ER_UNKNOWN_TARGET_BINLOG - - - - ER_IO_ERR_LOG_INDEX_READ - - - - ER_BINLOG_PURGE_PROHIBITED - - - - ER_FSEEK_FAIL - - - - ER_BINLOG_PURGE_FATAL_ERR - - - - ER_LOG_IN_USE - - - - ER_LOG_PURGE_UNKNOWN_ERR - - - - ER_RELAY_LOG_INIT - - - - ER_NO_BINARY_LOGGING - - - - ER_RESERVED_SYNTAX - - - - ER_WSAS_FAILED - - - - ER_DIFF_GROUPS_PROC - - - - ER_NO_GROUP_FOR_PROC - - - - ER_ORDER_WITH_PROC - - - - ER_LOGGING_PROHIBIT_CHANGING_OF - - - - ER_NO_FILE_MAPPING - - - - ER_WRONG_MAGIC - - - - ER_PS_MANY_PARAM - - - - ER_KEY_PART_0 - - - - ER_VIEW_CHECKSUM - - - - ER_VIEW_MULTIUPDATE - - - - ER_VIEW_NO_INSERT_FIELD_LIST - - - - ER_VIEW_DELETE_MERGE_VIEW - - - - ER_CANNOT_USER - - - - ER_XAER_NOTA - - - - ER_XAER_INVAL - - - - ER_XAER_RMFAIL - - - - ER_XAER_OUTSIDE - - - - ER_XAER_RMERR - - - - ER_XA_RBROLLBACK - - - - ER_NONEXISTING_PROC_GRANT - - - - ER_PROC_AUTO_GRANT_FAIL - - - - ER_PROC_AUTO_REVOKE_FAIL - - - - ER_DATA_TOO_LONG - - - - ER_SP_BAD_SQLSTATE - - - - ER_STARTUP - - - - ER_LOAD_FROM_FIXED_SIZE_ROWS_TO_VAR - - - - ER_CANT_CREATE_USER_WITH_GRANT - - - - ER_WRONG_VALUE_FOR_TYPE - - - - ER_TABLE_DEF_CHANGED - - - - ER_SP_DUP_HANDLER - - - - ER_SP_NOT_VAR_ARG - - - - ER_SP_NO_RETSET - - - - ER_CANT_CREATE_GEOMETRY_OBJECT - - - - ER_FAILED_ROUTINE_BREAK_BINLOG - - - - ER_BINLOG_UNSAFE_ROUTINE - - - - ER_BINLOG_CREATE_ROUTINE_NEED_SUPER - - - - ER_EXEC_STMT_WITH_OPEN_CURSOR - - - - ER_STMT_HAS_NO_OPEN_CURSOR - - - - ER_COMMIT_NOT_ALLOWED_IN_SF_OR_TRG - - - - ER_NO_DEFAULT_FOR_VIEW_FIELD - - - - ER_SP_NO_RECURSION - - - - ER_TOO_BIG_SCALE - - - - ER_TOO_BIG_PRECISION - - - - ER_M_BIGGER_THAN_D - - - - ER_WRONG_LOCK_OF_SYSTEM_TABLE - - - - ER_CONNECT_TO_FOREIGN_DATA_SOURCE - - - - ER_QUERY_ON_FOREIGN_DATA_SOURCE - - - - ER_FOREIGN_DATA_SOURCE_DOESNT_EXIST - - - - ER_FOREIGN_DATA_STRING_INVALID_CANT_CREATE - - - - ER_FOREIGN_DATA_STRING_INVALID - - - - ER_CANT_CREATE_FEDERATED_TABLE - - - - ER_TRG_IN_WRONG_SCHEMA - - - - ER_STACK_OVERRUN_NEED_MORE - - - - ER_TOO_LONG_BODY - - - - ER_WARN_CANT_DROP_DEFAULT_KEYCACHE - - - - ER_TOO_BIG_DISPLAYWIDTH - - - - ER_XAER_DUPID - - - - ER_DATETIME_FUNCTION_OVERFLOW - - - - ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG - - - - ER_VIEW_PREVENT_UPDATE - - - - ER_PS_NO_RECURSION - - - - ER_SP_CANT_SET_AUTOCOMMIT - - - - ER_MALFORMED_DEFINER - - - - ER_VIEW_FRM_NO_USER - - - - ER_VIEW_OTHER_USER - - - - ER_NO_SUCH_USER - - - - ER_FORBID_SCHEMA_CHANGE - - - - ER_ROW_IS_REFERENCED_2 - - - - ER_NO_REFERENCED_ROW_2 - - - - ER_SP_BAD_VAR_SHADOW - - - - ER_TRG_NO_DEFINER - - - - ER_OLD_FILE_FORMAT - - - - ER_SP_RECURSION_LIMIT - - - - ER_SP_PROC_TABLE_CORRUPT - - - - ER_SP_WRONG_NAME - - - - ER_TABLE_NEEDS_UPGRADE - - - - ER_SP_NO_AGGREGATE - - - - ER_MAX_PREPARED_STMT_COUNT_REACHED - - - - ER_VIEW_RECURSIVE - - - - ER_NON_GROUPING_FIELD_USED - - - - ER_TABLE_CANT_HANDLE_SPKEYS - - - - ER_NO_TRIGGERS_ON_SYSTEM_SCHEMA - - - - ER_REMOVED_SPACES - - - - ER_AUTOINC_READ_FAILED - - - - ER_USERNAME - - - - ER_HOSTNAME - - - - ER_WRONG_STRING_LENGTH - - - - ER_NON_INSERTABLE_TABLE - - - - ER_ADMIN_WRONG_MRG_TABLE - - - - ER_TOO_HIGH_LEVEL_OF_NESTING_FOR_SELECT - - - - ER_NAME_BECOMES_EMPTY - - - - ER_AMBIGUOUS_FIELD_TERM - - - - ER_FOREIGN_SERVER_EXISTS - - - - ER_FOREIGN_SERVER_DOESNT_EXIST - - - - ER_ILLEGAL_HA_CREATE_OPTION - - - - ER_PARTITION_REQUIRES_VALUES_ERROR - - - - ER_PARTITION_WRONG_VALUES_ERROR - - - - ER_PARTITION_MAXVALUE_ERROR - - - - ER_PARTITION_SUBPARTITION_ERROR - - - - ER_PARTITION_SUBPART_MIX_ERROR - - - - ER_PARTITION_WRONG_NO_PART_ERROR - - - - ER_PARTITION_WRONG_NO_SUBPART_ERROR - - - - ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR - - - - ER_NO_CONST_EXPR_IN_RANGE_OR_LIST_ERROR - - - - ER_FIELD_NOT_FOUND_PART_ERROR - - - - ER_LIST_OF_FIELDS_ONLY_IN_HASH_ERROR - - - - ER_INCONSISTENT_PARTITION_INFO_ERROR - - - - ER_PARTITION_FUNC_NOT_ALLOWED_ERROR - - - - ER_PARTITIONS_MUST_BE_DEFINED_ERROR - - - - ER_RANGE_NOT_INCREASING_ERROR - - - - ER_INCONSISTENT_TYPE_OF_FUNCTIONS_ERROR - - - - ER_MULTIPLE_DEF_CONST_IN_LIST_PART_ERROR - - - - ER_PARTITION_ENTRY_ERROR - - - - ER_MIX_HANDLER_ERROR - - - - ER_PARTITION_NOT_DEFINED_ERROR - - - - ER_TOO_MANY_PARTITIONS_ERROR - - - - ER_SUBPARTITION_ERROR - - - - ER_CANT_CREATE_HANDLER_FILE - - - - ER_BLOB_FIELD_IN_PART_FUNC_ERROR - - - - ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF - - - - ER_NO_PARTS_ERROR - - - - ER_PARTITION_MGMT_ON_NONPARTITIONED - - - - ER_FOREIGN_KEY_ON_PARTITIONED - - - - ER_DROP_PARTITION_NON_EXISTENT - - - - ER_DROP_LAST_PARTITION - - - - ER_COALESCE_ONLY_ON_HASH_PARTITION - - - - ER_REORG_HASH_ONLY_ON_SAME_NO - - - - ER_REORG_NO_PARAM_ERROR - - - - ER_ONLY_ON_RANGE_LIST_PARTITION - - - - ER_ADD_PARTITION_SUBPART_ERROR - - - - ER_ADD_PARTITION_NO_NEW_PARTITION - - - - ER_COALESCE_PARTITION_NO_PARTITION - - - - ER_REORG_PARTITION_NOT_EXIST - - - - ER_SAME_NAME_PARTITION - - - - ER_NO_BINLOG_ERROR - - - - ER_CONSECUTIVE_REORG_PARTITIONS - - - - ER_REORG_OUTSIDE_RANGE - - - - ER_PARTITION_FUNCTION_FAILURE - - - - ER_PART_STATE_ERROR - - - - ER_LIMITED_PART_RANGE - - - - ER_PLUGIN_IS_NOT_LOADED - - - - ER_WRONG_VALUE - - - - ER_NO_PARTITION_FOR_GIVEN_VALUE - - - - ER_FILEGROUP_OPTION_ONLY_ONCE - - - - ER_CREATE_FILEGROUP_FAILED - - - - ER_DROP_FILEGROUP_FAILED - - - - ER_TABLESPACE_AUTO_EXTEND_ERROR - - - - ER_WRONG_SIZE_NUMBER - - - - ER_SIZE_OVERFLOW_ERROR - - - - ER_ALTER_FILEGROUP_FAILED - - - - ER_BINLOG_ROW_LOGGING_FAILED - - - - ER_BINLOG_ROW_WRONG_TABLE_DEF - - - - ER_BINLOG_ROW_RBR_TO_SBR - - - - ER_EVENT_ALREADY_EXISTS - - - - ER_EVENT_STORE_FAILED - - - - ER_EVENT_DOES_NOT_EXIST - - - - ER_EVENT_CANT_ALTER - - - - ER_EVENT_DROP_FAILED - - - - ER_EVENT_INTERVAL_NOT_POSITIVE_OR_TOO_BIG - - - - ER_EVENT_ENDS_BEFORE_STARTS - - - - ER_EVENT_EXEC_TIME_IN_THE_PAST - - - - ER_EVENT_OPEN_TABLE_FAILED - - - - ER_EVENT_NEITHER_M_EXPR_NOR_M_AT - - - - ER_COL_COUNT_DOESNT_MATCH_CORRUPTED - - - - ER_CANNOT_LOAD_FROM_TABLE - - - - ER_EVENT_CANNOT_DELETE - - - - ER_EVENT_COMPILE_ERROR - - - - ER_EVENT_SAME_NAME - - - - ER_EVENT_DATA_TOO_LONG - - - - ER_DROP_INDEX_FK - - - - ER_WARN_DEPRECATED_SYNTAX_WITH_VER - - - - ER_CANT_WRITE_LOCK_LOG_TABLE - - - - ER_CANT_LOCK_LOG_TABLE - - - - ER_FOREIGN_DUPLICATE_KEY - - - - ER_COL_COUNT_DOESNT_MATCH_PLEASE_UPDATE - - - - ER_TEMP_TABLE_PREVENTS_SWITCH_OUT_OF_RBR - - - - ER_STORED_FUNCTION_PREVENTS_SWITCH_BINLOG_FORMAT - - - - ER_NDB_CANT_SWITCH_BINLOG_FORMAT - - - - ER_PARTITION_NO_TEMPORARY - - - - ER_PARTITION_CONST_DOMAIN_ERROR - - - - ER_PARTITION_FUNCTION_IS_NOT_ALLOWED - - - - ER_DDL_LOG_ERROR - - - - ER_NULL_IN_VALUES_LESS_THAN - - - - ER_WRONG_PARTITION_NAME - - - - ER_CANT_CHANGE_TRANSACTION_ISOLATION - - - - ER_DUP_ENTRY_AUTOINCREMENT_CASE - - - - ER_EVENT_MODIFY_QUEUE_ERROR - - - - ER_EVENT_SET_VAR_ERROR - - - - ER_PARTITION_MERGE_ERROR - - - - ER_CANT_ACTIVATE_LOG - - - - ER_RBR_NOT_AVAILABLE - - - - ER_BASE64_DECODE_ERROR - - - - ER_EVENT_RECURSION_FORBIDDEN - - - - ER_EVENTS_DB_ERROR - - - - ER_ONLY_INTEGERS_ALLOWED - - - - ER_UNSUPORTED_LOG_ENGINE - - - - ER_BAD_LOG_STATEMENT - - - - ER_CANT_RENAME_LOG_TABLE - - - - ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT - - - - ER_WRONG_PARAMETERS_TO_NATIVE_FCT - - - - ER_WRONG_PARAMETERS_TO_STORED_FCT - - - - ER_NATIVE_FCT_NAME_COLLISION - - - - ER_DUP_ENTRY_WITH_KEY_NAME - - - - ER_BINLOG_PURGE_EMFILE - - - - ER_EVENT_CANNOT_CREATE_IN_THE_PAST - - - - ER_EVENT_CANNOT_ALTER_IN_THE_PAST - - - - ER_SLAVE_INCIDENT - - - - ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT - - - - ER_BINLOG_UNSAFE_STATEMENT - - - - ER_SLAVE_FATAL_ERROR - - - - ER_SLAVE_RELAY_LOG_READ_FAILURE - - - - ER_SLAVE_RELAY_LOG_WRITE_FAILURE - - - - ER_SLAVE_CREATE_EVENT_FAILURE - - - - ER_SLAVE_MASTER_COM_FAILURE - - - - ER_BINLOG_LOGGING_IMPOSSIBLE - - - - ER_VIEW_NO_CREATION_CTX - - - - ER_VIEW_INVALID_CREATION_CTX - - - - ER_SR_INVALID_CREATION_CTX - - - - ER_TRG_CORRUPTED_FILE - - - - ER_TRG_NO_CREATION_CTX - - - - ER_TRG_INVALID_CREATION_CTX - - - - ER_EVENT_INVALID_CREATION_CTX - - - - ER_TRG_CANT_OPEN_TABLE - - - - ER_CANT_CREATE_SROUTINE - - - - ER_SLAVE_AMBIGOUS_EXEC_MODE - - - - ER_NO_FORMAT_DESCRIPTION_EVENT_BEFORE_BINLOG_STATEMENT - - - - ER_SLAVE_CORRUPT_EVENT - - - - ER_LOAD_DATA_INVALID_COLUMN - - - - ER_LOG_PURGE_NO_FILE - - - - ER_XA_RBTIMEOUT - - - - ER_XA_RBDEADLOCK - - - - ER_NEED_REPREPARE - - - - ER_DELAYED_NOT_SUPPORTED - - - - WARN_NO_MASTER_INFO - - - - WARN_OPTION_IGNORED - - - - WARN_PLUGIN_DELETE_BUILTIN - - - - WARN_PLUGIN_BUSY - - - - ER_VARIABLE_IS_READONLY - - - - ER_WARN_ENGINE_TRANSACTION_ROLLBACK - - - - ER_SLAVE_HEARTBEAT_FAILURE - - - - ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE - - - - ER_NDB_REPLICATION_SCHEMA_ERROR - - - - ER_CONFLICT_FN_PARSE_ERROR - - - - ER_EXCEPTIONS_WRITE_ERROR - - - - ER_TOO_LONG_TABLE_COMMENT - - - - ER_TOO_LONG_FIELD_COMMENT - - - - ER_FUNC_INEXISTENT_NAME_COLLISION - - - - ER_DATABASE_NAME - - - - ER_TABLE_NAME - - - - ER_PARTITION_NAME - - - - ER_SUBPARTITION_NAME - - - - ER_TEMPORARY_NAME - - - - ER_RENAMED_NAME - - - - ER_TOO_MANY_CONCURRENT_TRXS - - - - WARN_NON_ASCII_SEPARATOR_NOT_IMPLEMENTED - - - - ER_DEBUG_SYNC_TIMEOUT - - - - ER_DEBUG_SYNC_HIT_LIMIT - - - - ER_ERROR_LAST - - - - Helper class that makes it easier to work with the provider. - - - - - Executes a single command against a MySQL database. The is assumed to be - open when the method is called and remains open after the method completes. - - object to use - SQL command to be executed - Array of objects to use with the command. - - - - - Executes a single command against a MySQL database. A new is created - using the given. - - to use - SQL command to be executed - Array of objects to use with the command. - - - - - Executes a single SQL command and returns the first row of the resultset. A new MySqlConnection object - is created, opened, and closed during this method. - - Settings to be used for the connection - Command to execute - Parameters to use for the command - DataRow containing the first row of the resultset - - - - Executes a single SQL command and returns the resultset in a . - A new MySqlConnection object is created, opened, and closed during this method. - - Settings to be used for the connection - Command to execute - containing the resultset - - - - Executes a single SQL command and returns the resultset in a . - A new MySqlConnection object is created, opened, and closed during this method. - - Settings to be used for the connection - Command to execute - Parameters to use for the command - containing the resultset - - - - Executes a single SQL command and returns the resultset in a . - The state of the object remains unchanged after execution - of this method. - - object to use - Command to execute - containing the resultset - - - - Executes a single SQL command and returns the resultset in a . - The state of the object remains unchanged after execution - of this method. - - object to use - Command to execute - Parameters to use for the command - containing the resultset - - - - Updates the given table with data from the given - - Settings to use for the update - Command text to use for the update - containing the new data to use in the update - Tablename in the dataset to update - - - - Executes a single command against a MySQL database, possibly inside an existing transaction. - - object to use for the command - object to use for the command - Command text to use - Array of objects to use with the command - True if the connection should be preserved, false if not - object ready to read the results of the command - - - - Executes a single command against a MySQL database. - - Settings to use for this command - Command text to use - object ready to read the results of the command - - - - Executes a single command against a MySQL database. - - object to use for the command - Command text to use - object ready to read the results of the command - - - - Executes a single command against a MySQL database. - - Settings to use for this command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - - - - Executes a single command against a MySQL database. - - Connection to use for the command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - - - - Execute a single command against a MySQL database. - - Settings to use for the update - Command text to use for the update - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Execute a single command against a MySQL database. - - Settings to use for the command - Command text to use for the command - Parameters to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Execute a single command against a MySQL database. - - object to use - Command text to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Execute a single command against a MySQL database. - - object to use - Command text to use for the command - Parameters to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Escapes the string. - - The string to escape - The string with all quotes escaped. - - - - Async version of ExecuteDataRow - - Settings to be used for the connection - Command to execute - Parameters to use for the command - DataRow containing the first row of the resultset - - - - Async version of ExecuteNonQuery - - object to use - SQL command to be executed - Array of objects to use with the command. - Rows affected - - - - Async version of ExecuteNonQuery - - to use - SQL command to be executed - Array of objects to use with the command. - Rows affected - - - - Async version of ExecuteDataset - - Settings to be used for the connection - Command to execute - containing the resultset - - - - Async version of ExecuteDataset - - Settings to be used for the connection - Command to execute - Parameters to use for the command - containing the resultset - - - - Async version of ExecuteDataset - - object to use - Command to execute - containing the resultset - - - - Async version of ExecuteDataset - - object to use - Command to execute - Parameters to use for the command - containing the resultset - - - - Async version of UpdateDataset - - Settings to use for the update - Command text to use for the update - containing the new data to use in the update - Tablename in the dataset to update - - - - Async version of ExecuteReader - - object to use for the command - object to use for the command - Command text to use - Array of objects to use with the command - True if the connection should be preserved, false if not - object ready to read the results of the command - - - - Async version of ExecuteReader - - Settings to use for this command - Command text to use - object ready to read the results of the command - - - - Async version of ExecuteReader - - object to use for the command - Command text to use - object ready to read the results of the command - - - - Async version of ExecuteReader - - Settings to use for this command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - - - - Async version of ExecuteReader - - Connection to use for the command - Command text to use - Array of objects to use with the command - object ready to read the results of the command - - - - Async version of ExecuteScalar - - Settings to use for the update - Command text to use for the update - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Async version of ExecuteScalar - - Settings to use for the command - Command text to use for the command - Parameters to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Async version of ExecuteScalar - - object to use - Command text to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - Async version of ExecuteScalar - - object to use - Command text to use for the command - Parameters to use for the command - The first column of the first row in the result set, or a null reference if the result set is empty. - - - - WriteInteger - - - - - - - Summary description for MySqlPool. - - - - - It is assumed that this property will only be used from inside an active - lock. - - - - - Indicates whether this pool is being cleared. - - - - - It is assumed that this method is only called from inside an active lock. - - - - - It is assumed that this method is only called from inside an active lock. - - - - - Removes a connection from the in use pool. The only situations where this method - would be called are when a connection that is in use gets some type of fatal exception - or when the connection is being returned to the pool and it's too old to be - returned. - - - - - - Clears this pool of all idle connections and marks this pool and being cleared - so all other connections are closed when they are returned. - - - - - Remove expired drivers from the idle pool - - - - Closing driver is a potentially lengthy operation involving network - IO. Therefore we do not close expired drivers while holding - idlePool.SyncRoot lock. We just remove the old drivers from the idle - queue and return them to the caller. The caller will need to close - them (or let GC close them) - - - - - Summary description for MySqlPoolManager. - - - - - Remove drivers that have been idle for too long. - - - - - Represents a single(not nested) TransactionScope - - - - - Содержит список сообщений исключений. - - - - - Provides a class capable of executing a SQL script containing - multiple SQL statements including CREATE PROCEDURE statements - that require changing the delimiter - - - - - Initializes a new instance of the - class. - - - - - Initializes a new instance of the - class. - - The connection. - - - - Initializes a new instance of the - class. - - The query. - - - - Initializes a new instance of the - class. - - The connection. - The query. - - - - Gets or sets the connection. - - The connection. - - - - Gets or sets the query. - - The query. - - - - Gets or sets the delimiter. - - The delimiter. - - - - Executes this instance. - - The number of statements executed as part of the script. - - - - Async version of Execute - - The number of statements executed as part of the script inside. - - - - - - - - - - - - - - - - - - - Gets the statement text. - - The statement text. - - - - Gets the line. - - The line. - - - - Gets the position. - - The position. - - - - - - - - - Initializes a new instance of the class. - - The exception. - - - - Gets the exception. - - The exception. - - - - Gets or sets a value indicating whether this is ignore. - - true if ignore; otherwise, false. - - - - Summary description for MySqlStream. - - - - - ReadPacket is called by NativeDriver to start reading the next - packet on the stream. - - - - - Reads the specified number of bytes from the stream and stores them at given - offset in the buffer. - Throws EndOfStreamException if not all bytes can be read. - - Stream to read from - Array to store bytes read from the stream - The offset in buffer at which to begin storing the data read from the current stream. - Number of bytes to read - - - - LoadPacket loads up and decodes the header of the incoming packet. - - - - - Summary description for Driver. - - - - - Sets the current database for the this connection - - - - - - Retrieve client SSL certificates. Dependent on connection string - settings we use either file or store based certificates. - - - - - Return the appropriate set of connection flags for our - server capabilities and our user requested options. - - - - - Query is the method that is called to send all queries to the server - - - - - Sends the specified file to the server. - This supports the LOAD DATA LOCAL INFILE - - - - - - FetchDataRow is the method that the data reader calls to see if there is another - row to fetch. In the non-prepared mode, it will simply read the next data packet. - In the prepared mode (statementId > 0), it will - - - - - Execution timeout, in milliseconds. When the accumulated time for network IO exceeds this value - TimeoutException is thrown. This timeout needs to be reset for every new command - - - - - - Summary description for PreparedStatement. - - - - - Prepares CommandText for use with the Prepare method - - Command text stripped of all paramter names - - Takes the output of TokenizeSql and creates a single string of SQL - that only contains '?' markers for each parameter. It also creates - the parameterMap array list that includes all the paramter names in the - order they appeared in the SQL - - - - - Used to define a Replication configurarion element in configuration file - - - - - Used to define a Replication server group in configuration file - - - - - Defines a Replication server in configuration file - - - - - - Returns Replication Server Group List - - - - - Adds a Default Server Group to the list - - Group name - Time between reconnections for failed servers - Replication Server Group added - - - - Adds a Server Group to the list - - Group name - ServerGroup type reference - Time between reconnections for failed servers - Server Group added - - - - Gets the next server from a replication group - - Group name - True if the server to return must be a master - Replication Server defined by the Load Balancing plugin - - - - Gets a Server Group by name - - Group name - Server Group if found, otherwise throws an MySqlException - - - - Validates if the replication group name exists - - Group name to validate - True if replication group name is found, otherwise false - - - - Assigns a new server driver to the connection object - - Group name - True if the server connection to assign must be a master - MySqlConnection object where the new driver will be assigned - - - - Class that implements Round Robing Load Balancing technique - - - - - Gets an available server based on Round Robin load balancing - - True if the server to return must be a master - Next available server - - - - Represents a server in Replication environment - - - - - Server name - - - - - Defines if the server is master (True) or slave - - - - - Connection string used to connect to the server - - - - - Defines if the server is available to be considered in load balancing - - - - - Base class used to implement load balancing features - - - - Group name - - - - - Group name - - - - - Retry time between connections to failed servers - - - - - Servers list in the group - - - - - Adds a server into the group - - Server name - True if the server to add is master, False for slave server - Connection string used by this server - - - - - Removes a server from group - - Server name - - - - Gets a server by name - - Server name - Replication server - - - - Must be implemented. Defines the next server for a custom load balancing implementation. - - Defines if the server to return is a master or any - Next server based on the load balancing implementation. - Null if no available server is found. - - - - - Handles a failed connection to a server. - This method can be overrided to implement a custom failover handling - - The failed server - - - - Handles a failed connection to a server. - - The failed server - Exception that caused the failover - - - - return the ordinal for the given column name - - - - - - - Retrieve the value as the given column index - - The column value to retrieve - The value as the given column - - - - Closes the current resultset, dumping any data still on the wire - - - - - Loads the column metadata for the current resultset - - - - - GetForeignKeysOnTable retrieves the foreign keys on the given table. - Since MySQL supports foreign keys on versions prior to 5.0, we can't use - information schema. MySQL also does not include any type of SHOW command - for foreign keys so we have to resort to use SHOW CREATE TABLE and parsing - the output. - - The table to store the key info in. - The table to get the foeign key info for. - Only get foreign keys that match this name. - Should column information be included in the table. - - - - Serializes the given parameter to the given memory stream - - - This method is called by PrepareSqlBuffers to convert the given - parameter to bytes and write those bytes to the given memory stream. - - - True if the parameter was successfully serialized, false otherwise. - - - - Summary description for StoredProcedure. - - - - - Stream that supports timeout of IO operations. - This class is used is used to support timeouts for SQL command, where a - typical operation involves several network reads/writes. - Timeout here is defined as the accumulated duration of all IO operations. - - - - - Construct a TimedStream - - Undelying stream - - - - Figure out whether it is necessary to reset timeout on stream. - We track the current value of timeout and try to avoid - changing it too often, because setting Read/WriteTimeout property - on network stream maybe a slow operation that involves a system call - (setsockopt). Therefore, we allow a small difference, and do not - reset timeout if current value is slightly greater than the requested - one (within 0.1 second). - - - - - Common handler for IO exceptions. - Resets timeout to infinity if timeout exception is - detected and stops the times. - - original exception - - - - Helper so we can call some tuple methods recursively without knowing the underlying types. - - - - - Indicates that the use of on a member is meant to be treated as a tuple with element names. - - - - - Initializes a new instance of the class. - - - Specifies, in a pre-order depth-first traversal of a type's - construction, which occurrences are - meant to carry element names. - - - This constructor is meant to be used on types that contain an - instantiation of that contains - element names. For instance, if C is a generic type with - two type parameters, then a use of the constructed type C{, might be intended to - treat the first type argument as a tuple with element names and the - second as a tuple without element names. In which case, the - appropriate attribute specification should use a - transformNames value of { "name1", "name2", null, null, - null }. - - - - - Specifies, in a pre-order depth-first traversal of a type's - construction, which elements are - meant to carry element names. - - - - - Provides extension methods for instances to interop with C# tuples features (deconstruction syntax, converting from and to ). - - - - - Deconstruct a properly nested with 1 elements. - - - - - Deconstruct a properly nested with 2 elements. - - - - - Deconstruct a properly nested with 3 elements. - - - - - Deconstruct a properly nested with 4 elements. - - - - - Deconstruct a properly nested with 5 elements. - - - - - Deconstruct a properly nested with 6 elements. - - - - - Deconstruct a properly nested with 7 elements. - - - - - Deconstruct a properly nested with 8 elements. - - - - - Deconstruct a properly nested with 9 elements. - - - - - Deconstruct a properly nested with 10 elements. - - - - - Deconstruct a properly nested with 11 elements. - - - - - Deconstruct a properly nested with 12 elements. - - - - - Deconstruct a properly nested with 13 elements. - - - - - Deconstruct a properly nested with 14 elements. - - - - - Deconstruct a properly nested with 15 elements. - - - - - Deconstruct a properly nested with 16 elements. - - - - - Deconstruct a properly nested with 17 elements. - - - - - Deconstruct a properly nested with 18 elements. - - - - - Deconstruct a properly nested with 19 elements. - - - - - Deconstruct a properly nested with 20 elements. - - - - - Deconstruct a properly nested with 21 elements. - - - - - Make a properly nested from a properly nested with 1 element. - - - - - Make a properly nested from a properly nested with 2 elements. - - - - - Make a properly nested from a properly nested with 3 elements. - - - - - Make a properly nested from a properly nested with 4 elements. - - - - - Make a properly nested from a properly nested with 5 elements. - - - - - Make a properly nested from a properly nested with 6 elements. - - - - - Make a properly nested from a properly nested with 7 elements. - - - - - Make a properly nested from a properly nested with 8 elements. - - - - - Make a properly nested from a properly nested with 9 elements. - - - - - Make a properly nested from a properly nested with 10 elements. - - - - - Make a properly nested from a properly nested with 11 elements. - - - - - Make a properly nested from a properly nested with 12 elements. - - - - - Make a properly nested from a properly nested with 13 elements. - - - - - Make a properly nested from a properly nested with 14 elements. - - - - - Make a properly nested from a properly nested with 15 elements. - - - - - Make a properly nested from a properly nested with 16 elements. - - - - - Make a properly nested from a properly nested with 17 elements. - - - - - Make a properly nested from a properly nested with 18 elements. - - - - - Make a properly nested from a properly nested with 19 elements. - - - - - Make a properly nested from a properly nested with 20 elements. - - - - - Make a properly nested from a properly nested with 21 elements. - - - - - Make a properly nested from a properly nested with 1 element. - - - - - Make a properly nested from a properly nested with 2 elements. - - - - - Make a properly nested from a properly nested with 3 elements. - - - - - Make a properly nested from a properly nested with 4 elements. - - - - - Make a properly nested from a properly nested with 5 elements. - - - - - Make a properly nested from a properly nested with 6 elements. - - - - - Make a properly nested from a properly nested with 7 elements. - - - - - Make a properly nested from a properly nested with 8 elements. - - - - - Make a properly nested from a properly nested with 9 elements. - - - - - Make a properly nested from a properly nested with 10 elements. - - - - - Make a properly nested from a properly nested with 11 elements. - - - - - Make a properly nested from a properly nested with 12 elements. - - - - - Make a properly nested from a properly nested with 13 elements. - - - - - Make a properly nested from a properly nested with 14 elements. - - - - - Make a properly nested from a properly nested with 15 elements. - - - - - Make a properly nested from a properly nested with 16 elements. - - - - - Make a properly nested from a properly nested with 17 elements. - - - - - Make a properly nested from a properly nested with 18 elements. - - - - - Make a properly nested from a properly nested with 19 elements. - - - - - Make a properly nested from a properly nested with 20 elements. - - - - - Make a properly nested from a properly nested with 21 elements. - - - - Represents a 1-tuple, or singleton, as a value type. - The type of the tuple's only component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its field - is equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1), - where Item1 represents the value of . If the field is , - it is represented as . - - - - - The current instance's first component. - - - - - Represents a 2-tuple, or pair, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - - Returns a value that indicates whether the current instance is equal to a specified object based on a specified comparison method. - - The object to compare with this instance. - An object that defines the method to use to evaluate whether the two objects are equal. - if the current instance is equal to the specified object; otherwise, . - - - This member is an explicit interface member implementation. It can be used only when the - instance is cast to an interface. - - The implementation is called only if other is not , - and if it can be successfully cast (in C#) or converted (in Visual Basic) to a - whose components are of the same types as those of the current instance. The IStructuralEquatable.Equals(Object, IEqualityComparer) method - first passes the values of the objects to be compared to the - implementation. If this method call returns , the method is - called again and passed the values of the two instances. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2), - where Item1 and Item2 represent the values of the - and fields. If either field value is , - it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - Represents a 3-tuple, or triple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - Represents a 4-tuple, or quadruple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - Represents a 5-tuple, or quintuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - Represents a 6-tuple, or sixtuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - Represents a 7-tuple, or sentuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - The current instance's seventh component. - - - - - Represents an 8-tuple, or octuple, as a value type. - - The type of the tuple's first component. - The type of the tuple's second component. - The type of the tuple's third component. - The type of the tuple's fourth component. - The type of the tuple's fifth component. - The type of the tuple's sixth component. - The type of the tuple's seventh component. - The type of the tuple's eighth component. - - - - Initializes a new instance of the value type. - - The value of the tuple's first component. - The value of the tuple's second component. - The value of the tuple's third component. - The value of the tuple's fourth component. - The value of the tuple's fifth component. - The value of the tuple's sixth component. - The value of the tuple's seventh component. - The value of the tuple's eight component. - - - - Returns a value that indicates whether the current instance is equal to a specified object. - - The object to compare with this instance. - if the current instance is equal to the specified object; otherwise, . - - The parameter is considered to be equal to the current instance under the following conditions: - - It is a value type. - Its components are of the same types as those of the current instance. - Its components are equal to those of the current instance. Equality is determined by the default object equality comparer for each component. - - - - - - Returns a value that indicates whether the current - instance is equal to a specified . - - The tuple to compare with this instance. - if the current instance is equal to the specified tuple; otherwise, . - - The parameter is considered to be equal to the current instance if each of its fields - are equal to that of the current instance, using the default comparer for that field's type. - - - - Compares this instance to a specified instance and returns an indication of their relative values. - An instance to compare. - - A signed number indicating the relative values of this instance and . - Returns less than zero if this instance is less than , zero if this - instance is equal to , and greater than zero if this instance is greater - than . - - - - - Returns the hash code for the current instance. - - A 32-bit signed integer hash code. - - - - Returns a string that represents the value of this instance. - - The string representation of this instance. - - The string returned by this method takes the form (Item1, Item2, Item3, Item4, Item5, Item6, Item7, Rest). - If any field value is , it is represented as . - - - - - The current instance's first component. - - - - - The current instance's second component. - - - - - The current instance's third component. - - - - - The current instance's fourth component. - - - - - The current instance's fifth component. - - - - - The current instance's sixth component. - - - - - The current instance's seventh component. - - - - - The current instance's eighth component. - - - - - Типы кортежей значений (от 0 до 8) содержат реализацию среды выполнения, которая лежит в основе кортежей в C# и кортежей структуры в F#. - - - - - Возвращает значение, указывающее, является ли текущая структура экземпляром равным указанному объекту. - - Объект для сравнения с этим экземпляром. - - - - - Возвращает значение, указывающее, равен ли данный экземпляр указанному значению. - - Экземпляр для сравнения с этим экземпляром. - - - - - Сравнивает этот экземпляр с указанным экземпляром и возвращает указание их относительных значений. - - Пример для сравнения. - - - - - Возвращает хэш-код для данного экземпляра. - - - - - - Возвращает строку, представляющую значение этого экземпляра. - - - - - - Создает новую структуру 0-tuple. - - - - - - Создает новую структуру 1-tuple или singleton. - - Тип первого компонента кортежа. - Значение первого компонента кортежа. - - - - - Creates a new struct 2-tuple, or pair. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - - - - - Creates a new struct 3-tuple, or triple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - - - - - Creates a new struct 4-tuple, or quadruple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - - - - - Creates a new struct 5-tuple, or quintuple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - - - - - Creates a new struct 6-tuple, or sextuple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - - - - - Creates a new struct 7-tuple, or septuple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - - - - - Creates a new struct 8-tuple, or octuple. - - The type of the first component of the tuple. - The type of the second component of the tuple. - The type of the third component of the tuple. - The type of the fourth component of the tuple. - The type of the fifth component of the tuple. - The type of the sixth component of the tuple. - The type of the seventh component of the tuple. - The type of the eighth component of the tuple. - The value of the first component of the tuple. - The value of the second component of the tuple. - The value of the third component of the tuple. - The value of the fourth component of the tuple. - The value of the fifth component of the tuple. - The value of the sixth component of the tuple. - The value of the seventh component of the tuple. - The value of the eighth component of the tuple. - - - - - This class exposes a set of COM-accessible wrappers for static - methods available on the ZipFile class. You don't need this - class unless you are using DotNetZip from a COM environment. - - - - - A wrapper for ZipFile.IsZipFile(string) - - The filename to of the zip file to check. - true if the file contains a valid zip file. - - - - A wrapper for ZipFile.IsZipFile(string, bool) - - - We cannot use "overloaded" Method names in COM interop. - So, here, we use a unique name. - - The filename to of the zip file to check. - true if the file contains a valid zip file. - - - - A wrapper for ZipFile.CheckZip(string) - - The filename to of the zip file to check. - - true if the named zip file checks OK. Otherwise, false. - - - - A COM-friendly wrapper for the static method . - - - The filename to of the zip file to check. - - The password to check. - - true if the named zip file checks OK. Otherwise, false. - - - - A wrapper for ZipFile.FixZipDirectory(string) - - The filename to of the zip file to fix. - - - - A wrapper for ZipFile.LibraryVersion - - - the version number on the DotNetZip assembly, formatted as a string. - - - - - An enum that provides the various encryption algorithms supported by this - library. - - - - - - PkzipWeak implies the use of Zip 2.0 encryption, which is known to be - weak and subvertible. - - - - A note on interoperability: Values of PkzipWeak and None are - specified in PKWARE's zip - specification, and are considered to be "standard". Zip archives - produced using these options will be interoperable with many other zip tools - and libraries, including Windows Explorer. - - - - Values of WinZipAes128 and WinZipAes256 are not part of the Zip - specification, but rather imply the use of a vendor-specific extension from - WinZip. If you want to produce interoperable Zip archives, do not use these - values. For example, if you produce a zip archive using WinZipAes256, you - will be able to open it in Windows Explorer on Windows XP and Vista, but you - will not be able to extract entries; trying this will lead to an "unspecified - error". For this reason, some people have said that a zip archive that uses - WinZip's AES encryption is not actually a zip archive at all. A zip archive - produced this way will be readable with the WinZip tool (Version 11 and - beyond). - - - - There are other third-party tools and libraries, both commercial and - otherwise, that support WinZip's AES encryption. These will be able to read - AES-encrypted zip archives produced by DotNetZip, and conversely applications - that use DotNetZip to read zip archives will be able to read AES-encrypted - archives produced by those tools or libraries. Consult the documentation for - those other tools and libraries to find out if WinZip's AES encryption is - supported. - - - - In case you care: According to the WinZip specification, the - actual AES key used is derived from the via an - algorithm that complies with RFC 2898, using an iteration - count of 1000. The algorithm is sometimes referred to as PBKDF2, which stands - for "Password Based Key Derivation Function #2". - - - - A word about password strength and length: The AES encryption technology is - very good, but any system is only as secure as the weakest link. If you want - to secure your data, be sure to use a password that is hard to guess. To make - it harder to guess (increase its "entropy"), you should make it longer. If - you use normal characters from an ASCII keyboard, a password of length 20 will - be strong enough that it will be impossible to guess. For more information on - that, I'd encourage you to read this - article. - - - - The WinZip AES algorithms are not supported with the version of DotNetZip that - runs on the .NET Compact Framework. This is because .NET CF lacks the - HMACSHA1 class that is required for producing the archive. - - - - - - No encryption at all. - - - - - Traditional or Classic pkzip encryption. - - - - - An encryption algorithm that is not supported by DotNetZip. - - - - - Delegate in which the application writes the ZipEntry content for the named entry. - - - The name of the entry that must be written. - The stream to which the entry data should be written. - - - When you add an entry and specify a WriteDelegate, via , the application - code provides the logic that writes the entry data directly into the zip file. - - - - - This example shows how to define a WriteDelegate that obtains a DataSet, and then - writes the XML for the DataSet into the zip archive. There's no need to - save the XML to a disk file first. - - - private void WriteEntry (String filename, Stream output) - { - DataSet ds1 = ObtainDataSet(); - ds1.WriteXml(output); - } - - private void Run() - { - using (var zip = new ZipFile()) - { - zip.AddEntry(zipEntryName, WriteEntry); - zip.Save(zipFileName); - } - } - - - - Private Sub WriteEntry (ByVal filename As String, ByVal output As Stream) - DataSet ds1 = ObtainDataSet() - ds1.WriteXml(stream) - End Sub - - Public Sub Run() - Using zip = New ZipFile - zip.AddEntry(zipEntryName, New WriteDelegate(AddressOf WriteEntry)) - zip.Save(zipFileName) - End Using - End Sub - - - - - - - Delegate in which the application opens the stream, just-in-time, for the named entry. - - - - The name of the ZipEntry that the application should open the stream for. - - - - When you add an entry via , the application code provides the logic that - opens and closes the stream for the given ZipEntry. - - - - - - - Delegate in which the application closes the stream, just-in-time, for the named entry. - - - - The name of the ZipEntry that the application should close the stream for. - - - The stream to be closed. - - - When you add an entry via , the application code provides the logic that - opens and closes the stream for the given ZipEntry. - - - - - - - Delegate for the callback by which the application tells the - library the CompressionLevel to use for a file. - - - - - Using this callback, the application can, for example, specify that - previously-compressed files (.mp3, .png, .docx, etc) should use a - CompressionLevel of None, or can set the compression level based - on any other factor. - - - - - - - In an EventArgs type, indicates which sort of progress event is being - reported. - - - There are events for reading, events for saving, and events for - extracting. This enumeration allows a single EventArgs type to be sued to - describe one of multiple subevents. For example, a SaveProgress event is - invoked before, after, and during the saving of a single entry. The value - of an enum with this type, specifies which event is being triggered. The - same applies to Extraction, Reading and Adding events. - - - - - Indicates that a Add() operation has started. - - - - - Indicates that an individual entry in the archive has been added. - - - - - Indicates that a Add() operation has completed. - - - - - Indicates that a Read() operation has started. - - - - - Indicates that an individual entry in the archive is about to be read. - - - - - Indicates that an individual entry in the archive has just been read. - - - - - Indicates that a Read() operation has completed. - - - - - The given event reports the number of bytes read so far - during a Read() operation. - - - - - Indicates that a Save() operation has started. - - - - - Indicates that an individual entry in the archive is about to be written. - - - - - Indicates that an individual entry in the archive has just been saved. - - - - - Indicates that a Save() operation has completed. - - - - - Indicates that the zip archive has been created in a - temporary location during a Save() operation. - - - - - Indicates that the temporary file is about to be renamed to the final archive - name during a Save() operation. - - - - - Indicates that the temporary file is has just been renamed to the final archive - name during a Save() operation. - - - - - Indicates that the self-extracting archive has been compiled - during a Save() operation. - - - - - The given event is reporting the number of source bytes that have run through the compressor so far - during a Save() operation. - - - - - Indicates that an entry is about to be extracted. - - - - - Indicates that an entry has just been extracted. - - - - - Indicates that extraction of an entry would overwrite an existing - filesystem file. You must use - - ExtractExistingFileAction.InvokeExtractProgressEvent in the call - to ZipEntry.Extract() in order to receive this event. - - - - - The given event is reporting the number of bytes written so far for - the current entry during an Extract() operation. - - - - - Indicates that an ExtractAll operation is about to begin. - - - - - Indicates that an ExtractAll operation has completed. - - - - - Indicates that an error has occurred while saving a zip file. - This generally means the file cannot be opened, because it has been - removed, or because it is locked by another process. It can also - mean that the file cannot be Read, because of a range lock conflict. - - - - - Provides information about the progress of a save, read, or extract operation. - This is a base class; you will probably use one of the classes derived from this one. - - - - - The total number of entries to be saved or extracted. - - - - - The name of the last entry saved or extracted. - - - - - In an event handler, set this to cancel the save or extract - operation that is in progress. - - - - - The type of event being reported. - - - - - Returns the archive name associated to this event. - - - - - The number of bytes read or written so far for this entry. - - - - - Total number of bytes that will be read or written for this entry. - This number will be -1 if the value cannot be determined. - - - - - Provides information about the progress of a Read operation. - - - - - Provides information about the progress of a Add operation. - - - - - Provides information about the progress of a save operation. - - - - - Constructor for the SaveProgressEventArgs. - - the name of the zip archive. - whether this is before saving the entry, or after - The total number of entries in the zip archive. - Number of entries that have been saved. - The entry involved in the event. - - - - Number of entries saved so far. - - - - - Provides information about the progress of the extract operation. - - - - - Constructor for the ExtractProgressEventArgs. - - the name of the zip archive. - whether this is before saving the entry, or after - The total number of entries in the zip archive. - Number of entries that have been extracted. - The entry involved in the event. - The location to which entries are extracted. - - - - Number of entries extracted so far. This is set only if the - EventType is Extracting_BeforeExtractEntry or Extracting_AfterExtractEntry, and - the Extract() is occurring witin the scope of a call to ExtractAll(). - - - - - Returns the extraction target location, a filesystem path. - - - - - Provides information about the an error that occurred while zipping. - - - - - Returns the exception that occurred, if any. - - - - - Returns the name of the file that caused the exception, if any. - - - - - Issued when an ZipEntry.ExtractWithPassword() method is invoked - with an incorrect password. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - The innerException for this exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - Indicates that a read was attempted on a stream, and bad or incomplete data was - received. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - The innerException for this exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - Issued when an CRC check fails upon extracting an entry from a zip archive. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - Issued when errors occur saving a self-extracting archive. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - Indicates that an operation was attempted on a ZipFile which was not possible - given the state of the instance. For example, if you call Save() on a ZipFile - which has no filename set, you can get this exception. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - The innerException for this exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - Base class for all exceptions defined by and throw by the Zip library. - - - - - Default ctor. - - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The message in the exception. - The innerException for this exception. - - - - Come on, you know how exceptions work. Why are you looking at this documentation? - - The serialization info for the exception. - The streaming context from which to deserialize. - - - - An enum for the options when extracting an entry would overwrite an existing file. - - - - - This enum describes the actions that the library can take when an - Extract() or ExtractWithPassword() method is called to extract an - entry to a filesystem, and the extraction would overwrite an existing filesystem - file. - - - - - - - Throw an exception when extraction would overwrite an existing file. (For - COM clients, this is a 0 (zero).) - - - - - When extraction would overwrite an existing file, overwrite the file silently. - The overwrite will happen even if the target file is marked as read-only. - (For COM clients, this is a 1.) - - - - - When extraction would overwrite an existing file, don't overwrite the file, silently. - (For COM clients, this is a 2.) - - - - - When extraction would overwrite an existing file, invoke the ExtractProgress - event, using an event type of . In - this way, the application can decide, just-in-time, whether to overwrite the - file. For example, a GUI application may wish to pop up a dialog to allow - the user to choose. You may want to examine the property before making - the decision. If, after your processing in the Extract progress event, you - want to NOT extract the file, set - on the ZipProgressEventArgs.CurrentEntry to DoNotOverwrite. - If you do want to extract the file, set ZipEntry.ExtractExistingFile - to OverwriteSilently. If you want to cancel the Extraction, set - ZipProgressEventArgs.Cancel to true. Cancelling differs from using - DoNotOverwrite in that a cancel will not extract any further entries, if - there are any. (For COM clients, the value of this enum is a 3.) - - - - - Collects general purpose utility methods. - - - - private null constructor - - - - Utility routine for transforming path names from filesystem format (on Windows that means backslashes) to - a format suitable for use within zipfiles. This means trimming the volume letter and colon (if any) And - swapping backslashes for forward slashes. - - source path. - transformed path - - - - Finds a signature in the zip stream. This is useful for finding - the end of a zip entry, for example, or the beginning of the next ZipEntry. - - - - - Scans through 64k at a time. - - - - If the method fails to find the requested signature, the stream Position - after completion of this method is unchanged. If the method succeeds in - finding the requested signature, the stream position after completion is - direct AFTER the signature found in the stream. - - - - The stream to search - The 4-byte signature to find - The number of bytes read - - - - Create a pseudo-random filename, suitable for use as a temporary - file, and open it. - - - - The System.IO.Path.GetRandomFileName() method is not available on - the Compact Framework, so this library provides its own substitute - on NETCF. - - - This method produces a filename of the form - DotNetZip-xxxxxxxx.tmp, where xxxxxxxx is replaced by randomly - chosen characters, and creates that file. - - - - - - Workitem 7889: handle ERROR_LOCK_VIOLATION during read - - - This could be gracefully handled with an extension attribute, but - This assembly is built for .NET 2.0, so I cannot use them. - - - - - A decorator stream. It wraps another stream, and performs bookkeeping - to keep track of the stream Position. - - - - In some cases, it is not possible to get the Position of a stream, let's - say, on a write-only output stream like ASP.NET's - Response.OutputStream, or on a different write-only stream - provided as the destination for the zip by the application. In this - case, programmers can use this counting stream to count the bytes read - or written. - - - Consider the scenario of an application that saves a self-extracting - archive (SFX), that uses a custom SFX stub. - - - Saving to a filesystem file, the application would open the - filesystem file (getting a FileStream), save the custom sfx stub - into it, and then call ZipFile.Save(), specifying the same - FileStream. ZipFile.Save() does the right thing for the zipentry - offsets, by inquiring the Position of the FileStream before writing - any data, and then adding that initial offset into any ZipEntry - offsets in the zip directory. Everything works fine. - - - Now suppose the application is an ASPNET application and it saves - directly to Response.OutputStream. It's not possible for DotNetZip to - inquire the Position, so the offsets for the SFX will be wrong. - - - The workaround is for the application to use this class to wrap - HttpResponse.OutputStream, then write the SFX stub and the ZipFile - into that wrapper stream. Because ZipFile.Save() can inquire the - Position, it will then do the right thing with the offsets. - - - - - - The constructor. - - The underlying stream - - - - Gets the wrapped stream. - - - - - The count of bytes written out to the stream. - - - - - the count of bytes that have been read from the stream. - - - - - Adjust the byte count on the stream. - - - - the number of bytes to subtract from the count. - - - - - Subtract delta from the count of bytes written to the stream. - This is necessary when seeking back, and writing additional data, - as happens in some cases when saving Zip files. - - - - - - The read method. - - The buffer to hold the data read from the stream. - the offset within the buffer to copy the first byte read. - the number of bytes to read. - the number of bytes read, after decryption and decompression. - - - - Write data into the stream. - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Whether the stream can be read. - - - - - Whether it is possible to call Seek() on the stream. - - - - - Whether it is possible to call Write() on the stream. - - - - - Flushes the underlying stream. - - - - - The length of the underlying stream. - - - - - Returns the sum of number of bytes written, plus the initial - offset before writing. - - - - - The Position of the stream. - - - - - Seek in the stream. - - the offset point to seek to - the reference point from which to seek - The new position - - - - Set the length of the underlying stream. Be careful with this! - - - the length to set on the underlying stream. - - - - This class implements the "traditional" or "classic" PKZip encryption, - which today is considered to be weak. On the other hand it is - ubiquitous. This class is intended for use only by the DotNetZip - library. - - - - Most uses of the DotNetZip library will not involve direct calls into - the ZipCrypto class. Instead, the ZipCrypto class is instantiated and - used by the ZipEntry() class when encryption or decryption on an entry - is employed. If for some reason you really wanted to use a weak - encryption algorithm in some other application, you might use this - library. But you would be much better off using one of the built-in - strong encryption libraries in the .NET Framework, like the AES - algorithm or SHA. - - - - - The default constructor for ZipCrypto. - - - - This class is intended for internal use by the library only. It's - probably not useful to you. Seriously. Stop reading this - documentation. It's a waste of your time. Go do something else. - Check the football scores. Go get an ice cream with a friend. - Seriously. - - - - - - From AppNote.txt: - unsigned char decrypt_byte() - local unsigned short temp - temp :=- Key(2) | 2 - decrypt_byte := (temp * (temp ^ 1)) bitshift-right 8 - end decrypt_byte - - - - - Call this method on a cipher text to render the plaintext. You must - first initialize the cipher with a call to InitCipher. - - - - - var cipher = new ZipCrypto(); - cipher.InitCipher(Password); - // Decrypt the header. This has a side effect of "further initializing the - // encryption keys" in the traditional zip encryption. - byte[] DecryptedMessage = cipher.DecryptMessage(EncryptedMessage); - - - - The encrypted buffer. - - The number of bytes to encrypt. - Should be less than or equal to CipherText.Length. - - - The plaintext. - - - - This is the converse of DecryptMessage. It encrypts the plaintext - and produces a ciphertext. - - - The plain text buffer. - - - The number of bytes to encrypt. - Should be less than or equal to plainText.Length. - - - The ciphertext. - - - - This initializes the cipher with the given password. - See AppNote.txt for details. - - - - The passphrase for encrypting or decrypting with this cipher. - - - - - Step 1 - Initializing the encryption keys - ----------------------------------------- - Start with these keys: - Key(0) := 305419896 (0x12345678) - Key(1) := 591751049 (0x23456789) - Key(2) := 878082192 (0x34567890) - - Then, initialize the keys with a password: - - loop for i from 0 to length(password)-1 - update_keys(password(i)) - end loop - - Where update_keys() is defined as: - - update_keys(char): - Key(0) := crc32(key(0),char) - Key(1) := Key(1) + (Key(0) bitwiseAND 000000ffH) - Key(1) := Key(1) * 134775813 + 1 - Key(2) := crc32(key(2),key(1) rightshift 24) - end update_keys - - Where crc32(old_crc,char) is a routine that given a CRC value and a - character, returns an updated CRC value after applying the CRC-32 - algorithm described elsewhere in this document. - - - - - After the keys are initialized, then you can use the cipher to - encrypt the plaintext. - - - - Essentially we encrypt the password with the keys, then discard the - ciphertext for the password. This initializes the keys for later use. - - - - - - - A Stream for reading and concurrently decrypting data from a zip file, - or for writing and concurrently encrypting data to a zip file. - - - - The constructor. - The underlying stream - To either encrypt or decrypt. - The pre-initialized ZipCrypto object. - - - - Represents a single entry in a ZipFile. Typically, applications get a ZipEntry - by enumerating the entries within a ZipFile, or by adding an entry to a ZipFile. - - - - - True if the referenced entry is a directory. - - - - - Provides a human-readable string with information about the ZipEntry. - - - - - Reads one entry from the zip directory structure in the zip file. - - - - The zipfile for which a directory entry will be read. From this param, the - method gets the ReadStream and the expected text encoding - (ProvisionalAlternateEncoding) which is used if the entry is not marked - UTF-8. - - - - a list of previously seen entry names; used to prevent duplicates. - - - the entry read from the archive. - - - - Returns true if the passed-in value is a valid signature for a ZipDirEntry. - - the candidate 4-byte signature value. - true, if the signature is valid according to the PKWare spec. - - - - Default constructor. - - - Applications should never need to call this directly. It is exposed to - support COM Automation environments. - - - - - The time and date at which the file indicated by the ZipEntry was - last modified. - - - - - The DotNetZip library sets the LastModified value for an entry, equal to - the Last Modified time of the file in the filesystem. If an entry is - added from a stream, the library uses System.DateTime.Now for this - value, for the given entry. - - - - This property allows the application to retrieve and possibly set the - LastModified value on an entry, to an arbitrary value. values with a - setting of DateTimeKind.Unspecified are taken to be expressed as - DateTimeKind.Local. - - - - Be aware that because of the way PKWare's - Zip specification describes how times are stored in the zip file, - the full precision of the System.DateTime datatype is not stored - for the last modified time when saving zip files. For more information on - how times are formatted, see the PKZip specification. - - - - The actual last modified time of a file can be stored in multiple ways in - the zip file, and they are not mutually exclusive: - - - - - In the so-called "DOS" format, which has a 2-second precision. Values - are rounded to the nearest even second. For example, if the time on the - file is 12:34:43, then it will be stored as 12:34:44. This first value - is accessible via the LastModified property. This value is always - present in the metadata for each zip entry. In some cases the value is - invalid, or zero. - - - - In the so-called "Windows" or "NTFS" format, as an 8-byte integer - quantity expressed as the number of 1/10 milliseconds (in other words - the number of 100 nanosecond units) since January 1, 1601 (UTC). This - format is how Windows represents file times. This time is accessible - via the ModifiedTime property. - - - - In the "Unix" format, a 4-byte quantity specifying the number of seconds since - January 1, 1970 UTC. - - - - In an older format, now deprecated but still used by some current - tools. This format is also a 4-byte quantity specifying the number of - seconds since January 1, 1970 UTC. - - - - - - Zip tools and libraries will always at least handle (read or write) the - DOS time, and may also handle the other time formats. Keep in mind that - while the names refer to particular operating systems, there is nothing in - the time formats themselves that prevents their use on other operating - systems. - - - - When reading ZIP files, the DotNetZip library reads the Windows-formatted - time, if it is stored in the entry, and sets both LastModified and - ModifiedTime to that value. When writing ZIP files, the DotNetZip - library by default will write both time quantities. It can also emit the - Unix-formatted time if desired (See .) - - - - The last modified time of the file created upon a call to - ZipEntry.Extract() may be adjusted during extraction to compensate - for differences in how the .NET Base Class Library deals with daylight - saving time (DST) versus how the Windows filesystem deals with daylight - saving time. Raymond Chen provides - some good context. - - - - In a nutshell: Daylight savings time rules change regularly. In 2007, for - example, the inception week of DST changed. In 1977, DST was in place all - year round. In 1945, likewise. And so on. Win32 does not attempt to - guess which time zone rules were in effect at the time in question. It - will render a time as "standard time" and allow the app to change to DST - as necessary. .NET makes a different choice. - - - - Compare the output of FileInfo.LastWriteTime.ToString("f") with what you - see in the Windows Explorer property sheet for a file that was last - written to on the other side of the DST transition. For example, suppose - the file was last modified on October 17, 2003, during DST but DST is not - currently in effect. Explorer's file properties reports Thursday, October - 17, 2003, 8:45:38 AM, but .NETs FileInfo reports Thursday, October 17, - 2003, 9:45 AM. - - - - Win32 says, "Thursday, October 17, 2002 8:45:38 AM PST". Note: Pacific - STANDARD Time. Even though October 17 of that year occurred during Pacific - Daylight Time, Win32 displays the time as standard time because that's - what time it is NOW. - - - - .NET BCL assumes that the current DST rules were in place at the time in - question. So, .NET says, "Well, if the rules in effect now were also in - effect on October 17, 2003, then that would be daylight time" so it - displays "Thursday, October 17, 2003, 9:45 AM PDT" - daylight time. - - - - So .NET gives a value which is more intuitively correct, but is also - potentially incorrect, and which is not invertible. Win32 gives a value - which is intuitively incorrect, but is strictly correct. - - - - Because of this funkiness, this library adds one hour to the LastModified - time on the extracted file, if necessary. That is to say, if the time in - question had occurred in what the .NET Base Class Library assumed to be - DST. This assumption may be wrong given the constantly changing DST rules, - but it is the best we can do. - - - - - - - - Last Modified time for the file represented by the entry. - - - - - - This value corresponds to the "last modified" time in the NTFS file times - as described in the Zip - specification. When getting this property, the value may be - different from . When setting the property, - the property also gets set, but with a lower - precision. - - - - Let me explain. It's going to take a while, so get - comfortable. Originally, waaaaay back in 1989 when the ZIP specification - was originally described by the esteemed Mr. Phil Katz, the dominant - operating system of the time was MS-DOS. MSDOS stored file times with a - 2-second precision, because, c'mon, who is ever going to need better - resolution than THAT? And so ZIP files, regardless of the platform on - which the zip file was created, store file times in exactly the same format that DOS used - in 1989. - - - - Since then, the ZIP spec has evolved, but the internal format for file - timestamps remains the same. Despite the fact that the way times are - stored in a zip file is rooted in DOS heritage, any program on any - operating system can format a time in this way, and most zip tools and - libraries DO - they round file times to the nearest even second and store - it just like DOS did 25+ years ago. - - - - PKWare extended the ZIP specification to allow a zip file to store what - are called "NTFS Times" and "Unix(tm) times" for a file. These are the - last write, last access, and file creation - times of a particular file. These metadata are not actually specific - to NTFS or Unix. They are tracked for each file by NTFS and by various - Unix filesystems, but they are also tracked by other filesystems, too. - The key point is that the times are formatted in the zip file - in the same way that NTFS formats the time (ticks since win32 epoch), - or in the same way that Unix formats the time (seconds since Unix - epoch). As with the DOS time, any tool or library running on any - operating system is capable of formatting a time in one of these ways - and embedding it into the zip file. - - - - These extended times are higher precision quantities than the DOS time. - As described above, the (DOS) LastModified has a precision of 2 seconds. - The Unix time is stored with a precision of 1 second. The NTFS time is - stored with a precision of 0.0000001 seconds. The quantities are easily - convertible, except for the loss of precision you may incur. - - - - A zip archive can store the {C,A,M} times in NTFS format, in Unix format, - or not at all. Often a tool running on Unix or Mac will embed the times - in Unix format (1 second precision), while WinZip running on Windows might - embed the times in NTFS format (precision of of 0.0000001 seconds). When - reading a zip file with these "extended" times, in either format, - DotNetZip represents the values with the - ModifiedTime, AccessedTime and CreationTime - properties on the ZipEntry. - - - - While any zip application or library, regardless of the platform it - runs on, could use any of the time formats allowed by the ZIP - specification, not all zip tools or libraries do support all these - formats. Storing the higher-precision times for each entry is - optional for zip files, and many tools and libraries don't use the - higher precision quantities at all. The old DOS time, represented by - , is guaranteed to be present, though it - sometimes unset. - - - - Ok, getting back to the question about how the LastModified - property relates to this ModifiedTime - property... LastModified is always set, while - ModifiedTime is not. (The other times stored in the NTFS - times extension, CreationTime and AccessedTime also - may not be set on an entry that is read from an existing zip file.) - When reading a zip file, then LastModified takes the DOS time - that is stored with the file. If the DOS time has been stored as zero - in the zipfile, then this library will use DateTime.Now for the - LastModified value. If the ZIP file was created by an evolved - tool, then there will also be higher precision NTFS or Unix times in - the zip file. In that case, this library will read those times, and - set LastModified and ModifiedTime to the same value, the - one corresponding to the last write time of the file. If there are no - higher precision times stored for the entry, then ModifiedTime - remains unset (likewise AccessedTime and CreationTime), - and LastModified keeps its DOS time. - - - - When creating zip files with this library, by default the extended time - properties (ModifiedTime, AccessedTime, and - CreationTime) are set on the ZipEntry instance, and these data are - stored in the zip archive for each entry, in NTFS format. If you add an - entry from an actual filesystem file, then the entry gets the actual file - times for that file, to NTFS-level precision. If you add an entry from a - stream, or a string, then the times get the value DateTime.Now. In - this case LastModified and ModifiedTime will be identical, - to 2 seconds of precision. You can explicitly set the - CreationTime, AccessedTime, and ModifiedTime of an - entry using the property setters. If you want to set all of those - quantities, it's more efficient to use the method. Those - changes are not made permanent in the zip file until you call or one of its cousins. - - - - When creating a zip file, you can override the default behavior of - this library for formatting times in the zip file, disabling the - embedding of file times in NTFS format or enabling the storage of file - times in Unix format, or both. You may want to do this, for example, - when creating a zip file on Windows, that will be consumed on a Mac, - by an application that is not hip to the "NTFS times" format. To do - this, use the and - properties. A valid zip - file may store the file times in both formats. But, there are no - guarantees that a program running on Mac or Linux will gracefully - handle the NTFS-formatted times when Unix times are present, or that a - non-DotNetZip-powered application running on Windows will be able to - handle file times in Unix format. DotNetZip will always do something - reasonable; other libraries or tools may not. When in doubt, test. - - - - I'll bet you didn't think one person could type so much about time, eh? - And reading it was so enjoyable, too! Well, in appreciation, maybe you - should donate? - - - - - - - - - - - Last Access time for the file represented by the entry. - - - This value may or may not be meaningful. If the ZipEntry was read from an existing - Zip archive, this information may not be available. For an explanation of why, see - . - - - - - - - - The file creation time for the file represented by the entry. - - - - This value may or may not be meaningful. If the ZipEntry was read - from an existing zip archive, and the creation time was not set on the entry - when the zip file was created, then this property may be meaningless. For an - explanation of why, see . - - - - - - - - Sets the NTFS Creation, Access, and Modified times for the given entry. - - - - - When adding an entry from a file or directory, the Creation, Access, and - Modified times for the given entry are automatically set from the - filesystem values. When adding an entry from a stream or string, the - values are implicitly set to DateTime.Now. The application may wish to - set these values to some arbitrary value, before saving the archive, and - can do so using the various setters. If you want to set all of the times, - this method is more efficient. - - - - The values you set here will be retrievable with the , and properties. - - - - When this method is called, if both and are false, then the - EmitTimesInWindowsFormatWhenSaving flag is automatically set. - - - - DateTime values provided here without a DateTimeKind are assumed to be Local Time. - - - - the creation time of the entry. - the last access time of the entry. - the last modified time of the entry. - - - - - - - - - - Specifies whether the Creation, Access, and Modified times for the given - entry will be emitted in "Windows format" when the zip archive is saved. - - - - - An application creating a zip archive can use this flag to explicitly - specify that the file times for the entry should or should not be stored - in the zip archive in the format used by Windows. The default value of - this property is true. - - - - When adding an entry from a file or directory, the Creation (), Access (), and Modified - () times for the given entry are automatically - set from the filesystem values. When adding an entry from a stream or - string, all three values are implicitly set to DateTime.Now. Applications - can also explicitly set those times by calling . - - - - PKWARE's - zip specification describes multiple ways to format these times in a - zip file. One is the format Windows applications normally use: 100ns ticks - since Jan 1, 1601 UTC. The other is a format Unix applications typically - use: seconds since January 1, 1970 UTC. Each format can be stored in an - "extra field" in the zip entry when saving the zip archive. The former - uses an extra field with a Header Id of 0x000A, while the latter uses a - header ID of 0x5455. - - - - Not all zip tools and libraries can interpret these fields. Windows - compressed folders is one that can read the Windows Format timestamps, - while I believe the Infozip - tools can read the Unix format timestamps. Although the time values are - easily convertible, subject to a loss of precision, some tools and - libraries may be able to read only one or the other. DotNetZip can read or - write times in either or both formats. - - - - The times stored are taken from , , and . - - - - This property is not mutually exclusive from the property. It is - possible that a zip entry can embed the timestamps in both forms, one - form, or neither. But, there are no guarantees that a program running on - Mac or Linux will gracefully handle NTFS Formatted times, or that a - non-DotNetZip-powered application running on Windows will be able to - handle file times in Unix format. When in doubt, test. - - - - Normally you will use the ZipFile.EmitTimesInWindowsFormatWhenSaving - property, to specify the behavior for all entries in a zip, rather than - the property on each individual entry. - - - - - - - - - - - - - Specifies whether the Creation, Access, and Modified times for the given - entry will be emitted in "Unix(tm) format" when the zip archive is saved. - - - - - An application creating a zip archive can use this flag to explicitly - specify that the file times for the entry should or should not be stored - in the zip archive in the format used by Unix. By default this flag is - false, meaning the Unix-format times are not stored in the zip - archive. - - - - When adding an entry from a file or directory, the Creation (), Access (), and Modified - () times for the given entry are automatically - set from the filesystem values. When adding an entry from a stream or - string, all three values are implicitly set to DateTime.Now. Applications - can also explicitly set those times by calling . - - - - PKWARE's - zip specification describes multiple ways to format these times in a - zip file. One is the format Windows applications normally use: 100ns ticks - since Jan 1, 1601 UTC. The other is a format Unix applications typically - use: seconds since Jan 1, 1970 UTC. Each format can be stored in an - "extra field" in the zip entry when saving the zip archive. The former - uses an extra field with a Header Id of 0x000A, while the latter uses a - header ID of 0x5455. - - - - Not all tools and libraries can interpret these fields. Windows - compressed folders is one that can read the Windows Format timestamps, - while I believe the Infozip - tools can read the Unix format timestamps. Although the time values are - easily convertible, subject to a loss of precision, some tools and - libraries may be able to read only one or the other. DotNetZip can read or - write times in either or both formats. - - - - The times stored are taken from , , and . - - - - This property is not mutually exclusive from the property. It is - possible that a zip entry can embed the timestamps in both forms, one - form, or neither. But, there are no guarantees that a program running on - Mac or Linux will gracefully handle NTFS Formatted times, or that a - non-DotNetZip-powered application running on Windows will be able to - handle file times in Unix format. When in doubt, test. - - - - Normally you will use the ZipFile.EmitTimesInUnixFormatWhenSaving - property, to specify the behavior for all entries, rather than the - property on each individual entry. - - - - - - - - - - - - - The type of timestamp attached to the ZipEntry. - - - - This property is valid only for a ZipEntry that was read from a zip archive. - It indicates the type of timestamp attached to the entry. - - - - - - - - The file attributes for the entry. - - - - - - The attributes in NTFS include - ReadOnly, Archive, Hidden, System, and Indexed. When adding a - ZipEntry to a ZipFile, these attributes are set implicitly when - adding an entry from the filesystem. When adding an entry from a stream - or string, the Attributes are not set implicitly. Regardless of the way - an entry was added to a ZipFile, you can set the attributes - explicitly if you like. - - - - When reading a ZipEntry from a ZipFile, the attributes are - set according to the data stored in the ZipFile. If you extract the - entry from the archive to a filesystem file, DotNetZip will set the - attributes on the resulting file accordingly. - - - - The attributes can be set explicitly by the application. For example the - application may wish to set the FileAttributes.ReadOnly bit for all - entries added to an archive, so that on unpack, this attribute will be set - on the extracted file. Any changes you make to this property are made - permanent only when you call a Save() method on the ZipFile - instance that contains the ZipEntry. - - - - For example, an application may wish to zip up a directory and set the - ReadOnly bit on every file in the archive, so that upon later extraction, - the resulting files will be marked as ReadOnly. Not every extraction tool - respects these attributes, but if you unpack with DotNetZip, as for - example in a self-extracting archive, then the attributes will be set as - they are stored in the ZipFile. - - - - These attributes may not be interesting or useful if the resulting archive - is extracted on a non-Windows platform. How these attributes get used - upon extraction depends on the platform and tool used. - - - - This property is only partially supported in the Silverlight version - of the library: applications can read attributes on entries within - ZipFiles. But extracting entries within Silverlight will not set the - attributes on the extracted files. - - - - - - - The name of the filesystem file, referred to by the ZipEntry. - - - - - This property specifies the thing-to-be-zipped on disk, and is set only - when the ZipEntry is being created from a filesystem file. If the - ZipFile is instantiated by reading an existing .zip archive, then - the LocalFileName will be null (Nothing in VB). - - - - When it is set, the value of this property may be different than , which is the path used in the archive itself. If you - call Zip.AddFile("foop.txt", AlternativeDirectory), then the path - used for the ZipEntry within the zip archive will be different - than this path. - - - - If the entry is being added from a stream, then this is null (Nothing in VB). - - - - - - - - The name of the file contained in the ZipEntry. - - - - - - This is the name of the entry in the ZipFile itself. When creating - a zip archive, if the ZipEntry has been created from a filesystem - file, via a call to or , or a related overload, the value - of this property is derived from the name of that file. The - FileName property does not include drive letters, and may include a - different directory path, depending on the value of the - directoryPathInArchive parameter used when adding the entry into - the ZipFile. - - - - In some cases there is no related filesystem file - for example when a - ZipEntry is created using or one of the similar overloads. In this case, the value of - this property is derived from the fileName and the directory path passed - to that method. - - - - When reading a zip file, this property takes the value of the entry name - as stored in the zip file. If you extract such an entry, the extracted - file will take the name given by this property. - - - - Applications can set this property when creating new zip archives or when - reading existing archives. When setting this property, the actual value - that is set will replace backslashes with forward slashes, in accordance - with the Zip - specification, for compatibility with Unix(tm) and ... get - this.... Amiga! - - - - If an application reads a ZipFile via or a related overload, and then explicitly - sets the FileName on an entry contained within the ZipFile, and - then calls , the application will effectively - rename the entry within the zip archive. - - - - If an application sets the value of FileName, then calls - Extract() on the entry, the entry is extracted to a file using the - newly set value as the filename. The FileName value is made - permanent in the zip archive only after a call to one of the - ZipFile.Save() methods on the ZipFile that contains the - ZipEntry. - - - - If an application attempts to set the FileName to a value that - would result in a duplicate entry in the ZipFile, an exception is - thrown. - - - - When a ZipEntry is contained within a ZipFile, applications - cannot rename the entry within the context of a foreach (For - Each in VB) loop, because of the way the ZipFile stores - entries. If you need to enumerate through all the entries and rename one - or more of them, use ZipFile.EntriesSorted as the - collection. See also, ZipFile.GetEnumerator(). - - - - - - - The stream that provides content for the ZipEntry. - - - - - - The application can use this property to set the input stream for an - entry on a just-in-time basis. Imagine a scenario where the application - creates a ZipFile comprised of content obtained from hundreds of - files, via calls to AddFile(). The DotNetZip library opens streams - on these files on a just-in-time basis, only when writing the entry out to - an external store within the scope of a ZipFile.Save() call. Only - one input stream is opened at a time, as each entry is being written out. - - - - Now imagine a different application that creates a ZipFile - with content obtained from hundreds of streams, added through . Normally the - application would supply an open stream to that call. But when large - numbers of streams are being added, this can mean many open streams at one - time, unnecessarily. - - - - To avoid this, call and specify delegates that open and close the stream at - the time of Save. - - - - - Setting the value of this property when the entry was not added from a - stream (for example, when the ZipEntry was added with or , or when the entry was added by - reading an existing zip archive) will throw an exception. - - - - - - - - A flag indicating whether the InputStream was provided Just-in-time. - - - - - - When creating a zip archive, an application can obtain content for one or - more of the ZipEntry instances from streams, using the method. At the time - of calling that method, the application can supply null as the value of - the stream parameter. By doing so, the application indicates to the - library that it will provide a stream for the entry on a just-in-time - basis, at the time one of the ZipFile.Save() methods is called and - the data for the various entries are being compressed and written out. - - - - In this case, the application can set the - property, typically within the SaveProgress event (event type: ) for that entry. - - - - The application will later want to call Close() and Dispose() on that - stream. In the SaveProgress event, when the event type is , the application can - do so. This flag indicates that the stream has been provided by the - application on a just-in-time basis and that it is the application's - responsibility to call Close/Dispose on that stream. - - - - - - - - An enum indicating the source of the ZipEntry. - - - - - The version of the zip engine needed to read the ZipEntry. - - - - - This is a readonly property, indicating the version of the Zip - specification that the extracting tool or library must support to - extract the given entry. Generally higher versions indicate newer - features. Older zip engines obviously won't know about new features, and - won't be able to extract entries that depend on those newer features. - - - - - value - Features - - - - 20 - a basic Zip Entry, potentially using PKZIP encryption. - - - - - 45 - The ZIP64 extension is used on the entry. - - - - - 46 - File is compressed using BZIP2 compression* - - - - 50 - File is encrypted using PkWare's DES, 3DES, (broken) RC2 or RC4 - - - - 51 - File is encrypted using PKWare's AES encryption or corrected RC2 encryption. - - - - 52 - File is encrypted using corrected RC2-64 encryption** - - - - 61 - File is encrypted using non-OAEP key wrapping*** - - - - 63 - File is compressed using LZMA, PPMd+, Blowfish, or Twofish - - - - - - There are other values possible, not listed here. DotNetZip supports - regular PKZip encryption, and ZIP64 extensions. DotNetZip cannot extract - entries that require a zip engine higher than 45. - - - - This value is set upon reading an existing zip file, or after saving a zip - archive. - - - - - - The comment attached to the ZipEntry. - - - - - Each entry in a zip file can optionally have a comment associated to - it. The comment might be displayed by a zip tool during extraction, for - example. - - - - By default, the Comment is encoded in IBM437 code page. You can - specify an alternative with and - . - - - - - - - - Indicates whether the entry requires ZIP64 extensions. - - - - - - This property is null (Nothing in VB) until a Save() method on the - containing instance has been called. The property is - non-null (HasValue is true) only after a Save() method has - been called. - - - - After the containing ZipFile has been saved, the Value of this - property is true if any of the following three conditions holds: the - uncompressed size of the entry is larger than 0xFFFFFFFF; the compressed - size of the entry is larger than 0xFFFFFFFF; the relative offset of the - entry within the zip archive is larger than 0xFFFFFFFF. These quantities - are not known until a Save() is attempted on the zip archive and - the compression is applied. - - - - If none of the three conditions holds, then the Value is false. - - - - A Value of false does not indicate that the entry, as saved in the - zip archive, does not use ZIP64. It merely indicates that ZIP64 is - not required. An entry may use ZIP64 even when not required if - the property on the containing - ZipFile instance is set to , or if - the property on the containing - ZipFile instance is set to - and the output stream was not seekable. - - - - - - - - Indicates whether the entry actually used ZIP64 extensions, as it was most - recently written to the output file or stream. - - - - - - This Nullable property is null (Nothing in VB) until a Save() - method on the containing instance has been - called. HasValue is true only after a Save() method has been - called. - - - - The value of this property for a particular ZipEntry may change - over successive calls to Save() methods on the containing ZipFile, - even if the file that corresponds to the ZipEntry does not. This - may happen if other entries contained in the ZipFile expand, - causing the offset for this particular entry to exceed 0xFFFFFFFF. - - - - - - - The bitfield for the entry as defined in the zip spec. You probably - never need to look at this. - - - - - You probably do not need to concern yourself with the contents of this - property, but in case you do: - - - - - bit - meaning - - - - 0 - set if encryption is used. - - - - 1-2 - - set to determine whether normal, max, fast deflation. DotNetZip library - always leaves these bits unset when writing (indicating "normal" - deflation"), but can read an entry with any value here. - - - - - 3 - - Indicates that the Crc32, Compressed and Uncompressed sizes are zero in the - local header. This bit gets set on an entry during writing a zip file, when - it is saved to a non-seekable output stream. - - - - - - 4 - reserved for "enhanced deflating". This library doesn't do enhanced deflating. - - - - 5 - set to indicate the zip is compressed patched data. This library doesn't do that. - - - - 6 - - set if PKWare's strong encryption is used (must also set bit 1 if bit 6 is - set). This bit is not set if WinZip's AES encryption is set. - - - - 7 - not used - - - - 8 - not used - - - - 9 - not used - - - - 10 - not used - - - - 11 - - Language encoding flag (EFS). If this bit is set, the filename and comment - fields for this file must be encoded using UTF-8. This library currently - does not support UTF-8. - - - - - 12 - Reserved by PKWARE for enhanced compression. - - - - 13 - - Used when encrypting the Central Directory to indicate selected data - values in the Local Header are masked to hide their actual values. See - the section in the Zip - specification describing the Strong Encryption Specification for - details. - - - - - 14 - Reserved by PKWARE. - - - - 15 - Reserved by PKWARE. - - - - - - - - - The compression method employed for this ZipEntry. - - - - - - The - Zip specification allows a variety of compression methods. This - library supports just two: 0x08 = Deflate. 0x00 = Store (no compression), - for reading or writing. - - - - When reading an entry from an existing zipfile, the value you retrieve - here indicates the compression method used on the entry by the original - creator of the zip. When writing a zipfile, you can specify either 0x08 - (Deflate) or 0x00 (None). If you try setting something else, you will get - an exception. - - - - You may wish to set CompressionMethod to CompressionMethod.None (0) - when zipping already-compressed data like a jpg, png, or mp3 file. - This can save time and cpu cycles. - - - - When setting this property on a ZipEntry that is read from an - existing zip file, calling ZipFile.Save() will cause the new - CompressionMethod to be used on the entry in the newly saved zip file. - - - - Setting this property may have the side effect of modifying the - CompressionLevel property. If you set the CompressionMethod to a - value other than None, and CompressionLevel is previously - set to None, then CompressionLevel will be set to - Default. - - - - - - - In this example, the first entry added to the zip archive uses the default - behavior - compression is used where it makes sense. The second entry, - the MP3 file, is added to the archive without being compressed. - - using (ZipFile zip = new ZipFile(ZipFileToCreate)) - { - ZipEntry e1= zip.AddFile(@"notes\Readme.txt"); - ZipEntry e2= zip.AddFile(@"music\StopThisTrain.mp3"); - e2.CompressionMethod = CompressionMethod.None; - zip.Save(); - } - - - - Using zip As New ZipFile(ZipFileToCreate) - zip.AddFile("notes\Readme.txt") - Dim e2 as ZipEntry = zip.AddFile("music\StopThisTrain.mp3") - e2.CompressionMethod = CompressionMethod.None - zip.Save - End Using - - - - - - Sets the compression level to be used for the entry when saving the zip - archive. This applies only for CompressionMethod = DEFLATE. - - - - - When using the DEFLATE compression method, Varying the compression - level used on entries can affect the size-vs-speed tradeoff when - compression and decompressing data streams or files. - - - - If you do not set this property, the default compression level is used, - which normally gives a good balance of compression efficiency and - compression speed. In some tests, using BestCompression can - double the time it takes to compress, while delivering just a small - increase in compression efficiency. This behavior will vary with the - type of data you compress. If you are in doubt, just leave this setting - alone, and accept the default. - - - - When setting this property on a ZipEntry that is read from an - existing zip file, calling ZipFile.Save() will cause the new - CompressionLevel to be used on the entry in the newly saved zip file. - - - - Setting this property may have the side effect of modifying the - CompressionMethod property. If you set the CompressionLevel - to a value other than None, CompressionMethod will be set - to Deflate, if it was previously None. - - - - Setting this property has no effect if the CompressionMethod is something - other than Deflate or None. - - - - - - - - The compressed size of the file, in bytes, within the zip archive. - - - - When reading a ZipFile, this value is read in from the existing - zip file. When creating or updating a ZipFile, the compressed - size is computed during compression. Therefore the value on a - ZipEntry is valid after a call to Save() (or one of its - overloads) in that case. - - - - - - - The size of the file, in bytes, before compression, or after extraction. - - - - When reading a ZipFile, this value is read in from the existing - zip file. When creating or updating a ZipFile, the uncompressed - size is computed during compression. Therefore the value on a - ZipEntry is valid after a call to Save() (or one of its - overloads) in that case. - - - - - - - The ratio of compressed size to uncompressed size of the ZipEntry. - - - - - This is a ratio of the compressed size to the uncompressed size of the - entry, expressed as a double in the range of 0 to 100+. A value of 100 - indicates no compression at all. It could be higher than 100 when the - compression algorithm actually inflates the data, as may occur for small - files, or uncompressible data that is encrypted. - - - - You could format it for presentation to a user via a format string of - "{3,5:F0}%" to see it as a percentage. - - - - If the size of the original uncompressed file is 0, implying a - denominator of 0, the return value will be zero. - - - - This property is valid after reading in an existing zip file, or after - saving the ZipFile that contains the ZipEntry. You cannot know the - effect of a compression transform until you try it. - - - - - - - The 32-bit CRC (Cyclic Redundancy Check) on the contents of the ZipEntry. - - - - - You probably don't need to concern yourself with this. It is used - internally by DotNetZip to verify files or streams upon extraction. - - The value is a 32-bit - CRC using 0xEDB88320 for the polynomial. This is the same CRC-32 used in - PNG, MPEG-2, and other protocols and formats. It is a read-only property; when - creating a Zip archive, the CRC for each entry is set only after a call to - Save() on the containing ZipFile. When reading an existing zip file, the value - of this property reflects the stored CRC for the entry. - - - - - - True if the entry is a directory (not a file). - This is a readonly property on the entry. - - - - - A derived property that is true if the entry uses encryption. - - - - - This is a readonly property on the entry. When reading a zip file, - the value for the ZipEntry is determined by the data read - from the zip file. After saving a ZipFile, the value of this - property for each ZipEntry indicates whether encryption was - actually used (which will have been true if the was set and the property - was something other than . - - - - - - Set this to specify which encryption algorithm to use for the entry when - saving it to a zip archive. - - - - - - Set this property in order to encrypt the entry when the ZipFile is - saved. When setting this property, you must also set a on the entry. If you set a value other than on this property and do not set a - Password then the entry will not be encrypted. The ZipEntry - data is encrypted as the ZipFile is saved, when you call or one of its cousins on the containing - ZipFile instance. You do not need to specify the Encryption - when extracting entries from an archive. - - - - The Zip specification from PKWare defines a set of encryption algorithms, - and the data formats for the zip archive that support them, and PKWare - supports those algorithms in the tools it produces. Other vendors of tools - and libraries, such as WinZip or Xceed, typically support a - subset of the algorithms specified by PKWare. These tools can - sometimes support additional different encryption algorithms and data - formats, not specified by PKWare. The AES Encryption specified and - supported by WinZip is the most popular example. This library supports a - subset of the complete set of algorithms specified by PKWare and other - vendors. - - - - There is no common, ubiquitous multi-vendor standard for strong encryption - within zip files. There is broad support for so-called "traditional" Zip - encryption, sometimes called Zip 2.0 encryption, as specified - by PKWare, but this encryption is considered weak and - breakable. This library currently supports the Zip 2.0 "weak" encryption, - and also a stronger WinZip-compatible AES encryption, using either 128-bit - or 256-bit key strength. If you want DotNetZip to support an algorithm - that is not currently supported, call the author of this library and maybe - we can talk business. - - - - The class also has a property. In most cases you will use - that property when setting encryption. This property takes - precedence over any Encryption set on the ZipFile itself. - Typically, you would use the per-entry Encryption when most entries in the - zip archive use one encryption algorithm, and a few entries use a - different one. If all entries in the zip file use the same Encryption, - then it is simpler to just set this property on the ZipFile itself, when - creating a zip archive. - - - - Some comments on updating archives: If you read a ZipFile, you can - modify the Encryption on an encrypted entry: you can remove encryption - from an entry that was encrypted; you can encrypt an entry that was not - encrypted previously; or, you can change the encryption algorithm. The - changes in encryption are not made permanent until you call Save() on the - ZipFile. To effect changes in encryption, the entry content is - streamed through several transformations, depending on the modification - the application has requested. For example if the entry is not encrypted - and the application sets Encryption to PkzipWeak, then at - the time of Save(), the original entry is read and decompressed, - then re-compressed and encrypted. Conversely, if the original entry is - encrypted with PkzipWeak encryption, and the application sets the - Encryption property to WinZipAes128, then at the time of - Save(), the original entry is decrypted via PKZIP encryption and - decompressed, then re-compressed and re-encrypted with AES. This all - happens automatically within the library, but it can be time-consuming for - large entries. - - - - Additionally, when updating archives, it is not possible to change the - password when changing the encryption algorithm. To change both the - algorithm and the password, you need to Save() the zipfile twice. First - set the Encryption to None, then call Save(). Then set the - Encryption to the new value (not "None"), then call Save() - once again. - - - - The WinZip AES encryption algorithms are not supported on the .NET Compact - Framework. - - - - - - This example creates a zip archive that uses encryption, and then extracts - entries from the archive. When creating the zip archive, the ReadMe.txt - file is zipped without using a password or encryption. The other file - uses encryption. - - - // Create a zip archive with AES Encryption. - using (ZipFile zip = new ZipFile()) - { - zip.AddFile("ReadMe.txt") - ZipEntry e1= zip.AddFile("2008-Regional-Sales-Report.pdf"); - e1.Encryption= EncryptionAlgorithm.WinZipAes256; - e1.Password= "Top.Secret.No.Peeking!"; - zip.Save("EncryptedArchive.zip"); - } - - // Extract a zip archive that uses AES Encryption. - // You do not need to specify the algorithm during extraction. - using (ZipFile zip = ZipFile.Read("EncryptedArchive.zip")) - { - // Specify the password that is used during extraction, for - // all entries that require a password: - zip.Password= "Top.Secret.No.Peeking!"; - zip.ExtractAll("extractDirectory"); - } - - - - ' Create a zip that uses Encryption. - Using zip As New ZipFile() - zip.AddFile("ReadMe.txt") - Dim e1 as ZipEntry - e1= zip.AddFile("2008-Regional-Sales-Report.pdf") - e1.Encryption= EncryptionAlgorithm.WinZipAes256 - e1.Password= "Top.Secret.No.Peeking!" - zip.Save("EncryptedArchive.zip") - End Using - - ' Extract a zip archive that uses AES Encryption. - ' You do not need to specify the algorithm during extraction. - Using (zip as ZipFile = ZipFile.Read("EncryptedArchive.zip")) - ' Specify the password that is used during extraction, for - ' all entries that require a password: - zip.Password= "Top.Secret.No.Peeking!" - zip.ExtractAll("extractDirectory") - End Using - - - - - - Thrown in the setter if EncryptionAlgorithm.Unsupported is specified. - - - ZipEntry.Password - ZipFile.Encryption - - - - The Password to be used when encrypting a ZipEntry upon - ZipFile.Save(), or when decrypting an entry upon Extract(). - - - - - This is a write-only property on the entry. Set this to request that the - entry be encrypted when writing the zip archive, or set it to specify the - password to be used when extracting an existing entry that is encrypted. - - - - The password set here is implicitly used to encrypt the entry during the - operation, or to decrypt during the or operation. If you set - the Password on a ZipEntry after calling Save(), there is no - effect. - - - - Consider setting the property when using a - password. Answering concerns that the standard password protection - supported by all zip tools is weak, WinZip has extended the ZIP - specification with a way to use AES Encryption to protect entries in the - Zip file. Unlike the "PKZIP 2.0" encryption specified in the PKZIP - specification, AES - Encryption uses a standard, strong, tested, encryption - algorithm. DotNetZip can create zip archives that use WinZip-compatible - AES encryption, if you set the property. But, - archives created that use AES encryption may not be readable by all other - tools and libraries. For example, Windows Explorer cannot read a - "compressed folder" (a zip file) that uses AES encryption, though it can - read a zip file that uses "PKZIP encryption." - - - - The class also has a - property. This property takes precedence over any password set on the - ZipFile itself. Typically, you would use the per-entry Password when most - entries in the zip archive use one password, and a few entries use a - different password. If all entries in the zip file use the same password, - then it is simpler to just set this property on the ZipFile itself, - whether creating a zip archive or extracting a zip archive. - - - - Some comments on updating archives: If you read a ZipFile, you - cannot modify the password on any encrypted entry, except by extracting - the entry with the original password (if any), removing the original entry - via , and then adding a new - entry with a new Password. - - - - For example, suppose you read a ZipFile, and there is an encrypted - entry. Setting the Password property on that ZipEntry and then - calling Save() on the ZipFile does not update the password - on that entry in the archive. Neither is an exception thrown. Instead, - what happens during the Save() is the existing entry is copied - through to the new zip archive, in its original encrypted form. Upon - re-reading that archive, the entry can be decrypted with its original - password. - - - - If you read a ZipFile, and there is an un-encrypted entry, you can set the - Password on the entry and then call Save() on the ZipFile, and get - encryption on that entry. - - - - - - - This example creates a zip file with two entries, and then extracts the - entries from the zip file. When creating the zip file, the two files are - added to the zip file using password protection. Each entry uses a - different password. During extraction, each file is extracted with the - appropriate password. - - - // create a file with encryption - using (ZipFile zip = new ZipFile()) - { - ZipEntry entry; - entry= zip.AddFile("Declaration.txt"); - entry.Password= "123456!"; - entry = zip.AddFile("Report.xls"); - entry.Password= "1Secret!"; - zip.Save("EncryptedArchive.zip"); - } - - // extract entries that use encryption - using (ZipFile zip = ZipFile.Read("EncryptedArchive.zip")) - { - ZipEntry entry; - entry = zip["Declaration.txt"]; - entry.Password = "123456!"; - entry.Extract("extractDir"); - entry = zip["Report.xls"]; - entry.Password = "1Secret!"; - entry.Extract("extractDir"); - } - - - - - Using zip As New ZipFile - Dim entry as ZipEntry - entry= zip.AddFile("Declaration.txt") - entry.Password= "123456!" - entry = zip.AddFile("Report.xls") - entry.Password= "1Secret!" - zip.Save("EncryptedArchive.zip") - End Using - - - ' extract entries that use encryption - Using (zip as ZipFile = ZipFile.Read("EncryptedArchive.zip")) - Dim entry as ZipEntry - entry = zip("Declaration.txt") - entry.Password = "123456!" - entry.Extract("extractDir") - entry = zip("Report.xls") - entry.Password = "1Secret!" - entry.Extract("extractDir") - End Using - - - - - - - ZipFile.Password - - - - The action the library should take when extracting a file that already exists. - - - - - This property affects the behavior of the Extract methods (one of the - Extract() or ExtractWithPassword() overloads), when - extraction would would overwrite an existing filesystem file. If you do - not set this property, the library throws an exception when extracting - an entry would overwrite an existing file. - - - - This property has no effect when extracting to a stream, or when the file to be - extracted does not already exist. - - - - - - - This example shows how to set the ExtractExistingFile property in - an ExtractProgress event, in response to user input. The - ExtractProgress event is invoked if and only if the - ExtractExistingFile property was previously set to - ExtractExistingFileAction.InvokeExtractProgressEvent. - - public static void ExtractProgress(object sender, ExtractProgressEventArgs e) - { - if (e.EventType == ZipProgressEventType.Extracting_BeforeExtractEntry) - Console.WriteLine("extract {0} ", e.CurrentEntry.FileName); - - else if (e.EventType == ZipProgressEventType.Extracting_ExtractEntryWouldOverwrite) - { - ZipEntry entry = e.CurrentEntry; - string response = null; - // Ask the user if he wants overwrite the file - do - { - Console.Write("Overwrite {0} in {1} ? (y/n/C) ", entry.FileName, e.ExtractLocation); - response = Console.ReadLine(); - Console.WriteLine(); - - } while (response != null && response[0]!='Y' && - response[0]!='N' && response[0]!='C'); - - if (response[0]=='C') - e.Cancel = true; - else if (response[0]=='Y') - entry.ExtractExistingFile = ExtractExistingFileAction.OverwriteSilently; - else - entry.ExtractExistingFile= ExtractExistingFileAction.DoNotOverwrite; - } - } - - - - - - The action to take when an error is encountered while - opening or reading files as they are saved into a zip archive. - - - - - Errors can occur within a call to ZipFile.Save, as the various files contained - in a ZipFile are being saved into the zip archive. During the - Save, DotNetZip will perform a File.Open on the file - associated to the ZipEntry, and then will read the entire contents of - the file as it is zipped. Either the open or the Read may fail, because - of lock conflicts or other reasons. Using this property, you can - specify the action to take when such errors occur. - - - - Typically you will NOT set this property on individual ZipEntry - instances. Instead, you will set the ZipFile.ZipErrorAction property on - the ZipFile instance, before adding any entries to the - ZipFile. If you do this, errors encountered on behalf of any of - the entries in the ZipFile will be handled the same way. - - - - But, if you use a handler, you will want - to set this property on the ZipEntry within the handler, to - communicate back to DotNetZip what you would like to do with the - particular error. - - - - - - - - - Indicates whether the entry was included in the most recent save. - - - An entry can be excluded or skipped from a save if there is an error - opening or reading the entry. - - - - - - A callback that allows the application to specify the compression to use - for a given entry that is about to be added to the zip archive. - - - - - See - - - - - - Set to indicate whether to use UTF-8 encoding for filenames and comments. - - - - - - If this flag is set, the comment and filename for the entry will be - encoded with UTF-8, as described in the Zip - specification, if necessary. "Necessary" means, the filename or - entry comment (if any) cannot be reflexively encoded and decoded using the - default code page, IBM437. - - - - Setting this flag to true is equivalent to setting to System.Text.Encoding.UTF8. - - - - This flag has no effect or relation to the text encoding used within the - file itself. - - - - - - - The text encoding to use for the FileName and Comment on this ZipEntry, - when the default encoding is insufficient. - - - - - - Don't use this property. See . - - - - - - - Specifies the alternate text encoding used by this ZipEntry - - - - The default text encoding used in Zip files for encoding filenames and - comments is IBM437, which is something like a superset of ASCII. In - cases where this is insufficient, applications can specify an - alternate encoding. - - - When creating a zip file, the usage of the alternate encoding is - governed by the property. - Typically you would set both properties to tell DotNetZip to employ an - encoding that is not IBM437 in the zipfile you are creating. - - - Keep in mind that because the ZIP specification states that the only - valid encodings to use are IBM437 and UTF-8, if you use something - other than that, then zip tools and libraries may not be able to - successfully read the zip archive you generate. - - - The zip specification states that applications should presume that - IBM437 is in use, except when a special bit is set, which indicates - UTF-8. There is no way to specify an arbitrary code page, within the - zip file itself. When you create a zip file encoded with gb2312 or - ibm861 or anything other than IBM437 or UTF-8, then the application - that reads the zip file needs to "know" which code page to use. In - some cases, the code page used when reading is chosen implicitly. For - example, WinRar uses the ambient code page for the host desktop - operating system. The pitfall here is that if you create a zip in - Copenhagen and send it to Tokyo, the reader of the zipfile may not be - able to decode successfully. - - - - This example shows how to create a zipfile encoded with a - language-specific encoding: - - using (var zip = new ZipFile()) - { - zip.AlternateEnoding = System.Text.Encoding.GetEncoding("ibm861"); - zip.AlternateEnodingUsage = ZipOption.Always; - zip.AddFileS(arrayOfFiles); - zip.Save("Myarchive-Encoded-in-IBM861.zip"); - } - - - - - - - Describes if and when this instance should apply - AlternateEncoding to encode the FileName and Comment, when - saving. - - - - - - Indicates whether an entry is marked as a text file. Be careful when - using on this property. Unless you have a good reason, you should - probably ignore this property. - - - - - The ZIP format includes a provision for specifying whether an entry in - the zip archive is a text or binary file. This property exposes that - metadata item. Be careful when using this property: It's not clear - that this property as a firm meaning, across tools and libraries. - - - - To be clear, when reading a zip file, the property value may or may - not be set, and its value may or may not be valid. Not all entries - that you may think of as "text" entries will be so marked, and entries - marked as "text" are not guaranteed in any way to be text entries. - Whether the value is set and set correctly depends entirely on the - application that produced the zip file. - - - - There are many zip tools available, and when creating zip files, some - of them "respect" the IsText metadata field, and some of them do not. - Unfortunately, even when an application tries to do "the right thing", - it's not always clear what "the right thing" is. - - - - There's no firm definition of just what it means to be "a text file", - and the zip specification does not help in this regard. Twenty years - ago, text was ASCII, each byte was less than 127. IsText meant, all - bytes in the file were less than 127. These days, it is not the case - that all text files have all bytes less than 127. Any unicode file - may have bytes that are above 0x7f. The zip specification has nothing - to say on this topic. Therefore, it's not clear what IsText really - means. - - - - This property merely tells a reading application what is stored in the - metadata for an entry, without guaranteeing its validity or its - meaning. - - - - When DotNetZip is used to create a zipfile, it attempts to set this - field "correctly." For example, if a file ends in ".txt", this field - will be set. Your application may override that default setting. When - writing a zip file, you must set the property before calling - Save() on the ZipFile. - - - - When reading a zip file, a more general way to decide just what kind - of file is contained in a particular entry is to use the file type - database stored in the operating system. The operating system stores - a table that says, a file with .jpg extension is a JPG image file, a - file with a .xml extension is an XML document, a file with a .txt is a - pure ASCII text document, and so on. To get this information on - Windows, you - need to read and parse the registry. - - - - - using (var zip = new ZipFile()) - { - var e = zip.UpdateFile("Descriptions.mme", ""); - e.IsText = true; - zip.Save(zipPath); - } - - - - Using zip As New ZipFile - Dim e2 as ZipEntry = zip.AddFile("Descriptions.mme", "") - e.IsText= True - zip.Save(zipPath) - End Using - - - - - Provides a string representation of the instance. - a string representation of the instance. - - - - Extract the entry to the filesystem, starting at the current - working directory. - - - - This method has a bunch of overloads! One of them is sure to - be the right one for you... If you don't like these, check - out the ExtractWithPassword() methods. - - - - - - - - - This method extracts an entry from a zip file into the current - working directory. The path of the entry as extracted is the full - path as specified in the zip archive, relative to the current - working directory. After the file is extracted successfully, the - file attributes and timestamps are set. - - - - The action taken when extraction an entry would overwrite an - existing file is determined by the property. - - - - Within the call to Extract(), the content for the entry is - written into a filesystem file, and then the last modified time of the - file is set according to the property on - the entry. See the remarks the property for - some details about the last modified time. - - - - - - - Extract the entry to a file in the filesystem, using the specified - behavior when extraction would overwrite an existing file. - - - - - See the remarks on the property, for some - details about how the last modified time of the file is set after - extraction. - - - - - The action to take if extraction would overwrite an existing file. - - - - - Extracts the entry to the specified stream. - - - - - The caller can specify any write-able stream, for example a , a , or ASP.NET's - Response.OutputStream. The content will be decrypted and - decompressed as necessary. If the entry is encrypted and no password - is provided, this method will throw. - - - The position on the stream is not reset by this method before it extracts. - You may want to call stream.Seek() before calling ZipEntry.Extract(). - - - - - the stream to which the entry should be extracted. - - - - - - Extract the entry to the filesystem, starting at the specified base - directory. - - - the pathname of the base directory - - - - - - This example extracts only the entries in a zip file that are .txt files, - into a directory called "textfiles". - - using (ZipFile zip = ZipFile.Read("PackedDocuments.zip")) - { - foreach (string s1 in zip.EntryFilenames) - { - if (s1.EndsWith(".txt")) - { - zip[s1].Extract("textfiles"); - } - } - } - - - Using zip As ZipFile = ZipFile.Read("PackedDocuments.zip") - Dim s1 As String - For Each s1 In zip.EntryFilenames - If s1.EndsWith(".txt") Then - zip(s1).Extract("textfiles") - End If - Next - End Using - - - - - - - Using this method, existing entries in the filesystem will not be - overwritten. If you would like to force the overwrite of existing - files, see the property, or call - . - - - - See the remarks on the property, for some - details about how the last modified time of the created file is set. - - - - - - Extract the entry to the filesystem, starting at the specified base - directory, and using the specified behavior when extraction would - overwrite an existing file. - - - - - See the remarks on the property, for some - details about how the last modified time of the created file is set. - - - - - - String sZipPath = "Airborne.zip"; - String sFilePath = "Readme.txt"; - String sRootFolder = "Digado"; - using (ZipFile zip = ZipFile.Read(sZipPath)) - { - if (zip.EntryFileNames.Contains(sFilePath)) - { - // use the string indexer on the zip file - zip[sFileName].Extract(sRootFolder, - ExtractExistingFileAction.OverwriteSilently); - } - } - - - - Dim sZipPath as String = "Airborne.zip" - Dim sFilePath As String = "Readme.txt" - Dim sRootFolder As String = "Digado" - Using zip As ZipFile = ZipFile.Read(sZipPath) - If zip.EntryFileNames.Contains(sFilePath) - ' use the string indexer on the zip file - zip(sFilePath).Extract(sRootFolder, _ - ExtractExistingFileAction.OverwriteSilently) - End If - End Using - - - - the pathname of the base directory - - The action to take if extraction would overwrite an existing file. - - - - - Extract the entry to the filesystem, using the current working directory - and the specified password. - - - - This method has a bunch of overloads! One of them is sure to be - the right one for you... - - - - - - - - - Existing entries in the filesystem will not be overwritten. If you - would like to force the overwrite of existing files, see the property, or call - . - - - - See the remarks on the property for some - details about how the "last modified" time of the created file is - set. - - - - - In this example, entries that use encryption are extracted using a - particular password. - - using (var zip = ZipFile.Read(FilePath)) - { - foreach (ZipEntry e in zip) - { - if (e.UsesEncryption) - e.ExtractWithPassword("Secret!"); - else - e.Extract(); - } - } - - - Using zip As ZipFile = ZipFile.Read(FilePath) - Dim e As ZipEntry - For Each e In zip - If (e.UsesEncryption) - e.ExtractWithPassword("Secret!") - Else - e.Extract - End If - Next - End Using - - - The Password to use for decrypting the entry. - - - - Extract the entry to the filesystem, starting at the specified base - directory, and using the specified password. - - - - - - - - Existing entries in the filesystem will not be overwritten. If you - would like to force the overwrite of existing files, see the property, or call - . - - - - See the remarks on the property, for some - details about how the last modified time of the created file is set. - - - - The pathname of the base directory. - The Password to use for decrypting the entry. - - - - Extract the entry to a file in the filesystem, relative to the - current directory, using the specified behavior when extraction - would overwrite an existing file. - - - - - See the remarks on the property, for some - details about how the last modified time of the created file is set. - - - - The Password to use for decrypting the entry. - - - The action to take if extraction would overwrite an existing file. - - - - - Extract the entry to the filesystem, starting at the specified base - directory, and using the specified behavior when extraction would - overwrite an existing file. - - - - See the remarks on the property, for some - details about how the last modified time of the created file is set. - - - the pathname of the base directory - - The action to take if extraction would - overwrite an existing file. - - The Password to use for decrypting the entry. - - - - Extracts the entry to the specified stream, using the specified - Password. For example, the caller could extract to Console.Out, or - to a MemoryStream. - - - - - The caller can specify any write-able stream, for example a , a , or ASP.NET's - Response.OutputStream. The content will be decrypted and - decompressed as necessary. If the entry is encrypted and no password - is provided, this method will throw. - - - The position on the stream is not reset by this method before it extracts. - You may want to call stream.Seek() before calling ZipEntry.Extract(). - - - - - - the stream to which the entry should be extracted. - - - The password to use for decrypting the entry. - - - - - Opens a readable stream corresponding to the zip entry in the - archive. The stream decompresses and decrypts as necessary, as it - is read. - - - - - - DotNetZip offers a variety of ways to extract entries from a zip - file. This method allows an application to extract an entry by - reading a . - - - - The return value is of type . Use it as you would any - stream for reading. When an application calls on that stream, it will - receive data from the zip entry that is decrypted and decompressed - as necessary. - - - - CrcCalculatorStream adds one additional feature: it keeps a - CRC32 checksum on the bytes of the stream as it is read. The CRC - value is available in the property on the - CrcCalculatorStream. When the read is complete, your - application - should check this CRC against the - property on the ZipEntry to validate the content of the - ZipEntry. You don't have to validate the entry using the CRC, but - you should, to verify integrity. Check the example for how to do - this. - - - - If the entry is protected with a password, then you need to provide - a password prior to calling , either by - setting the property on the entry, or the - property on the ZipFile - itself. Or, you can use , the - overload of OpenReader that accepts a password parameter. - - - - If you want to extract entry data into a write-able stream that is - already opened, like a , do not - use this method. Instead, use . - - - - Your application may use only one stream created by OpenReader() at - a time, and you should not call other Extract methods before - completing your reads on a stream obtained from OpenReader(). This - is because there is really only one source stream for the compressed - content. A call to OpenReader() seeks in the source stream, to the - beginning of the compressed content. A subsequent call to - OpenReader() on a different entry will seek to a different position - in the source stream, as will a call to Extract() or one of its - overloads. This will corrupt the state for the decompressing stream - from the original call to OpenReader(). - - - - The OpenReader() method works only when the ZipEntry is - obtained from an instance of ZipFile. This method will throw - an exception if the ZipEntry is obtained from a . - - - - - This example shows how to open a zip archive, then read in a named - entry via a stream. After the read loop is complete, the code - compares the calculated during the read loop with the expected CRC - on the ZipEntry, to verify the extraction. - - using (ZipFile zip = new ZipFile(ZipFileToRead)) - { - ZipEntry e1= zip["Elevation.mp3"]; - using (Ionic.Zlib.CrcCalculatorStream s = e1.OpenReader()) - { - byte[] buffer = new byte[4096]; - int n, totalBytesRead= 0; - do { - n = s.Read(buffer,0, buffer.Length); - totalBytesRead+=n; - } while (n>0); - if (s.Crc32 != e1.Crc32) - throw new Exception(string.Format("The Zip Entry failed the CRC Check. (0x{0:X8}!=0x{1:X8})", s.Crc32, e1.Crc32)); - if (totalBytesRead != e1.UncompressedSize) - throw new Exception(string.Format("We read an unexpected number of bytes. ({0}!={1})", totalBytesRead, e1.UncompressedSize)); - } - } - - - Using zip As New ZipFile(ZipFileToRead) - Dim e1 As ZipEntry = zip.Item("Elevation.mp3") - Using s As Ionic.Zlib.CrcCalculatorStream = e1.OpenReader - Dim n As Integer - Dim buffer As Byte() = New Byte(4096) {} - Dim totalBytesRead As Integer = 0 - Do - n = s.Read(buffer, 0, buffer.Length) - totalBytesRead = (totalBytesRead + n) - Loop While (n > 0) - If (s.Crc32 <> e1.Crc32) Then - Throw New Exception(String.Format("The Zip Entry failed the CRC Check. (0x{0:X8}!=0x{1:X8})", s.Crc32, e1.Crc32)) - End If - If (totalBytesRead <> e1.UncompressedSize) Then - Throw New Exception(String.Format("We read an unexpected number of bytes. ({0}!={1})", totalBytesRead, e1.UncompressedSize)) - End If - End Using - End Using - - - - The Stream for reading. - - - - Opens a readable stream for an encrypted zip entry in the archive. - The stream decompresses and decrypts as necessary, as it is read. - - - - - See the documentation on the method for - full details. This overload allows the application to specify a - password for the ZipEntry to be read. - - - - The password to use for decrypting the entry. - The Stream for reading. - - - - Validates that the args are consistent. - - - Only one of {baseDir, outStream} can be non-null. - If baseDir is non-null, then the outputFile is created. - - - - - Reads one ZipEntry from the given stream. The content for - the entry does not get decompressed or decrypted. This method - basically reads metadata, and seeks. - - the ZipContainer this entry belongs to. - - true of this is the first entry being read from the stream. - - the ZipEntry read from the stream. - - - - Finds a particular segment in the given extra field. - This is used when modifying a previously-generated - extra field, in particular when removing the AES crypto - segment in the extra field. - - - - - At current cursor position in the stream, read the extra - field, and set the properties on the ZipEntry instance - appropriately. This can be called when processing the - Extra field in the Central Directory, or in the local - header. - - - - - generate and return a byte array that encodes the filename - for the entry. - - - - side effects: generate and store into _CommentBytes the - byte array for any comment attached to the entry. Also - sets _actualEncoding to indicate the actual encoding - used. The same encoding is used for both filename and - comment. - - - - - - Stores the position of the entry source stream, or, if the position is - already stored, seeks to that position. - - - - - This method is called in prep for reading the source stream. If PKZIP - encryption is used, then we need to calc the CRC32 before doing the - encryption, because the CRC is used in the 12th byte of the PKZIP - encryption header. So, we need to be able to seek backward in the source - when saving the ZipEntry. This method is called from the place that - calculates the CRC, and also from the method that does the encryption of - the file data. - - - - The first time through, this method sets the _sourceStreamOriginalPosition - field. Subsequent calls to this method seek to that position. - - - - - - Copy metadata that may have been changed by the app. We do this when - resetting the zipFile instance. If the app calls Save() on a ZipFile, then - tries to party on that file some more, we may need to Reset() it , which - means re-reading the entries and then copying the metadata. I think. - - - - - Set the input stream and get its length, if possible. The length is - used for progress updates, AND, to allow an optimization in case of - a stream/file of zero length. In that case we skip the Encrypt and - compression Stream. (like DeflateStream or BZip2OutputStream) - - - - - Prepare the given stream for output - wrap it in a CountingStream, and - then in a CRC stream, and an encryptor and deflator as appropriate. - - - - Previously this was used in ZipEntry.Write(), but in an effort to - introduce some efficiencies in that method I've refactored to put the - code inline. This method still gets called by ZipOutputStream. - - - - - - An enum that specifies the type of timestamp available on the ZipEntry. - - - - - - The last modified time of a file can be stored in multiple ways in - a zip file, and they are not mutually exclusive: - - - - - In the so-called "DOS" format, which has a 2-second precision. Values - are rounded to the nearest even second. For example, if the time on the - file is 12:34:43, then it will be stored as 12:34:44. This first value - is accessible via the LastModified property. This value is always - present in the metadata for each zip entry. In some cases the value is - invalid, or zero. - - - - In the so-called "Windows" or "NTFS" format, as an 8-byte integer - quantity expressed as the number of 1/10 milliseconds (in other words - the number of 100 nanosecond units) since January 1, 1601 (UTC). This - format is how Windows represents file times. This time is accessible - via the ModifiedTime property. - - - - In the "Unix" format, a 4-byte quantity specifying the number of seconds since - January 1, 1970 UTC. - - - - In an older format, now deprecated but still used by some current - tools. This format is also a 4-byte quantity specifying the number of - seconds since January 1, 1970 UTC. - - - - - - This bit field describes which of the formats were found in a ZipEntry that was read. - - - - - - - Default value. - - - - - A DOS timestamp with 2-second precision. - - - - - A Windows timestamp with 100-ns precision. - - - - - A Unix timestamp with 1-second precision. - - - - - A Unix timestamp with 1-second precision, stored in InfoZip v1 format. This - format is outdated and is supported for reading archives only. - - - - - The method of compression to use for a particular ZipEntry. - - - - PKWare's - ZIP Specification describes a number of distinct - cmopression methods that can be used within a zip - file. DotNetZip supports a subset of them. - - - - - No compression at all. For COM environments, the value is 0 (zero). - - - - - DEFLATE compression, as described in IETF RFC - 1951. This is the "normal" compression used in zip - files. For COM environments, the value is 8. - - - - - An enum that specifies the source of the ZipEntry. - - - - - Default value. Invalid on a bonafide ZipEntry. - - - - - The entry was instantiated by calling AddFile() or another method that - added an entry from the filesystem. - - - - - The entry was instantiated via or - . - - - - - The ZipEntry was instantiated by reading a zipfile. - - - - - The content for the ZipEntry will be or was provided by the WriteDelegate. - - - - - The content for the ZipEntry will be obtained from the stream dispensed by the OpenDelegate. - The entry was instantiated via . - - - - - The content for the ZipEntry will be or was obtained from a ZipOutputStream. - - - - - An enum providing the options when an error occurs during opening or reading - of a file or directory that is being saved to a zip file. - - - - - This enum describes the actions that the library can take when an error occurs - opening or reading a file, as it is being saved into a Zip archive. - - - - In some cases an error will occur when DotNetZip tries to open a file to be - added to the zip archive. In other cases, an error might occur after the - file has been successfully opened, while DotNetZip is reading the file. - - - - The first problem might occur when calling AddDirectory() on a directory - that contains a Clipper .dbf file; the file is locked by Clipper and - cannot be opened by another process. An example of the second problem is - the ERROR_LOCK_VIOLATION that results when a file is opened by another - process, but not locked, and a range lock has been taken on the file. - Microsoft Outlook takes range locks on .PST files. - - - - - - Throw an exception when an error occurs while zipping. This is the default - behavior. (For COM clients, this is a 0 (zero).) - - - - - When an error occurs during zipping, for example a file cannot be opened, - skip the file causing the error, and continue zipping. (For COM clients, - this is a 1.) - - - - - When an error occurs during zipping, for example a file cannot be opened, - retry the operation that caused the error. Be careful with this option. If - the error is not temporary, the library will retry forever. (For COM - clients, this is a 2.) - - - - - When an error occurs, invoke the zipError event. The event type used is - . A typical use of this option: - a GUI application may wish to pop up a dialog to allow the user to view the - error that occurred, and choose an appropriate action. After your - processing in the error event, if you want to skip the file, set on the - ZipProgressEventArgs.CurrentEntry to Skip. If you want the - exception to be thrown, set ZipErrorAction on the CurrentEntry - to Throw. If you want to cancel the zip, set - ZipProgressEventArgs.Cancel to true. Cancelling differs from using - Skip in that a cancel will not save any further entries, if there are any. - (For COM clients, the value of this enum is a 3.) - - - - - The ZipFile type represents a zip archive file. - - - - - This is the main type in the DotNetZip class library. This class reads and - writes zip files, as defined in the specification - for zip files described by PKWare. The compression for this - implementation is provided by a managed-code version of Zlib, included with - DotNetZip in the classes in the Ionic.Zlib namespace. - - - - This class provides a general purpose zip file capability. Use it to read, - create, or update zip files. When you want to create zip files using a - Stream type to write the zip file, you may want to consider the class. - - - - Both the ZipOutputStream class and the ZipFile class can - be used to create zip files. Both of them support many of the common zip - features, including Unicode, different compression methods and levels, - and ZIP64. They provide very similar performance when creating zip - files. - - - - The ZipFile class is generally easier to use than - ZipOutputStream and should be considered a higher-level interface. For - example, when creating a zip file via calls to the PutNextEntry() and - Write() methods on the ZipOutputStream class, the caller is - responsible for opening the file, reading the bytes from the file, writing - those bytes into the ZipOutputStream, setting the attributes on the - ZipEntry, and setting the created, last modified, and last accessed - timestamps on the zip entry. All of these things are done automatically by a - call to ZipFile.AddFile(). - For this reason, the ZipOutputStream is generally recommended for use - only when your application emits arbitrary data, not necessarily data from a - filesystem file, directly into a zip file, and does so using a Stream - metaphor. - - - - Aside from the differences in programming model, there are other - differences in capability between the two classes. - - - - - ZipFile can be used to read and extract zip files, in addition to - creating zip files. ZipOutputStream cannot read zip files. If you want - to use a stream to read zip files, check out the class. - - - - ZipOutputStream does not support the creation of segmented or spanned - zip files. - - - - ZipOutputStream cannot produce a self-extracting archive. - - - - - Be aware that the ZipFile class implements the interface. In order for ZipFile to - produce a valid zip file, you use use it within a using clause (Using - in VB), or call the Dispose() method explicitly. See the examples - for how to employ a using clause. - - - - - - - Adds an item, either a file or a directory, to a zip file archive. - - - - - This method is handy if you are adding things to zip archive and don't - want to bother distinguishing between directories or files. Any files are - added as single entries. A directory added through this method is added - recursively: all files and subdirectories contained within the directory - are added to the ZipFile. - - - - The name of the item may be a relative path or a fully-qualified - path. Remember, the items contained in ZipFile instance get written - to the disk only when you call or a similar - save method. - - - - The directory name used for the file within the archive is the same - as the directory name (potentially a relative path) specified in the - . - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - - - This method has two overloads. - - the name of the file or directory to add. - - The ZipEntry added. - - - - Adds an item, either a file or a directory, to a zip file archive, - explicitly specifying the directory path to be used in the archive. - - - - - If adding a directory, the add is recursive on all files and - subdirectories contained within it. - - - The name of the item may be a relative path or a fully-qualified path. - The item added by this call to the ZipFile is not read from the - disk nor written to the zip file archive until the application calls - Save() on the ZipFile. - - - - This version of the method allows the caller to explicitly specify the - directory path to be used in the archive, which would override the - "natural" path of the filesystem file. - - - - Encryption will be used on the file data if the Password has - been set on the ZipFile object, prior to calling this method. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - Thrown if the file or directory passed in does not exist. - - - the name of the file or directory to add. - - - - The name of the directory path to use within the zip archive. This path - need not refer to an extant directory in the current filesystem. If the - files within the zip are later extracted, this is the path used for the - extracted file. Passing null (Nothing in VB) will use the - path on the fileOrDirectoryName. Passing the empty string ("") will - insert the item at the root path within the archive. - - - - - - - - This example shows how to zip up a set of files into a flat hierarchy, - regardless of where in the filesystem the files originated. The resulting - zip archive will contain a toplevel directory named "flat", which itself - will contain files Readme.txt, MyProposal.docx, and Image1.jpg. A - subdirectory under "flat" called SupportFiles will contain all the files - in the "c:\SupportFiles" directory on disk. - - - String[] itemnames= { - "c:\\fixedContent\\Readme.txt", - "MyProposal.docx", - "c:\\SupportFiles", // a directory - "images\\Image1.jpg" - }; - - try - { - using (ZipFile zip = new ZipFile()) - { - for (int i = 1; i < itemnames.Length; i++) - { - // will add Files or Dirs, recurses and flattens subdirectories - zip.AddItem(itemnames[i],"flat"); - } - zip.Save(ZipToCreate); - } - } - catch (System.Exception ex1) - { - System.Console.Error.WriteLine("exception: {0}", ex1); - } - - - - Dim itemnames As String() = _ - New String() { "c:\fixedContent\Readme.txt", _ - "MyProposal.docx", _ - "SupportFiles", _ - "images\Image1.jpg" } - Try - Using zip As New ZipFile - Dim i As Integer - For i = 1 To itemnames.Length - 1 - ' will add Files or Dirs, recursing and flattening subdirectories. - zip.AddItem(itemnames(i), "flat") - Next i - zip.Save(ZipToCreate) - End Using - Catch ex1 As Exception - Console.Error.WriteLine("exception: {0}", ex1.ToString()) - End Try - - - The ZipEntry added. - - - - Adds a File to a Zip file archive. - - - - - This call collects metadata for the named file in the filesystem, - including the file attributes and the timestamp, and inserts that metadata - into the resulting ZipEntry. Only when the application calls Save() on - the ZipFile, does DotNetZip read the file from the filesystem and - then write the content to the zip file archive. - - - - This method will throw an exception if an entry with the same name already - exists in the ZipFile. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - In this example, three files are added to a Zip archive. The ReadMe.txt - file will be placed in the root of the archive. The .png file will be - placed in a folder within the zip called photos\personal. The pdf file - will be included into a folder within the zip called Desktop. - - - try - { - using (ZipFile zip = new ZipFile()) - { - zip.AddFile("c:\\photos\\personal\\7440-N49th.png"); - zip.AddFile("c:\\Desktop\\2008-Regional-Sales-Report.pdf"); - zip.AddFile("ReadMe.txt"); - - zip.Save("Package.zip"); - } - } - catch (System.Exception ex1) - { - System.Console.Error.WriteLine("exception: " + ex1); - } - - - - Try - Using zip As ZipFile = New ZipFile - zip.AddFile("c:\photos\personal\7440-N49th.png") - zip.AddFile("c:\Desktop\2008-Regional-Sales-Report.pdf") - zip.AddFile("ReadMe.txt") - zip.Save("Package.zip") - End Using - Catch ex1 As Exception - Console.Error.WriteLine("exception: {0}", ex1.ToString) - End Try - - - - This method has two overloads. - - - - - - - The name of the file to add. It should refer to a file in the filesystem. - The name of the file may be a relative path or a fully-qualified path. - - The ZipEntry corresponding to the File added. - - - - Adds a File to a Zip file archive, potentially overriding the path to be - used within the zip archive. - - - - - The file added by this call to the ZipFile is not written to the - zip file archive until the application calls Save() on the ZipFile. - - - - This method will throw an exception if an entry with the same name already - exists in the ZipFile. - - - - This version of the method allows the caller to explicitly specify the - directory path to be used in the archive. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - In this example, three files are added to a Zip archive. The ReadMe.txt - file will be placed in the root of the archive. The .png file will be - placed in a folder within the zip called images. The pdf file will be - included into a folder within the zip called files\docs, and will be - encrypted with the given password. - - - try - { - using (ZipFile zip = new ZipFile()) - { - // the following entry will be inserted at the root in the archive. - zip.AddFile("c:\\datafiles\\ReadMe.txt", ""); - // this image file will be inserted into the "images" directory in the archive. - zip.AddFile("c:\\photos\\personal\\7440-N49th.png", "images"); - // the following will result in a password-protected file called - // files\\docs\\2008-Regional-Sales-Report.pdf in the archive. - zip.Password = "EncryptMe!"; - zip.AddFile("c:\\Desktop\\2008-Regional-Sales-Report.pdf", "files\\docs"); - zip.Save("Archive.zip"); - } - } - catch (System.Exception ex1) - { - System.Console.Error.WriteLine("exception: {0}", ex1); - } - - - - Try - Using zip As ZipFile = New ZipFile - ' the following entry will be inserted at the root in the archive. - zip.AddFile("c:\datafiles\ReadMe.txt", "") - ' this image file will be inserted into the "images" directory in the archive. - zip.AddFile("c:\photos\personal\7440-N49th.png", "images") - ' the following will result in a password-protected file called - ' files\\docs\\2008-Regional-Sales-Report.pdf in the archive. - zip.Password = "EncryptMe!" - zip.AddFile("c:\Desktop\2008-Regional-Sales-Report.pdf", "files\documents") - zip.Save("Archive.zip") - End Using - Catch ex1 As Exception - Console.Error.WriteLine("exception: {0}", ex1) - End Try - - - - - - - - - The name of the file to add. The name of the file may be a relative path - or a fully-qualified path. - - - - Specifies a directory path to use to override any path in the fileName. - This path may, or may not, correspond to a real directory in the current - filesystem. If the files within the zip are later extracted, this is the - path used for the extracted file. Passing null (Nothing in - VB) will use the path on the fileName, if any. Passing the empty string - ("") will insert the item at the root path within the archive. - - - The ZipEntry corresponding to the file added. - - - - This method removes a collection of entries from the ZipFile. - - - - A collection of ZipEntry instances from this zip file to be removed. For - example, you can pass in an array of ZipEntry instances; or you can call - SelectEntries(), and then add or remove entries from that - ICollection<ZipEntry> (ICollection(Of ZipEntry) in VB), and pass - that ICollection to this method. - - - - - - - - This method removes a collection of entries from the ZipFile, by name. - - - - A collection of strings that refer to names of entries to be removed - from the ZipFile. For example, you can pass in an array or a - List of Strings that provide the names of entries to be removed. - - - - - - - - This method adds a set of files to the ZipFile. - - - - - Use this method to add a set of files to the zip archive, in one call. - For example, a list of files received from - System.IO.Directory.GetFiles() can be added to a zip archive in one - call. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - The collection of names of the files to add. Each string should refer to a - file in the filesystem. The name of the file may be a relative path or a - fully-qualified path. - - - - This example shows how to create a zip file, and add a few files into it. - - String ZipFileToCreate = "archive1.zip"; - String DirectoryToZip = "c:\\reports"; - using (ZipFile zip = new ZipFile()) - { - // Store all files found in the top level directory, into the zip archive. - String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip); - zip.AddFiles(filenames); - zip.Save(ZipFileToCreate); - } - - - - Dim ZipFileToCreate As String = "archive1.zip" - Dim DirectoryToZip As String = "c:\reports" - Using zip As ZipFile = New ZipFile - ' Store all files found in the top level directory, into the zip archive. - Dim filenames As String() = System.IO.Directory.GetFiles(DirectoryToZip) - zip.AddFiles(filenames) - zip.Save(ZipFileToCreate) - End Using - - - - - - - - Adds or updates a set of files in the ZipFile. - - - - - Any files that already exist in the archive are updated. Any files that - don't yet exist in the archive are added. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - The collection of names of the files to update. Each string should refer to a file in - the filesystem. The name of the file may be a relative path or a fully-qualified path. - - - - - - Adds a set of files to the ZipFile, using the - specified directory path in the archive. - - - - - Any directory structure that may be present in the - filenames contained in the list is "flattened" in the - archive. Each file in the list is added to the archive in - the specified top-level directory. - - - - For ZipFile properties including , , , , , , and , their respective values at the - time of this call will be applied to each ZipEntry added. - - - - - The names of the files to add. Each string should refer to - a file in the filesystem. The name of the file may be a - relative path or a fully-qualified path. - - - - Specifies a directory path to use to override any path in the file name. - Th is path may, or may not, correspond to a real directory in the current - filesystem. If the files within the zip are later extracted, this is the - path used for the extracted file. Passing null (Nothing in - VB) will use the path on each of the fileNames, if any. Passing - the empty string ("") will insert the item at the root path within the - archive. - - - - - - - Adds a set of files to the ZipFile, using the specified directory - path in the archive, and preserving the full directory structure in the - filenames. - - - - - - Think of the as a "root" or - base directory used in the archive for the files that get added. when - is true, the hierarchy of files - found in the filesystem will be placed, with the hierarchy intact, - starting at that root in the archive. When preserveDirHierarchy - is false, the path hierarchy of files is flattned, and the flattened - set of files gets placed in the root within the archive as specified in - directoryPathInArchive. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - - The names of the files to add. Each string should refer to a file in the - filesystem. The name of the file may be a relative path or a - fully-qualified path. - - - - Specifies a directory path to use as a prefix for each entry name. - This path may, or may not, correspond to a real directory in the current - filesystem. If the files within the zip are later extracted, this is the - path used for the extracted file. Passing null (Nothing in - VB) will use the path on each of the fileNames, if any. Passing - the empty string ("") will insert the item at the root path within the - archive. - - - - whether the entries in the zip archive will reflect the directory - hierarchy that is present in the various filenames. For example, if - includes two paths, - \Animalia\Chordata\Mammalia\Info.txt and - \Plantae\Magnoliophyta\Dicotyledon\Info.txt, then calling this method - with = false will - result in an exception because of a duplicate entry name, while - calling this method with = - true will result in the full direcory paths being included in - the entries added to the ZipFile. - - - - - - Adds or updates a set of files to the ZipFile, using the specified - directory path in the archive. - - - - - - Any files that already exist in the archive are updated. Any files that - don't yet exist in the archive are added. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - The names of the files to add or update. Each string should refer to a - file in the filesystem. The name of the file may be a relative path or a - fully-qualified path. - - - - Specifies a directory path to use to override any path in the file name. - This path may, or may not, correspond to a real directory in the current - filesystem. If the files within the zip are later extracted, this is the - path used for the extracted file. Passing null (Nothing in - VB) will use the path on each of the fileNames, if any. Passing - the empty string ("") will insert the item at the root path within the - archive. - - - - - - - Adds or Updates a File in a Zip file archive. - - - - - This method adds a file to a zip archive, or, if the file already exists - in the zip archive, this method Updates the content of that given filename - in the zip archive. The UpdateFile method might more accurately be - called "AddOrUpdateFile". - - - - Upon success, there is no way for the application to learn whether the file - was added versus updated. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - This example shows how to Update an existing entry in a zipfile. The first - call to UpdateFile adds the file to the newly-created zip archive. The - second call to UpdateFile updates the content for that file in the zip - archive. - - - using (ZipFile zip1 = new ZipFile()) - { - // UpdateFile might more accurately be called "AddOrUpdateFile" - zip1.UpdateFile("MyDocuments\\Readme.txt"); - zip1.UpdateFile("CustomerList.csv"); - zip1.Comment = "This zip archive has been created."; - zip1.Save("Content.zip"); - } - - using (ZipFile zip2 = ZipFile.Read("Content.zip")) - { - zip2.UpdateFile("Updates\\Readme.txt"); - zip2.Comment = "This zip archive has been updated: The Readme.txt file has been changed."; - zip2.Save(); - } - - - - Using zip1 As New ZipFile - ' UpdateFile might more accurately be called "AddOrUpdateFile" - zip1.UpdateFile("MyDocuments\Readme.txt") - zip1.UpdateFile("CustomerList.csv") - zip1.Comment = "This zip archive has been created." - zip1.Save("Content.zip") - End Using - - Using zip2 As ZipFile = ZipFile.Read("Content.zip") - zip2.UpdateFile("Updates\Readme.txt") - zip2.Comment = "This zip archive has been updated: The Readme.txt file has been changed." - zip2.Save - End Using - - - - - - - - - The name of the file to add or update. It should refer to a file in the - filesystem. The name of the file may be a relative path or a - fully-qualified path. - - - - The ZipEntry corresponding to the File that was added or updated. - - - - - Adds or Updates a File in a Zip file archive. - - - - - This method adds a file to a zip archive, or, if the file already exists - in the zip archive, this method Updates the content of that given filename - in the zip archive. - - - - This version of the method allows the caller to explicitly specify the - directory path to be used in the archive. The entry to be added or - updated is found by using the specified directory path, combined with the - basename of the specified filename. - - - - Upon success, there is no way for the application to learn if the file was - added versus updated. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - - - The name of the file to add or update. It should refer to a file in the - filesystem. The name of the file may be a relative path or a - fully-qualified path. - - - - Specifies a directory path to use to override any path in the - fileName. This path may, or may not, correspond to a real - directory in the current filesystem. If the files within the zip are - later extracted, this is the path used for the extracted file. Passing - null (Nothing in VB) will use the path on the - fileName, if any. Passing the empty string ("") will insert the - item at the root path within the archive. - - - - The ZipEntry corresponding to the File that was added or updated. - - - - - Add or update a directory in a zip archive. - - - - If the specified directory does not exist in the archive, then this method - is equivalent to calling AddDirectory(). If the specified - directory already exists in the archive, then this method updates any - existing entries, and adds any new entries. Any entries that are in the - zip archive but not in the specified directory, are left alone. In other - words, the contents of the zip file will be a union of the previous - contents and the new files. - - - - - - - - The path to the directory to be added to the zip archive, or updated in - the zip archive. - - - - The ZipEntry corresponding to the Directory that was added or updated. - - - - - Add or update a directory in the zip archive at the specified root - directory in the archive. - - - - If the specified directory does not exist in the archive, then this method - is equivalent to calling AddDirectory(). If the specified - directory already exists in the archive, then this method updates any - existing entries, and adds any new entries. Any entries that are in the - zip archive but not in the specified directory, are left alone. In other - words, the contents of the zip file will be a union of the previous - contents and the new files. - - - - - - - - The path to the directory to be added to the zip archive, or updated - in the zip archive. - - - - Specifies a directory path to use to override any path in the - directoryName. This path may, or may not, correspond to a real - directory in the current filesystem. If the files within the zip are - later extracted, this is the path used for the extracted file. Passing - null (Nothing in VB) will use the path on the - directoryName, if any. Passing the empty string ("") will insert - the item at the root path within the archive. - - - - The ZipEntry corresponding to the Directory that was added or updated. - - - - - Add or update a file or directory in the zip archive. - - - - - This is useful when the application is not sure or does not care if the - item to be added is a file or directory, and does not know or does not - care if the item already exists in the ZipFile. Calling this method - is equivalent to calling RemoveEntry() if an entry by the same name - already exists, followed calling by AddItem(). - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - - - the path to the file or directory to be added or updated. - - - - - Add or update a file or directory. - - - - - This method is useful when the application is not sure or does not care if - the item to be added is a file or directory, and does not know or does not - care if the item already exists in the ZipFile. Calling this method - is equivalent to calling RemoveEntry(), if an entry by that name - exists, and then calling AddItem(). - - - - This version of the method allows the caller to explicitly specify the - directory path to be used for the item being added to the archive. The - entry or entries that are added or updated will use the specified - DirectoryPathInArchive. Extracting the entry from the archive will - result in a file stored in that directory path. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - - - The path for the File or Directory to be added or updated. - - - Specifies a directory path to use to override any path in the - itemName. This path may, or may not, correspond to a real - directory in the current filesystem. If the files within the zip are - later extracted, this is the path used for the extracted file. Passing - null (Nothing in VB) will use the path on the - itemName, if any. Passing the empty string ("") will insert the - item at the root path within the archive. - - - - - Adds a named entry into the zip archive, taking content for the entry - from a string. - - - - Calling this method creates an entry using the given fileName and - directory path within the archive. There is no need for a file by the - given name to exist in the filesystem; the name is used within the zip - archive only. The content for the entry is encoded using the default text - encoding for the machine, or on Silverlight, using UTF-8. - - - - The content of the file, should it be extracted from the zip. - - - - The name, including any path, to use for the entry within the archive. - - - The ZipEntry added. - - - - This example shows how to add an entry to the zipfile, using a string as - content for that entry. - - - string Content = "This string will be the content of the Readme.txt file in the zip archive."; - using (ZipFile zip1 = new ZipFile()) - { - zip1.AddFile("MyDocuments\\Resume.doc", "files"); - zip1.AddEntry("Readme.txt", Content); - zip1.Comment = "This zip file was created at " + System.DateTime.Now.ToString("G"); - zip1.Save("Content.zip"); - } - - - - Public Sub Run() - Dim Content As String = "This string will be the content of the Readme.txt file in the zip archive." - Using zip1 As ZipFile = New ZipFile - zip1.AddEntry("Readme.txt", Content) - zip1.AddFile("MyDocuments\Resume.doc", "files") - zip1.Comment = ("This zip file was created at " & DateTime.Now.ToString("G")) - zip1.Save("Content.zip") - End Using - End Sub - - - - - - Adds a named entry into the zip archive, taking content for the entry - from a string, and using the specified text encoding. - - - - - - Calling this method creates an entry using the given fileName and - directory path within the archive. There is no need for a file by the - given name to exist in the filesystem; the name is used within the zip - archive only. - - - - The content for the entry, a string value, is encoded using the given - text encoding. A BOM (byte-order-mark) is emitted into the file, if the - Encoding parameter is set for that. - - - - Most Encoding classes support a constructor that accepts a boolean, - indicating whether to emit a BOM or not. For example see . - - - - - - The name, including any path, to use within the archive for the entry. - - - - The content of the file, should it be extracted from the zip. - - - - The text encoding to use when encoding the string. Be aware: This is - distinct from the text encoding used to encode the fileName, as specified - in . - - - The ZipEntry added. - - - - - Create an entry in the ZipFile using the given Stream - as input. The entry will have the given filename. - - - - - - The application should provide an open, readable stream; in this case it - will be read during the call to or one of - its overloads. - - - - The passed stream will be read from its current position. If - necessary, callers should set the position in the stream before - calling AddEntry(). This might be appropriate when using this method - with a MemoryStream, for example. - - - - In cases where a large number of streams will be added to the - ZipFile, the application may wish to avoid maintaining all of the - streams open simultaneously. To handle this situation, the application - should use the - overload. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - This example adds a single entry to a ZipFile via a Stream. - - - - String zipToCreate = "Content.zip"; - String fileNameInArchive = "Content-From-Stream.bin"; - using (System.IO.Stream streamToRead = MyStreamOpener()) - { - using (ZipFile zip = new ZipFile()) - { - ZipEntry entry= zip.AddEntry(fileNameInArchive, streamToRead); - zip.AddFile("Readme.txt"); - zip.Save(zipToCreate); // the stream is read implicitly here - } - } - - - - Dim zipToCreate As String = "Content.zip" - Dim fileNameInArchive As String = "Content-From-Stream.bin" - Using streamToRead as System.IO.Stream = MyStreamOpener() - Using zip As ZipFile = New ZipFile() - Dim entry as ZipEntry = zip.AddEntry(fileNameInArchive, streamToRead) - zip.AddFile("Readme.txt") - zip.Save(zipToCreate) '' the stream is read implicitly, here - End Using - End Using - - - - - - - The name, including any path, which is shown in the zip file for the added - entry. - - - The input stream from which to grab content for the file - - The ZipEntry added. - - - - Add a ZipEntry for which content is written directly by the application. - - - - - When the application needs to write the zip entry data, use this - method to add the ZipEntry. For example, in the case that the - application wishes to write the XML representation of a DataSet into - a ZipEntry, the application can use this method to do so. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - About progress events: When using the WriteDelegate, DotNetZip does - not issue any SaveProgress events with EventType = - Saving_EntryBytesRead. (This is because it is the - application's code that runs in WriteDelegate - there's no way for - DotNetZip to know when to issue a EntryBytesRead event.) - Applications that want to update a progress bar or similar status - indicator should do so from within the WriteDelegate - itself. DotNetZip will issue the other SaveProgress events, - including - Saving_Started, - - Saving_BeforeWriteEntry, and - Saving_AfterWriteEntry. - - - - Note: When you use PKZip encryption, it's normally necessary to - compute the CRC of the content to be encrypted, before compressing or - encrypting it. Therefore, when using PKZip encryption with a - WriteDelegate, the WriteDelegate CAN BE called twice: once to compute - the CRC, and the second time to potentially compress and - encrypt. Surprising, but true. This is because PKWARE specified that - the encryption initialization data depends on the CRC. - If this happens, for each call of the delegate, your - application must stream the same entry data in its entirety. If your - application writes different data during the second call, it will - result in a corrupt zip file. - - - - The double-read behavior happens with all types of entries, not only - those that use WriteDelegate. It happens if you add an entry from a - filesystem file, or using a string, or a stream, or an opener/closer - pair. But in those cases, DotNetZip takes care of reading twice; in - the case of the WriteDelegate, the application code gets invoked - twice. Be aware. - - - - As you can imagine, this can cause performance problems for large - streams, and it can lead to correctness problems when you use a - WriteDelegate. This is a pretty big pitfall. There are two - ways to avoid it. First, and most preferred: don't use PKZIP - encryption. If you use the WinZip AES encryption, this problem - doesn't occur, because the encryption protocol doesn't require the CRC - up front. Second: if you do choose to use PKZIP encryption, write out - to a non-seekable stream (like standard output, or the - Response.OutputStream in an ASP.NET application). In this case, - DotNetZip will use an alternative encryption protocol that does not - rely on the CRC of the content. This also implies setting bit 3 in - the zip entry, which still presents problems for some zip tools. - - - - In the future I may modify DotNetZip to *always* use bit 3 when PKZIP - encryption is in use. This seems like a win overall, but there will - be some work involved. If you feel strongly about it, visit the - DotNetZip forums and vote up the Workitem - tracking this issue. - - - - - the name of the entry to add - the delegate which will write the entry content - the ZipEntry added - - - - This example shows an application filling a DataSet, then saving the - contents of that DataSet as XML, into a ZipEntry in a ZipFile, using an - anonymous delegate in C#. The DataSet XML is never saved to a disk file. - - - var c1= new System.Data.SqlClient.SqlConnection(connstring1); - var da = new System.Data.SqlClient.SqlDataAdapter() - { - SelectCommand= new System.Data.SqlClient.SqlCommand(strSelect, c1) - }; - - DataSet ds1 = new DataSet(); - da.Fill(ds1, "Invoices"); - - using(Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile()) - { - zip.AddEntry(zipEntryName, (name,stream) => ds1.WriteXml(stream) ); - zip.Save(zipFileName); - } - - - - - - This example uses an anonymous method in C# as the WriteDelegate to provide - the data for the ZipEntry. The example is a bit contrived - the - AddFile() method is a simpler way to insert the contents of a file - into an entry in a zip file. On the other hand, if there is some sort of - processing or transformation of the file contents required before writing, - the application could use the WriteDelegate to do it, in this way. - - - using (var input = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite )) - { - using(Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile()) - { - zip.AddEntry(zipEntryName, (name,output) => - { - byte[] buffer = new byte[BufferSize]; - int n; - while ((n = input.Read(buffer, 0, buffer.Length)) != 0) - { - // could transform the data here... - output.Write(buffer, 0, n); - // could update a progress bar here - } - }); - - zip.Save(zipFileName); - } - } - - - - - - This example uses a named delegate in VB to write data for the given - ZipEntry (VB9 does not have anonymous delegates). The example here is a bit - contrived - a simpler way to add the contents of a file to a ZipEntry is to - simply use the appropriate AddFile() method. The key scenario for - which the WriteDelegate makes sense is saving a DataSet, in XML - format, to the zip file. The DataSet can write XML to a stream, and the - WriteDelegate is the perfect place to write into the zip file. There may be - other data structures that can write to a stream, but cannot be read as a - stream. The WriteDelegate would be appropriate for those cases as - well. - - - Private Sub WriteEntry (ByVal name As String, ByVal output As Stream) - Using input As FileStream = File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) - Dim n As Integer = -1 - Dim buffer As Byte() = New Byte(BufferSize){} - Do While n <> 0 - n = input.Read(buffer, 0, buffer.Length) - output.Write(buffer, 0, n) - Loop - End Using - End Sub - - Public Sub Run() - Using zip = New ZipFile - zip.AddEntry(zipEntryName, New WriteDelegate(AddressOf WriteEntry)) - zip.Save(zipFileName) - End Using - End Sub - - - - - - Add an entry, for which the application will provide a stream - containing the entry data, on a just-in-time basis. - - - - - In cases where the application wishes to open the stream that - holds the content for the ZipEntry, on a just-in-time basis, the - application can use this method. The application provides an - opener delegate that will be called by the DotNetZip library to - obtain a readable stream that can be read to get the bytes for - the given entry. Typically, this delegate opens a stream. - Optionally, the application can provide a closer delegate as - well, which will be called by DotNetZip when all bytes have been - read from the entry. - - - - These delegates are called from within the scope of the call to - ZipFile.Save(). - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - This example uses anonymous methods in C# to open and close the - source stream for the content for a zip entry. - - - using(Ionic.Zip.ZipFile zip = new Ionic.Zip.ZipFile()) - { - zip.AddEntry(zipEntryName, - (name) => File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite ), - (name, stream) => stream.Close() - ); - - zip.Save(zipFileName); - } - - - - - - - This example uses delegates in VB.NET to open and close the - the source stream for the content for a zip entry. VB 9.0 lacks - support for "Sub" lambda expressions, and so the CloseDelegate must - be an actual, named Sub. - - - - Function MyStreamOpener(ByVal entryName As String) As Stream - '' This simply opens a file. You probably want to do somethinig - '' more involved here: open a stream to read from a database, - '' open a stream on an HTTP connection, and so on. - Return File.OpenRead(entryName) - End Function - - Sub MyStreamCloser(entryName As String, stream As Stream) - stream.Close() - End Sub - - Public Sub Run() - Dim dirToZip As String = "fodder" - Dim zipFileToCreate As String = "Archive.zip" - Dim opener As OpenDelegate = AddressOf MyStreamOpener - Dim closer As CloseDelegate = AddressOf MyStreamCloser - Dim numFilestoAdd As Int32 = 4 - Using zip As ZipFile = New ZipFile - Dim i As Integer - For i = 0 To numFilesToAdd - 1 - zip.AddEntry(String.Format("content-{0:000}.txt"), opener, closer) - Next i - zip.Save(zipFileToCreate) - End Using - End Sub - - - - - the name of the entry to add - - the delegate that will be invoked by ZipFile.Save() to get the - readable stream for the given entry. ZipFile.Save() will call - read on this stream to obtain the data for the entry. This data - will then be compressed and written to the newly created zip - file. - - - the delegate that will be invoked to close the stream. This may - be null (Nothing in VB), in which case no call is makde to close - the stream. - - the ZipEntry added - - - - - Updates the given entry in the ZipFile, using the given - string as content for the ZipEntry. - - - - - - Calling this method is equivalent to removing the ZipEntry for - the given file name and directory path, if it exists, and then calling - . See the documentation for - that method for further explanation. The string content is encoded - using the default encoding for the machine, or on Silverlight, using - UTF-8. This encoding is distinct from the encoding used for the - filename itself. See . - - - - - - The name, including any path, to use within the archive for the entry. - - - - The content of the file, should it be extracted from the zip. - - - The ZipEntry added. - - - - - Updates the given entry in the ZipFile, using the given string as - content for the ZipEntry. - - - - Calling this method is equivalent to removing the ZipEntry for the - given file name and directory path, if it exists, and then calling . See the - documentation for that method for further explanation. - - - - The name, including any path, to use within the archive for the entry. - - - - The content of the file, should it be extracted from the zip. - - - - The text encoding to use when encoding the string. Be aware: This is - distinct from the text encoding used to encode the filename. See . - - - The ZipEntry added. - - - - - Updates the given entry in the ZipFile, using the given delegate - as the source for content for the ZipEntry. - - - - Calling this method is equivalent to removing the ZipEntry for the - given file name and directory path, if it exists, and then calling . See the - documentation for that method for further explanation. - - - - The name, including any path, to use within the archive for the entry. - - - the delegate which will write the entry content. - - The ZipEntry added. - - - - - Updates the given entry in the ZipFile, using the given delegates - to open and close the stream that provides the content for the ZipEntry. - - - - Calling this method is equivalent to removing the ZipEntry for the - given file name and directory path, if it exists, and then calling . See the - documentation for that method for further explanation. - - - - The name, including any path, to use within the archive for the entry. - - - - the delegate that will be invoked to open the stream - - - the delegate that will be invoked to close the stream - - - The ZipEntry added or updated. - - - - - Updates the given entry in the ZipFile, using the given stream as - input, and the given filename and given directory Path. - - - - - Calling the method is equivalent to calling RemoveEntry() if an - entry by the same name already exists, and then calling AddEntry() - with the given fileName and stream. - - - - The stream must be open and readable during the call to - ZipFile.Save. You can dispense the stream on a just-in-time basis - using the property. Check the - documentation of that property for more information. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to the - ZipEntry added. - - - - - - - - - The name, including any path, to use within the archive for the entry. - - - The input stream from which to read file data. - The ZipEntry added. - - - - Add an entry into the zip archive using the given filename and - directory path within the archive, and the given content for the - file. No file is created in the filesystem. - - - The data to use for the entry. - - - The name, including any path, to use within the archive for the entry. - - - The ZipEntry added. - - - - Updates the given entry in the ZipFile, using the given byte - array as content for the entry. - - - - Calling this method is equivalent to removing the ZipEntry - for the given filename and directory path, if it exists, and then - calling . See the - documentation for that method for further explanation. - - - - The name, including any path, to use within the archive for the entry. - - - The content to use for the ZipEntry. - - The ZipEntry added. - - - - - Adds the contents of a filesystem directory to a Zip file archive. - - - - - - The name of the directory may be a relative path or a fully-qualified - path. Any files within the named directory are added to the archive. Any - subdirectories within the named directory are also added to the archive, - recursively. - - - - Top-level entries in the named directory will appear as top-level entries - in the zip archive. Entries in subdirectories in the named directory will - result in entries in subdirectories in the zip archive. - - - - If you want the entries to appear in a containing directory in the zip - archive itself, then you should call the AddDirectory() overload that - allows you to explicitly specify a directory path for use in the archive. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - - - - - - This method has 2 overloads. - - The name of the directory to add. - The ZipEntry added. - - - - Adds the contents of a filesystem directory to a Zip file archive, - overriding the path to be used for entries in the archive. - - - - - The name of the directory may be a relative path or a fully-qualified - path. The add operation is recursive, so that any files or subdirectories - within the name directory are also added to the archive. - - - - Top-level entries in the named directory will appear as top-level entries - in the zip archive. Entries in subdirectories in the named directory will - result in entries in subdirectories in the zip archive. - - - - For ZipFile properties including , , , , , - , and , their - respective values at the time of this call will be applied to each - ZipEntry added. - - - - - - - In this code, calling the ZipUp() method with a value of "c:\reports" for - the directory parameter will result in a zip file structure in which all - entries are contained in a toplevel "reports" directory. - - - - public void ZipUp(string targetZip, string directory) - { - using (var zip = new ZipFile()) - { - zip.AddDirectory(directory, System.IO.Path.GetFileName(directory)); - zip.Save(targetZip); - } - } - - - - - - - - The name of the directory to add. - - - Specifies a directory path to use to override any path in the - DirectoryName. This path may, or may not, correspond to a real directory - in the current filesystem. If the zip is later extracted, this is the - path used for the extracted file or directory. Passing null - (Nothing in VB) or the empty string ("") will insert the items at - the root path within the archive. - - - The ZipEntry added. - - - - Creates a directory in the zip archive. - - - - - - Use this when you want to create a directory in the archive but there is - no corresponding filesystem representation for that directory. - - - - You will probably not need to do this in your code. One of the only times - you will want to do this is if you want an empty directory in the zip - archive. The reason: if you add a file to a zip archive that is stored - within a multi-level directory, all of the directory tree is implicitly - created in the zip archive. - - - - - - The name of the directory to create in the archive. - - The ZipEntry added. - - - - Checks a zip file to see if its directory is consistent. - - - - - - In cases of data error, the directory within a zip file can get out - of synch with the entries in the zip file. This method checks the - given zip file and returns true if this has occurred. - - - This method may take a long time to run for large zip files. - - - This method is not supported in the Reduced or Compact Framework - versions of DotNetZip. - - - - Developers using COM can use the ComHelper.CheckZip(String) - method. - - - - - The filename to of the zip file to check. - - true if the named zip file checks OK. Otherwise, false. - - - - - - - Checks a zip file to see if its directory is consistent, - and optionally fixes the directory if necessary. - - - - - - In cases of data error, the directory within a zip file can get out of - synch with the entries in the zip file. This method checks the given - zip file, and returns true if this has occurred. It also optionally - fixes the zipfile, saving the fixed copy in Name_Fixed.zip. - - - - This method may take a long time to run for large zip files. It - will take even longer if the file actually needs to be fixed, and if - fixIfNecessary is true. - - - - This method is not supported in the Reduced or Compact - Framework versions of DotNetZip. - - - - - The filename to of the zip file to check. - - If true, the method will fix the zip file if - necessary. - - - a TextWriter in which messages generated while checking will be written. - - - true if the named zip is OK; false if the file needs to be fixed. - - - - - - - Rewrite the directory within a zipfile. - - - - - - In cases of data error, the directory in a zip file can get out of - synch with the entries in the zip file. This method attempts to fix - the zip file if this has occurred. - - - This can take a long time for large zip files. - - This won't work if the zip file uses a non-standard - code page - neither IBM437 nor UTF-8. - - - This method is not supported in the Reduced or Compact Framework - versions of DotNetZip. - - - - Developers using COM can use the ComHelper.FixZipDirectory(String) - method. - - - - - The filename to of the zip file to fix. - - - - - - - Verify the password on a zip file. - - - - - Keep in mind that passwords in zipfiles are applied to - zip entries, not to the entire zip file. So testing a - zipfile for a particular password doesn't work in the - general case. On the other hand, it's often the case - that a single password will be used on all entries in a - zip file. This method works for that case. - - - There is no way to check a password without doing the - decryption. So this code decrypts and extracts the given - zipfile into - - - - The filename to of the zip file to fix. - - The password to check. - - a bool indicating whether the password matches. - - - - Provides a human-readable string with information about the ZipFile. - - - - - The information string contains 10 lines or so, about each ZipEntry, - describing whether encryption is in use, the compressed and uncompressed - length of the entry, the offset of the entry, and so on. As a result the - information string can be very long for zip files that contain many - entries. - - - This information is mostly useful for diagnostic purposes. - - - - - - Indicates whether to perform a full scan of the zip file when reading it. - - - - - - You almost never want to use this property. - - - - When reading a zip file, if this flag is true (True in - VB), the entire zip archive will be scanned and searched for entries. - For large archives, this can take a very, long time. The much more - efficient default behavior is to read the zip directory, which is - stored at the end of the zip file. But, in some cases the directory is - corrupted and you need to perform a full scan of the zip file to - determine the contents of the zip file. This property lets you do - that, when necessary. - - - - This flag is effective only when calling . Normally you would read a ZipFile with the - static ZipFile.Read - method. But you can't set the FullScan property on the - ZipFile instance when you use a static factory method like - ZipFile.Read. - - - - - - - This example shows how to read a zip file using the full scan approach, - and then save it, thereby producing a corrected zip file. - - - using (var zip = new ZipFile()) - { - zip.FullScan = true; - zip.Initialize(zipFileName); - zip.Save(newName); - } - - - - Using zip As New ZipFile - zip.FullScan = True - zip.Initialize(zipFileName) - zip.Save(newName) - End Using - - - - - - - Whether to sort the ZipEntries before saving the file. - - - - The default is false. If you have a large number of zip entries, the sort - alone can consume significant time. - - - - - using (var zip = new ZipFile()) - { - zip.AddFiles(filesToAdd); - zip.SortEntriesBeforeSaving = true; - zip.Save(name); - } - - - - Using zip As New ZipFile - zip.AddFiles(filesToAdd) - zip.SortEntriesBeforeSaving = True - zip.Save(name) - End Using - - - - - - - Indicates whether NTFS Reparse Points, like junctions, should be - traversed during calls to AddDirectory(). - - - - By default, calls to AddDirectory() will traverse NTFS reparse - points, like mounted volumes, and directory junctions. An example - of a junction is the "My Music" directory in Windows Vista. In some - cases you may not want DotNetZip to traverse those directories. In - that case, set this property to false. - - - - - using (var zip = new ZipFile()) - { - zip.AddDirectoryWillTraverseReparsePoints = false; - zip.AddDirectory(dirToZip,"fodder"); - zip.Save(zipFileToCreate); - } - - - - - - Size of the IO buffer used while saving. - - - - - - First, let me say that you really don't need to bother with this. It is - here to allow for optimizations that you probably won't make! It will work - fine if you don't set or get this property at all. Ok? - - - - Now that we have that out of the way, the fine print: This - property affects the size of the buffer that is used for I/O for each - entry contained in the zip file. When a file is read in to be compressed, - it uses a buffer given by the size here. When you update a zip file, the - data for unmodified entries is copied from the first zip file to the - other, through a buffer given by the size here. - - - - Changing the buffer size affects a few things: first, for larger buffer - sizes, the memory used by the ZipFile, obviously, will be larger - during I/O operations. This may make operations faster for very much - larger files. Last, for any given entry, when you use a larger buffer - there will be fewer progress events during I/O operations, because there's - one progress event generated for each time the buffer is filled and then - emptied. - - - - The default buffer size is 8k. Increasing the buffer size may speed - things up as you compress larger files. But there are no hard-and-fast - rules here, eh? You won't know til you test it. And there will be a - limit where ever larger buffers actually slow things down. So as I said - in the beginning, it's probably best if you don't set or get this property - at all. - - - - - - This example shows how you might set a large buffer size for efficiency when - dealing with zip entries that are larger than 1gb. - - using (ZipFile zip = new ZipFile()) - { - zip.SaveProgress += this.zip1_SaveProgress; - zip.AddDirectory(directoryToZip, ""); - zip.UseZip64WhenSaving = Zip64Option.Always; - zip.BufferSize = 65536*8; // 65536 * 8 = 512k - zip.Save(ZipFileToCreate); - } - - - - - - Size of the work buffer to use for the ZLIB codec during compression. - - - - - When doing ZLIB or Deflate compression, the library fills a buffer, - then passes it to the compressor for compression. Then the library - reads out the compressed bytes. This happens repeatedly until there - is no more uncompressed data to compress. This property sets the - size of the buffer that will be used for chunk-wise compression. In - order for the setting to take effect, your application needs to set - this property before calling one of the ZipFile.Save() - overloads. - - - Setting this affects the performance and memory efficiency of - compression and decompression. For larger files, setting this to a - larger size may improve compression performance, but the exact - numbers vary depending on available memory, the size of the streams - you are compressing, and a bunch of other variables. I don't have - good firm recommendations on how to set it. You'll have to test it - yourself. Or just leave it alone and accept the default. - - - - - - Indicates whether extracted files should keep their paths as - stored in the zip archive. - - - - - This property affects Extraction. It is not used when creating zip - archives. - - - - With this property set to false, the default, extracting entries - from a zip file will create files in the filesystem that have the full - path associated to the entry within the zip file. With this property set - to true, extracting entries from the zip file results in files - with no path: the folders are "flattened." - - - - An example: suppose the zip file contains entries /directory1/file1.txt and - /directory2/file2.txt. With FlattenFoldersOnExtract set to false, - the files created will be \directory1\file1.txt and \directory2\file2.txt. - With the property set to true, the files created are file1.txt and file2.txt. - - - - - - - The compression strategy to use for all entries. - - - - Set the Strategy used by the ZLIB-compatible compressor, when - compressing entries using the DEFLATE method. Different compression - strategies work better on different sorts of data. The strategy - parameter can affect the compression ratio and the speed of - compression but not the correctness of the compresssion. For more - information see Ionic.Zlib.CompressionStrategy. - - - - - The name of the ZipFile, on disk. - - - - - - When the ZipFile instance was created by reading an archive using - one of the ZipFile.Read methods, this property represents the name - of the zip file that was read. When the ZipFile instance was - created by using the no-argument constructor, this value is null - (Nothing in VB). - - - - If you use the no-argument constructor, and you then explicitly set this - property, when you call , this name will - specify the name of the zip file created. Doing so is equivalent to - calling . When instantiating a - ZipFile by reading from a stream or byte array, the Name - property remains null. When saving to a stream, the Name - property is implicitly set to null. - - - - - - Sets the compression level to be used for entries subsequently added to - the zip archive. - - - - - Varying the compression level used on entries can affect the - size-vs-speed tradeoff when compression and decompressing data streams - or files. - - - - As with some other properties on the ZipFile class, like , , and , setting this property on a ZipFile - instance will cause the specified CompressionLevel to be used on all - items that are subsequently added to the - ZipFile instance. If you set this property after you have added - items to the ZipFile, but before you have called Save(), - those items will not use the specified compression level. - - - - If you do not set this property, the default compression level is used, - which normally gives a good balance of compression efficiency and - compression speed. In some tests, using BestCompression can - double the time it takes to compress, while delivering just a small - increase in compression efficiency. This behavior will vary with the - type of data you compress. If you are in doubt, just leave this setting - alone, and accept the default. - - - - - - The compression method for the zipfile. - - - - By default, the compression method is CompressionMethod.Deflate. - - - - - - - A comment attached to the zip archive. - - - - - - This property is read/write. It allows the application to specify a - comment for the ZipFile, or read the comment for the - ZipFile. After setting this property, changes are only made - permanent when you call a Save() method. - - - - According to PKWARE's - zip specification, the comment is not encrypted, even if there is a - password set on the zip file. - - - - The specification does not describe how to indicate the encoding used - on a comment string. Many "compliant" zip tools and libraries use - IBM437 as the code page for comments; DotNetZip, too, follows that - practice. On the other hand, there are situations where you want a - Comment to be encoded with something else, for example using code page - 950 "Big-5 Chinese". To fill that need, DotNetZip will encode the - comment following the same procedure it follows for encoding - filenames: (a) if is - Never, it uses the default encoding (IBM437). (b) if is Always, it always uses the - alternate encoding (). (c) if is AsNecessary, it uses the - alternate encoding only if the default encoding is not sufficient for - encoding the comment - in other words if decoding the result does not - produce the original string. This decision is taken at the time of - the call to ZipFile.Save(). - - - - When creating a zip archive using this library, it is possible to change - the value of between each - entry you add, and between adding entries and the call to - Save(). Don't do this. It will likely result in a zip file that is - not readable by any tool or application. For best interoperability, leave - alone, or specify it only - once, before adding any entries to the ZipFile instance. - - - - - - - Specifies whether the Creation, Access, and Modified times for entries - added to the zip file will be emitted in “Windows format” - when the zip archive is saved. - - - - - An application creating a zip archive can use this flag to explicitly - specify that the file times for the entries should or should not be stored - in the zip archive in the format used by Windows. By default this flag is - true, meaning the Windows-format times are stored in the zip - archive. - - - - When adding an entry from a file or directory, the Creation (), Access (), and Modified () times for the given entry are - automatically set from the filesystem values. When adding an entry from a - stream or string, all three values are implicitly set to - DateTime.Now. Applications can also explicitly set those times by - calling . - - - - PKWARE's - zip specification describes multiple ways to format these times in a - zip file. One is the format Windows applications normally use: 100ns ticks - since January 1, 1601 UTC. The other is a format Unix applications typically - use: seconds since January 1, 1970 UTC. Each format can be stored in an - "extra field" in the zip entry when saving the zip archive. The former - uses an extra field with a Header Id of 0x000A, while the latter uses a - header ID of 0x5455, although you probably don't need to know that. - - - - Not all tools and libraries can interpret these fields. Windows - compressed folders is one that can read the Windows Format timestamps, - while I believe the Infozip - tools can read the Unix format timestamps. Some tools and libraries - may be able to read only one or the other. DotNetZip can read or write - times in either or both formats. - - - - The times stored are taken from , , and . - - - - The value set here applies to all entries subsequently added to the - ZipFile. - - - - This property is not mutually exclusive of the property. It is possible and - legal and valid to produce a zip file that contains timestamps encoded in - the Unix format as well as in the Windows format, in addition to the LastModified time attached to each - entry in the archive, a time that is always stored in "DOS format". And, - notwithstanding the names PKWare uses for these time formats, any of them - can be read and written by any computer, on any operating system. But, - there are no guarantees that a program running on Mac or Linux will - gracefully handle a zip file with "Windows" formatted times, or that an - application that does not use DotNetZip but runs on Windows will be able to - handle file times in Unix format. - - - - When in doubt, test. Sorry, I haven't got a complete list of tools and - which sort of timestamps they can use and will tolerate. If you get any - good information and would like to pass it on, please do so and I will - include that information in this documentation. - - - - - This example shows how to save a zip file that contains file timestamps - in a format normally used by Unix. - - using (var zip = new ZipFile()) - { - // produce a zip file the Mac will like - zip.EmitTimesInWindowsFormatWhenSaving = false; - zip.EmitTimesInUnixFormatWhenSaving = true; - zip.AddDirectory(directoryToZip, "files"); - zip.Save(outputFile); - } - - - - Using zip As New ZipFile - '' produce a zip file the Mac will like - zip.EmitTimesInWindowsFormatWhenSaving = False - zip.EmitTimesInUnixFormatWhenSaving = True - zip.AddDirectory(directoryToZip, "files") - zip.Save(outputFile) - End Using - - - - - - - - - Specifies whether the Creation, Access, and Modified times - for entries added to the zip file will be emitted in "Unix(tm) - format" when the zip archive is saved. - - - - - An application creating a zip archive can use this flag to explicitly - specify that the file times for the entries should or should not be stored - in the zip archive in the format used by Unix. By default this flag is - false, meaning the Unix-format times are not stored in the zip - archive. - - - - When adding an entry from a file or directory, the Creation (), Access (), and Modified () times for the given entry are - automatically set from the filesystem values. When adding an entry from a - stream or string, all three values are implicitly set to DateTime.Now. - Applications can also explicitly set those times by calling . - - - - PKWARE's - zip specification describes multiple ways to format these times in a - zip file. One is the format Windows applications normally use: 100ns ticks - since January 1, 1601 UTC. The other is a format Unix applications - typically use: seconds since January 1, 1970 UTC. Each format can be - stored in an "extra field" in the zip entry when saving the zip - archive. The former uses an extra field with a Header Id of 0x000A, while - the latter uses a header ID of 0x5455, although you probably don't need to - know that. - - - - Not all tools and libraries can interpret these fields. Windows - compressed folders is one that can read the Windows Format timestamps, - while I believe the Infozip - tools can read the Unix format timestamps. Some tools and libraries may be - able to read only one or the other. DotNetZip can read or write times in - either or both formats. - - - - The times stored are taken from , , and . - - - - This property is not mutually exclusive of the property. It is possible and - legal and valid to produce a zip file that contains timestamps encoded in - the Unix format as well as in the Windows format, in addition to the LastModified time attached to each - entry in the zip archive, a time that is always stored in "DOS - format". And, notwithstanding the names PKWare uses for these time - formats, any of them can be read and written by any computer, on any - operating system. But, there are no guarantees that a program running on - Mac or Linux will gracefully handle a zip file with "Windows" formatted - times, or that an application that does not use DotNetZip but runs on - Windows will be able to handle file times in Unix format. - - - - When in doubt, test. Sorry, I haven't got a complete list of tools and - which sort of timestamps they can use and will tolerate. If you get any - good information and would like to pass it on, please do so and I will - include that information in this documentation. - - - - - - - - - Indicates whether verbose output is sent to the during AddXxx() and - ReadXxx() operations. - - - - This is a synthetic property. It returns true if the is non-null. - - - - - Returns true if an entry by the given name exists in the ZipFile. - - - the name of the entry to find - true if an entry with the given name exists; otherwise false. - - - - - Indicates whether to perform case-sensitive matching on the filename when - retrieving entries in the zipfile via the string-based indexer. - - - - The default value is false, which means don't do case-sensitive - matching. In other words, retrieving zip["ReadMe.Txt"] is the same as - zip["readme.txt"]. It really makes sense to set this to true only - if you are not running on Windows, which has case-insensitive - filenames. But since this library is not built for non-Windows platforms, - in most cases you should just leave this property alone. - - - - - Indicates whether to encode entry filenames and entry comments using Unicode - (UTF-8). - - - - - The - PKWare zip specification provides for encoding file names and file - comments in either the IBM437 code page, or in UTF-8. This flag selects - the encoding according to that specification. By default, this flag is - false, and filenames and comments are encoded into the zip file in the - IBM437 codepage. Setting this flag to true will specify that filenames - and comments that cannot be encoded with IBM437 will be encoded with - UTF-8. - - - - Zip files created with strict adherence to the PKWare specification with - respect to UTF-8 encoding can contain entries with filenames containing - any combination of Unicode characters, including the full range of - characters from Chinese, Latin, Hebrew, Greek, Cyrillic, and many other - alphabets. However, because at this time, the UTF-8 portion of the PKWare - specification is not broadly supported by other zip libraries and - utilities, such zip files may not be readable by your favorite zip tool or - archiver. In other words, interoperability will decrease if you set this - flag to true. - - - - In particular, Zip files created with strict adherence to the PKWare - specification with respect to UTF-8 encoding will not work well with - Explorer in Windows XP or Windows Vista, because Windows compressed - folders, as far as I know, do not support UTF-8 in zip files. Vista can - read the zip files, but shows the filenames incorrectly. Unpacking from - Windows Vista Explorer will result in filenames that have rubbish - characters in place of the high-order UTF-8 bytes. - - - - Also, zip files that use UTF-8 encoding will not work well with Java - applications that use the java.util.zip classes, as of v5.0 of the Java - runtime. The Java runtime does not correctly implement the PKWare - specification in this regard. - - - - As a result, we have the unfortunate situation that "correct" behavior by - the DotNetZip library with regard to Unicode encoding of filenames during - zip creation will result in zip files that are readable by strictly - compliant and current tools (for example the most recent release of the - commercial WinZip tool); but these zip files will not be readable by - various other tools or libraries, including Windows Explorer. - - - - The DotNetZip library can read and write zip files with UTF8-encoded - entries, according to the PKware spec. If you use DotNetZip for both - creating and reading the zip file, and you use UTF-8, there will be no - loss of information in the filenames. For example, using a self-extractor - created by this library will allow you to unpack files correctly with no - loss of information in the filenames. - - - - If you do not set this flag, it will remain false. If this flag is false, - your ZipFile will encode all filenames and comments using the - IBM437 codepage. This can cause "loss of information" on some filenames, - but the resulting zipfile will be more interoperable with other - utilities. As an example of the loss of information, diacritics can be - lost. The o-tilde character will be down-coded to plain o. The c with a - cedilla (Unicode 0xE7) used in Portugese will be downcoded to a c. - Likewise, the O-stroke character (Unicode 248), used in Danish and - Norwegian, will be down-coded to plain o. Chinese characters cannot be - represented in codepage IBM437; when using the default encoding, Chinese - characters in filenames will be represented as ?. These are all examples - of "information loss". - - - - The loss of information associated to the use of the IBM437 encoding is - inconvenient, and can also lead to runtime errors. For example, using - IBM437, any sequence of 4 Chinese characters will be encoded as ????. If - your application creates a ZipFile, then adds two files, each with - names of four Chinese characters each, this will result in a duplicate - filename exception. In the case where you add a single file with a name - containing four Chinese characters, calling Extract() on the entry that - has question marks in the filename will result in an exception, because - the question mark is not legal for use within filenames on Windows. These - are just a few examples of the problems associated to loss of information. - - - - This flag is independent of the encoding of the content within the entries - in the zip file. Think of the zip file as a container - it supports an - encoding. Within the container are other "containers" - the file entries - themselves. The encoding within those entries is independent of the - encoding of the zip archive container for those entries. - - - - Rather than specify the encoding in a binary fashion using this flag, an - application can specify an arbitrary encoding via the property. Setting the encoding - explicitly when creating zip archives will result in non-compliant zip - files that, curiously, are fairly interoperable. The challenge is, the - PKWare specification does not provide for a way to specify that an entry - in a zip archive uses a code page that is neither IBM437 nor UTF-8. - Therefore if you set the encoding explicitly when creating a zip archive, - you must take care upon reading the zip archive to use the same code page. - If you get it wrong, the behavior is undefined and may result in incorrect - filenames, exceptions, stomach upset, hair loss, and acne. - - - - - - - Specify whether to use ZIP64 extensions when saving a zip archive. - - - - - - When creating a zip file, the default value for the property is . is - safest, in the sense that you will not get an Exception if a pre-ZIP64 - limit is exceeded. - - - - You may set the property at any time before calling Save(). - - - - When reading a zip file via the Zipfile.Read() method, DotNetZip - will properly read ZIP64-endowed zip archives, regardless of the value of - this property. DotNetZip will always read ZIP64 archives. This property - governs only whether DotNetZip will write them. Therefore, when updating - archives, be careful about setting this property after reading an archive - that may use ZIP64 extensions. - - - - An interesting question is, if you have set this property to - AsNecessary, and then successfully saved, does the resulting - archive use ZIP64 extensions or not? To learn this, check the property, after calling Save(). - - - - Have you thought about - donating? - - - - - - - - Indicates whether the archive requires ZIP64 extensions. - - - - - - This property is null (or Nothing in VB) if the archive has - not been saved, and there are fewer than 65334 ZipEntry items - contained in the archive. - - - - The Value is true if any of the following four conditions holds: - the uncompressed size of any entry is larger than 0xFFFFFFFF; the - compressed size of any entry is larger than 0xFFFFFFFF; the relative - offset of any entry within the zip archive is larger than 0xFFFFFFFF; or - there are more than 65534 entries in the archive. (0xFFFFFFFF = - 4,294,967,295). The result may not be known until a Save() is attempted - on the zip archive. The Value of this - property may be set only AFTER one of the Save() methods has been called. - - - - If none of the four conditions holds, and the archive has been saved, then - the Value is false. - - - - A Value of false does not indicate that the zip archive, as saved, - does not use ZIP64. It merely indicates that ZIP64 is not required. An - archive may use ZIP64 even when not required if the property is set to , or if the property is set to and the output stream was not - seekable. Use the property to determine if - the most recent Save() method resulted in an archive that utilized - the ZIP64 extensions. - - - - - - - - - Indicates whether the most recent Save() operation used ZIP64 extensions. - - - - - The use of ZIP64 extensions within an archive is not always necessary, and - for interoperability concerns, it may be desired to NOT use ZIP64 if - possible. The property can be - set to use ZIP64 extensions only when necessary. In those cases, - Sometimes applications want to know whether a Save() actually used ZIP64 - extensions. Applications can query this read-only property to learn - whether ZIP64 has been used in a just-saved ZipFile. - - - - The value is null (or Nothing in VB) if the archive has not - been saved. - - - - Non-null values (HasValue is true) indicate whether ZIP64 - extensions were used during the most recent Save() operation. The - ZIP64 extensions may have been used as required by any particular entry - because of its uncompressed or compressed size, or because the archive is - larger than 4294967295 bytes, or because there are more than 65534 entries - in the archive, or because the UseZip64WhenSaving property was set - to , or because the - UseZip64WhenSaving property was set to and the output stream was not seekable. - The value of this property does not indicate the reason the ZIP64 - extensions were used. - - - - - - - - - Indicates whether the most recent Read() operation read a zip file that uses - ZIP64 extensions. - - - - This property will return null (Nothing in VB) if you've added an entry after reading - the zip file. - - - - - The text encoding to use when writing new entries to the ZipFile, - for those entries that cannot be encoded with the default (IBM437) - encoding; or, the text encoding that was used when reading the entries - from the ZipFile. - - - - - In its - zip specification, PKWare describes two options for encoding - filenames and comments: using IBM437 or UTF-8. But, some archiving tools - or libraries do not follow the specification, and instead encode - characters using the system default code page. For example, WinRAR when - run on a machine in Shanghai may encode filenames with the Big-5 Chinese - (950) code page. This behavior is contrary to the Zip specification, but - it occurs anyway. - - - - When using DotNetZip to write zip archives that will be read by one of - these other archivers, set this property to specify the code page to use - when encoding the and for each ZipEntry in the zip file, for - values that cannot be encoded with the default codepage for zip files, - IBM437. This is why this property is "provisional". In all cases, IBM437 - is used where possible, in other words, where no loss of data would - result. It is possible, therefore, to have a given entry with a - Comment encoded in IBM437 and a FileName encoded with the - specified "provisional" codepage. - - - - Be aware that a zip file created after you've explicitly set the property to a value other than - IBM437 may not be compliant to the PKWare specification, and may not be - readable by compliant archivers. On the other hand, many (most?) - archivers are non-compliant and can read zip files created in arbitrary - code pages. The trick is to use or specify the proper codepage when - reading the zip. - - - - When creating a zip archive using this library, it is possible to change - the value of between each - entry you add, and between adding entries and the call to - Save(). Don't do this. It will likely result in a zipfile that is - not readable. For best interoperability, either leave alone, or specify it only once, - before adding any entries to the ZipFile instance. There is one - exception to this recommendation, described later. - - - - When using an arbitrary, non-UTF8 code page for encoding, there is no - standard way for the creator application - whether DotNetZip, WinZip, - WinRar, or something else - to formally specify in the zip file which - codepage has been used for the entries. As a result, readers of zip files - are not able to inspect the zip file and determine the codepage that was - used for the entries contained within it. It is left to the application - or user to determine the necessary codepage when reading zip files encoded - this way. In other words, if you explicitly specify the codepage when you - create the zipfile, you must explicitly specify the same codepage when - reading the zipfile. - - - - The way you specify the code page to use when reading a zip file varies - depending on the tool or library you use to read the zip. In DotNetZip, - you use a ZipFile.Read() method that accepts an encoding parameter. It - isn't possible with Windows Explorer, as far as I know, to specify an - explicit codepage to use when reading a zip. If you use an incorrect - codepage when reading a zipfile, you will get entries with filenames that - are incorrect, and the incorrect filenames may even contain characters - that are not legal for use within filenames in Windows. Extracting entries - with illegal characters in the filenames will lead to exceptions. It's too - bad, but this is just the way things are with code pages in zip - files. Caveat Emptor. - - - - Example: Suppose you create a zipfile that contains entries with - filenames that have Danish characters. If you use equal to "iso-8859-1" (cp 28591), - the filenames will be correctly encoded in the zip. But, to read that - zipfile correctly, you have to specify the same codepage at the time you - read it. If try to read that zip file with Windows Explorer or another - application that is not flexible with respect to the codepage used to - decode filenames in zipfiles, you will get a filename like "Inf°.txt". - - - - When using DotNetZip to read a zip archive, and the zip archive uses an - arbitrary code page, you must specify the encoding to use before or when - the Zipfile is READ. This means you must use a ZipFile.Read() - method that allows you to specify a System.Text.Encoding parameter. Setting - the ProvisionalAlternateEncoding property after your application has read in - the zip archive will not affect the entry names of entries that have already - been read in. - - - - And now, the exception to the rule described above. One strategy for - specifying the code page for a given zip file is to describe the code page - in a human-readable form in the Zip comment. For example, the comment may - read "Entries in this archive are encoded in the Big5 code page". For - maximum interoperability, the zip comment in this case should be encoded - in the default, IBM437 code page. In this case, the zip comment is - encoded using a different page than the filenames. To do this, Specify - ProvisionalAlternateEncoding to your desired region-specific code - page, once before adding any entries, and then reset - ProvisionalAlternateEncoding to IBM437 before setting the property and calling Save(). - - - - - This example shows how to read a zip file using the Big-5 Chinese code page - (950), and extract each entry in the zip file. For this code to work as - desired, the Zipfile must have been created using the big5 code page - (CP950). This is typical, for example, when using WinRar on a machine with - CP950 set as the default code page. In that case, the names of entries - within the Zip archive will be stored in that code page, and reading the zip - archive must be done using that code page. If the application did not use - the correct code page in ZipFile.Read(), then names of entries within the - zip archive would not be correctly retrieved. - - using (var zip = ZipFile.Read(zipFileName, System.Text.Encoding.GetEncoding("big5"))) - { - // retrieve and extract an entry using a name encoded with CP950 - zip[MyDesiredEntry].Extract("unpack"); - } - - - - Using zip As ZipFile = ZipFile.Read(ZipToExtract, System.Text.Encoding.GetEncoding("big5")) - ' retrieve and extract an entry using a name encoded with CP950 - zip(MyDesiredEntry).Extract("unpack") - End Using - - - - DefaultEncoding - - - - A Text Encoding to use when encoding the filenames and comments for - all the ZipEntry items, during a ZipFile.Save() operation. - - - - Whether the encoding specified here is used during the save depends - on . - - - - - - A flag that tells if and when this instance should apply - AlternateEncoding to encode the filenames and comments associated to - of ZipEntry objects contained within this instance. - - - - - The default text encoding used in zip archives. It is numeric 437, also - known as IBM437. - - - - - - Gets or sets the TextWriter to which status messages are delivered - for the instance. - - - - If the TextWriter is set to a non-null value, then verbose output is sent - to the TextWriter during Add, Read, Save and - Extract operations. Typically, console applications might use - Console.Out and graphical or headless applications might use a - System.IO.StringWriter. The output of this is suitable for viewing - by humans. - - - - - In this example, a console application instantiates a ZipFile, then - sets the StatusMessageTextWriter to Console.Out. At that - point, all verbose status messages for that ZipFile are sent to the - console. - - - - using (ZipFile zip= ZipFile.Read(FilePath)) - { - zip.StatusMessageTextWriter= System.Console.Out; - // messages are sent to the console during extraction - zip.ExtractAll(); - } - - - - Using zip As ZipFile = ZipFile.Read(FilePath) - zip.StatusMessageTextWriter= System.Console.Out - 'Status Messages will be sent to the console during extraction - zip.ExtractAll() - End Using - - - - In this example, a Windows Forms application instantiates a - ZipFile, then sets the StatusMessageTextWriter to a - StringWriter. At that point, all verbose status messages for that - ZipFile are sent to the StringWriter. - - - - var sw = new System.IO.StringWriter(); - using (ZipFile zip= ZipFile.Read(FilePath)) - { - zip.StatusMessageTextWriter= sw; - zip.ExtractAll(); - } - Console.WriteLine("{0}", sw.ToString()); - - - - Dim sw as New System.IO.StringWriter - Using zip As ZipFile = ZipFile.Read(FilePath) - zip.StatusMessageTextWriter= sw - zip.ExtractAll() - End Using - 'Status Messages are now available in sw - - - - - - - Gets or sets the name for the folder to store the temporary file - this library writes when saving a zip archive. - - - - - This library will create a temporary file when saving a Zip archive to a - file. This file is written when calling one of the Save() methods - that does not save to a stream, or one of the SaveSelfExtractor() - methods. - - - - By default, the library will create the temporary file in the directory - specified for the file itself, via the property or via - the method. - - - - Setting this property allows applications to override this default - behavior, so that the library will create the temporary file in the - specified folder. For example, to have the library create the temporary - file in the current working directory, regardless where the ZipFile - is saved, specfy ".". To revert to the default behavior, set this - property to null (Nothing in VB). - - - - When setting the property to a non-null value, the folder specified must - exist; if it does not an exception is thrown. The application should have - write and delete permissions on the folder. The permissions are not - explicitly checked ahead of time; if the application does not have the - appropriate rights, an exception will be thrown at the time Save() - is called. - - - - There is no temporary file created when reading a zip archive. When - saving to a Stream, there is no temporary file created. For example, if - the application is an ASP.NET application and calls Save() - specifying the Response.OutputStream as the output stream, there is - no temporary file created. - - - - - Thrown when setting the property if the directory does not exist. - - - - - - Sets the password to be used on the ZipFile instance. - - - - - - When writing a zip archive, this password is applied to the entries, not - to the zip archive itself. It applies to any ZipEntry subsequently - added to the ZipFile, using one of the AddFile, - AddDirectory, AddEntry, or AddItem methods, etc. - When reading a zip archive, this property applies to any entry - subsequently extracted from the ZipFile using one of the Extract - methods on the ZipFile class. - - - - When writing a zip archive, keep this in mind: though the password is set - on the ZipFile object, according to the Zip spec, the "directory" of the - archive - in other words the list of entries or files contained in the archive - is - not encrypted with the password, or protected in any way. If you set the - Password property, the password actually applies to individual entries - that are added to the archive, subsequent to the setting of this property. - The list of filenames in the archive that is eventually created will - appear in clear text, but the contents of the individual files are - encrypted. This is how Zip encryption works. - - - - One simple way around this limitation is to simply double-wrap sensitive - filenames: Store the files in a zip file, and then store that zip file - within a second, "outer" zip file. If you apply a password to the outer - zip file, then readers will be able to see that the outer zip file - contains an inner zip file. But readers will not be able to read the - directory or file list of the inner zip file. - - - - If you set the password on the ZipFile, and then add a set of files - to the archive, then each entry is encrypted with that password. You may - also want to change the password between adding different entries. If you - set the password, add an entry, then set the password to null - (Nothing in VB), and add another entry, the first entry is - encrypted and the second is not. If you call AddFile(), then set - the Password property, then call ZipFile.Save, the file - added will not be password-protected, and no warning will be generated. - - - - When setting the Password, you may also want to explicitly set the property, to specify how to encrypt the entries added - to the ZipFile. If you set the Password to a non-null value and do not - set , then PKZip 2.0 ("Weak") encryption is used. - This encryption is relatively weak but is very interoperable. If you set - the password to a null value (Nothing in VB), Encryption is - reset to None. - - - - All of the preceding applies to writing zip archives, in other words when - you use one of the Save methods. To use this property when reading or an - existing ZipFile, do the following: set the Password property on the - ZipFile, then call one of the Extract() overloads on the . In this case, the entry is extracted using the - Password that is specified on the ZipFile instance. If you - have not set the Password property, then the password is - null, and the entry is extracted with no password. - - - - If you set the Password property on the ZipFile, then call - Extract() an entry that has not been encrypted with a password, the - password is not used for that entry, and the ZipEntry is extracted - as normal. In other words, the password is used only if necessary. - - - - The class also has a Password property. It takes precedence - over this property on the ZipFile. Typically, you would use the - per-entry Password when most entries in the zip archive use one password, - and a few entries use a different password. If all entries in the zip - file use the same password, then it is simpler to just set this property - on the ZipFile itself, whether creating a zip archive or extracting - a zip archive. - - - - - - - This example creates a zip file, using password protection for the - entries, and then extracts the entries from the zip file. When creating - the zip file, the Readme.txt file is not protected with a password, but - the other two are password-protected as they are saved. During extraction, - each file is extracted with the appropriate password. - - - // create a file with encryption - using (ZipFile zip = new ZipFile()) - { - zip.AddFile("ReadMe.txt"); - zip.Password= "!Secret1"; - zip.AddFile("MapToTheSite-7440-N49th.png"); - zip.AddFile("2008-Regional-Sales-Report.pdf"); - zip.Save("EncryptedArchive.zip"); - } - - // extract entries that use encryption - using (ZipFile zip = ZipFile.Read("EncryptedArchive.zip")) - { - zip.Password= "!Secret1"; - zip.ExtractAll("extractDir"); - } - - - - - Using zip As New ZipFile - zip.AddFile("ReadMe.txt") - zip.Password = "123456!" - zip.AddFile("MapToTheSite-7440-N49th.png") - zip.Password= "!Secret1"; - zip.AddFile("2008-Regional-Sales-Report.pdf") - zip.Save("EncryptedArchive.zip") - End Using - - - ' extract entries that use encryption - Using (zip as ZipFile = ZipFile.Read("EncryptedArchive.zip")) - zip.Password= "!Secret1" - zip.ExtractAll("extractDir") - End Using - - - - - - ZipFile.Encryption - ZipEntry.Password - - - - The action the library should take when extracting a file that already - exists. - - - - - This property affects the behavior of the Extract methods (one of the - Extract() or ExtractWithPassword() overloads), when - extraction would would overwrite an existing filesystem file. If you do - not set this property, the library throws an exception when extracting an - entry would overwrite an existing file. - - - - This property has no effect when extracting to a stream, or when the file - to be extracted does not already exist. - - - - - - - The action the library should take when an error is encountered while - opening or reading files as they are saved into a zip archive. - - - - - Errors can occur as a file is being saved to the zip archive. For - example, the File.Open may fail, or a File.Read may fail, because of - lock conflicts or other reasons. - - - - The first problem might occur after having called AddDirectory() on a - directory that contains a Clipper .dbf file; the file is locked by - Clipper and cannot be opened for read by another process. An example of - the second problem might occur when trying to zip a .pst file that is in - use by Microsoft Outlook. Outlook locks a range on the file, which allows - other processes to open the file, but not read it in its entirety. - - - - This property tells DotNetZip what you would like to do in the case of - these errors. The primary options are: ZipErrorAction.Throw to - throw an exception (this is the default behavior if you don't set this - property); ZipErrorAction.Skip to Skip the file for which there - was an error and continue saving; ZipErrorAction.Retry to Retry - the entry that caused the problem; or - ZipErrorAction.InvokeErrorEvent to invoke an event handler. - - - - This property is implicitly set to ZipErrorAction.InvokeErrorEvent - if you add a handler to the event. If you set - this property to something other than - ZipErrorAction.InvokeErrorEvent, then the ZipError - event is implicitly cleared. What it means is you can set one or the - other (or neither), depending on what you want, but you never need to set - both. - - - - As with some other properties on the ZipFile class, like , , and , setting this property on a ZipFile - instance will cause the specified ZipErrorAction to be used on all - items that are subsequently added to the - ZipFile instance. If you set this property after you have added - items to the ZipFile, but before you have called Save(), - those items will not use the specified error handling action. - - - - If you want to handle any errors that occur with any entry in the zip - file in the same way, then set this property once, before adding any - entries to the zip archive. - - - - If you set this property to ZipErrorAction.Skip and you'd like to - learn which files may have been skipped after a Save(), you can - set the on the ZipFile before - calling Save(). A message will be emitted into that writer for - each skipped file, if any. - - - - - - This example shows how to tell DotNetZip to skip any files for which an - error is generated during the Save(). - - Public Sub SaveZipFile() - Dim SourceFolder As String = "fodder" - Dim DestFile As String = "eHandler.zip" - Dim sw as New StringWriter - Using zipArchive As ZipFile = New ZipFile - ' Tell DotNetZip to skip any files for which it encounters an error - zipArchive.ZipErrorAction = ZipErrorAction.Skip - zipArchive.StatusMessageTextWriter = sw - zipArchive.AddDirectory(SourceFolder) - zipArchive.Save(DestFile) - End Using - ' examine sw here to see any messages - End Sub - - - - - - - - - - The Encryption to use for entries added to the ZipFile. - - - - - Set this when creating a zip archive, or when updating a zip archive. The - specified Encryption is applied to the entries subsequently added to the - ZipFile instance. Applications do not need to set the - Encryption property when reading or extracting a zip archive. - - - - If you set this to something other than EncryptionAlgorithm.None, you - will also need to set the . - - - - As with some other properties on the ZipFile class, like and , setting this - property on a ZipFile instance will cause the specified - EncryptionAlgorithm to be used on all items - that are subsequently added to the ZipFile instance. In other - words, if you set this property after you have added items to the - ZipFile, but before you have called Save(), those items will - not be encrypted or protected with a password in the resulting zip - archive. To get a zip archive with encrypted entries, set this property, - along with the property, before calling - AddFile, AddItem, or AddDirectory (etc.) on the - ZipFile instance. - - - - If you read a ZipFile, you can modify the Encryption on an - encrypted entry, only by setting the Encryption property on the - ZipEntry itself. Setting the Encryption property on the - ZipFile, once it has been created via a call to - ZipFile.Read(), does not affect entries that were previously read. - - - - For example, suppose you read a ZipFile, and there is an encrypted - entry. Setting the Encryption property on that ZipFile and - then calling Save() on the ZipFile does not update the - Encryption used for the entries in the archive. Neither is an - exception thrown. Instead, what happens during the Save() is that - all previously existing entries are copied through to the new zip archive, - with whatever encryption and password that was used when originally - creating the zip archive. Upon re-reading that archive, to extract - entries, applications should use the original password or passwords, if - any. - - - - Suppose an application reads a ZipFile, and there is an encrypted - entry. Setting the Encryption property on that ZipFile and - then adding new entries (via AddFile(), AddEntry(), etc) - and then calling Save() on the ZipFile does not update the - Encryption on any of the entries that had previously been in the - ZipFile. The Encryption property applies only to the - newly-added entries. - - - - - - - This example creates a zip archive that uses encryption, and then extracts - entries from the archive. When creating the zip archive, the ReadMe.txt - file is zipped without using a password or encryption. The other files - use encryption. - - - - // Create a zip archive with AES Encryption. - using (ZipFile zip = new ZipFile()) - { - zip.AddFile("ReadMe.txt"); - zip.Encryption= EncryptionAlgorithm.WinZipAes256; - zip.Password= "Top.Secret.No.Peeking!"; - zip.AddFile("7440-N49th.png"); - zip.AddFile("2008-Regional-Sales-Report.pdf"); - zip.Save("EncryptedArchive.zip"); - } - - // Extract a zip archive that uses AES Encryption. - // You do not need to specify the algorithm during extraction. - using (ZipFile zip = ZipFile.Read("EncryptedArchive.zip")) - { - zip.Password= "Top.Secret.No.Peeking!"; - zip.ExtractAll("extractDirectory"); - } - - - - ' Create a zip that uses Encryption. - Using zip As New ZipFile() - zip.Encryption= EncryptionAlgorithm.WinZipAes256 - zip.Password= "Top.Secret.No.Peeking!" - zip.AddFile("ReadMe.txt") - zip.AddFile("7440-N49th.png") - zip.AddFile("2008-Regional-Sales-Report.pdf") - zip.Save("EncryptedArchive.zip") - End Using - - ' Extract a zip archive that uses AES Encryption. - ' You do not need to specify the algorithm during extraction. - Using (zip as ZipFile = ZipFile.Read("EncryptedArchive.zip")) - zip.Password= "Top.Secret.No.Peeking!" - zip.ExtractAll("extractDirectory") - End Using - - - - - ZipFile.Password - ZipEntry.Encryption - - - - A callback that allows the application to specify the compression level - to use for entries subsequently added to the zip archive. - - - - - - With this callback, the DotNetZip library allows the application to - determine whether compression will be used, at the time of the - Save. This may be useful if the application wants to favor - speed over size, and wants to defer the decision until the time of - Save. - - - - Typically applications set the property on - the ZipFile or on each ZipEntry to determine the level of - compression used. This is done at the time the entry is added to the - ZipFile. Setting the property to - Ionic.Zlib.CompressionLevel.None means no compression will be used. - - - - This callback allows the application to defer the decision on the - CompressionLevel to use, until the time of the call to - ZipFile.Save(). The callback is invoked once per ZipEntry, - at the time the data for the entry is being written out as part of a - Save() operation. The application can use whatever criteria it - likes in determining the level to return. For example, an application may - wish that no .mp3 files should be compressed, because they are already - compressed and the extra compression is not worth the CPU time incurred, - and so can return None for all .mp3 entries. - - - - The library determines whether compression will be attempted for an entry - this way: If the entry is a zero length file, or a directory, no - compression is used. Otherwise, if this callback is set, it is invoked - and the CompressionLevel is set to the return value. If this - callback has not been set, then the previously set value for - CompressionLevel is used. - - - - - - - The maximum size of an output segment, when saving a split Zip file. - - - - Set this to a non-zero value before calling or to specify that the ZipFile should be saved as a - split archive, also sometimes called a spanned archive. Some also - call them multi-file archives. - - - - A split zip archive is saved in a set of discrete filesystem files, - rather than in a single file. This is handy when transmitting the - archive in email or some other mechanism that has a limit to the size of - each file. The first file in a split archive will be named - basename.z01, the second will be named basename.z02, and - so on. The final file is named basename.zip. According to the zip - specification from PKWare, the minimum value is 65536, for a 64k segment - size. The maximum number of segments allows in a split archive is 99. - - - - The value of this property determines the maximum size of a split - segment when writing a split archive. For example, suppose you have a - ZipFile that would save to a single file of 200k. If you set the - MaxOutputSegmentSize to 65536 before calling Save(), you - will get four distinct output files. On the other hand if you set this - property to 256k, then you will get a single-file archive for that - ZipFile. - - - - The size of each split output file will be as large as possible, up to - the maximum size set here. The zip specification requires that some data - fields in a zip archive may not span a split boundary, and an output - segment may be smaller than the maximum if necessary to avoid that - problem. Also, obviously the final segment of the archive may be smaller - than the maximum segment size. Segments will never be larger than the - value set with this property. - - - - You can save a split Zip file only when saving to a regular filesystem - file. It's not possible to save a split zip file as a self-extracting - archive, nor is it possible to save a split zip file to a stream. When - saving to a SFX or to a Stream, this property is ignored. - - - - About interoperability: Split or spanned zip files produced by DotNetZip - can be read by WinZip or PKZip, and vice-versa. Segmented zip files may - not be readable by other tools, if those other tools don't support zip - spanning or splitting. When in doubt, test. I don't believe Windows - Explorer can extract a split archive. - - - - This property has no effect when reading a split archive. You can read - a split archive in the normal way with DotNetZip. - - - - When saving a zip file, if you want a regular zip file rather than a - split zip file, don't set this property, or set it to Zero. - - - - If you read a split archive, with and - then subsequently call ZipFile.Save(), unless you set this - property before calling Save(), you will get a normal, - single-file archive. - - - - - - - - Returns the number of segments used in the most recent Save() operation. - - - - This is normally zero, unless you have set the property. If you have set , and then you save a file, after the call to - Save() completes, you can read this value to learn the number of segments that - were created. - - - If you call Save("Archive.zip"), and it creates 5 segments, then you - will have filesystem files named Archive.z01, Archive.z02, Archive.z03, - Archive.z04, and Archive.zip, and the value of this property will be 5. - - - - - - - The size threshold for an entry, above which a parallel deflate is used. - - - - - - DotNetZip will use multiple threads to compress any ZipEntry, - if the entry is larger than the given size. Zero means "always - use parallel deflate", while -1 means "never use parallel - deflate". The default value for this property is 512k. Aside - from the special values of 0 and 1, the minimum value is 65536. - - - - If the entry size cannot be known before compression, as with a - read-forward stream, then Parallel deflate will never be - performed, unless the value of this property is zero. - - - - A parallel deflate operations will speed up the compression of - large files, on computers with multiple CPUs or multiple CPU - cores. For files above 1mb, on a dual core or dual-cpu (2p) - machine, the time required to compress the file can be 70% of the - single-threaded deflate. For very large files on 4p machines the - compression can be done in 30% of the normal time. The downside - is that parallel deflate consumes extra memory during the deflate, - and the deflation is not as effective. - - - - Parallel deflate tends to yield slightly less compression when - compared to as single-threaded deflate; this is because the original - data stream is split into multiple independent buffers, each of which - is compressed in parallel. But because they are treated - independently, there is no opportunity to share compression - dictionaries. For that reason, a deflated stream may be slightly - larger when compressed using parallel deflate, as compared to a - traditional single-threaded deflate. Sometimes the increase over the - normal deflate is as much as 5% of the total compressed size. For - larger files it can be as small as 0.1%. - - - - Multi-threaded compression does not give as much an advantage when - using Encryption. This is primarily because encryption tends to slow - down the entire pipeline. Also, multi-threaded compression gives less - of an advantage when using lower compression levels, for example . You may have to - perform some tests to determine the best approach for your situation. - - - - - - - - - - The maximum number of buffer pairs to use when performing - parallel compression. - - - - - This property sets an upper limit on the number of memory - buffer pairs to create when performing parallel - compression. The implementation of the parallel - compression stream allocates multiple buffers to - facilitate parallel compression. As each buffer fills up, - the stream uses - ThreadPool.QueueUserWorkItem() to compress those - buffers in a background threadpool thread. After a buffer - is compressed, it is re-ordered and written to the output - stream. - - - - A higher number of buffer pairs enables a higher degree of - parallelism, which tends to increase the speed of compression on - multi-cpu computers. On the other hand, a higher number of buffer - pairs also implies a larger memory consumption, more active worker - threads, and a higher cpu utilization for any compression. This - property enables the application to limit its memory consumption and - CPU utilization behavior depending on requirements. - - - - For each compression "task" that occurs in parallel, there are 2 - buffers allocated: one for input and one for output. This property - sets a limit for the number of pairs. The total amount of storage - space allocated for buffering will then be (N*S*2), where N is the - number of buffer pairs, S is the size of each buffer (). By default, DotNetZip allocates 4 buffer - pairs per CPU core, so if your machine has 4 cores, and you retain - the default buffer size of 128k, then the - ParallelDeflateOutputStream will use 4 * 4 * 2 * 128kb of buffer - memory in total, or 4mb, in blocks of 128kb. If you then set this - property to 8, then the number will be 8 * 2 * 128kb of buffer - memory, or 2mb. - - - - CPU utilization will also go up with additional buffers, because a - larger number of buffer pairs allows a larger number of background - threads to compress in parallel. If you find that parallel - compression is consuming too much memory or CPU, you can adjust this - value downward. - - - - The default value is 16. Different values may deliver better or - worse results, depending on your priorities and the dynamic - performance characteristics of your storage and compute resources. - - - - This property is not the number of buffer pairs to use; it is an - upper limit. An illustration: Suppose you have an application that - uses the default value of this property (which is 16), and it runs - on a machine with 2 CPU cores. In that case, DotNetZip will allocate - 4 buffer pairs per CPU core, for a total of 8 pairs. The upper - limit specified by this property has no effect. - - - - The application can set this value at any time - before calling ZipFile.Save(). - - - - - - - - Provides a string representation of the instance. - a string representation of the instance. - - - - Returns the version number on the DotNetZip assembly. - - - - - This property is exposed as a convenience. Callers could also get the - version value by retrieving GetName().Version on the - System.Reflection.Assembly object pointing to the DotNetZip - assembly. But sometimes it is not clear which assembly is being loaded. - This property makes it clear. - - - This static property is primarily useful for diagnostic purposes. - - - - - - Creates a new ZipFile instance, using the specified filename. - - - - - Applications can use this constructor to create a new ZipFile for writing, - or to slurp in an existing zip archive for read and update purposes. - - - - To create a new zip archive, an application can call this constructor, - passing the name of a file that does not exist. The name may be a fully - qualified path. Then the application can add directories or files to the - ZipFile via AddDirectory(), AddFile(), AddItem() - and then write the zip archive to the disk by calling Save(). The - zip file is not actually opened and written to the disk until the - application calls ZipFile.Save(). At that point the new zip file - with the given name is created. - - - - If you won't know the name of the Zipfile until the time you call - ZipFile.Save(), or if you plan to save to a stream (which has no - name), then you should use the no-argument constructor. - - - - The application can also call this constructor to read an existing zip - archive. passing the name of a valid zip file that does exist. But, it's - better form to use the static method, - passing the name of the zip file, because using ZipFile.Read() in - your code communicates very clearly what you are doing. In either case, - the file is then read into the ZipFile instance. The app can then - enumerate the entries or can modify the zip file, for example adding - entries, removing entries, changing comments, and so on. - - - - One advantage to this parameterized constructor: it allows applications to - use the same code to add items to a zip archive, regardless of whether the - zip file exists. - - - - Instances of the ZipFile class are not multi-thread safe. You may - not party on a single instance with multiple threads. You may have - multiple threads that each use a distinct ZipFile instance, or you - can synchronize multi-thread access to a single instance. - - - - By the way, since DotNetZip is so easy to use, don't you think you should - donate $5 or $10? - - - - - - Thrown if name refers to an existing file that is not a valid zip file. - - - - This example shows how to create a zipfile, and add a few files into it. - - String ZipFileToCreate = "archive1.zip"; - String DirectoryToZip = "c:\\reports"; - using (ZipFile zip = new ZipFile()) - { - // Store all files found in the top level directory, into the zip archive. - String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip); - zip.AddFiles(filenames, "files"); - zip.Save(ZipFileToCreate); - } - - - - Dim ZipFileToCreate As String = "archive1.zip" - Dim DirectoryToZip As String = "c:\reports" - Using zip As ZipFile = New ZipFile() - Dim filenames As String() = System.IO.Directory.GetFiles(DirectoryToZip) - zip.AddFiles(filenames, "files") - zip.Save(ZipFileToCreate) - End Using - - - - The filename to use for the new zip archive. - - - - - Creates a new ZipFile instance, using the specified name for the - filename, and the specified Encoding. - - - - - See the documentation on the ZipFile - constructor that accepts a single string argument for basic - information on all the ZipFile constructors. - - - - The Encoding is used as the default alternate encoding for entries with - filenames or comments that cannot be encoded with the IBM437 code page. - This is equivalent to setting the property on the ZipFile - instance after construction. - - - - Instances of the ZipFile class are not multi-thread safe. You may - not party on a single instance with multiple threads. You may have - multiple threads that each use a distinct ZipFile instance, or you - can synchronize multi-thread access to a single instance. - - - - - - Thrown if name refers to an existing file that is not a valid zip file. - - - The filename to use for the new zip archive. - The Encoding is used as the default alternate - encoding for entries with filenames or comments that cannot be encoded - with the IBM437 code page. - - - - Create a zip file, without specifying a target filename or stream to save to. - - - - - See the documentation on the ZipFile - constructor that accepts a single string argument for basic - information on all the ZipFile constructors. - - - - After instantiating with this constructor and adding entries to the - archive, the application should call or - to save to a file or a - stream, respectively. The application can also set the - property and then call the no-argument method. (This - is the preferred approach for applications that use the library through - COM interop.) If you call the no-argument method - without having set the Name of the ZipFile, either through - the parameterized constructor or through the explicit property , the - Save() will throw, because there is no place to save the file. - - - Instances of the ZipFile class are not multi-thread safe. You may - have multiple threads that each use a distinct ZipFile instance, or - you can synchronize multi-thread access to a single instance. - - - - - This example creates a Zip archive called Backup.zip, containing all the files - in the directory DirectoryToZip. Files within subdirectories are not zipped up. - - using (ZipFile zip = new ZipFile()) - { - // Store all files found in the top level directory, into the zip archive. - // note: this code does not recurse subdirectories! - String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip); - zip.AddFiles(filenames, "files"); - zip.Save("Backup.zip"); - } - - - - Using zip As New ZipFile - ' Store all files found in the top level directory, into the zip archive. - ' note: this code does not recurse subdirectories! - Dim filenames As String() = System.IO.Directory.GetFiles(DirectoryToZip) - zip.AddFiles(filenames, "files") - zip.Save("Backup.zip") - End Using - - - - - - Create a zip file, specifying a text Encoding, but without specifying a - target filename or stream to save to. - - - - - See the documentation on the ZipFile - constructor that accepts a single string argument for basic - information on all the ZipFile constructors. - - - - - - The Encoding is used as the default alternate encoding for entries with - filenames or comments that cannot be encoded with the IBM437 code page. - - - - - Creates a new ZipFile instance, using the specified name for the - filename, and the specified status message writer. - - - - - See the documentation on the ZipFile - constructor that accepts a single string argument for basic - information on all the ZipFile constructors. - - - - This version of the constructor allows the caller to pass in a TextWriter, - to which verbose messages will be written during extraction or creation of - the zip archive. A console application may wish to pass - System.Console.Out to get messages on the Console. A graphical or headless - application may wish to capture the messages in a different - TextWriter, for example, a StringWriter, and then display - the messages in a TextBox, or generate an audit log of ZipFile operations. - - - - To encrypt the data for the files added to the ZipFile instance, - set the Password property after creating the ZipFile instance. - - - - Instances of the ZipFile class are not multi-thread safe. You may - not party on a single instance with multiple threads. You may have - multiple threads that each use a distinct ZipFile instance, or you - can synchronize multi-thread access to a single instance. - - - - - - Thrown if name refers to an existing file that is not a valid zip file. - - - - - using (ZipFile zip = new ZipFile("Backup.zip", Console.Out)) - { - // Store all files found in the top level directory, into the zip archive. - // note: this code does not recurse subdirectories! - // Status messages will be written to Console.Out - String[] filenames = System.IO.Directory.GetFiles(DirectoryToZip); - zip.AddFiles(filenames); - zip.Save(); - } - - - - Using zip As New ZipFile("Backup.zip", Console.Out) - ' Store all files found in the top level directory, into the zip archive. - ' note: this code does not recurse subdirectories! - ' Status messages will be written to Console.Out - Dim filenames As String() = System.IO.Directory.GetFiles(DirectoryToZip) - zip.AddFiles(filenames) - zip.Save() - End Using - - - - The filename to use for the new zip archive. - A TextWriter to use for writing - verbose status messages. - - - - Creates a new ZipFile instance, using the specified name for the - filename, the specified status message writer, and the specified Encoding. - - - - - This constructor works like the ZipFile - constructor that accepts a single string argument. See that - reference for detail on what this constructor does. - - - - This version of the constructor allows the caller to pass in a - TextWriter, and an Encoding. The TextWriter will collect - verbose messages that are generated by the library during extraction or - creation of the zip archive. A console application may wish to pass - System.Console.Out to get messages on the Console. A graphical or - headless application may wish to capture the messages in a different - TextWriter, for example, a StringWriter, and then display - the messages in a TextBox, or generate an audit log of - ZipFile operations. - - - - The Encoding is used as the default alternate encoding for entries - with filenames or comments that cannot be encoded with the IBM437 code - page. This is a equivalent to setting the property on the ZipFile - instance after construction. - - - - To encrypt the data for the files added to the ZipFile instance, - set the Password property after creating the ZipFile - instance. - - - - Instances of the ZipFile class are not multi-thread safe. You may - not party on a single instance with multiple threads. You may have - multiple threads that each use a distinct ZipFile instance, or you - can synchronize multi-thread access to a single instance. - - - - - - Thrown if fileName refers to an existing file that is not a valid zip file. - - - The filename to use for the new zip archive. - A TextWriter to use for writing verbose - status messages. - - The Encoding is used as the default alternate encoding for entries with - filenames or comments that cannot be encoded with the IBM437 code page. - - - - - Initialize a ZipFile instance by reading in a zip file. - - - - - - This method is primarily useful from COM Automation environments, when - reading or extracting zip files. In COM, it is not possible to invoke - parameterized constructors for a class. A COM Automation application can - update a zip file by using the default (no argument) - constructor, then calling Initialize() to read the contents - of an on-disk zip archive into the ZipFile instance. - - - - .NET applications are encouraged to use the ZipFile.Read() methods - for better clarity. - - - - the name of the existing zip file to read in. - - - - This is an integer indexer into the Zip archive. - - - - - This property is read-only. - - - - Internally, the ZipEntry instances that belong to the - ZipFile are stored in a Dictionary. When you use this - indexer the first time, it creates a read-only - List<ZipEntry> from the Dictionary.Values Collection. - If at any time you modify the set of entries in the ZipFile, - either by adding an entry, removing an entry, or renaming an - entry, a new List will be created, and the numeric indexes for the - remaining entries may be different. - - - - This means you cannot rename any ZipEntry from - inside an enumeration of the zip file. - - - - The index value. - - - - - - The ZipEntry within the Zip archive at the specified index. If the - entry does not exist in the archive, this indexer throws. - - - - - - This is a name-based indexer into the Zip archive. - - - - - This property is read-only. - - - - The property on the ZipFile - determines whether retrieval via this indexer is done via case-sensitive - comparisons. By default, retrieval is not case sensitive. This makes - sense on Windows, in which filesystems are not case sensitive. - - - - Regardless of case-sensitivity, it is not always the case that - this[value].FileName == value. In other words, the FileName - property of the ZipEntry retrieved with this indexer, may or may - not be equal to the index value. - - - - This is because DotNetZip performs a normalization of filenames passed to - this indexer, before attempting to retrieve the item. That normalization - includes: removal of a volume letter and colon, swapping backward slashes - for forward slashes. So, zip["dir1\\entry1.txt"].FileName == - "dir1/entry.txt". - - - - Directory entries in the zip file may be retrieved via this indexer only - with names that have a trailing slash. DotNetZip automatically appends a - trailing slash to the names of any directory entries added to a zip. - - - - - - This example extracts only the entries in a zip file that are .txt files. - - using (ZipFile zip = ZipFile.Read("PackedDocuments.zip")) - { - foreach (string s1 in zip.EntryFilenames) - { - if (s1.EndsWith(".txt")) - zip[s1].Extract("textfiles"); - } - } - - - Using zip As ZipFile = ZipFile.Read("PackedDocuments.zip") - Dim s1 As String - For Each s1 In zip.EntryFilenames - If s1.EndsWith(".txt") Then - zip(s1).Extract("textfiles") - End If - Next - End Using - - - - - - Thrown if the caller attempts to assign a non-null value to the indexer. - - - - The name of the file, including any directory path, to retrieve from the - zip. The filename match is not case-sensitive by default; you can use the - property to change this behavior. The - pathname can use forward-slashes or backward slashes. - - - - The ZipEntry within the Zip archive, given by the specified - filename. If the named entry does not exist in the archive, this indexer - returns null (Nothing in VB). - - - - - - The list of filenames for the entries contained within the zip archive. - - - - According to the ZIP specification, the names of the entries use forward - slashes in pathnames. If you are scanning through the list, you may have - to swap forward slashes for backslashes. - - - - - - This example shows one way to test if a filename is already contained - within a zip archive. - - String zipFileToRead= "PackedDocuments.zip"; - string candidate = "DatedMaterial.xps"; - using (ZipFile zip = new ZipFile(zipFileToRead)) - { - if (zip.EntryFilenames.Contains(candidate)) - Console.WriteLine("The file '{0}' exists in the zip archive '{1}'", - candidate, - zipFileName); - else - Console.WriteLine("The file, '{0}', does not exist in the zip archive '{1}'", - candidate, - zipFileName); - Console.WriteLine(); - } - - - Dim zipFileToRead As String = "PackedDocuments.zip" - Dim candidate As String = "DatedMaterial.xps" - Using zip As ZipFile.Read(ZipFileToRead) - If zip.EntryFilenames.Contains(candidate) Then - Console.WriteLine("The file '{0}' exists in the zip archive '{1}'", _ - candidate, _ - zipFileName) - Else - Console.WriteLine("The file, '{0}', does not exist in the zip archive '{1}'", _ - candidate, _ - zipFileName) - End If - Console.WriteLine - End Using - - - - - The list of strings for the filenames contained within the Zip archive. - - - - - - Returns the readonly collection of entries in the Zip archive. - - - - - - If there are no entries in the current ZipFile, the value returned is a - non-null zero-element collection. If there are entries in the zip file, - the elements are returned in no particular order. - - - This is the implied enumerator on the ZipFile class. If you use a - ZipFile instance in a context that expects an enumerator, you will - get this collection. - - - - - - - Returns a readonly collection of entries in the Zip archive, sorted by FileName. - - - - If there are no entries in the current ZipFile, the value returned - is a non-null zero-element collection. If there are entries in the zip - file, the elements are returned sorted by the name of the entry. - - - - - This example fills a Windows Forms ListView with the entries in a zip file. - - - using (ZipFile zip = ZipFile.Read(zipFile)) - { - foreach (ZipEntry entry in zip.EntriesSorted) - { - ListViewItem item = new ListViewItem(n.ToString()); - n++; - string[] subitems = new string[] { - entry.FileName.Replace("/","\\"), - entry.LastModified.ToString("yyyy-MM-dd HH:mm:ss"), - entry.UncompressedSize.ToString(), - String.Format("{0,5:F0}%", entry.CompressionRatio), - entry.CompressedSize.ToString(), - (entry.UsesEncryption) ? "Y" : "N", - String.Format("{0:X8}", entry.Crc)}; - - foreach (String s in subitems) - { - ListViewItem.ListViewSubItem subitem = new ListViewItem.ListViewSubItem(); - subitem.Text = s; - item.SubItems.Add(subitem); - } - - this.listView1.Items.Add(item); - } - } - - - - - - - - Returns the number of entries in the Zip archive. - - - - - Removes the given ZipEntry from the zip archive. - - - - - After calling RemoveEntry, the application must call Save to - make the changes permanent. - - - - - Thrown if the specified ZipEntry does not exist in the ZipFile. - - - - In this example, all entries in the zip archive dating from before - December 31st, 2007, are removed from the archive. This is actually much - easier if you use the RemoveSelectedEntries method. But I needed an - example for RemoveEntry, so here it is. - - String ZipFileToRead = "ArchiveToModify.zip"; - System.DateTime Threshold = new System.DateTime(2007,12,31); - using (ZipFile zip = ZipFile.Read(ZipFileToRead)) - { - var EntriesToRemove = new System.Collections.Generic.List<ZipEntry>(); - foreach (ZipEntry e in zip) - { - if (e.LastModified < Threshold) - { - // We cannot remove the entry from the list, within the context of - // an enumeration of said list. - // So we add the doomed entry to a list to be removed later. - EntriesToRemove.Add(e); - } - } - - // actually remove the doomed entries. - foreach (ZipEntry zombie in EntriesToRemove) - zip.RemoveEntry(zombie); - - zip.Comment= String.Format("This zip archive was updated at {0}.", - System.DateTime.Now.ToString("G")); - - // save with a different name - zip.Save("Archive-Updated.zip"); - } - - - - Dim ZipFileToRead As String = "ArchiveToModify.zip" - Dim Threshold As New DateTime(2007, 12, 31) - Using zip As ZipFile = ZipFile.Read(ZipFileToRead) - Dim EntriesToRemove As New System.Collections.Generic.List(Of ZipEntry) - Dim e As ZipEntry - For Each e In zip - If (e.LastModified < Threshold) Then - ' We cannot remove the entry from the list, within the context of - ' an enumeration of said list. - ' So we add the doomed entry to a list to be removed later. - EntriesToRemove.Add(e) - End If - Next - - ' actually remove the doomed entries. - Dim zombie As ZipEntry - For Each zombie In EntriesToRemove - zip.RemoveEntry(zombie) - Next - zip.Comment = String.Format("This zip archive was updated at {0}.", DateTime.Now.ToString("G")) - 'save as a different name - zip.Save("Archive-Updated.zip") - End Using - - - - - The ZipEntry to remove from the zip. - - - - - - - - Removes the ZipEntry with the given filename from the zip archive. - - - - - After calling RemoveEntry, the application must call Save to - make the changes permanent. - - - - - - Thrown if the ZipFile is not updatable. - - - - Thrown if a ZipEntry with the specified filename does not exist in - the ZipFile. - - - - - This example shows one way to remove an entry with a given filename from - an existing zip archive. - - - String zipFileToRead= "PackedDocuments.zip"; - string candidate = "DatedMaterial.xps"; - using (ZipFile zip = ZipFile.Read(zipFileToRead)) - { - if (zip.EntryFilenames.Contains(candidate)) - { - zip.RemoveEntry(candidate); - zip.Comment= String.Format("The file '{0}' has been removed from this archive.", - Candidate); - zip.Save(); - } - } - - - Dim zipFileToRead As String = "PackedDocuments.zip" - Dim candidate As String = "DatedMaterial.xps" - Using zip As ZipFile = ZipFile.Read(zipFileToRead) - If zip.EntryFilenames.Contains(candidate) Then - zip.RemoveEntry(candidate) - zip.Comment = String.Format("The file '{0}' has been removed from this archive.", Candidate) - zip.Save - End If - End Using - - - - - The name of the file, including any directory path, to remove from the zip. - The filename match is not case-sensitive by default; you can use the - CaseSensitiveRetrieval property to change this behavior. The - pathname can use forward-slashes or backward slashes. - - - - - - Closes the read and write streams associated - to the ZipFile, if necessary. - - - - The Dispose() method is generally employed implicitly, via a using(..) {..} - statement. (Using...End Using in VB) If you do not employ a using - statement, insure that your application calls Dispose() explicitly. For - example, in a Powershell application, or an application that uses the COM - interop interface, you must call Dispose() explicitly. - - - - This example extracts an entry selected by name, from the Zip file to the - Console. - - using (ZipFile zip = ZipFile.Read(zipfile)) - { - foreach (ZipEntry e in zip) - { - if (WantThisEntry(e.FileName)) - zip.Extract(e.FileName, Console.OpenStandardOutput()); - } - } // Dispose() is called implicitly here. - - - - Using zip As ZipFile = ZipFile.Read(zipfile) - Dim e As ZipEntry - For Each e In zip - If WantThisEntry(e.FileName) Then - zip.Extract(e.FileName, Console.OpenStandardOutput()) - End If - Next - End Using ' Dispose is implicity called here - - - - - - Disposes any managed resources, if the flag is set, then marks the - instance disposed. This method is typically not called explicitly from - application code. - - - - Applications should call the no-arg Dispose method. - - - - indicates whether the method should dispose streams or not. - - - - - Default size of the buffer used for IO. - - - - - An event handler invoked when a Save() starts, before and after each - entry has been written to the archive, when a Save() completes, and - during other Save events. - - - - - Depending on the particular event, different properties on the parameter are set. The following - table summarizes the available EventTypes and the conditions under - which this event handler is invoked with a - SaveProgressEventArgs with the given EventType. - - - - - value of EntryType - Meaning and conditions - - - - ZipProgressEventType.Saving_Started - Fired when ZipFile.Save() begins. - - - - - ZipProgressEventType.Saving_BeforeSaveEntry - - Fired within ZipFile.Save(), just before writing data for each - particular entry. - - - - - ZipProgressEventType.Saving_AfterSaveEntry - - Fired within ZipFile.Save(), just after having finished writing data - for each particular entry. - - - - - ZipProgressEventType.Saving_Completed - Fired when ZipFile.Save() has completed. - - - - - ZipProgressEventType.Saving_AfterSaveTempArchive - - Fired after the temporary file has been created. This happens only - when saving to a disk file. This event will not be invoked when - saving to a stream. - - - - - ZipProgressEventType.Saving_BeforeRenameTempArchive - - Fired just before renaming the temporary file to the permanent - location. This happens only when saving to a disk file. This event - will not be invoked when saving to a stream. - - - - - ZipProgressEventType.Saving_AfterRenameTempArchive - - Fired just after renaming the temporary file to the permanent - location. This happens only when saving to a disk file. This event - will not be invoked when saving to a stream. - - - - - ZipProgressEventType.Saving_AfterCompileSelfExtractor - - Fired after a self-extracting archive has finished compiling. This - EventType is used only within SaveSelfExtractor(). - - - - - ZipProgressEventType.Saving_BytesRead - - Set during the save of a particular entry, to update progress of the - Save(). When this EventType is set, the BytesTransferred is the - number of bytes that have been read from the source stream. The - TotalBytesToTransfer is the number of bytes in the uncompressed - file. - - - - - - - - - This example uses an anonymous method to handle the - SaveProgress event, by updating a progress bar. - - - progressBar1.Value = 0; - progressBar1.Max = listbox1.Items.Count; - using (ZipFile zip = new ZipFile()) - { - // listbox1 contains a list of filenames - zip.AddFiles(listbox1.Items); - - // do the progress bar: - zip.SaveProgress += (sender, e) => { - if (e.EventType == ZipProgressEventType.Saving_BeforeWriteEntry) { - progressBar1.PerformStep(); - } - }; - - zip.Save(fs); - } - - - - - This example uses a named method as the - SaveProgress event handler, to update the user, in a - console-based application. - - - static bool justHadByteUpdate= false; - public static void SaveProgress(object sender, SaveProgressEventArgs e) - { - if (e.EventType == ZipProgressEventType.Saving_Started) - Console.WriteLine("Saving: {0}", e.ArchiveName); - - else if (e.EventType == ZipProgressEventType.Saving_Completed) - { - justHadByteUpdate= false; - Console.WriteLine(); - Console.WriteLine("Done: {0}", e.ArchiveName); - } - - else if (e.EventType == ZipProgressEventType.Saving_BeforeWriteEntry) - { - if (justHadByteUpdate) - Console.WriteLine(); - Console.WriteLine(" Writing: {0} ({1}/{2})", - e.CurrentEntry.FileName, e.EntriesSaved, e.EntriesTotal); - justHadByteUpdate= false; - } - - else if (e.EventType == ZipProgressEventType.Saving_EntryBytesRead) - { - if (justHadByteUpdate) - Console.SetCursorPosition(0, Console.CursorTop); - Console.Write(" {0}/{1} ({2:N0}%)", e.BytesTransferred, e.TotalBytesToTransfer, - e.BytesTransferred / (0.01 * e.TotalBytesToTransfer )); - justHadByteUpdate= true; - } - } - - public static ZipUp(string targetZip, string directory) - { - using (var zip = new ZipFile()) { - zip.SaveProgress += SaveProgress; - zip.AddDirectory(directory); - zip.Save(targetZip); - } - } - - - - - Public Sub ZipUp(ByVal targetZip As String, ByVal directory As String) - Using zip As ZipFile = New ZipFile - AddHandler zip.SaveProgress, AddressOf MySaveProgress - zip.AddDirectory(directory) - zip.Save(targetZip) - End Using - End Sub - - Private Shared justHadByteUpdate As Boolean = False - - Public Shared Sub MySaveProgress(ByVal sender As Object, ByVal e As SaveProgressEventArgs) - If (e.EventType Is ZipProgressEventType.Saving_Started) Then - Console.WriteLine("Saving: {0}", e.ArchiveName) - - ElseIf (e.EventType Is ZipProgressEventType.Saving_Completed) Then - justHadByteUpdate = False - Console.WriteLine - Console.WriteLine("Done: {0}", e.ArchiveName) - - ElseIf (e.EventType Is ZipProgressEventType.Saving_BeforeWriteEntry) Then - If justHadByteUpdate Then - Console.WriteLine - End If - Console.WriteLine(" Writing: {0} ({1}/{2})", e.CurrentEntry.FileName, e.EntriesSaved, e.EntriesTotal) - justHadByteUpdate = False - - ElseIf (e.EventType Is ZipProgressEventType.Saving_EntryBytesRead) Then - If justHadByteUpdate Then - Console.SetCursorPosition(0, Console.CursorTop) - End If - Console.Write(" {0}/{1} ({2:N0}%)", e.BytesTransferred, _ - e.TotalBytesToTransfer, _ - (CDbl(e.BytesTransferred) / (0.01 * e.TotalBytesToTransfer))) - justHadByteUpdate = True - End If - End Sub - - - - - - This is a more complete example of using the SaveProgress - events in a Windows Forms application, with a - Thread object. - - - delegate void SaveEntryProgress(SaveProgressEventArgs e); - delegate void ButtonClick(object sender, EventArgs e); - - public class WorkerOptions - { - public string ZipName; - public string Folder; - public string Encoding; - public string Comment; - public int ZipFlavor; - public Zip64Option Zip64; - } - - private int _progress2MaxFactor; - private bool _saveCanceled; - private long _totalBytesBeforeCompress; - private long _totalBytesAfterCompress; - private Thread _workerThread; - - - private void btnZipup_Click(object sender, EventArgs e) - { - KickoffZipup(); - } - - private void btnCancel_Click(object sender, EventArgs e) - { - if (this.lblStatus.InvokeRequired) - { - this.lblStatus.Invoke(new ButtonClick(this.btnCancel_Click), new object[] { sender, e }); - } - else - { - _saveCanceled = true; - lblStatus.Text = "Canceled..."; - ResetState(); - } - } - - private void KickoffZipup() - { - _folderName = tbDirName.Text; - - if (_folderName == null || _folderName == "") return; - if (this.tbZipName.Text == null || this.tbZipName.Text == "") return; - - // check for existence of the zip file: - if (System.IO.File.Exists(this.tbZipName.Text)) - { - var dlgResult = MessageBox.Show(String.Format("The file you have specified ({0}) already exists." + - " Do you want to overwrite this file?", this.tbZipName.Text), - "Confirmation is Required", MessageBoxButtons.YesNo, MessageBoxIcon.Question); - if (dlgResult != DialogResult.Yes) return; - System.IO.File.Delete(this.tbZipName.Text); - } - - _saveCanceled = false; - _nFilesCompleted = 0; - _totalBytesAfterCompress = 0; - _totalBytesBeforeCompress = 0; - this.btnOk.Enabled = false; - this.btnOk.Text = "Zipping..."; - this.btnCancel.Enabled = true; - lblStatus.Text = "Zipping..."; - - var options = new WorkerOptions - { - ZipName = this.tbZipName.Text, - Folder = _folderName, - Encoding = "ibm437" - }; - - if (this.comboBox1.SelectedIndex != 0) - { - options.Encoding = this.comboBox1.SelectedItem.ToString(); - } - - if (this.radioFlavorSfxCmd.Checked) - options.ZipFlavor = 2; - else if (this.radioFlavorSfxGui.Checked) - options.ZipFlavor = 1; - else options.ZipFlavor = 0; - - if (this.radioZip64AsNecessary.Checked) - options.Zip64 = Zip64Option.AsNecessary; - else if (this.radioZip64Always.Checked) - options.Zip64 = Zip64Option.Always; - else options.Zip64 = Zip64Option.Never; - - options.Comment = String.Format("Encoding:{0} || Flavor:{1} || ZIP64:{2}\r\nCreated at {3} || {4}\r\n", - options.Encoding, - FlavorToString(options.ZipFlavor), - options.Zip64.ToString(), - System.DateTime.Now.ToString("yyyy-MMM-dd HH:mm:ss"), - this.Text); - - if (this.tbComment.Text != TB_COMMENT_NOTE) - options.Comment += this.tbComment.Text; - - _workerThread = new Thread(this.DoSave); - _workerThread.Name = "Zip Saver thread"; - _workerThread.Start(options); - this.Cursor = Cursors.WaitCursor; - } - - - private void DoSave(Object p) - { - WorkerOptions options = p as WorkerOptions; - try - { - using (var zip1 = new ZipFile()) - { - zip1.ProvisionalAlternateEncoding = System.Text.Encoding.GetEncoding(options.Encoding); - zip1.Comment = options.Comment; - zip1.AddDirectory(options.Folder); - _entriesToZip = zip1.EntryFileNames.Count; - SetProgressBars(); - zip1.SaveProgress += this.zip1_SaveProgress; - - zip1.UseZip64WhenSaving = options.Zip64; - - if (options.ZipFlavor == 1) - zip1.SaveSelfExtractor(options.ZipName, SelfExtractorFlavor.WinFormsApplication); - else if (options.ZipFlavor == 2) - zip1.SaveSelfExtractor(options.ZipName, SelfExtractorFlavor.ConsoleApplication); - else - zip1.Save(options.ZipName); - } - } - catch (System.Exception exc1) - { - MessageBox.Show(String.Format("Exception while zipping: {0}", exc1.Message)); - btnCancel_Click(null, null); - } - } - - - - void zip1_SaveProgress(object sender, SaveProgressEventArgs e) - { - switch (e.EventType) - { - case ZipProgressEventType.Saving_AfterWriteEntry: - StepArchiveProgress(e); - break; - case ZipProgressEventType.Saving_EntryBytesRead: - StepEntryProgress(e); - break; - case ZipProgressEventType.Saving_Completed: - SaveCompleted(); - break; - case ZipProgressEventType.Saving_AfterSaveTempArchive: - // this event only occurs when saving an SFX file - TempArchiveSaved(); - break; - } - if (_saveCanceled) - e.Cancel = true; - } - - - - private void StepArchiveProgress(SaveProgressEventArgs e) - { - if (this.progressBar1.InvokeRequired) - { - this.progressBar1.Invoke(new SaveEntryProgress(this.StepArchiveProgress), new object[] { e }); - } - else - { - if (!_saveCanceled) - { - _nFilesCompleted++; - this.progressBar1.PerformStep(); - _totalBytesAfterCompress += e.CurrentEntry.CompressedSize; - _totalBytesBeforeCompress += e.CurrentEntry.UncompressedSize; - - // reset the progress bar for the entry: - this.progressBar2.Value = this.progressBar2.Maximum = 1; - - this.Update(); - } - } - } - - - private void StepEntryProgress(SaveProgressEventArgs e) - { - if (this.progressBar2.InvokeRequired) - { - this.progressBar2.Invoke(new SaveEntryProgress(this.StepEntryProgress), new object[] { e }); - } - else - { - if (!_saveCanceled) - { - if (this.progressBar2.Maximum == 1) - { - // reset - Int64 max = e.TotalBytesToTransfer; - _progress2MaxFactor = 0; - while (max > System.Int32.MaxValue) - { - max /= 2; - _progress2MaxFactor++; - } - this.progressBar2.Maximum = (int)max; - lblStatus.Text = String.Format("{0} of {1} files...({2})", - _nFilesCompleted + 1, _entriesToZip, e.CurrentEntry.FileName); - } - - int xferred = e.BytesTransferred >> _progress2MaxFactor; - - this.progressBar2.Value = (xferred >= this.progressBar2.Maximum) - ? this.progressBar2.Maximum - : xferred; - - this.Update(); - } - } - } - - private void SaveCompleted() - { - if (this.lblStatus.InvokeRequired) - { - this.lblStatus.Invoke(new MethodInvoker(this.SaveCompleted)); - } - else - { - lblStatus.Text = String.Format("Done, Compressed {0} files, {1:N0}% of original.", - _nFilesCompleted, (100.00 * _totalBytesAfterCompress) / _totalBytesBeforeCompress); - ResetState(); - } - } - - private void ResetState() - { - this.btnCancel.Enabled = false; - this.btnOk.Enabled = true; - this.btnOk.Text = "Zip it!"; - this.progressBar1.Value = 0; - this.progressBar2.Value = 0; - this.Cursor = Cursors.Default; - if (!_workerThread.IsAlive) - _workerThread.Join(); - } - - - - - - - - - - - An event handler invoked before, during, and after the reading of a zip archive. - - - - - Depending on the particular event being signaled, different properties on the - parameter are set. The following table - summarizes the available EventTypes and the conditions under which this - event handler is invoked with a ReadProgressEventArgs with the given EventType. - - - - - value of EntryType - Meaning and conditions - - - - ZipProgressEventType.Reading_Started - Fired just as ZipFile.Read() begins. Meaningful properties: ArchiveName. - - - - - ZipProgressEventType.Reading_Completed - Fired when ZipFile.Read() has completed. Meaningful properties: ArchiveName. - - - - - ZipProgressEventType.Reading_ArchiveBytesRead - Fired while reading, updates the number of bytes read for the entire archive. - Meaningful properties: ArchiveName, CurrentEntry, BytesTransferred, TotalBytesToTransfer. - - - - - ZipProgressEventType.Reading_BeforeReadEntry - Indicates an entry is about to be read from the archive. - Meaningful properties: ArchiveName, EntriesTotal. - - - - - ZipProgressEventType.Reading_AfterReadEntry - Indicates an entry has just been read from the archive. - Meaningful properties: ArchiveName, EntriesTotal, CurrentEntry. - - - - - - - - - - - - - An event handler invoked before, during, and after extraction of - entries in the zip archive. - - - - - Depending on the particular event, different properties on the parameter are set. The following - table summarizes the available EventTypes and the conditions under - which this event handler is invoked with a - ExtractProgressEventArgs with the given EventType. - - - - - value of EntryType - Meaning and conditions - - - - ZipProgressEventType.Extracting_BeforeExtractAll - - Set when ExtractAll() begins. The ArchiveName, Overwrite, and - ExtractLocation properties are meaningful. - - - - ZipProgressEventType.Extracting_AfterExtractAll - - Set when ExtractAll() has completed. The ArchiveName, Overwrite, - and ExtractLocation properties are meaningful. - - - - - ZipProgressEventType.Extracting_BeforeExtractEntry - - Set when an Extract() on an entry in the ZipFile has begun. - Properties that are meaningful: ArchiveName, EntriesTotal, - CurrentEntry, Overwrite, ExtractLocation, EntriesExtracted. - - - - - ZipProgressEventType.Extracting_AfterExtractEntry - - Set when an Extract() on an entry in the ZipFile has completed. - Properties that are meaningful: ArchiveName, EntriesTotal, - CurrentEntry, Overwrite, ExtractLocation, EntriesExtracted. - - - - - ZipProgressEventType.Extracting_EntryBytesWritten - - Set within a call to Extract() on an entry in the ZipFile, as data - is extracted for the entry. Properties that are meaningful: - ArchiveName, CurrentEntry, BytesTransferred, TotalBytesToTransfer. - - - - - ZipProgressEventType.Extracting_ExtractEntryWouldOverwrite - - Set within a call to Extract() on an entry in the ZipFile, when the - extraction would overwrite an existing file. This event type is used - only when ExtractExistingFileAction on the ZipFile or - ZipEntry is set to InvokeExtractProgressEvent. - - - - - - - - - - private static bool justHadByteUpdate = false; - public static void ExtractProgress(object sender, ExtractProgressEventArgs e) - { - if(e.EventType == ZipProgressEventType.Extracting_EntryBytesWritten) - { - if (justHadByteUpdate) - Console.SetCursorPosition(0, Console.CursorTop); - - Console.Write(" {0}/{1} ({2:N0}%)", e.BytesTransferred, e.TotalBytesToTransfer, - e.BytesTransferred / (0.01 * e.TotalBytesToTransfer )); - justHadByteUpdate = true; - } - else if(e.EventType == ZipProgressEventType.Extracting_BeforeExtractEntry) - { - if (justHadByteUpdate) - Console.WriteLine(); - Console.WriteLine("Extracting: {0}", e.CurrentEntry.FileName); - justHadByteUpdate= false; - } - } - - public static ExtractZip(string zipToExtract, string directory) - { - string TargetDirectory= "extract"; - using (var zip = ZipFile.Read(zipToExtract)) { - zip.ExtractProgress += ExtractProgress; - foreach (var e in zip1) - { - e.Extract(TargetDirectory, true); - } - } - } - - - - Public Shared Sub Main(ByVal args As String()) - Dim ZipToUnpack As String = "C1P3SML.zip" - Dim TargetDir As String = "ExtractTest_Extract" - Console.WriteLine("Extracting file {0} to {1}", ZipToUnpack, TargetDir) - Using zip1 As ZipFile = ZipFile.Read(ZipToUnpack) - AddHandler zip1.ExtractProgress, AddressOf MyExtractProgress - Dim e As ZipEntry - For Each e In zip1 - e.Extract(TargetDir, True) - Next - End Using - End Sub - - Private Shared justHadByteUpdate As Boolean = False - - Public Shared Sub MyExtractProgress(ByVal sender As Object, ByVal e As ExtractProgressEventArgs) - If (e.EventType = ZipProgressEventType.Extracting_EntryBytesWritten) Then - If ExtractTest.justHadByteUpdate Then - Console.SetCursorPosition(0, Console.CursorTop) - End If - Console.Write(" {0}/{1} ({2:N0}%)", e.BytesTransferred, e.TotalBytesToTransfer, (CDbl(e.BytesTransferred) / (0.01 * e.TotalBytesToTransfer))) - ExtractTest.justHadByteUpdate = True - ElseIf (e.EventType = ZipProgressEventType.Extracting_BeforeExtractEntry) Then - If ExtractTest.justHadByteUpdate Then - Console.WriteLine - End If - Console.WriteLine("Extracting: {0}", e.CurrentEntry.FileName) - ExtractTest.justHadByteUpdate = False - End If - End Sub - - - - - - - - - - An event handler invoked before, during, and after Adding entries to a zip archive. - - - - Adding a large number of entries to a zip file can take a long - time. For example, when calling on a - directory that contains 50,000 files, it could take 3 minutes or so. - This event handler allws an application to track the progress of the Add - operation, and to optionally cancel a lengthy Add operation. - - - - - - int _numEntriesToAdd= 0; - int _numEntriesAdded= 0; - void AddProgressHandler(object sender, AddProgressEventArgs e) - { - switch (e.EventType) - { - case ZipProgressEventType.Adding_Started: - Console.WriteLine("Adding files to the zip..."); - break; - case ZipProgressEventType.Adding_AfterAddEntry: - _numEntriesAdded++; - Console.WriteLine(String.Format("Adding file {0}/{1} :: {2}", - _numEntriesAdded, _numEntriesToAdd, e.CurrentEntry.FileName)); - break; - case ZipProgressEventType.Adding_Completed: - Console.WriteLine("Added all files"); - break; - } - } - - void CreateTheZip() - { - using (ZipFile zip = new ZipFile()) - { - zip.AddProgress += AddProgressHandler; - zip.AddDirectory(System.IO.Path.GetFileName(DirToZip)); - zip.Save(ZipFileToCreate); - } - } - - - - - - Private Sub AddProgressHandler(ByVal sender As Object, ByVal e As AddProgressEventArgs) - Select Case e.EventType - Case ZipProgressEventType.Adding_Started - Console.WriteLine("Adding files to the zip...") - Exit Select - Case ZipProgressEventType.Adding_AfterAddEntry - Console.WriteLine(String.Format("Adding file {0}", e.CurrentEntry.FileName)) - Exit Select - Case ZipProgressEventType.Adding_Completed - Console.WriteLine("Added all files") - Exit Select - End Select - End Sub - - Sub CreateTheZip() - Using zip as ZipFile = New ZipFile - AddHandler zip.AddProgress, AddressOf AddProgressHandler - zip.AddDirectory(System.IO.Path.GetFileName(DirToZip)) - zip.Save(ZipFileToCreate); - End Using - End Sub - - - - - - - - - - - - An event that is raised when an error occurs during open or read of files - while saving a zip archive. - - - - - Errors can occur as a file is being saved to the zip archive. For - example, the File.Open may fail, or a File.Read may fail, because of - lock conflicts or other reasons. If you add a handler to this event, - you can handle such errors in your own code. If you don't add a - handler, the library will throw an exception if it encounters an I/O - error during a call to Save(). - - - - Setting a handler implicitly sets to - ZipErrorAction.InvokeErrorEvent. - - - - The handler you add applies to all items that are - subsequently added to the ZipFile instance. If you set this - property after you have added items to the ZipFile, but before you - have called Save(), errors that occur while saving those items - will not cause the error handler to be invoked. - - - - If you want to handle any errors that occur with any entry in the zip - file using the same error handler, then add your error handler once, - before adding any entries to the zip archive. - - - - In the error handler method, you need to set the property on the - ZipErrorEventArgs.CurrentEntry. This communicates back to - DotNetZip what you would like to do with this particular error. Within - an error handler, if you set the ZipEntry.ZipErrorAction property - on the ZipEntry to ZipErrorAction.InvokeErrorEvent or if - you don't set it at all, the library will throw the exception. (It is the - same as if you had set the ZipEntry.ZipErrorAction property on the - ZipEntry to ZipErrorAction.Throw.) If you set the - ZipErrorEventArgs.Cancel to true, the entire Save() will be - canceled. - - - - In the case that you use ZipErrorAction.Skip, implying that - you want to skip the entry for which there's been an error, DotNetZip - tries to seek backwards in the output stream, and truncate all bytes - written on behalf of that particular entry. This works only if the - output stream is seekable. It will not work, for example, when using - ASPNET's Response.OutputStream. - - - - - - - This example shows how to use an event handler to handle - errors during save of the zip file. - - - public static void MyZipError(object sender, ZipErrorEventArgs e) - { - Console.WriteLine("Error saving {0}...", e.FileName); - Console.WriteLine(" Exception: {0}", e.exception); - ZipEntry entry = e.CurrentEntry; - string response = null; - // Ask the user whether he wants to skip this error or not - do - { - Console.Write("Retry, Skip, Throw, or Cancel ? (R/S/T/C) "); - response = Console.ReadLine(); - Console.WriteLine(); - - } while (response != null && - response[0]!='S' && response[0]!='s' && - response[0]!='R' && response[0]!='r' && - response[0]!='T' && response[0]!='t' && - response[0]!='C' && response[0]!='c'); - - e.Cancel = (response[0]=='C' || response[0]=='c'); - - if (response[0]=='S' || response[0]=='s') - entry.ZipErrorAction = ZipErrorAction.Skip; - else if (response[0]=='R' || response[0]=='r') - entry.ZipErrorAction = ZipErrorAction.Retry; - else if (response[0]=='T' || response[0]=='t') - entry.ZipErrorAction = ZipErrorAction.Throw; - } - - public void SaveTheFile() - { - string directoryToZip = "fodder"; - string directoryInArchive = "files"; - string zipFileToCreate = "Archive.zip"; - using (var zip = new ZipFile()) - { - // set the event handler before adding any entries - zip.ZipError += MyZipError; - zip.AddDirectory(directoryToZip, directoryInArchive); - zip.Save(zipFileToCreate); - } - } - - - - Private Sub MyZipError(ByVal sender As Object, ByVal e As Ionic.Zip.ZipErrorEventArgs) - ' At this point, the application could prompt the user for an action to take. - ' But in this case, this application will simply automatically skip the file, in case of error. - Console.WriteLine("Zip Error, entry {0}", e.CurrentEntry.FileName) - Console.WriteLine(" Exception: {0}", e.exception) - ' set the desired ZipErrorAction on the CurrentEntry to communicate that to DotNetZip - e.CurrentEntry.ZipErrorAction = Zip.ZipErrorAction.Skip - End Sub - - Public Sub SaveTheFile() - Dim directoryToZip As String = "fodder" - Dim directoryInArchive As String = "files" - Dim zipFileToCreate as String = "Archive.zip" - Using zipArchive As ZipFile = New ZipFile - ' set the event handler before adding any entries - AddHandler zipArchive.ZipError, AddressOf MyZipError - zipArchive.AddDirectory(directoryToZip, directoryInArchive) - zipArchive.Save(zipFileToCreate) - End Using - End Sub - - - - - - - - - Extracts all of the items in the zip archive, to the specified path in the - filesystem. The path can be relative or fully-qualified. - - - - - This method will extract all entries in the ZipFile to the - specified path. - - - - If an extraction of a file from the zip archive would overwrite an - existing file in the filesystem, the action taken is dictated by the - ExtractExistingFile property, which overrides any setting you may have - made on individual ZipEntry instances. By default, if you have not - set that property on the ZipFile instance, the entry will not - be extracted, the existing file will not be overwritten and an - exception will be thrown. To change this, set the property, or use the - overload that allows you to - specify an ExtractExistingFileAction parameter. - - - - The action to take when an extract would overwrite an existing file - applies to all entries. If you want to set this on a per-entry basis, - then you must use one of the ZipEntry.Extract methods. - - - - This method will send verbose output messages to the , if it is set on the ZipFile - instance. - - - - You may wish to take advantage of the ExtractProgress event. - - - - About timestamps: When extracting a file entry from a zip archive, the - extracted file gets the last modified time of the entry as stored in - the archive. The archive may also store extended file timestamp - information, including last accessed and created times. If these are - present in the ZipEntry, then the extracted file will also get - these times. - - - - A Directory entry is somewhat different. It will get the times as - described for a file entry, but, if there are file entries in the zip - archive that, when extracted, appear in the just-created directory, - then when those file entries are extracted, the last modified and last - accessed times of the directory will change, as a side effect. The - result is that after an extraction of a directory and a number of - files within the directory, the last modified and last accessed - timestamps on the directory will reflect the time that the last file - was extracted into the directory, rather than the time stored in the - zip archive for the directory. - - - - To compensate, when extracting an archive with ExtractAll, - DotNetZip will extract all the file and directory entries as described - above, but it will then make a second pass on the directories, and - reset the times on the directories to reflect what is stored in the - zip archive. - - - - This compensation is performed only within the context of an - ExtractAll. If you call ZipEntry.Extract on a directory - entry, the timestamps on directory in the filesystem will reflect the - times stored in the zip. If you then call ZipEntry.Extract on - a file entry, which is extracted into the directory, the timestamps on - the directory will be updated to the current time. - - - - - This example extracts all the entries in a zip archive file, to the - specified target directory. The extraction will overwrite any - existing files silently. - - - String TargetDirectory= "unpack"; - using(ZipFile zip= ZipFile.Read(ZipFileToExtract)) - { - zip.ExtractExistingFile= ExtractExistingFileAction.OverwriteSilently; - zip.ExtractAll(TargetDirectory); - } - - - - Dim TargetDirectory As String = "unpack" - Using zip As ZipFile = ZipFile.Read(ZipFileToExtract) - zip.ExtractExistingFile= ExtractExistingFileAction.OverwriteSilently - zip.ExtractAll(TargetDirectory) - End Using - - - - - - - - The path to which the contents of the zipfile will be extracted. - The path can be relative or fully-qualified. - - - - - - Extracts all of the items in the zip archive, to the specified path in the - filesystem, using the specified behavior when extraction would overwrite an - existing file. - - - - - - This method will extract all entries in the ZipFile to the specified - path. For an extraction that would overwrite an existing file, the behavior - is dictated by , which overrides any - setting you may have made on individual ZipEntry instances. - - - - The action to take when an extract would overwrite an existing file - applies to all entries. If you want to set this on a per-entry basis, - then you must use or one of the similar methods. - - - - Calling this method is equivalent to setting the property and then calling . - - - - This method will send verbose output messages to the - , if it is set on the ZipFile instance. - - - - - This example extracts all the entries in a zip archive file, to the - specified target directory. It does not overwrite any existing files. - - String TargetDirectory= "c:\\unpack"; - using(ZipFile zip= ZipFile.Read(ZipFileToExtract)) - { - zip.ExtractAll(TargetDirectory, ExtractExistingFileAction.DontOverwrite); - } - - - - Dim TargetDirectory As String = "c:\unpack" - Using zip As ZipFile = ZipFile.Read(ZipFileToExtract) - zip.ExtractAll(TargetDirectory, ExtractExistingFileAction.DontOverwrite) - End Using - - - - - The path to which the contents of the zipfile will be extracted. - The path can be relative or fully-qualified. - - - - The action to take if extraction would overwrite an existing file. - - - - - - Reads a zip file archive and returns the instance. - - - - - The stream is read using the default System.Text.Encoding, which is the - IBM437 codepage. - - - - - Thrown if the ZipFile cannot be read. The implementation of this method - relies on System.IO.File.OpenRead, which can throw a variety of exceptions, - including specific exceptions if a file is not found, an unauthorized access - exception, exceptions for poorly formatted filenames, and so on. - - - - The name of the zip archive to open. This can be a fully-qualified or relative - pathname. - - - . - - The instance read from the zip archive. - - - - - Reads a zip file archive from the named filesystem file using the - specified options. - - - - - This version of the Read() method allows the caller to pass - in a TextWriter an Encoding, via an instance of the - ReadOptions class. The ZipFile is read in using the - specified encoding for entries where UTF-8 encoding is not - explicitly specified. - - - - - - - This example shows how to read a zip file using the Big-5 Chinese - code page (950), and extract each entry in the zip file, while - sending status messages out to the Console. - - - - For this code to work as intended, the zipfile must have been - created using the big5 code page (CP950). This is typical, for - example, when using WinRar on a machine with CP950 set as the - default code page. In that case, the names of entries within the - Zip archive will be stored in that code page, and reading the zip - archive must be done using that code page. If the application did - not use the correct code page in ZipFile.Read(), then names of - entries within the zip archive would not be correctly retrieved. - - - - string zipToExtract = "MyArchive.zip"; - string extractDirectory = "extract"; - var options = new ReadOptions - { - StatusMessageWriter = System.Console.Out, - Encoding = System.Text.Encoding.GetEncoding(950) - }; - using (ZipFile zip = ZipFile.Read(zipToExtract, options)) - { - foreach (ZipEntry e in zip) - { - e.Extract(extractDirectory); - } - } - - - - - Dim zipToExtract as String = "MyArchive.zip" - Dim extractDirectory as String = "extract" - Dim options as New ReadOptions - options.Encoding = System.Text.Encoding.GetEncoding(950) - options.StatusMessageWriter = System.Console.Out - Using zip As ZipFile = ZipFile.Read(zipToExtract, options) - Dim e As ZipEntry - For Each e In zip - e.Extract(extractDirectory) - Next - End Using - - - - - - - - This example shows how to read a zip file using the default - code page, to remove entries that have a modified date before a given threshold, - sending status messages out to a StringWriter. - - - - var options = new ReadOptions - { - StatusMessageWriter = new System.IO.StringWriter() - }; - using (ZipFile zip = ZipFile.Read("PackedDocuments.zip", options)) - { - var Threshold = new DateTime(2007,7,4); - // We cannot remove the entry from the list, within the context of - // an enumeration of said list. - // So we add the doomed entry to a list to be removed later. - // pass 1: mark the entries for removal - var MarkedEntries = new System.Collections.Generic.List<ZipEntry>(); - foreach (ZipEntry e in zip) - { - if (e.LastModified < Threshold) - MarkedEntries.Add(e); - } - // pass 2: actually remove the entry. - foreach (ZipEntry zombie in MarkedEntries) - zip.RemoveEntry(zombie); - zip.Comment = "This archive has been updated."; - zip.Save(); - } - // can now use contents of sw, eg store in an audit log - - - - Dim options as New ReadOptions - options.StatusMessageWriter = New System.IO.StringWriter - Using zip As ZipFile = ZipFile.Read("PackedDocuments.zip", options) - Dim Threshold As New DateTime(2007, 7, 4) - ' We cannot remove the entry from the list, within the context of - ' an enumeration of said list. - ' So we add the doomed entry to a list to be removed later. - ' pass 1: mark the entries for removal - Dim MarkedEntries As New System.Collections.Generic.List(Of ZipEntry) - Dim e As ZipEntry - For Each e In zip - If (e.LastModified < Threshold) Then - MarkedEntries.Add(e) - End If - Next - ' pass 2: actually remove the entry. - Dim zombie As ZipEntry - For Each zombie In MarkedEntries - zip.RemoveEntry(zombie) - Next - zip.Comment = "This archive has been updated." - zip.Save - End Using - ' can now use contents of sw, eg store in an audit log - - - - - Thrown if the zipfile cannot be read. The implementation of - this method relies on System.IO.File.OpenRead, which - can throw a variety of exceptions, including specific - exceptions if a file is not found, an unauthorized access - exception, exceptions for poorly formatted filenames, and so - on. - - - - The name of the zip archive to open. - This can be a fully-qualified or relative pathname. - - - - The set of options to use when reading the zip file. - - - The ZipFile instance read from the zip archive. - - - - - - - Reads a zip file archive using the specified text encoding, the specified - TextWriter for status messages, and the specified ReadProgress event handler, - and returns the instance. - - - - The name of the zip archive to open. - This can be a fully-qualified or relative pathname. - - - - An event handler for Read operations. - - - - The System.IO.TextWriter to use for writing verbose status messages - during operations on the zip archive. A console application may wish to - pass System.Console.Out to get messages on the Console. A graphical - or headless application may wish to capture the messages in a different - TextWriter, such as a System.IO.StringWriter. - - - - The System.Text.Encoding to use when reading in the zip archive. Be - careful specifying the encoding. If the value you use here is not the same - as the Encoding used when the zip archive was created (possibly by a - different archiver) you will get unexpected results and possibly exceptions. - - - The instance read from the zip archive. - - - - - Reads a zip archive from a stream. - - - - - - When reading from a file, it's probably easier to just use - ZipFile.Read(String, ReadOptions). This - overload is useful when when the zip archive content is - available from an already-open stream. The stream must be - open and readable and seekable when calling this method. The - stream is left open when the reading is completed. - - - - Using this overload, the stream is read using the default - System.Text.Encoding, which is the IBM437 - codepage. If you want to specify the encoding to use when - reading the zipfile content, see - ZipFile.Read(Stream, ReadOptions). This - - - - Reading of zip content begins at the current position in the - stream. This means if you have a stream that concatenates - regular data and zip data, if you position the open, readable - stream at the start of the zip data, you will be able to read - the zip archive using this constructor, or any of the ZipFile - constructors that accept a as - input. Some examples of where this might be useful: the zip - content is concatenated at the end of a regular EXE file, as - some self-extracting archives do. (Note: SFX files produced - by DotNetZip do not work this way; they can be read as normal - ZIP files). Another example might be a stream being read from - a database, where the zip content is embedded within an - aggregate stream of data. - - - - - - - This example shows how to Read zip content from a stream, and - extract one entry into a different stream. In this example, - the filename "NameOfEntryInArchive.doc", refers only to the - name of the entry within the zip archive. A file by that - name is not created in the filesystem. The I/O is done - strictly with the given streams. - - - - using (ZipFile zip = ZipFile.Read(InputStream)) - { - zip.Extract("NameOfEntryInArchive.doc", OutputStream); - } - - - - Using zip as ZipFile = ZipFile.Read(InputStream) - zip.Extract("NameOfEntryInArchive.doc", OutputStream) - End Using - - - - the stream containing the zip data. - - The ZipFile instance read from the stream - - - - - Reads a zip file archive from the given stream using the - specified options. - - - - - - When reading from a file, it's probably easier to just use - ZipFile.Read(String, ReadOptions). This - overload is useful when when the zip archive content is - available from an already-open stream. The stream must be - open and readable and seekable when calling this method. The - stream is left open when the reading is completed. - - - - Reading of zip content begins at the current position in the - stream. This means if you have a stream that concatenates - regular data and zip data, if you position the open, readable - stream at the start of the zip data, you will be able to read - the zip archive using this constructor, or any of the ZipFile - constructors that accept a as - input. Some examples of where this might be useful: the zip - content is concatenated at the end of a regular EXE file, as - some self-extracting archives do. (Note: SFX files produced - by DotNetZip do not work this way; they can be read as normal - ZIP files). Another example might be a stream being read from - a database, where the zip content is embedded within an - aggregate stream of data. - - - - the stream containing the zip data. - - - The set of options to use when reading the zip file. - - - - Thrown if the zip archive cannot be read. - - - The ZipFile instance read from the stream. - - - - - - - Reads a zip archive from a stream, using the specified text Encoding, the - specified TextWriter for status messages, - and the specified ReadProgress event handler. - - - - - Reading of zip content begins at the current position in the stream. This - means if you have a stream that concatenates regular data and zip data, if - you position the open, readable stream at the start of the zip data, you - will be able to read the zip archive using this constructor, or any of the - ZipFile constructors that accept a as - input. Some examples of where this might be useful: the zip content is - concatenated at the end of a regular EXE file, as some self-extracting - archives do. (Note: SFX files produced by DotNetZip do not work this - way). Another example might be a stream being read from a database, where - the zip content is embedded within an aggregate stream of data. - - - - the stream containing the zip data. - - - The System.IO.TextWriter to which verbose status messages are written - during operations on the ZipFile. For example, in a console - application, System.Console.Out works, and will get a message for each entry - added to the ZipFile. If the TextWriter is null, no verbose messages - are written. - - - - The text encoding to use when reading entries that do not have the UTF-8 - encoding bit set. Be careful specifying the encoding. If the value you use - here is not the same as the Encoding used when the zip archive was created - (possibly by a different archiver) you will get unexpected results and - possibly exceptions. See the - property for more information. - - - - An event handler for Read operations. - - - an instance of ZipFile - - - - Checks the given file to see if it appears to be a valid zip file. - - - - - Calling this method is equivalent to calling with the testExtract parameter set to false. - - - - The file to check. - true if the file appears to be a zip file. - - - - Checks a file to see if it is a valid zip file. - - - - - This method opens the specified zip file, reads in the zip archive, - verifying the ZIP metadata as it reads. - - - - If everything succeeds, then the method returns true. If anything fails - - for example if an incorrect signature or CRC is found, indicating a - corrupt file, the the method returns false. This method also returns - false for a file that does not exist. - - - - If is true, as part of its check, this - method reads in the content for each entry, expands it, and checks CRCs. - This provides an additional check beyond verifying the zip header and - directory data. - - - - If is true, and if any of the zip entries - are protected with a password, this method will return false. If you want - to verify a ZipFile that has entries which are protected with a - password, you will need to do that manually. - - - - - The zip file to check. - true if the caller wants to extract each entry. - true if the file contains a valid zip file. - - - - Checks a stream to see if it contains a valid zip archive. - - - - - This method reads the zip archive contained in the specified stream, verifying - the ZIP metadata as it reads. If testExtract is true, this method also extracts - each entry in the archive, dumping all the bits into . - - - - If everything succeeds, then the method returns true. If anything fails - - for example if an incorrect signature or CRC is found, indicating a corrupt - file, the the method returns false. This method also returns false for a - file that does not exist. - - - - If testExtract is true, this method reads in the content for each - entry, expands it, and checks CRCs. This provides an additional check - beyond verifying the zip header data. - - - - If testExtract is true, and if any of the zip entries are protected - with a password, this method will return false. If you want to verify a - ZipFile that has entries which are protected with a password, you will need - to do that manually. - - - - - - The stream to check. - true if the caller wants to extract each entry. - true if the stream contains a valid zip archive. - - - - Delete file with retry on UnauthorizedAccessException. - - - - - When calling File.Delete() on a file that has been "recently" - created, the call sometimes fails with - UnauthorizedAccessException. This method simply retries the Delete 3 - times with a sleep between tries. - - - - the name of the file to be deleted - - - - Saves the Zip archive to a file, specified by the Name property of the - ZipFile. - - - - - The ZipFile instance is written to storage, typically a zip file - in a filesystem, only when the caller calls Save. In the typical - case, the Save operation writes the zip content to a temporary file, and - then renames the temporary file to the desired name. If necessary, this - method will delete a pre-existing file before the rename. - - - - The property is specified either explicitly, - or implicitly using one of the parameterized ZipFile constructors. For - COM Automation clients, the Name property must be set explicitly, - because COM Automation clients cannot call parameterized constructors. - - - - When using a filesystem file for the Zip output, it is possible to call - Save multiple times on the ZipFile instance. With each - call the zip content is re-written to the same output file. - - - - Data for entries that have been added to the ZipFile instance is - written to the output when the Save method is called. This means - that the input streams for those entries must be available at the time - the application calls Save. If, for example, the application - adds entries with AddEntry using a dynamically-allocated - MemoryStream, the memory stream must not have been disposed - before the call to Save. See the property for more discussion of the - availability requirements of the input stream for an entry, and an - approach for providing just-in-time stream lifecycle management. - - - - - - - - Thrown if you haven't specified a location or stream for saving the zip, - either in the constructor or by setting the Name property, or if you try - to save a regular zip archive to a filename with a .exe extension. - - - - Thrown if is non-zero, and the number - of segments that would be generated for the spanned zip file during the - save operation exceeds 99. If this happens, you need to increase the - segment size. - - - - - - Save the file to a new zipfile, with the given name. - - - - - This method allows the application to explicitly specify the name of the zip - file when saving. Use this when creating a new zip file, or when - updating a zip archive. - - - - An application can also save a zip archive in several places by calling this - method multiple times in succession, with different filenames. - - - - The ZipFile instance is written to storage, typically a zip file in a - filesystem, only when the caller calls Save. The Save operation writes - the zip content to a temporary file, and then renames the temporary file - to the desired name. If necessary, this method will delete a pre-existing file - before the rename. - - - - - - Thrown if you specify a directory for the filename. - - - - The name of the zip archive to save to. Existing files will - be overwritten with great prejudice. - - - - This example shows how to create and Save a zip file. - - using (ZipFile zip = new ZipFile()) - { - zip.AddDirectory(@"c:\reports\January"); - zip.Save("January.zip"); - } - - - - Using zip As New ZipFile() - zip.AddDirectory("c:\reports\January") - zip.Save("January.zip") - End Using - - - - - - This example shows how to update a zip file. - - using (ZipFile zip = ZipFile.Read("ExistingArchive.zip")) - { - zip.AddFile("NewData.csv"); - zip.Save("UpdatedArchive.zip"); - } - - - - Using zip As ZipFile = ZipFile.Read("ExistingArchive.zip") - zip.AddFile("NewData.csv") - zip.Save("UpdatedArchive.zip") - End Using - - - - - - - Save the zip archive to the specified stream. - - - - - The ZipFile instance is written to storage - typically a zip file - in a filesystem, but using this overload, the storage can be anything - accessible via a writable stream - only when the caller calls Save. - - - - Use this method to save the zip content to a stream directly. A common - scenario is an ASP.NET application that dynamically generates a zip file - and allows the browser to download it. The application can call - Save(Response.OutputStream) to write a zipfile directly to the - output stream, without creating a zip file on the disk on the ASP.NET - server. - - - - Be careful when saving a file to a non-seekable stream, including - Response.OutputStream. When DotNetZip writes to a non-seekable - stream, the zip archive is formatted in such a way that may not be - compatible with all zip tools on all platforms. It's a perfectly legal - and compliant zip file, but some people have reported problems opening - files produced this way using the Mac OS archive utility. - - - - - - - This example saves the zipfile content into a MemoryStream, and - then gets the array of bytes from that MemoryStream. - - - using (var zip = new Ionic.Zip.ZipFile()) - { - zip.CompressionLevel= Ionic.Zlib.CompressionLevel.BestCompression; - zip.Password = "VerySecret."; - zip.Encryption = EncryptionAlgorithm.WinZipAes128; - zip.AddFile(sourceFileName); - MemoryStream output = new MemoryStream(); - zip.Save(output); - - byte[] zipbytes = output.ToArray(); - } - - - - - - This example shows a pitfall you should avoid. DO NOT read - from a stream, then try to save to the same stream. DO - NOT DO THIS: - - - - using (var fs = new FileSteeam(filename, FileMode.Open)) - { - using (var zip = Ionic.Zip.ZipFile.Read(inputStream)) - { - zip.AddEntry("Name1.txt", "this is the content"); - zip.Save(inputStream); // NO NO NO!! - } - } - - - - Better like this: - - - - using (var zip = Ionic.Zip.ZipFile.Read(filename)) - { - zip.AddEntry("Name1.txt", "this is the content"); - zip.Save(); // YES! - } - - - - - - The System.IO.Stream to write to. It must be - writable. If you created the ZipFile instanct by calling - ZipFile.Read(), this stream must not be the same stream - you passed to ZipFile.Read(). - - - - - Saves the ZipFile instance to a self-extracting zip archive. - - - - - - The generated exe image will execute on any machine that has the .NET - Framework 2.0 installed on it. The generated exe image is also a - valid ZIP file, readable with DotNetZip or another Zip library or tool - such as WinZip. - - - - There are two "flavors" of self-extracting archive. The - WinFormsApplication version will pop up a GUI and allow the - user to select a target directory into which to extract. There's also - a checkbox allowing the user to specify to overwrite existing files, - and another checkbox to allow the user to request that Explorer be - opened to see the extracted files after extraction. The other flavor - is ConsoleApplication. A self-extractor generated with that - flavor setting will run from the command line. It accepts command-line - options to set the overwrite behavior, and to specify the target - extraction directory. - - - - There are a few temporary files created during the saving to a - self-extracting zip. These files are created in the directory pointed - to by , which defaults to . These temporary files are - removed upon successful completion of this method. - - - - When a user runs the WinForms SFX, the user's personal directory (Environment.SpecialFolder.Personal) - will be used as the default extract location. If you want to set the - default extract location, you should use the other overload of - SaveSelfExtractor()/ The user who runs the SFX will have the - opportunity to change the extract directory before extracting. When - the user runs the Command-Line SFX, the user must explicitly specify - the directory to which to extract. The .NET Framework 2.0 is required - on the computer when the self-extracting archive is run. - - - - NB: This method is not available in the version of DotNetZip build for - the .NET Compact Framework, nor in the "Reduced" DotNetZip library. - - - - - - - string DirectoryPath = "c:\\Documents\\Project7"; - using (ZipFile zip = new ZipFile()) - { - zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath)); - zip.Comment = "This will be embedded into a self-extracting console-based exe"; - zip.SaveSelfExtractor("archive.exe", SelfExtractorFlavor.ConsoleApplication); - } - - - Dim DirectoryPath As String = "c:\Documents\Project7" - Using zip As New ZipFile() - zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath)) - zip.Comment = "This will be embedded into a self-extracting console-based exe" - zip.SaveSelfExtractor("archive.exe", SelfExtractorFlavor.ConsoleApplication) - End Using - - - - - a pathname, possibly fully qualified, to be created. Typically it - will end in an .exe extension. - - Indicates whether a Winforms or Console self-extractor is - desired. - - - - Saves the ZipFile instance to a self-extracting zip archive, using - the specified save options. - - - - - This method saves a self extracting archive, using the specified save - options. These options include the flavor of the SFX, the default extract - directory, the icon file, and so on. See the documentation - for for more - details. - - - - The user who runs the SFX will have the opportunity to change the extract - directory before extracting. If at the time of extraction, the specified - directory does not exist, the SFX will create the directory before - extracting the files. - - - - - - This example saves a WinForms-based self-extracting archive EXE that - will use c:\ExtractHere as the default extract location. The C# code - shows syntax for .NET 3.0, which uses an object initializer for - the SelfExtractorOptions object. - - string DirectoryPath = "c:\\Documents\\Project7"; - using (ZipFile zip = new ZipFile()) - { - zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath)); - zip.Comment = "This will be embedded into a self-extracting WinForms-based exe"; - var options = new SelfExtractorOptions - { - Flavor = SelfExtractorFlavor.WinFormsApplication, - DefaultExtractDirectory = "%USERPROFILE%\\ExtractHere", - PostExtractCommandLine = ExeToRunAfterExtract, - SfxExeWindowTitle = "My Custom Window Title", - RemoveUnpackedFilesAfterExecute = true - }; - zip.SaveSelfExtractor("archive.exe", options); - } - - - Dim DirectoryPath As String = "c:\Documents\Project7" - Using zip As New ZipFile() - zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath)) - zip.Comment = "This will be embedded into a self-extracting console-based exe" - Dim options As New SelfExtractorOptions() - options.Flavor = SelfExtractorFlavor.WinFormsApplication - options.DefaultExtractDirectory = "%USERPROFILE%\\ExtractHere" - options.PostExtractCommandLine = ExeToRunAfterExtract - options.SfxExeWindowTitle = "My Custom Window Title" - options.RemoveUnpackedFilesAfterExecute = True - zip.SaveSelfExtractor("archive.exe", options) - End Using - - - - The name of the EXE to generate. - provides the options for creating the - Self-extracting archive. - - - - Adds to the ZipFile a set of files from the current working directory on - disk, that conform to the specified criteria. - - - - - This method selects files from the the current working directory matching - the specified criteria, and adds them to the ZipFile. - - - - Specify the criteria in statements of 3 elements: a noun, an operator, and - a value. Consider the string "name != *.doc" . The noun is "name". The - operator is "!=", implying "Not Equal". The value is "*.doc". That - criterion, in English, says "all files with a name that does not end in - the .doc extension." - - - - Supported nouns include "name" (or "filename") for the filename; "atime", - "mtime", and "ctime" for last access time, last modfied time, and created - time of the file, respectively; "attributes" (or "attrs") for the file - attributes; "size" (or "length") for the file length (uncompressed), and - "type" for the type of object, either a file or a directory. The - "attributes", "name" and "type" nouns both support = and != as operators. - The "size", "atime", "mtime", and "ctime" nouns support = and !=, and - >, >=, <, <= as well. The times are taken to be expressed in - local time. - - - - Specify values for the file attributes as a string with one or more of the - characters H,R,S,A,I,L in any order, implying file attributes of Hidden, - ReadOnly, System, Archive, NotContextIndexed, and ReparsePoint (symbolic - link) respectively. - - - - To specify a time, use YYYY-MM-DD-HH:mm:ss or YYYY/MM/DD-HH:mm:ss as the - format. If you omit the HH:mm:ss portion, it is assumed to be 00:00:00 - (midnight). - - - - The value for a size criterion is expressed in integer quantities of bytes, - kilobytes (use k or kb after the number), megabytes (m or mb), or gigabytes - (g or gb). - - - - The value for a name is a pattern to match against the filename, potentially - including wildcards. The pattern follows CMD.exe glob rules: * implies one - or more of any character, while ? implies one character. If the name - pattern contains any slashes, it is matched to the entire filename, - including the path; otherwise, it is matched against only the filename - without the path. This means a pattern of "*\*.*" matches all files one - directory level deep, while a pattern of "*.*" matches all files in all - directories. - - - - To specify a name pattern that includes spaces, use single quotes around the - pattern. A pattern of "'* *.*'" will match all files that have spaces in - the filename. The full criteria string for that would be "name = '* *.*'" . - - - - The value for a type criterion is either F (implying a file) or D (implying - a directory). - - - - Some examples: - - - - - criteria - Files retrieved - - - - name != *.xls - any file with an extension that is not .xls - - - - - name = *.mp3 - any file with a .mp3 extension. - - - - - *.mp3 - (same as above) any file with a .mp3 extension. - - - - - attributes = A - all files whose attributes include the Archive bit. - - - - - attributes != H - all files whose attributes do not include the Hidden bit. - - - - - mtime > 2009-01-01 - all files with a last modified time after January 1st, 2009. - - - - - size > 2gb - all files whose uncompressed size is greater than 2gb. - - - - - type = D - all directories in the filesystem. - - - - - - You can combine criteria with the conjunctions AND or OR. Using a string - like "name = *.txt AND size >= 100k" for the selectionCriteria retrieves - entries whose names end in .txt, and whose uncompressed size is greater than - or equal to 100 kilobytes. - - - - For more complex combinations of criteria, you can use parenthesis to group - clauses in the boolean logic. Without parenthesis, the precedence of the - criterion atoms is determined by order of appearance. Unlike the C# - language, the AND conjunction does not take precendence over the logical OR. - This is important only in strings that contain 3 or more criterion atoms. - In other words, "name = *.txt and size > 1000 or attributes = H" implies - "((name = *.txt AND size > 1000) OR attributes = H)" while "attributes = - H OR name = *.txt and size > 1000" evaluates to "((attributes = H OR name - = *.txt) AND size > 1000)". When in doubt, use parenthesis. - - - - Using time properties requires some extra care. If you want to retrieve all - entries that were last updated on 2009 February 14, specify a time range - like so:"mtime >= 2009-02-14 AND mtime < 2009-02-15". Read this to - say: all files updated after 12:00am on February 14th, until 12:00am on - February 15th. You can use the same bracketing approach to specify any time - period - a year, a month, a week, and so on. - - - - The syntax allows one special case: if you provide a string with no spaces, it is - treated as a pattern to match for the filename. Therefore a string like "*.xls" - will be equivalent to specifying "name = *.xls". - - - - There is no logic in this method that insures that the file inclusion - criteria are internally consistent. For example, it's possible to specify - criteria that says the file must have a size of less than 100 bytes, as well - as a size that is greater than 1000 bytes. Obviously no file will ever - satisfy such criteria, but this method does not detect such logical - inconsistencies. The caller is responsible for insuring the criteria are - sensible. - - - - Using this method, the file selection does not recurse into - subdirectories, and the full path of the selected files is included in the - entries added into the zip archive. If you don't like these behaviors, - see the other overloads of this method. - - - - - This example zips up all *.csv files in the current working directory. - - using (ZipFile zip = new ZipFile()) - { - // To just match on filename wildcards, - // use the shorthand form of the selectionCriteria string. - zip.AddSelectedFiles("*.csv"); - zip.Save(PathToZipArchive); - } - - - Using zip As ZipFile = New ZipFile() - zip.AddSelectedFiles("*.csv") - zip.Save(PathToZipArchive) - End Using - - - - The criteria for file selection - - - - Adds to the ZipFile a set of files from the disk that conform to the - specified criteria, optionally recursing into subdirectories. - - - - - This method selects files from the the current working directory matching - the specified criteria, and adds them to the ZipFile. If - recurseDirectories is true, files are also selected from - subdirectories, and the directory structure in the filesystem is - reproduced in the zip archive, rooted at the current working directory. - - - - Using this method, the full path of the selected files is included in the - entries added into the zip archive. If you don't want this behavior, use - one of the overloads of this method that allows the specification of a - directoryInArchive. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - - - - This example zips up all *.xml files in the current working directory, or any - subdirectory, that are larger than 1mb. - - - using (ZipFile zip = new ZipFile()) - { - // Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.xml and size > 1024kb", true); - zip.Save(PathToZipArchive); - } - - - Using zip As ZipFile = New ZipFile() - ' Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.xml and size > 1024kb", true) - zip.Save(PathToZipArchive) - End Using - - - - The criteria for file selection - - - If true, the file selection will recurse into subdirectories. - - - - - Adds to the ZipFile a set of files from a specified directory in the - filesystem, that conform to the specified criteria. - - - - - This method selects files that conform to the specified criteria, from the - the specified directory on disk, and adds them to the ZipFile. The search - does not recurse into subdirectores. - - - - Using this method, the full filesystem path of the files on disk is - reproduced on the entries added to the zip file. If you don't want this - behavior, use one of the other overloads of this method. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - - - - This example zips up all *.xml files larger than 1mb in the directory - given by "d:\rawdata". - - - using (ZipFile zip = new ZipFile()) - { - // Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.xml and size > 1024kb", "d:\\rawdata"); - zip.Save(PathToZipArchive); - } - - - - Using zip As ZipFile = New ZipFile() - ' Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.xml and size > 1024kb", "d:\rawdata) - zip.Save(PathToZipArchive) - End Using - - - - The criteria for file selection - - - The name of the directory on the disk from which to select files. - - - - - Adds to the ZipFile a set of files from the specified directory on disk, - that conform to the specified criteria. - - - - - - This method selects files from the the specified disk directory matching - the specified selection criteria, and adds them to the ZipFile. If - recurseDirectories is true, files are also selected from - subdirectories. - - - - The full directory structure in the filesystem is reproduced on the - entries added to the zip archive. If you don't want this behavior, use - one of the overloads of this method that allows the specification of a - directoryInArchive. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - - - This example zips up all *.csv files in the "files" directory, or any - subdirectory, that have been saved since 2009 February 14th. - - - using (ZipFile zip = new ZipFile()) - { - // Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.csv and mtime > 2009-02-14", "files", true); - zip.Save(PathToZipArchive); - } - - - Using zip As ZipFile = New ZipFile() - ' Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.csv and mtime > 2009-02-14", "files", true) - zip.Save(PathToZipArchive) - End Using - - - - - This example zips up all files in the current working - directory, and all its child directories, except those in - the excludethis subdirectory. - - Using Zip As ZipFile = New ZipFile(zipfile) - Zip.AddSelectedFfiles("name != 'excludethis\*.*'", datapath, True) - Zip.Save() - End Using - - - - The criteria for file selection - - - The filesystem path from which to select files. - - - - If true, the file selection will recurse into subdirectories. - - - - - Adds to the ZipFile a selection of files from the specified directory on - disk, that conform to the specified criteria, and using a specified root - path for entries added to the zip archive. - - - - - This method selects files from the specified disk directory matching the - specified selection criteria, and adds those files to the ZipFile, using - the specified directory path in the archive. The search does not recurse - into subdirectories. For details on the syntax for the selectionCriteria - parameter, see . - - - - - - - This example zips up all *.psd files in the "photos" directory that have - been saved since 2009 February 14th, and puts them all in a zip file, - using the directory name of "content" in the zip archive itself. When the - zip archive is unzipped, the folder containing the .psd files will be - named "content". - - - using (ZipFile zip = new ZipFile()) - { - // Use a compound expression in the selectionCriteria string. - zip.AddSelectedFiles("name = *.psd and mtime > 2009-02-14", "photos", "content"); - zip.Save(PathToZipArchive); - } - - - Using zip As ZipFile = New ZipFile - zip.AddSelectedFiles("name = *.psd and mtime > 2009-02-14", "photos", "content") - zip.Save(PathToZipArchive) - End Using - - - - - The criteria for selection of files to add to the ZipFile. - - - - The path to the directory in the filesystem from which to select files. - - - - Specifies a directory path to use to in place of the - directoryOnDisk. This path may, or may not, correspond to a real - directory in the current filesystem. If the files within the zip are - later extracted, this is the path used for the extracted file. Passing - null (nothing in VB) will use the path on the file name, if any; in other - words it would use directoryOnDisk, plus any subdirectory. Passing - the empty string ("") will insert the item at the root path within the - archive. - - - - - Adds to the ZipFile a selection of files from the specified directory on - disk, that conform to the specified criteria, optionally recursing through - subdirectories, and using a specified root path for entries added to the - zip archive. - - - - This method selects files from the specified disk directory that match the - specified selection criteria, and adds those files to the ZipFile, using - the specified directory path in the archive. If recurseDirectories - is true, files are also selected from subdirectories, and the directory - structure in the filesystem is reproduced in the zip archive, rooted at - the directory specified by directoryOnDisk. For details on the - syntax for the selectionCriteria parameter, see . - - - - - This example zips up all files that are NOT *.pst files, in the current - working directory and any subdirectories. - - - using (ZipFile zip = new ZipFile()) - { - zip.AddSelectedFiles("name != *.pst", SourceDirectory, "backup", true); - zip.Save(PathToZipArchive); - } - - - Using zip As ZipFile = New ZipFile - zip.AddSelectedFiles("name != *.pst", SourceDirectory, "backup", true) - zip.Save(PathToZipArchive) - End Using - - - - - The criteria for selection of files to add to the ZipFile. - - - - The path to the directory in the filesystem from which to select files. - - - - Specifies a directory path to use to in place of the - directoryOnDisk. This path may, or may not, correspond to a real - directory in the current filesystem. If the files within the zip are - later extracted, this is the path used for the extracted file. Passing - null (nothing in VB) will use the path on the file name, if any; in other - words it would use directoryOnDisk, plus any subdirectory. Passing - the empty string ("") will insert the item at the root path within the - archive. - - - - If true, the method also scans subdirectories for files matching the - criteria. - - - - - Updates the ZipFile with a selection of files from the disk that conform - to the specified criteria. - - - - This method selects files from the specified disk directory that match the - specified selection criteria, and Updates the ZipFile with those - files, using the specified directory path in the archive. If - recurseDirectories is true, files are also selected from - subdirectories, and the directory structure in the filesystem is - reproduced in the zip archive, rooted at the directory specified by - directoryOnDisk. For details on the syntax for the - selectionCriteria parameter, see . - - - - The criteria for selection of files to add to the ZipFile. - - - - The path to the directory in the filesystem from which to select files. - - - - Specifies a directory path to use to in place of the - directoryOnDisk. This path may, or may not, correspond to a - real directory in the current filesystem. If the files within the zip - are later extracted, this is the path used for the extracted file. - Passing null (nothing in VB) will use the path on the file name, if - any; in other words it would use directoryOnDisk, plus any - subdirectory. Passing the empty string ("") will insert the item at - the root path within the archive. - - - - If true, the method also scans subdirectories for files matching the criteria. - - - - - - - Retrieve entries from the zipfile by specified criteria. - - - - - This method allows callers to retrieve the collection of entries from the zipfile - that fit the specified criteria. The criteria are described in a string format, and - can include patterns for the filename; constraints on the size of the entry; - constraints on the last modified, created, or last accessed time for the file - described by the entry; or the attributes of the entry. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - This method is intended for use with a ZipFile that has been read from storage. - When creating a new ZipFile, this method will work only after the ZipArchive has - been Saved to the disk (the ZipFile class subsequently and implicitly reads the Zip - archive from storage.) Calling SelectEntries on a ZipFile that has not yet been - saved will deliver undefined results. - - - - - Thrown if selectionCriteria has an invalid syntax. - - - - This example selects all the PhotoShop files from within an archive, and extracts them - to the current working directory. - - using (ZipFile zip1 = ZipFile.Read(ZipFileName)) - { - var PhotoShopFiles = zip1.SelectEntries("*.psd"); - foreach (ZipEntry psd in PhotoShopFiles) - { - psd.Extract(); - } - } - - - Using zip1 As ZipFile = ZipFile.Read(ZipFileName) - Dim PhotoShopFiles as ICollection(Of ZipEntry) - PhotoShopFiles = zip1.SelectEntries("*.psd") - Dim psd As ZipEntry - For Each psd In PhotoShopFiles - psd.Extract - Next - End Using - - - the string that specifies which entries to select - a collection of ZipEntry objects that conform to the inclusion spec - - - - Retrieve entries from the zipfile by specified criteria. - - - - - This method allows callers to retrieve the collection of entries from the zipfile - that fit the specified criteria. The criteria are described in a string format, and - can include patterns for the filename; constraints on the size of the entry; - constraints on the last modified, created, or last accessed time for the file - described by the entry; or the attributes of the entry. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - This method is intended for use with a ZipFile that has been read from storage. - When creating a new ZipFile, this method will work only after the ZipArchive has - been Saved to the disk (the ZipFile class subsequently and implicitly reads the Zip - archive from storage.) Calling SelectEntries on a ZipFile that has not yet been - saved will deliver undefined results. - - - - - Thrown if selectionCriteria has an invalid syntax. - - - - - using (ZipFile zip1 = ZipFile.Read(ZipFileName)) - { - var UpdatedPhotoShopFiles = zip1.SelectEntries("*.psd", "UpdatedFiles"); - foreach (ZipEntry e in UpdatedPhotoShopFiles) - { - // prompt for extract here - if (WantExtract(e.FileName)) - e.Extract(); - } - } - - - Using zip1 As ZipFile = ZipFile.Read(ZipFileName) - Dim UpdatedPhotoShopFiles As ICollection(Of ZipEntry) = zip1.SelectEntries("*.psd", "UpdatedFiles") - Dim e As ZipEntry - For Each e In UpdatedPhotoShopFiles - ' prompt for extract here - If Me.WantExtract(e.FileName) Then - e.Extract - End If - Next - End Using - - - the string that specifies which entries to select - - - the directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - - a collection of ZipEntry objects that conform to the inclusion spec - - - - Remove entries from the zipfile by specified criteria. - - - - - This method allows callers to remove the collection of entries from the zipfile - that fit the specified criteria. The criteria are described in a string format, and - can include patterns for the filename; constraints on the size of the entry; - constraints on the last modified, created, or last accessed time for the file - described by the entry; or the attributes of the entry. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - This method is intended for use with a ZipFile that has been read from storage. - When creating a new ZipFile, this method will work only after the ZipArchive has - been Saved to the disk (the ZipFile class subsequently and implicitly reads the Zip - archive from storage.) Calling SelectEntries on a ZipFile that has not yet been - saved will deliver undefined results. - - - - - Thrown if selectionCriteria has an invalid syntax. - - - - This example removes all entries in a zip file that were modified prior to January 1st, 2008. - - using (ZipFile zip1 = ZipFile.Read(ZipFileName)) - { - // remove all entries from prior to Jan 1, 2008 - zip1.RemoveEntries("mtime < 2008-01-01"); - // don't forget to save the archive! - zip1.Save(); - } - - - Using zip As ZipFile = ZipFile.Read(ZipFileName) - ' remove all entries from prior to Jan 1, 2008 - zip1.RemoveEntries("mtime < 2008-01-01") - ' do not forget to save the archive! - zip1.Save - End Using - - - the string that specifies which entries to select - the number of entries removed - - - - Remove entries from the zipfile by specified criteria, and within the specified - path in the archive. - - - - - This method allows callers to remove the collection of entries from the zipfile - that fit the specified criteria. The criteria are described in a string format, and - can include patterns for the filename; constraints on the size of the entry; - constraints on the last modified, created, or last accessed time for the file - described by the entry; or the attributes of the entry. - - - - For details on the syntax for the selectionCriteria parameter, see . - - - - This method is intended for use with a ZipFile that has been read from storage. - When creating a new ZipFile, this method will work only after the ZipArchive has - been Saved to the disk (the ZipFile class subsequently and implicitly reads the Zip - archive from storage.) Calling SelectEntries on a ZipFile that has not yet been - saved will deliver undefined results. - - - - - Thrown if selectionCriteria has an invalid syntax. - - - - - using (ZipFile zip1 = ZipFile.Read(ZipFileName)) - { - // remove all entries from prior to Jan 1, 2008 - zip1.RemoveEntries("mtime < 2008-01-01", "documents"); - // a call to ZipFile.Save will make the modifications permanent - zip1.Save(); - } - - - Using zip As ZipFile = ZipFile.Read(ZipFileName) - ' remove all entries from prior to Jan 1, 2008 - zip1.RemoveEntries("mtime < 2008-01-01", "documents") - ' a call to ZipFile.Save will make the modifications permanent - zip1.Save - End Using - - - - the string that specifies which entries to select - - the directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - the number of entries removed - - - - Selects and Extracts a set of Entries from the ZipFile. - - - - - The entries are extracted into the current working directory. - - - - If any of the files to be extracted already exist, then the action taken is as - specified in the property on the - corresponding ZipEntry instance. By default, the action taken in this case is to - throw an exception. - - - - For information on the syntax of the selectionCriteria string, - see . - - - - - This example shows how extract all XML files modified after 15 January 2009. - - using (ZipFile zip = ZipFile.Read(zipArchiveName)) - { - zip.ExtractSelectedEntries("name = *.xml and mtime > 2009-01-15"); - } - - - the selection criteria for entries to extract. - - - - - - Selects and Extracts a set of Entries from the ZipFile. - - - - - The entries are extracted into the current working directory. When extraction would would - overwrite an existing filesystem file, the action taken is as specified in the - parameter. - - - - For information on the syntax of the string describing the entry selection criteria, - see . - - - - - This example shows how extract all XML files modified after 15 January 2009, - overwriting any existing files. - - using (ZipFile zip = ZipFile.Read(zipArchiveName)) - { - zip.ExtractSelectedEntries("name = *.xml and mtime > 2009-01-15", - ExtractExistingFileAction.OverwriteSilently); - } - - - - the selection criteria for entries to extract. - - - The action to take if extraction would overwrite an existing file. - - - - - Selects and Extracts a set of Entries from the ZipFile. - - - - - The entries are selected from the specified directory within the archive, and then - extracted into the current working directory. - - - - If any of the files to be extracted already exist, then the action taken is as - specified in the property on the - corresponding ZipEntry instance. By default, the action taken in this case is to - throw an exception. - - - - For information on the syntax of the string describing the entry selection criteria, - see . - - - - - This example shows how extract all XML files modified after 15 January 2009, - and writes them to the "unpack" directory. - - using (ZipFile zip = ZipFile.Read(zipArchiveName)) - { - zip.ExtractSelectedEntries("name = *.xml and mtime > 2009-01-15","unpack"); - } - - - - the selection criteria for entries to extract. - - - the directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - - - - - - Selects and Extracts a set of Entries from the ZipFile. - - - - - The entries are extracted into the specified directory. If any of the files to be - extracted already exist, an exception will be thrown. - - - For information on the syntax of the string describing the entry selection criteria, - see . - - - - the selection criteria for entries to extract. - - - the directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - - - the directory on the disk into which to extract. It will be created - if it does not exist. - - - - - Selects and Extracts a set of Entries from the ZipFile. - - - - - The entries are extracted into the specified directory. When extraction would would - overwrite an existing filesystem file, the action taken is as specified in the - parameter. - - - - For information on the syntax of the string describing the entry selection criteria, - see . - - - - - This example shows how extract all files with an XML extension or with a size larger than 100,000 bytes, - and puts them in the unpack directory. For any files that already exist in - that destination directory, they will not be overwritten. - - using (ZipFile zip = ZipFile.Read(zipArchiveName)) - { - zip.ExtractSelectedEntries("name = *.xml or size > 100000", - null, - "unpack", - ExtractExistingFileAction.DontOverwrite); - } - - - - the selection criteria for entries to extract. - - - The directory on the disk into which to extract. It will be created if it does not exist. - - - - The directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - - - The action to take if extraction would overwrite an existing file. - - - - - - Generic IEnumerator support, for use of a ZipFile in an enumeration. - - - - You probably do not want to call GetEnumerator explicitly. Instead - it is implicitly called when you use a loop in C#, or a - For Each loop in VB.NET. - - - - This example reads a zipfile of a given name, then enumerates the - entries in that zip file, and displays the information about each - entry on the Console. - - using (ZipFile zip = ZipFile.Read(zipfile)) - { - bool header = true; - foreach (ZipEntry e in zip) - { - if (header) - { - System.Console.WriteLine("Zipfile: {0}", zip.Name); - System.Console.WriteLine("Version Needed: 0x{0:X2}", e.VersionNeeded); - System.Console.WriteLine("BitField: 0x{0:X2}", e.BitField); - System.Console.WriteLine("Compression Method: 0x{0:X2}", e.CompressionMethod); - System.Console.WriteLine("\n{1,-22} {2,-6} {3,4} {4,-8} {0}", - "Filename", "Modified", "Size", "Ratio", "Packed"); - System.Console.WriteLine(new System.String('-', 72)); - header = false; - } - - System.Console.WriteLine("{1,-22} {2,-6} {3,4:F0}% {4,-8} {0}", - e.FileName, - e.LastModified.ToString("yyyy-MM-dd HH:mm:ss"), - e.UncompressedSize, - e.CompressionRatio, - e.CompressedSize); - - e.Extract(); - } - } - - - - Dim ZipFileToExtract As String = "c:\foo.zip" - Using zip As ZipFile = ZipFile.Read(ZipFileToExtract) - Dim header As Boolean = True - Dim e As ZipEntry - For Each e In zip - If header Then - Console.WriteLine("Zipfile: {0}", zip.Name) - Console.WriteLine("Version Needed: 0x{0:X2}", e.VersionNeeded) - Console.WriteLine("BitField: 0x{0:X2}", e.BitField) - Console.WriteLine("Compression Method: 0x{0:X2}", e.CompressionMethod) - Console.WriteLine(ChrW(10) & "{1,-22} {2,-6} {3,4} {4,-8} {0}", _ - "Filename", "Modified", "Size", "Ratio", "Packed" ) - Console.WriteLine(New String("-"c, 72)) - header = False - End If - Console.WriteLine("{1,-22} {2,-6} {3,4:F0}% {4,-8} {0}", _ - e.FileName, _ - e.LastModified.ToString("yyyy-MM-dd HH:mm:ss"), _ - e.UncompressedSize, _ - e.CompressionRatio, _ - e.CompressedSize ) - e.Extract - Next - End Using - - - - A generic enumerator suitable for use within a foreach loop. - - - - An IEnumerator, for use of a ZipFile in a foreach construct. - - - - This method is included for COM support. An application generally does not call - this method directly. It is called implicitly by COM clients when enumerating - the entries in the ZipFile instance. In VBScript, this is done with a For Each - statement. In Javascript, this is done with new Enumerator(zipfile). - - - - The IEnumerator over the entries in the ZipFile. - - - - - Options for using ZIP64 extensions when saving zip archives. - - - - - - Designed many years ago, the original zip - specification from PKWARE allowed for 32-bit quantities for the - compressed and uncompressed sizes of zip entries, as well as a 32-bit quantity - for specifying the length of the zip archive itself, and a maximum of 65535 - entries. These limits are now regularly exceeded in many backup and archival - scenarios. Recently, PKWare added extensions to the original zip spec, called - "ZIP64 extensions", to raise those limitations. This property governs whether - DotNetZip will use those extensions when writing zip archives. The use of - these extensions is optional and explicit in DotNetZip because, despite the - status of ZIP64 as a bona fide standard, many other zip tools and libraries do - not support ZIP64, and therefore a zip file with ZIP64 extensions may be - unreadable by some of those other tools. - - - - Set this property to to always use ZIP64 - extensions when saving, regardless of whether your zip archive needs it. - Suppose you add 5 files, each under 100k, to a ZipFile. If you specify Always - for this flag, you will get a ZIP64 archive, though the archive does not need - to use ZIP64 because none of the original zip limits had been exceeded. - - - - Set this property to to tell the DotNetZip - library to never use ZIP64 extensions. This is useful for maximum - compatibility and interoperability, at the expense of the capability of - handling large files or large archives. NB: Windows Explorer in Windows XP - and Windows Vista cannot currently extract files from a zip64 archive, so if - you want to guarantee that a zip archive produced by this library will work in - Windows Explorer, use Never. If you set this property to , and your application creates a zip that would - exceed one of the Zip limits, the library will throw an exception while saving - the zip file. - - - - Set this property to to tell the - DotNetZip library to use the ZIP64 extensions when required by the - entry. After the file is compressed, the original and compressed sizes are - checked, and if they exceed the limits described above, then zip64 can be - used. That is the general idea, but there is an additional wrinkle when saving - to a non-seekable device, like the ASP.NET Response.OutputStream, or - Console.Out. When using non-seekable streams for output, the entry - header - which indicates whether zip64 is in use - is emitted before it is - known if zip64 is necessary. It is only after all entries have been saved - that it can be known if ZIP64 will be required. On seekable output streams, - after saving all entries, the library can seek backward and re-emit the zip - file header to be consistent with the actual ZIP64 requirement. But using a - non-seekable output stream, the library cannot seek backward, so the header - can never be changed. In other words, the archive's use of ZIP64 extensions is - not alterable after the header is emitted. Therefore, when saving to - non-seekable streams, using is the same - as using : it will always produce a zip - archive that uses ZIP64 extensions. - - - - - - - The default behavior, which is "Never". - (For COM clients, this is a 0 (zero).) - - - - - Do not use ZIP64 extensions when writing zip archives. - (For COM clients, this is a 0 (zero).) - - - - - Use ZIP64 extensions when writing zip archives, as necessary. - For example, when a single entry exceeds 0xFFFFFFFF in size, or when the archive as a whole - exceeds 0xFFFFFFFF in size, or when there are more than 65535 entries in an archive. - (For COM clients, this is a 1.) - - - - - Always use ZIP64 extensions when writing zip archives, even when unnecessary. - (For COM clients, this is a 2.) - - - - - An enum representing the values on a three-way toggle switch - for various options in the library. This might be used to - specify whether to employ a particular text encoding, or to use - ZIP64 extensions, or some other option. - - - - - The default behavior. This is the same as "Never". - (For COM clients, this is a 0 (zero).) - - - - - Never use the associated option. - (For COM clients, this is a 0 (zero).) - - - - - Use the associated behavior "as necessary." - (For COM clients, this is a 1.) - - - - - Use the associated behavior Always, whether necessary or not. - (For COM clients, this is a 2.) - - - - - A class for collecting the various options that can be used when - Reading zip files for extraction or update. - - - - - When reading a zip file, there are several options an - application can set, to modify how the file is read, or what - the library does while reading. This class collects those - options into one container. - - - - Pass an instance of the ReadOptions class into the - ZipFile.Read() method. - - - . - . - - - - - An event handler for Read operations. When opening large zip - archives, you may want to display a progress bar or other - indicator of status progress while reading. This parameter - allows you to specify a ReadProgress Event Handler directly. - When you call Read(), the progress event is invoked as - necessary. - - - - - The System.IO.TextWriter to use for writing verbose status messages - during operations on the zip archive. A console application may wish to - pass System.Console.Out to get messages on the Console. A graphical - or headless application may wish to capture the messages in a different - TextWriter, such as a System.IO.StringWriter. - - - - - The System.Text.Encoding to use when reading in the zip archive. Be - careful specifying the encoding. If the value you use here is not the same - as the Encoding used when the zip archive was created (possibly by a - different archiver) you will get unexpected results and possibly exceptions. - - - - - - - - An enum that provides the different self-extractor flavors - - - - - A self-extracting zip archive that runs from the console or - command line. - - - - - A self-extracting zip archive that presents a graphical user - interface when it is executed. - - - - - The options for generating a self-extracting archive. - - - - - The type of SFX to create. - - - - - The command to run after extraction. - - - - - This is optional. Leave it empty (null in C# or Nothing in - VB) to run no command after extraction. - - - - If it is non-empty, the SFX will execute the command specified in this - string on the user's machine, and using the extract directory as the - working directory for the process, after unpacking the archive. The - program to execute can include a path, if you like. If you want to execute - a program that accepts arguments, specify the program name, followed by a - space, and then the arguments for the program, each separated by a space, - just as you would on a normal command line. Example: program.exe arg1 - arg2. The string prior to the first space will be taken as the - program name, and the string following the first space specifies the - arguments to the program. - - - - If you want to execute a program that has a space in the name or path of - the file, surround the program name in double-quotes. The first character - of the command line should be a double-quote character, and there must be - a matching double-quote following the end of the program file name. Any - optional arguments to the program follow that, separated by - spaces. Example: "c:\project files\program name.exe" arg1 arg2. - - - - If the flavor of the SFX is SelfExtractorFlavor.ConsoleApplication, - then the SFX starts a new process, using this string as the post-extract - command line. The SFX waits for the process to exit. The exit code of - the post-extract command line is returned as the exit code of the - command-line self-extractor exe. A non-zero exit code is typically used to - indicated a failure by the program. In the case of an SFX, a non-zero exit - code may indicate a failure during extraction, OR, it may indicate a - failure of the run-after-extract program if specified, OR, it may indicate - the run-after-extract program could not be fuond. There is no way to - distinguish these conditions from the calling shell, aside from parsing - the output of the SFX. If you have Quiet set to true, you may not - see error messages, if a problem occurs. - - - - If the flavor of the SFX is - SelfExtractorFlavor.WinFormsApplication, then the SFX starts a new - process, using this string as the post-extract command line, and using the - extract directory as the working directory for the process. The SFX does - not wait for the command to complete, and does not check the exit code of - the program. If the run-after-extract program cannot be fuond, a message - box is displayed indicating that fact. - - - - You can specify environment variables within this string, with a format like - %NAME%. The value of these variables will be expanded at the time - the SFX is run. Example: %WINDIR%\system32\xcopy.exe may expand at - runtime to c:\Windows\System32\xcopy.exe. - - - - By combining this with the RemoveUnpackedFilesAfterExecute - flag, you can create an SFX that extracts itself, runs a file that - was extracted, then deletes all the files that were extracted. If - you want it to run "invisibly" then set Flavor to - SelfExtractorFlavor.ConsoleApplication, and set Quiet - to true. The user running such an EXE will see a console window - appear, then disappear quickly. You may also want to specify the - default extract location, with DefaultExtractDirectory. - - - - If you set Flavor to - SelfExtractorFlavor.WinFormsApplication, and set Quiet to - true, then a GUI with progressbars is displayed, but it is - "non-interactive" - it accepts no input from the user. Instead the SFX - just automatically unpacks and exits. - - - - - - - The default extract directory the user will see when - running the self-extracting archive. - - - - - Passing null (or Nothing in VB) here will cause the Self Extractor to use - the the user's personal directory () for the default extract - location. - - - - This is only a default location. The actual extract location will be - settable on the command line when the SFX is executed. - - - - You can specify environment variables within this string, - with %NAME%. The value of these variables will be - expanded at the time the SFX is run. Example: - %USERPROFILE%\Documents\unpack may expand at runtime to - c:\users\melvin\Documents\unpack. - - - - - - The name of an .ico file in the filesystem to use for the application icon - for the generated SFX. - - - - - Normally, DotNetZip will embed an "zipped folder" icon into the generated - SFX. If you prefer to use a different icon, you can specify it here. It - should be a .ico file. This file is passed as the /win32icon - option to the csc.exe compiler when constructing the SFX file. - - - - - - - Whether the ConsoleApplication SFX will be quiet during extraction. - - - - - This option affects the way the generated SFX runs. By default it is - false. When you set it to true,... - - - - - Flavor - Behavior - - - - ConsoleApplication - no messages will be emitted during successful - operation. Double-clicking the SFX in Windows - Explorer or as an attachment in an email will cause a console - window to appear briefly, before it disappears. If you run the - ConsoleApplication SFX from the cmd.exe prompt, it runs as a - normal console app; by default, because it is quiet, it displays - no messages to the console. If you pass the -v+ command line - argument to the Console SFX when you run it, you will get verbose - messages to the console. - - - - - WinFormsApplication - the SFX extracts automatically when the application - is launched, with no additional user input. - - - - - - - When you set it to false,... - - - - - Flavor - Behavior - - - - ConsoleApplication - the extractor will emit a - message to the console for each entry extracted. - - When double-clicking to launch the SFX, the console window will - remain, and the SFX will emit a message for each file as it - extracts. The messages fly by quickly, they won't be easily - readable, unless the extracted files are fairly large. - - - - - - WinFormsApplication - the SFX presents a forms UI and allows the user to select - options before extracting. - - - - - - - - - - Specify what the self-extractor will do when extracting an entry - would overwrite an existing file. - - - - The default behavvior is to Throw. - - - - - - Whether to remove the files that have been unpacked, after executing the - PostExtractCommandLine. - - - - - If true, and if there is a - PostExtractCommandLine, and if the command runs successfully, - then the files that the SFX unpacked will be removed, afterwards. If - the command does not complete successfully (non-zero return code), - that is interpreted as a failure, and the extracted files will not be - removed. - - - - Setting this flag, and setting Flavor to - SelfExtractorFlavor.ConsoleApplication, and setting Quiet to - true, results in an SFX that extracts itself, runs a file that was - extracted, then deletes all the files that were extracted, with no - intervention by the user. You may also want to specify the default - extract location, with DefaultExtractDirectory. - - - - - - - The file version number to embed into the generated EXE. It will show up, for - example, during a mouseover in Windows Explorer. - - - - - - The product version to embed into the generated EXE. It will show up, for - example, during a mouseover in Windows Explorer. - - - - You can use any arbitrary string, but a human-readable version number is - recommended. For example "v1.2 alpha" or "v4.2 RC2". If you specify nothing, - then there is no product version embedded into the EXE. - - - - - - The copyright notice, if any, to embed into the generated EXE. - - - - It will show up, for example, while viewing properties of the file in - Windows Explorer. You can use any arbitrary string, but typically you - want something like "Copyright © Dino Chiesa 2011". - - - - - - The description to embed into the generated EXE. - - - - Use any arbitrary string. This text will be displayed during a - mouseover in Windows Explorer. If you specify nothing, then the string - "DotNetZip SFX Archive" is embedded into the EXE as the description. - - - - - - The product name to embed into the generated EXE. - - - - Use any arbitrary string. This text will be displayed - while viewing properties of the EXE file in - Windows Explorer. - - - - - - The title to display in the Window of a GUI SFX, while it extracts. - - - - - By default the title show in the GUI window of a self-extractor - is "DotNetZip Self-extractor (http://DotNetZip.codeplex.com/)". - You can change that by setting this property before saving the SFX. - - - - This property has an effect only when producing a Self-extractor - of flavor SelfExtractorFlavor.WinFormsApplication. - - - - - - - Additional options for the csc.exe compiler, when producing the SFX - EXE. - - - - - - Provides a stream metaphor for reading zip files. - - - - - This class provides an alternative programming model for reading zip files to - the one enabled by the class. Use this when reading zip - files, as an alternative to the class, when you would - like to use a Stream class to read the file. - - - - Some application designs require a readable stream for input. This stream can - be used to read a zip file, and extract entries. - - - - Both the ZipInputStream class and the ZipFile class can be used - to read and extract zip files. Both of them support many of the common zip - features, including Unicode, different compression levels, and ZIP64. The - programming models differ. For example, when extracting entries via calls to - the GetNextEntry() and Read() methods on the - ZipInputStream class, the caller is responsible for creating the file, - writing the bytes into the file, setting the attributes on the file, and - setting the created, last modified, and last accessed timestamps on the - file. All of these things are done automatically by a call to ZipEntry.Extract(). For this reason, the - ZipInputStream is generally recommended for when your application wants - to extract the data, without storing that data into a file. - - - - Aside from the obvious differences in programming model, there are some - differences in capability between the ZipFile class and the - ZipInputStream class. - - - - - ZipFile can be used to create or update zip files, or read and - extract zip files. ZipInputStream can be used only to read and - extract zip files. If you want to use a stream to create zip files, check - out the . - - - - ZipInputStream cannot read segmented or spanned - zip files. - - - - ZipInputStream will not read Zip file comments. - - - - When reading larger files, ZipInputStream will always underperform - ZipFile. This is because the ZipInputStream does a full scan on the - zip file, while the ZipFile class reads the central directory of the - zip file. - - - - - - - - - Create a ZipInputStream, wrapping it around an existing stream. - - - - - - While the class is generally easier - to use, this class provides an alternative to those - applications that want to read from a zipfile directly, - using a . - - - - Both the ZipInputStream class and the ZipFile class can be used - to read and extract zip files. Both of them support many of the common zip - features, including Unicode, different compression levels, and ZIP64. The - programming models differ. For example, when extracting entries via calls to - the GetNextEntry() and Read() methods on the - ZipInputStream class, the caller is responsible for creating the file, - writing the bytes into the file, setting the attributes on the file, and - setting the created, last modified, and last accessed timestamps on the - file. All of these things are done automatically by a call to ZipEntry.Extract(). For this reason, the - ZipInputStream is generally recommended for when your application wants - to extract the data, without storing that data into a file. - - - - Aside from the obvious differences in programming model, there are some - differences in capability between the ZipFile class and the - ZipInputStream class. - - - - - ZipFile can be used to create or update zip files, or read and extract - zip files. ZipInputStream can be used only to read and extract zip - files. If you want to use a stream to create zip files, check out the . - - - - ZipInputStream cannot read segmented or spanned - zip files. - - - - ZipInputStream will not read Zip file comments. - - - - When reading larger files, ZipInputStream will always underperform - ZipFile. This is because the ZipInputStream does a full scan on the - zip file, while the ZipFile class reads the central directory of the - zip file. - - - - - - - - The stream to read. It must be readable. This stream will be closed at - the time the ZipInputStream is closed. - - - - - This example shows how to read a zip file, and extract entries, using the - ZipInputStream class. - - - private void Unzip() - { - byte[] buffer= new byte[2048]; - int n; - using (var raw = File.Open(inputFileName, FileMode.Open, FileAccess.Read)) - { - using (var input= new ZipInputStream(raw)) - { - ZipEntry e; - while (( e = input.GetNextEntry()) != null) - { - if (e.IsDirectory) continue; - string outputPath = Path.Combine(extractDir, e.FileName); - using (var output = File.Open(outputPath, FileMode.Create, FileAccess.ReadWrite)) - { - while ((n= input.Read(buffer, 0, buffer.Length)) > 0) - { - output.Write(buffer,0,n); - } - } - } - } - } - } - - - - Private Sub UnZip() - Dim inputFileName As String = "MyArchive.zip" - Dim extractDir As String = "extract" - Dim buffer As Byte() = New Byte(2048) {} - Using raw As FileStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read) - Using input As ZipInputStream = New ZipInputStream(raw) - Dim e As ZipEntry - Do While (Not e = input.GetNextEntry Is Nothing) - If Not e.IsDirectory Then - Using output As FileStream = File.Open(Path.Combine(extractDir, e.FileName), _ - FileMode.Create, FileAccess.ReadWrite) - Dim n As Integer - Do While (n = input.Read(buffer, 0, buffer.Length) > 0) - output.Write(buffer, 0, n) - Loop - End Using - End If - Loop - End Using - End Using - End Sub - - - - - - Create a ZipInputStream, given the name of an existing zip file. - - - - - - This constructor opens a FileStream for the given zipfile, and - wraps a ZipInputStream around that. See the documentation for the - constructor for full details. - - - - While the class is generally easier - to use, this class provides an alternative to those - applications that want to read from a zipfile directly, - using a . - - - - - - The name of the filesystem file to read. - - - - - This example shows how to read a zip file, and extract entries, using the - ZipInputStream class. - - - private void Unzip() - { - byte[] buffer= new byte[2048]; - int n; - using (var input= new ZipInputStream(inputFileName)) - { - ZipEntry e; - while (( e = input.GetNextEntry()) != null) - { - if (e.IsDirectory) continue; - string outputPath = Path.Combine(extractDir, e.FileName); - using (var output = File.Open(outputPath, FileMode.Create, FileAccess.ReadWrite)) - { - while ((n= input.Read(buffer, 0, buffer.Length)) > 0) - { - output.Write(buffer,0,n); - } - } - } - } - } - - - - Private Sub UnZip() - Dim inputFileName As String = "MyArchive.zip" - Dim extractDir As String = "extract" - Dim buffer As Byte() = New Byte(2048) {} - Using input As ZipInputStream = New ZipInputStream(inputFileName) - Dim e As ZipEntry - Do While (Not e = input.GetNextEntry Is Nothing) - If Not e.IsDirectory Then - Using output As FileStream = File.Open(Path.Combine(extractDir, e.FileName), _ - FileMode.Create, FileAccess.ReadWrite) - Dim n As Integer - Do While (n = input.Read(buffer, 0, buffer.Length) > 0) - output.Write(buffer, 0, n) - Loop - End Using - End If - Loop - End Using - End Sub - - - - - - Create a ZipInputStream, explicitly specifying whether to - keep the underlying stream open. - - - - See the documentation for the ZipInputStream(Stream) - constructor for a discussion of the class, and an example of how to use the class. - - - - The stream to read from. It must be readable. - - - - true if the application would like the stream - to remain open after the ZipInputStream has been closed. - - - - Provides a string representation of the instance. - - - This can be useful for debugging purposes. - - - a string representation of the instance. - - - - The text encoding to use when reading entries into the zip archive, for - those entries whose filenames or comments cannot be encoded with the - default (IBM437) encoding. - - - - - In its - zip specification, PKWare describes two options for encoding - filenames and comments: using IBM437 or UTF-8. But, some archiving tools - or libraries do not follow the specification, and instead encode - characters using the system default code page. For example, WinRAR when - run on a machine in Shanghai may encode filenames with the Big-5 Chinese - (950) code page. This behavior is contrary to the Zip specification, but - it occurs anyway. - - - - When using DotNetZip to read zip archives that use something other than - UTF-8 or IBM437, set this property to specify the code page to use when - reading encoded filenames and comments for each ZipEntry in the zip - file. - - - - This property is "provisional". When the entry in the zip archive is not - explicitly marked as using UTF-8, then IBM437 is used to decode filenames - and comments. If a loss of data would result from using IBM436 - - specifically when encoding and decoding is not reflexive - the codepage - specified here is used. It is possible, therefore, to have a given entry - with a Comment encoded in IBM437 and a FileName encoded with - the specified "provisional" codepage. - - - - When a zip file uses an arbitrary, non-UTF8 code page for encoding, there - is no standard way for the reader application - whether DotNetZip, WinZip, - WinRar, or something else - to know which codepage has been used for the - entries. Readers of zip files are not able to inspect the zip file and - determine the codepage that was used for the entries contained within it. - It is left to the application or user to determine the necessary codepage - when reading zip files encoded this way. If you use an incorrect codepage - when reading a zipfile, you will get entries with filenames that are - incorrect, and the incorrect filenames may even contain characters that - are not legal for use within filenames in Windows. Extracting entries with - illegal characters in the filenames will lead to exceptions. It's too bad, - but this is just the way things are with code pages in zip files. Caveat - Emptor. - - - - - - - Size of the work buffer to use for the ZLIB codec during decompression. - - - - Setting this affects the performance and memory efficiency of compression - and decompression. For larger files, setting this to a larger size may - improve performance, but the exact numbers vary depending on available - memory, and a bunch of other variables. I don't have good firm - recommendations on how to set it. You'll have to test it yourself. Or - just leave it alone and accept the default. - - - - - Sets the password to be used on the ZipInputStream instance. - - - - - - When reading a zip archive, this password is used to read and decrypt the - entries that are encrypted within the zip file. When entries within a zip - file use different passwords, set the appropriate password for the entry - before the first call to Read() for each entry. - - - - When reading an entry that is not encrypted, the value of this property is - ignored. - - - - - - - This example uses the ZipInputStream to read and extract entries from a - zip file, using a potentially different password for each entry. - - - byte[] buffer= new byte[2048]; - int n; - using (var raw = File.Open(_inputFileName, FileMode.Open, FileAccess.Read )) - { - using (var input= new ZipInputStream(raw)) - { - ZipEntry e; - while (( e = input.GetNextEntry()) != null) - { - input.Password = PasswordForEntry(e.FileName); - if (e.IsDirectory) continue; - string outputPath = Path.Combine(_extractDir, e.FileName); - using (var output = File.Open(outputPath, FileMode.Create, FileAccess.ReadWrite)) - { - while ((n= input.Read(buffer,0,buffer.Length)) > 0) - { - output.Write(buffer,0,n); - } - } - } - } - } - - - - - - - Read the data from the stream into the buffer. - - - - - The data for the zipentry will be decrypted and uncompressed, as - necessary, before being copied into the buffer. - - - - You must set the property before calling - Read() the first time for an encrypted entry. To determine if an - entry is encrypted and requires a password, check the ZipEntry.Encryption property. - - - - The buffer to hold the data read from the stream. - the offset within the buffer to copy the first byte read. - the number of bytes to read. - the number of bytes read, after decryption and decompression. - - - - Read the next entry from the zip file. - - - - - Call this method just before calling , - to position the pointer in the zip file to the next entry that can be - read. Subsequent calls to Read(), will decrypt and decompress the - data in the zip file, until Read() returns 0. - - - - Each time you call GetNextEntry(), the pointer in the wrapped - stream is moved to the next entry in the zip file. If you call , and thus re-position the pointer within - the file, you will need to call GetNextEntry() again, to insure - that the file pointer is positioned at the beginning of a zip entry. - - - - This method returns the ZipEntry. Using a stream approach, you will - read the raw bytes for an entry in a zip file via calls to Read(). - Alternatively, you can extract an entry into a file, or a stream, by - calling , or one of its siblings. - - - - - - The ZipEntry read. Returns null (or Nothing in VB) if there are no more - entries in the zip file. - - - - - - Dispose the stream. - - - - - This method disposes the ZipInputStream. It may also close the - underlying stream, depending on which constructor was used. - - - - Typically the application will call Dispose() implicitly, via - a using statement in C#, or a Using statement in VB. - - - - Application code won't call this code directly. This method may - be invoked in two distinct scenarios. If disposing == true, the - method has been called directly or indirectly by a user's code, - for example via the public Dispose() method. In this case, both - managed and unmanaged resources can be referenced and disposed. - If disposing == false, the method has been called by the runtime - from inside the object finalizer and this method should not - reference other objects; in that case only unmanaged resources - must be referenced or disposed. - - - - - true if the Dispose method was invoked by user code. - - - - - Always returns true. - - - - - Returns the value of CanSeek for the underlying (wrapped) stream. - - - - - Always returns false. - - - - - Returns the length of the underlying stream. - - - - - Gets or sets the position of the underlying stream. - - - Setting the position is equivalent to calling Seek(value, SeekOrigin.Begin). - - - - - This is a no-op. - - - - - This method always throws a NotSupportedException. - - ignored - ignored - ignored - - - - This method seeks in the underlying stream. - - - - - Call this method if you want to seek around within the zip file for random access. - - - - Applications can intermix calls to Seek() with calls to . After a call to Seek(), - GetNextEntry() will get the next ZipEntry that falls after - the current position in the input stream. You're on your own for finding - out just where to seek in the stream, to get to the various entries. - - - - - the offset point to seek to - the reference point from which to seek - The new position - - - - This method always throws a NotSupportedException. - - ignored - - - - Provides a stream metaphor for generating zip files. - - - - - This class writes zip files, as defined in the specification - for zip files described by PKWare. The compression for this - implementation is provided by a managed-code version of Zlib, included with - DotNetZip in the classes in the Ionic.Zlib namespace. - - - - This class provides an alternative programming model to the one enabled by the - class. Use this when creating zip files, as an - alternative to the class, when you would like to use a - Stream type to write the zip file. - - - - Both the ZipOutputStream class and the ZipFile class can be used - to create zip files. Both of them support many of the common zip features, - including Unicode, different compression levels, and ZIP64. They provide - very similar performance when creating zip files. - - - - The ZipFile class is generally easier to use than - ZipOutputStream and should be considered a higher-level interface. For - example, when creating a zip file via calls to the PutNextEntry() and - Write() methods on the ZipOutputStream class, the caller is - responsible for opening the file, reading the bytes from the file, writing - those bytes into the ZipOutputStream, setting the attributes on the - ZipEntry, and setting the created, last modified, and last accessed - timestamps on the zip entry. All of these things are done automatically by a - call to ZipFile.AddFile(). - For this reason, the ZipOutputStream is generally recommended for use - only when your application emits arbitrary data, not necessarily data from a - filesystem file, directly into a zip file, and does so using a Stream - metaphor. - - - - Aside from the differences in programming model, there are other - differences in capability between the two classes. - - - - - ZipFile can be used to read and extract zip files, in addition to - creating zip files. ZipOutputStream cannot read zip files. If you want - to use a stream to read zip files, check out the class. - - - - ZipOutputStream does not support the creation of segmented or spanned - zip files. - - - - ZipOutputStream cannot produce a self-extracting archive. - - - - - Be aware that the ZipOutputStream class implements the interface. In order for - ZipOutputStream to produce a valid zip file, you use use it within - a using clause (Using in VB), or call the Dispose() method - explicitly. See the examples for how to employ a using clause. - - - - Also, a note regarding compression performance: On the desktop .NET - Framework, DotNetZip can use a multi-threaded compression implementation - that provides significant speed increases on large files, over 300k or so, - at the cost of increased memory use at runtime. (The output of the - compression is almost exactly the same size). But, the multi-threaded - approach incurs a performance hit on smaller files. There's no way for the - ZipOutputStream to know whether parallel compression will be beneficial, - because the ZipOutputStream does not know how much data you will write - through the stream. You may wish to set the property to zero, if you are compressing - large files through ZipOutputStream. This will cause parallel - compression to be used, always. - - - - - - Create a ZipOutputStream, wrapping an existing stream. - - - - - The class is generally easier to use when creating - zip files. The ZipOutputStream offers a different metaphor for creating a - zip file, based on the class. - - - - - - The stream to wrap. It must be writable. This stream will be closed at - the time the ZipOutputStream is closed. - - - - - This example shows how to create a zip file, using the - ZipOutputStream class. - - - private void Zipup() - { - if (filesToZip.Count == 0) - { - System.Console.WriteLine("Nothing to do."); - return; - } - - using (var raw = File.Open(_outputFileName, FileMode.Create, FileAccess.ReadWrite )) - { - using (var output= new ZipOutputStream(raw)) - { - output.Password = "VerySecret!"; - output.Encryption = EncryptionAlgorithm.WinZipAes256; - - foreach (string inputFileName in filesToZip) - { - System.Console.WriteLine("file: {0}", inputFileName); - - output.PutNextEntry(inputFileName); - using (var input = File.Open(inputFileName, FileMode.Open, FileAccess.Read, FileShare.Read | FileShare.Write )) - { - byte[] buffer= new byte[2048]; - int n; - while ((n= input.Read(buffer,0,buffer.Length)) > 0) - { - output.Write(buffer,0,n); - } - } - } - } - } - } - - - - Private Sub Zipup() - Dim outputFileName As String = "XmlData.zip" - Dim filesToZip As String() = Directory.GetFiles(".", "*.xml") - If (filesToZip.Length = 0) Then - Console.WriteLine("Nothing to do.") - Else - Using raw As FileStream = File.Open(outputFileName, FileMode.Create, FileAccess.ReadWrite) - Using output As ZipOutputStream = New ZipOutputStream(raw) - output.Password = "VerySecret!" - output.Encryption = EncryptionAlgorithm.WinZipAes256 - Dim inputFileName As String - For Each inputFileName In filesToZip - Console.WriteLine("file: {0}", inputFileName) - output.PutNextEntry(inputFileName) - Using input As FileStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) - Dim n As Integer - Dim buffer As Byte() = New Byte(2048) {} - Do While (n = input.Read(buffer, 0, buffer.Length) > 0) - output.Write(buffer, 0, n) - Loop - End Using - Next - End Using - End Using - End If - End Sub - - - - - - Create a ZipOutputStream that writes to a filesystem file. - - - - The class is generally easier to use when creating - zip files. The ZipOutputStream offers a different metaphor for creating a - zip file, based on the class. - - - - The name of the zip file to create. - - - - - This example shows how to create a zip file, using the - ZipOutputStream class. - - - private void Zipup() - { - if (filesToZip.Count == 0) - { - System.Console.WriteLine("Nothing to do."); - return; - } - - using (var output= new ZipOutputStream(outputFileName)) - { - output.Password = "VerySecret!"; - output.Encryption = EncryptionAlgorithm.WinZipAes256; - - foreach (string inputFileName in filesToZip) - { - System.Console.WriteLine("file: {0}", inputFileName); - - output.PutNextEntry(inputFileName); - using (var input = File.Open(inputFileName, FileMode.Open, FileAccess.Read, - FileShare.Read | FileShare.Write )) - { - byte[] buffer= new byte[2048]; - int n; - while ((n= input.Read(buffer,0,buffer.Length)) > 0) - { - output.Write(buffer,0,n); - } - } - } - } - } - - - - Private Sub Zipup() - Dim outputFileName As String = "XmlData.zip" - Dim filesToZip As String() = Directory.GetFiles(".", "*.xml") - If (filesToZip.Length = 0) Then - Console.WriteLine("Nothing to do.") - Else - Using output As ZipOutputStream = New ZipOutputStream(outputFileName) - output.Password = "VerySecret!" - output.Encryption = EncryptionAlgorithm.WinZipAes256 - Dim inputFileName As String - For Each inputFileName In filesToZip - Console.WriteLine("file: {0}", inputFileName) - output.PutNextEntry(inputFileName) - Using input As FileStream = File.Open(inputFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) - Dim n As Integer - Dim buffer As Byte() = New Byte(2048) {} - Do While (n = input.Read(buffer, 0, buffer.Length) > 0) - output.Write(buffer, 0, n) - Loop - End Using - Next - End Using - End If - End Sub - - - - - - Create a ZipOutputStream. - - - - See the documentation for the ZipOutputStream(Stream) - constructor for an example. - - - - The stream to wrap. It must be writable. - - - - true if the application would like the stream - to remain open after the ZipOutputStream has been closed. - - - - Provides a string representation of the instance. - - - This can be useful for debugging purposes. - - - a string representation of the instance. - - - - Sets the password to be used on the ZipOutputStream instance. - - - - - - When writing a zip archive, this password is applied to the entries, not - to the zip archive itself. It applies to any ZipEntry subsequently - written to the ZipOutputStream. - - - - Using a password does not encrypt or protect the "directory" of the - archive - the list of entries contained in the archive. If you set the - Password property, the password actually applies to individual - entries that are added to the archive, subsequent to the setting of this - property. The list of filenames in the archive that is eventually created - will appear in clear text, but the contents of the individual files are - encrypted. This is how Zip encryption works. - - - - If you set this property, and then add a set of entries to the archive via - calls to PutNextEntry, then each entry is encrypted with that - password. You may also want to change the password between adding - different entries. If you set the password, add an entry, then set the - password to null (Nothing in VB), and add another entry, the - first entry is encrypted and the second is not. - - - - When setting the Password, you may also want to explicitly set the property, to specify how to encrypt the entries added - to the ZipFile. If you set the Password to a non-null value and do not - set , then PKZip 2.0 ("Weak") encryption is used. - This encryption is relatively weak but is very interoperable. If - you set the password to a null value (Nothing in VB), - Encryption is reset to None. - - - - Special case: if you wrap a ZipOutputStream around a non-seekable stream, - and use encryption, and emit an entry of zero bytes, the Close() or - PutNextEntry() following the entry will throw an exception. - - - - - - - The Encryption to use for entries added to the ZipOutputStream. - - - - - The specified Encryption is applied to the entries subsequently - written to the ZipOutputStream instance. - - - - If you set this to something other than - EncryptionAlgorithm.None, you will also need to set the - to a non-null, non-empty value in - order to actually get encryption on the entry. - - - - - ZipOutputStream.Password - ZipEntry.Encryption - - - - Size of the work buffer to use for the ZLIB codec during compression. - - - - Setting this may affect performance. For larger files, setting this to a - larger size may improve performance, but I'm not sure. Sorry, I don't - currently have good recommendations on how to set it. You can test it if - you like. - - - - - The compression strategy to use for all entries. - - - - Set the Strategy used by the ZLIB-compatible compressor, when compressing - data for the entries in the zip archive. Different compression strategies - work better on different sorts of data. The strategy parameter can affect - the compression ratio and the speed of compression but not the correctness - of the compresssion. For more information see . - - - - - The type of timestamp attached to the ZipEntry. - - - - Set this in order to specify the kind of timestamp that should be emitted - into the zip file for each entry. - - - - - Sets the compression level to be used for entries subsequently added to - the zip archive. - - - - - Varying the compression level used on entries can affect the - size-vs-speed tradeoff when compression and decompressing data streams - or files. - - - - As with some other properties on the ZipOutputStream class, like , and , - setting this property on a ZipOutputStream - instance will cause the specified CompressionLevel to be used on all - items that are subsequently added to the - ZipOutputStream instance. - - - - If you do not set this property, the default compression level is used, - which normally gives a good balance of compression efficiency and - compression speed. In some tests, using BestCompression can - double the time it takes to compress, while delivering just a small - increase in compression efficiency. This behavior will vary with the - type of data you compress. If you are in doubt, just leave this setting - alone, and accept the default. - - - - - - The compression method used on each entry added to the ZipOutputStream. - - - - - A comment attached to the zip archive. - - - - - - The application sets this property to specify a comment to be embedded - into the generated zip archive. - - - - According to PKWARE's - zip specification, the comment is not encrypted, even if there is a - password set on the zip file. - - - - The specification does not describe how to indicate the encoding used - on a comment string. Many "compliant" zip tools and libraries use - IBM437 as the code page for comments; DotNetZip, too, follows that - practice. On the other hand, there are situations where you want a - Comment to be encoded with something else, for example using code page - 950 "Big-5 Chinese". To fill that need, DotNetZip will encode the - comment following the same procedure it follows for encoding - filenames: (a) if is - Never, it uses the default encoding (IBM437). (b) if is Always, it always uses the - alternate encoding (). (c) if is AsNecessary, it uses the - alternate encoding only if the default encoding is not sufficient for - encoding the comment - in other words if decoding the result does not - produce the original string. This decision is taken at the time of - the call to ZipFile.Save(). - - - - - - - Specify whether to use ZIP64 extensions when saving a zip archive. - - - - - The default value for the property is . is - safest, in the sense that you will not get an Exception if a - pre-ZIP64 limit is exceeded. - - - - You must set this property before calling Write(). - - - - - - - Indicates whether ZIP64 extensions were used when saving the zip archive. - - - - The value is defined only after the ZipOutputStream has been closed. - - - - - Whether the ZipOutputStream should use case-insensitive comparisons when - checking for uniqueness of zip entries. - - - - - Though the zip specification doesn't prohibit zipfiles with duplicate - entries, Sane zip files have no duplicates, and the DotNetZip library - cannot create zip files with duplicate entries. If an application attempts - to call with a name that duplicates one - already used within the archive, the library will throw an Exception. - - - This property allows the application to specify whether the - ZipOutputStream instance considers ordinal case when checking for - uniqueness of zip entries. - - - - - - Indicates whether to encode entry filenames and entry comments using - Unicode (UTF-8). - - - - - The - PKWare zip specification provides for encoding file names and file - comments in either the IBM437 code page, or in UTF-8. This flag selects - the encoding according to that specification. By default, this flag is - false, and filenames and comments are encoded into the zip file in the - IBM437 codepage. Setting this flag to true will specify that filenames - and comments that cannot be encoded with IBM437 will be encoded with - UTF-8. - - - - Zip files created with strict adherence to the PKWare specification with - respect to UTF-8 encoding can contain entries with filenames containing - any combination of Unicode characters, including the full range of - characters from Chinese, Latin, Hebrew, Greek, Cyrillic, and many other - alphabets. However, because at this time, the UTF-8 portion of the PKWare - specification is not broadly supported by other zip libraries and - utilities, such zip files may not be readable by your favorite zip tool or - archiver. In other words, interoperability will decrease if you set this - flag to true. - - - - In particular, Zip files created with strict adherence to the PKWare - specification with respect to UTF-8 encoding will not work well with - Explorer in Windows XP or Windows Vista, because Windows compressed - folders, as far as I know, do not support UTF-8 in zip files. Vista can - read the zip files, but shows the filenames incorrectly. Unpacking from - Windows Vista Explorer will result in filenames that have rubbish - characters in place of the high-order UTF-8 bytes. - - - - Also, zip files that use UTF-8 encoding will not work well with Java - applications that use the java.util.zip classes, as of v5.0 of the Java - runtime. The Java runtime does not correctly implement the PKWare - specification in this regard. - - - - As a result, we have the unfortunate situation that "correct" behavior by - the DotNetZip library with regard to Unicode encoding of filenames during - zip creation will result in zip files that are readable by strictly - compliant and current tools (for example the most recent release of the - commercial WinZip tool); but these zip files will not be readable by - various other tools or libraries, including Windows Explorer. - - - - The DotNetZip library can read and write zip files with UTF8-encoded - entries, according to the PKware spec. If you use DotNetZip for both - creating and reading the zip file, and you use UTF-8, there will be no - loss of information in the filenames. For example, using a self-extractor - created by this library will allow you to unpack files correctly with no - loss of information in the filenames. - - - - If you do not set this flag, it will remain false. If this flag is false, - the ZipOutputStream will encode all filenames and comments using - the IBM437 codepage. This can cause "loss of information" on some - filenames, but the resulting zipfile will be more interoperable with other - utilities. As an example of the loss of information, diacritics can be - lost. The o-tilde character will be down-coded to plain o. The c with a - cedilla (Unicode 0xE7) used in Portugese will be downcoded to a c. - Likewise, the O-stroke character (Unicode 248), used in Danish and - Norwegian, will be down-coded to plain o. Chinese characters cannot be - represented in codepage IBM437; when using the default encoding, Chinese - characters in filenames will be represented as ?. These are all examples - of "information loss". - - - - The loss of information associated to the use of the IBM437 encoding is - inconvenient, and can also lead to runtime errors. For example, using - IBM437, any sequence of 4 Chinese characters will be encoded as ????. If - your application creates a ZipOutputStream, does not set the - encoding, then adds two files, each with names of four Chinese characters - each, this will result in a duplicate filename exception. In the case - where you add a single file with a name containing four Chinese - characters, the zipfile will save properly, but extracting that file - later, with any zip tool, will result in an error, because the question - mark is not legal for use within filenames on Windows. These are just a - few examples of the problems associated to loss of information. - - - - This flag is independent of the encoding of the content within the entries - in the zip file. Think of the zip file as a container - it supports an - encoding. Within the container are other "containers" - the file entries - themselves. The encoding within those entries is independent of the - encoding of the zip archive container for those entries. - - - - Rather than specify the encoding in a binary fashion using this flag, an - application can specify an arbitrary encoding via the property. Setting the encoding - explicitly when creating zip archives will result in non-compliant zip - files that, curiously, are fairly interoperable. The challenge is, the - PKWare specification does not provide for a way to specify that an entry - in a zip archive uses a code page that is neither IBM437 nor UTF-8. - Therefore if you set the encoding explicitly when creating a zip archive, - you must take care upon reading the zip archive to use the same code page. - If you get it wrong, the behavior is undefined and may result in incorrect - filenames, exceptions, stomach upset, hair loss, and acne. - - - - - - - The text encoding to use when emitting entries into the zip archive, for - those entries whose filenames or comments cannot be encoded with the - default (IBM437) encoding. - - - - - In its - zip specification, PKWare describes two options for encoding - filenames and comments: using IBM437 or UTF-8. But, some archiving tools - or libraries do not follow the specification, and instead encode - characters using the system default code page. For example, WinRAR when - run on a machine in Shanghai may encode filenames with the Big-5 Chinese - (950) code page. This behavior is contrary to the Zip specification, but - it occurs anyway. - - - - When using DotNetZip to write zip archives that will be read by one of - these other archivers, set this property to specify the code page to use - when encoding the and for each ZipEntry in the zip file, for - values that cannot be encoded with the default codepage for zip files, - IBM437. This is why this property is "provisional". In all cases, IBM437 - is used where possible, in other words, where no loss of data would - result. It is possible, therefore, to have a given entry with a - Comment encoded in IBM437 and a FileName encoded with the - specified "provisional" codepage. - - - - Be aware that a zip file created after you've explicitly set the - ProvisionalAlternateEncoding property to a value other than - IBM437 may not be compliant to the PKWare specification, and may not be - readable by compliant archivers. On the other hand, many (most?) - archivers are non-compliant and can read zip files created in arbitrary - code pages. The trick is to use or specify the proper codepage when - reading the zip. - - - - When creating a zip archive using this library, it is possible to change - the value of ProvisionalAlternateEncoding between each entry you - add, and between adding entries and the call to Close(). Don't do - this. It will likely result in a zipfile that is not readable. For best - interoperability, either leave ProvisionalAlternateEncoding - alone, or specify it only once, before adding any entries to the - ZipOutputStream instance. There is one exception to this - recommendation, described later. - - - - When using an arbitrary, non-UTF8 code page for encoding, there is no - standard way for the creator application - whether DotNetZip, WinZip, - WinRar, or something else - to formally specify in the zip file which - codepage has been used for the entries. As a result, readers of zip files - are not able to inspect the zip file and determine the codepage that was - used for the entries contained within it. It is left to the application - or user to determine the necessary codepage when reading zip files encoded - this way. If you use an incorrect codepage when reading a zipfile, you - will get entries with filenames that are incorrect, and the incorrect - filenames may even contain characters that are not legal for use within - filenames in Windows. Extracting entries with illegal characters in the - filenames will lead to exceptions. It's too bad, but this is just the way - things are with code pages in zip files. Caveat Emptor. - - - - One possible approach for specifying the code page for a given zip file is - to describe the code page in a human-readable form in the Zip comment. For - example, the comment may read "Entries in this archive are encoded in the - Big5 code page". For maximum interoperability, the zip comment in this - case should be encoded in the default, IBM437 code page. In this case, - the zip comment is encoded using a different page than the filenames. To - do this, Specify ProvisionalAlternateEncoding to your desired - region-specific code page, once before adding any entries, and then set - the property and reset - ProvisionalAlternateEncoding to IBM437 before calling Close(). - - - - - - A Text Encoding to use when encoding the filenames and comments for - all the ZipEntry items, during a ZipFile.Save() operation. - - - - Whether the encoding specified here is used during the save depends - on . - - - - - - A flag that tells if and when this instance should apply - AlternateEncoding to encode the filenames and comments associated to - of ZipEntry objects contained within this instance. - - - - - The default text encoding used in zip archives. It is numeric 437, also - known as IBM437. - - - - - - The size threshold for an entry, above which a parallel deflate is used. - - - - - - DotNetZip will use multiple threads to compress any ZipEntry, when - the CompressionMethod is Deflate, and if the entry is - larger than the given size. Zero means "always use parallel - deflate", while -1 means "never use parallel deflate". - - - - If the entry size cannot be known before compression, as with any entry - added via a ZipOutputStream, then Parallel deflate will never be - performed, unless the value of this property is zero. - - - - A parallel deflate operations will speed up the compression of - large files, on computers with multiple CPUs or multiple CPU - cores. For files above 1mb, on a dual core or dual-cpu (2p) - machine, the time required to compress the file can be 70% of the - single-threaded deflate. For very large files on 4p machines the - compression can be done in 30% of the normal time. The downside - is that parallel deflate consumes extra memory during the deflate, - and the deflation is slightly less effective. - - - - Parallel deflate tends to not be as effective as single-threaded deflate - because the original data stream is split into multiple independent - buffers, each of which is compressed in parallel. But because they are - treated independently, there is no opportunity to share compression - dictionaries, and additional framing bytes must be added to the output - stream. For that reason, a deflated stream may be slightly larger when - compressed using parallel deflate, as compared to a traditional - single-threaded deflate. For files of about 512k, the increase over the - normal deflate is as much as 5% of the total compressed size. For larger - files, the difference can be as small as 0.1%. - - - - Multi-threaded compression does not give as much an advantage when using - Encryption. This is primarily because encryption tends to slow down - the entire pipeline. Also, multi-threaded compression gives less of an - advantage when using lower compression levels, for example . You may have to perform - some tests to determine the best approach for your situation. - - - - The default value for this property is -1, which means parallel - compression will not be performed unless you set it to zero. - - - - - - - The maximum number of buffer pairs to use when performing - parallel compression. - - - - - This property sets an upper limit on the number of memory - buffer pairs to create when performing parallel - compression. The implementation of the parallel - compression stream allocates multiple buffers to - facilitate parallel compression. As each buffer fills up, - the stream uses - ThreadPool.QueueUserWorkItem() to compress those - buffers in a background threadpool thread. After a buffer - is compressed, it is re-ordered and written to the output - stream. - - - - A higher number of buffer pairs enables a higher degree of - parallelism, which tends to increase the speed of compression on - multi-cpu computers. On the other hand, a higher number of buffer - pairs also implies a larger memory consumption, more active worker - threads, and a higher cpu utilization for any compression. This - property enables the application to limit its memory consumption and - CPU utilization behavior depending on requirements. - - - - For each compression "task" that occurs in parallel, there are 2 - buffers allocated: one for input and one for output. This property - sets a limit for the number of pairs. The total amount of storage - space allocated for buffering will then be (N*S*2), where N is the - number of buffer pairs, S is the size of each buffer (). By default, DotNetZip allocates 4 buffer - pairs per CPU core, so if your machine has 4 cores, and you retain - the default buffer size of 128k, then the - ParallelDeflateOutputStream will use 4 * 4 * 2 * 128kb of buffer - memory in total, or 4mb, in blocks of 128kb. If you then set this - property to 8, then the number will be 8 * 2 * 128kb of buffer - memory, or 2mb. - - - - CPU utilization will also go up with additional buffers, because a - larger number of buffer pairs allows a larger number of background - threads to compress in parallel. If you find that parallel - compression is consuming too much memory or CPU, you can adjust this - value downward. - - - - The default value is 16. Different values may deliver better or - worse results, depending on your priorities and the dynamic - performance characteristics of your storage and compute resources. - - - - This property is not the number of buffer pairs to use; it is an - upper limit. An illustration: Suppose you have an application that - uses the default value of this property (which is 16), and it runs - on a machine with 2 CPU cores. In that case, DotNetZip will allocate - 4 buffer pairs per CPU core, for a total of 8 pairs. The upper - limit specified by this property has no effect. - - - - The application can set this value at any time, but it is - effective only if set before calling - ZipOutputStream.Write() for the first time. - - - - - - - - - Returns true if an entry by the given name has already been written - to the ZipOutputStream. - - - - The name of the entry to scan for. - - - - true if an entry by the given name has already been written. - - - - - Write the data from the buffer to the stream. - - - - As the application writes data into this stream, the data may be - compressed and encrypted before being written out to the underlying - stream, depending on the settings of the - and the properties. - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Specify the name of the next entry that will be written to the zip file. - - - - - Call this method just before calling , to - specify the name of the entry that the next set of bytes written to - the ZipOutputStream belongs to. All subsequent calls to Write, - until the next call to PutNextEntry, - will be inserted into the named entry in the zip file. - - - - If the used in PutNextEntry() ends in - a slash, then the entry added is marked as a directory. Because directory - entries do not contain data, a call to Write(), before an - intervening additional call to PutNextEntry(), will throw an - exception. - - - - If you don't call Write() between two calls to - PutNextEntry(), the first entry is inserted into the zip file as a - file of zero size. This may be what you want. - - - - Because PutNextEntry() closes out the prior entry, if any, this - method may throw if there is a problem with the prior entry. - - - - This method returns the ZipEntry. You can modify public properties - on the ZipEntry, such as , , and so on, until the first call to - ZipOutputStream.Write(), or until the next call to - PutNextEntry(). If you modify the ZipEntry after - having called Write(), you may get a runtime exception, or you may - silently get an invalid zip archive. - - - - - - - This example shows how to create a zip file, using the - ZipOutputStream class. - - - private void Zipup() - { - using (FileStream fs raw = File.Open(_outputFileName, FileMode.Create, FileAccess.ReadWrite )) - { - using (var output= new ZipOutputStream(fs)) - { - output.Password = "VerySecret!"; - output.Encryption = EncryptionAlgorithm.WinZipAes256; - output.PutNextEntry("entry1.txt"); - byte[] buffer= System.Text.Encoding.ASCII.GetBytes("This is the content for entry #1."); - output.Write(buffer,0,buffer.Length); - output.PutNextEntry("entry2.txt"); // this will be zero length - output.PutNextEntry("entry3.txt"); - buffer= System.Text.Encoding.ASCII.GetBytes("This is the content for entry #3."); - output.Write(buffer,0,buffer.Length); - } - } - } - - - - - The name of the entry to be added, including any path to be used - within the zip file. - - - - The ZipEntry created. - - - - - - Dispose the stream - - - - - This method writes the Zip Central directory, then closes the stream. The - application must call Dispose() (or Close) in order to produce a valid zip file. - - - - Typically the application will call Dispose() implicitly, via a using - statement in C#, or a Using statement in VB. - - - - - set this to true, always. - - - - Always returns false. - - - - - Always returns false. - - - - - Always returns true. - - - - - Always returns a NotSupportedException. - - - - - Setting this property always returns a NotSupportedException. Getting it - returns the value of the Position on the underlying stream. - - - - - This is a no-op. - - - - - This method always throws a NotSupportedException. - - ignored - ignored - ignored - nothing - - - - This method always throws a NotSupportedException. - - ignored - ignored - nothing - - - - This method always throws a NotSupportedException. - - ignored - - - - Sort-of like a factory method, ForUpdate is used only when - the application needs to update the zip entry metadata for - a segmented zip file, when the starting segment is earlier - than the ending segment, for a particular entry. - - - - The update is always contiguous, never rolls over. As a - result, this method doesn't need to return a ZSS; it can - simply return a FileStream. That's why it's "sort of" - like a Factory method. - - - Caller must Close/Dispose the stream object returned by - this method. - - - - - - Name of the filesystem file corresponding to the current segment. - - - - The name is not always the name currently being used in the - filesystem. When rwMode is RwMode.Write, the filesystem file has a - temporary name until the stream is closed or until the next segment is - started. - - - - - - Read from the stream - - the buffer to read - the offset at which to start - the number of bytes to read - the number of bytes actually read - - - - Write to the stream. - - the buffer from which to write - the offset at which to start writing - the number of bytes to write - - - - Computes a CRC-32. The CRC-32 algorithm is parameterized - you - can set the polynomial and enable or disable bit - reversal. This can be used for GZIP, BZip2, or ZIP. - - - This type is used internally by DotNetZip; it is generally not used - directly by applications wishing to create, read, or manipulate zip - archive files. - - - - - Indicates the total number of bytes applied to the CRC. - - - - - Indicates the current CRC for all blocks slurped in. - - - - - Returns the CRC32 for the specified stream. - - The stream over which to calculate the CRC32 - the CRC32 calculation - - - - Returns the CRC32 for the specified stream, and writes the input into the - output stream. - - The stream over which to calculate the CRC32 - The stream into which to deflate the input - the CRC32 calculation - - - - Get the CRC32 for the given (word,byte) combo. This is a - computation defined by PKzip for PKZIP 2.0 (weak) encryption. - - The word to start with. - The byte to combine it with. - The CRC-ized result. - - - - Update the value for the running CRC32 using the given block of bytes. - This is useful when using the CRC32() class in a Stream. - - block of bytes to slurp - starting point in the block - how many bytes within the block to slurp - - - - Process one byte in the CRC. - - the byte to include into the CRC . - - - - Process a run of N identical bytes into the CRC. - - - - This method serves as an optimization for updating the CRC when a - run of identical bytes is found. Rather than passing in a buffer of - length n, containing all identical bytes b, this method accepts the - byte value and the length of the (virtual) buffer - the length of - the run. - - - the byte to include into the CRC. - the number of times that byte should be repeated. - - - - Combines the given CRC32 value with the current running total. - - - This is useful when using a divide-and-conquer approach to - calculating a CRC. Multiple threads can each calculate a - CRC32 on a segment of the data, and then combine the - individual CRC32 values at the end. - - the crc value to be combined with this one - the length of data the CRC value was calculated on - - - - Create an instance of the CRC32 class using the default settings: no - bit reversal, and a polynomial of 0xEDB88320. - - - - - Create an instance of the CRC32 class, specifying whether to reverse - data bits or not. - - - specify true if the instance should reverse data bits. - - - - In the CRC-32 used by BZip2, the bits are reversed. Therefore if you - want a CRC32 with compatibility with BZip2, you should pass true - here. In the CRC-32 used by GZIP and PKZIP, the bits are not - reversed; Therefore if you want a CRC32 with compatibility with - those, you should pass false. - - - - - - Create an instance of the CRC32 class, specifying the polynomial and - whether to reverse data bits or not. - - - The polynomial to use for the CRC, expressed in the reversed (LSB) - format: the highest ordered bit in the polynomial value is the - coefficient of the 0th power; the second-highest order bit is the - coefficient of the 1 power, and so on. Expressed this way, the - polynomial for the CRC-32C used in IEEE 802.3, is 0xEDB88320. - - - specify true if the instance should reverse data bits. - - - - - In the CRC-32 used by BZip2, the bits are reversed. Therefore if you - want a CRC32 with compatibility with BZip2, you should pass true - here for the reverseBits parameter. In the CRC-32 used by - GZIP and PKZIP, the bits are not reversed; Therefore if you want a - CRC32 with compatibility with those, you should pass false for the - reverseBits parameter. - - - - - - Reset the CRC-32 class - clear the CRC "remainder register." - - - - Use this when employing a single instance of this class to compute - multiple, distinct CRCs on multiple, distinct data blocks. - - - - - - A Stream that calculates a CRC32 (a checksum) on all bytes read, - or on all bytes written. - - - - - This class can be used to verify the CRC of a ZipEntry when - reading from a stream, or to calculate a CRC when writing to a - stream. The stream should be used to either read, or write, but - not both. If you intermix reads and writes, the results are not - defined. - - - - This class is intended primarily for use internally by the - DotNetZip library. - - - - - - The default constructor. - - - - Instances returned from this constructor will leave the underlying - stream open upon Close(). The stream uses the default CRC32 - algorithm, which implies a polynomial of 0xEDB88320. - - - The underlying stream - - - - The constructor allows the caller to specify how to handle the - underlying stream at close. - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - The underlying stream - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - - - - A constructor allowing the specification of the length of the stream - to read. - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - Instances returned from this constructor will leave the underlying - stream open upon Close(). - - - The underlying stream - The length of the stream to slurp - - - - A constructor allowing the specification of the length of the stream - to read, as well as whether to keep the underlying stream open upon - Close(). - - - - The stream uses the default CRC32 algorithm, which implies a - polynomial of 0xEDB88320. - - - The underlying stream - The length of the stream to slurp - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - - - - A constructor allowing the specification of the length of the stream - to read, as well as whether to keep the underlying stream open upon - Close(), and the CRC32 instance to use. - - - - The stream uses the specified CRC32 instance, which allows the - application to specify how the CRC gets calculated. - - - The underlying stream - The length of the stream to slurp - true to leave the underlying stream - open upon close of the CrcCalculatorStream; false otherwise. - the CRC32 instance to use to calculate the CRC32 - - - - Gets the total number of bytes run through the CRC32 calculator. - - - - This is either the total number of bytes read, or the total number of - bytes written, depending on the direction of this stream. - - - - - Provides the current CRC for all blocks slurped in. - - - - The running total of the CRC is kept as data is written or read - through the stream. read this property after all reads or writes to - get an accurate CRC for the entire stream. - - - - - - Indicates whether the underlying stream will be left open when the - CrcCalculatorStream is Closed. - - - - Set this at any point before calling . - - - - - - Read from the stream - - the buffer to read - the offset at which to start - the number of bytes to read - the number of bytes actually read - - - - Write to the stream. - - the buffer from which to write - the offset at which to start writing - the number of bytes to write - - - - Indicates whether the stream supports reading. - - - - - Indicates whether the stream supports seeking. - - - - Always returns false. - - - - - - Indicates whether the stream supports writing. - - - - - Flush the stream. - - - - - Returns the length of the underlying stream. - - - - - The getter for this property returns the total bytes read. - If you use the setter, it will throw - . - - - - - Seeking is not supported on this stream. This method always throws - - - N/A - N/A - N/A - - - - This method always throws - - - N/A - - - - Closes the stream. - - - - - Enumerates the options for a logical conjunction. This enum is intended for use - internally by the FileSelector class. - - - - - FileSelector encapsulates logic that selects files from a source - a zip file - or the filesystem - based on a set of criteria. This class is used internally - by the DotNetZip library, in particular for the AddSelectedFiles() methods. - This class can also be used independently of the zip capability in DotNetZip. - - - - - - The FileSelector class is used internally by the ZipFile class for selecting - files for inclusion into the ZipFile, when the method, or one of - its overloads, is called. It's also used for the methods. Typically, an - application that creates or manipulates Zip archives will not directly - interact with the FileSelector class. - - - - Some applications may wish to use the FileSelector class directly, to - select files from disk volumes based on a set of criteria, without creating or - querying Zip archives. The file selection criteria include: a pattern to - match the filename; the last modified, created, or last accessed time of the - file; the size of the file; and the attributes of the file. - - - - Consult the documentation for - for more information on specifying the selection criteria. - - - - - - - Constructor that allows the caller to specify file selection criteria. - - - - - This constructor allows the caller to specify a set of criteria for - selection of files. - - - - See for a description of - the syntax of the selectionCriteria string. - - - - By default the FileSelector will traverse NTFS Reparse Points. To - change this, use FileSelector(String, bool). - - - - The criteria for file selection. - - - - Constructor that allows the caller to specify file selection criteria. - - - - - This constructor allows the caller to specify a set of criteria for - selection of files. - - - - See for a description of - the syntax of the selectionCriteria string. - - - - The criteria for file selection. - - whether to traverse NTFS reparse points (junctions). - - - - - The string specifying which files to include when retrieving. - - - - - Specify the criteria in statements of 3 elements: a noun, an operator, - and a value. Consider the string "name != *.doc" . The noun is - "name". The operator is "!=", implying "Not Equal". The value is - "*.doc". That criterion, in English, says "all files with a name that - does not end in the .doc extension." - - - - Supported nouns include "name" (or "filename") for the filename; - "atime", "mtime", and "ctime" for last access time, last modfied time, - and created time of the file, respectively; "attributes" (or "attrs") - for the file attributes; "size" (or "length") for the file length - (uncompressed); and "type" for the type of object, either a file or a - directory. The "attributes", "type", and "name" nouns all support = - and != as operators. The "size", "atime", "mtime", and "ctime" nouns - support = and !=, and >, >=, <, <= as well. The times are - taken to be expressed in local time. - - - - Specify values for the file attributes as a string with one or more of - the characters H,R,S,A,I,L in any order, implying file attributes of - Hidden, ReadOnly, System, Archive, NotContextIndexed, and ReparsePoint - (symbolic link) respectively. - - - - To specify a time, use YYYY-MM-DD-HH:mm:ss or YYYY/MM/DD-HH:mm:ss as - the format. If you omit the HH:mm:ss portion, it is assumed to be - 00:00:00 (midnight). - - - - The value for a size criterion is expressed in integer quantities of - bytes, kilobytes (use k or kb after the number), megabytes (m or mb), - or gigabytes (g or gb). - - - - The value for a name is a pattern to match against the filename, - potentially including wildcards. The pattern follows CMD.exe glob - rules: * implies one or more of any character, while ? implies one - character. If the name pattern contains any slashes, it is matched to - the entire filename, including the path; otherwise, it is matched - against only the filename without the path. This means a pattern of - "*\*.*" matches all files one directory level deep, while a pattern of - "*.*" matches all files in all directories. - - - - To specify a name pattern that includes spaces, use single quotes - around the pattern. A pattern of "'* *.*'" will match all files that - have spaces in the filename. The full criteria string for that would - be "name = '* *.*'" . - - - - The value for a type criterion is either F (implying a file) or D - (implying a directory). - - - - Some examples: - - - - - criteria - Files retrieved - - - - name != *.xls - any file with an extension that is not .xls - - - - - name = *.mp3 - any file with a .mp3 extension. - - - - - *.mp3 - (same as above) any file with a .mp3 extension. - - - - - attributes = A - all files whose attributes include the Archive bit. - - - - - attributes != H - all files whose attributes do not include the Hidden bit. - - - - - mtime > 2009-01-01 - all files with a last modified time after January 1st, 2009. - - - - - ctime > 2009/01/01-03:00:00 - all files with a created time after 3am (local time), - on January 1st, 2009. - - - - - size > 2gb - all files whose uncompressed size is greater than 2gb. - - - - - type = D - all directories in the filesystem. - - - - - - You can combine criteria with the conjunctions AND, OR, and XOR. Using - a string like "name = *.txt AND size >= 100k" for the - selectionCriteria retrieves entries whose names end in .txt, and whose - uncompressed size is greater than or equal to 100 kilobytes. - - - - For more complex combinations of criteria, you can use parenthesis to - group clauses in the boolean logic. Absent parenthesis, the - precedence of the criterion atoms is determined by order of - appearance. Unlike the C# language, the AND conjunction does not take - precendence over the logical OR. This is important only in strings - that contain 3 or more criterion atoms. In other words, "name = *.txt - and size > 1000 or attributes = H" implies "((name = *.txt AND size - > 1000) OR attributes = H)" while "attributes = H OR name = *.txt - and size > 1000" evaluates to "((attributes = H OR name = *.txt) - AND size > 1000)". When in doubt, use parenthesis. - - - - Using time properties requires some extra care. If you want to - retrieve all entries that were last updated on 2009 February 14, - specify "mtime >= 2009-02-14 AND mtime < 2009-02-15". Read this - to say: all files updated after 12:00am on February 14th, until - 12:00am on February 15th. You can use the same bracketing approach to - specify any time period - a year, a month, a week, and so on. - - - - The syntax allows one special case: if you provide a string with no - spaces, it is treated as a pattern to match for the filename. - Therefore a string like "*.xls" will be equivalent to specifying "name - = *.xls". This "shorthand" notation does not work with compound - criteria. - - - - There is no logic in this class that insures that the inclusion - criteria are internally consistent. For example, it's possible to - specify criteria that says the file must have a size of less than 100 - bytes, as well as a size that is greater than 1000 bytes. Obviously - no file will ever satisfy such criteria, but this class does not check - for or detect such inconsistencies. - - - - - - Thrown in the setter if the value has an invalid syntax. - - - - - Indicates whether searches will traverse NTFS reparse points, like Junctions. - - - - - Returns a string representation of the FileSelector object. - - The string representation of the boolean logic statement of the file - selection criteria for this instance. - - - - Returns the names of the files in the specified directory - that fit the selection criteria specified in the FileSelector. - - - - This is equivalent to calling - with recurseDirectories = false. - - - - The name of the directory over which to apply the FileSelector - criteria. - - - - A collection of strings containing fully-qualified pathnames of files - that match the criteria specified in the FileSelector instance. - - - - - Returns the names of the files in the specified directory that fit the - selection criteria specified in the FileSelector, optionally recursing - through subdirectories. - - - - This method applies the file selection criteria contained in the - FileSelector to the files contained in the given directory, and - returns the names of files that conform to the criteria. - - - - The name of the directory over which to apply the FileSelector - criteria. - - - - Whether to recurse through subdirectories when applying the file - selection criteria. - - - - A collection of strings containing fully-qualified pathnames of files - that match the criteria specified in the FileSelector instance. - - - - - Retrieve the ZipEntry items in the ZipFile that conform to the specified criteria. - - - - - This method applies the criteria set in the FileSelector instance (as described in - the ) to the specified ZipFile. Using this - method, for example, you can retrieve all entries from the given ZipFile that - have filenames ending in .txt. - - - - Normally, applications would not call this method directly. This method is used - by the ZipFile class. - - - - Using the appropriate SelectionCriteria, you can retrieve entries based on size, - time, and attributes. See for a - description of the syntax of the SelectionCriteria string. - - - - - The ZipFile from which to retrieve entries. - - a collection of ZipEntry objects that conform to the criteria. - - - - Retrieve the ZipEntry items in the ZipFile that conform to the specified criteria. - - - - - This method applies the criteria set in the FileSelector instance (as described in - the ) to the specified ZipFile. Using this - method, for example, you can retrieve all entries from the given ZipFile that - have filenames ending in .txt. - - - - Normally, applications would not call this method directly. This method is used - by the ZipFile class. - - - - This overload allows the selection of ZipEntry instances from the ZipFile to be restricted - to entries contained within a particular directory in the ZipFile. - - - - Using the appropriate SelectionCriteria, you can retrieve entries based on size, - time, and attributes. See for a - description of the syntax of the SelectionCriteria string. - - - - - The ZipFile from which to retrieve entries. - - - the directory in the archive from which to select entries. If null, then - all directories in the archive are used. - - - a collection of ZipEntry objects that conform to the criteria. - - - - Summary description for EnumUtil. - - - - - Returns the value of the DescriptionAttribute if the specified Enum - value has one. If not, returns the ToString() representation of the - Enum value. - - The Enum to get the description for - - - - - Converts the string representation of the name or numeric value of one - or more enumerated constants to an equivalent enumerated object. - Note: use the DescriptionAttribute on enum values to enable this. - - The System.Type of the enumeration. - - A string containing the name or value to convert. - - - - - - Converts the string representation of the name or numeric value of one - or more enumerated constants to an equivalent enumerated object. A - parameter specified whether the operation is case-sensitive. Note: - use the DescriptionAttribute on enum values to enable this. - - The System.Type of the enumeration. - - A string containing the name or value to convert. - - - Whether the operation is case-sensitive or not. - - - - - Provides a text encoder for the iso-8859-1 encoding, aka Latin1 encoding, - for platforms that do not support it, for example on Silverlight or some - Compact Framework platforms. - - - - - Gets the name registered with the - Internet Assigned Numbers Authority (IANA) for the current encoding. - - - Always returns "iso-8859-1". - - - - - Encodes a set of characters from a character array into - a byte array. - - - The actual number of bytes written into . - - The character array containing the set of characters to encode. - The index of the first character to encode. - The number of characters to encode. - The byte array to contain the resulting sequence of bytes. - The index at which to start writing the resulting sequence of bytes. - - - - - Decodes a sequence of bytes from the specified byte array into the specified character array. - - - The actual number of characters written into . - - The byte array containing the sequence of bytes to decode. - The index of the first byte to decode. - The number of bytes to decode. - The character array to contain the resulting set of characters. - The index at which to start writing the resulting set of characters. - - - - - Calculates the number of bytes produced by encoding a set of characters - from the specified character array. - - - The number of bytes produced by encoding the specified characters. This class - alwas returns the value of . - - - - - Calculates the number of characters produced by decoding a sequence - of bytes from the specified byte array. - - - The number of characters produced by decoding the specified sequence of bytes. This class - alwas returns the value of . - - - - - Calculates the maximum number of bytes produced by encoding the specified number of characters. - - - The maximum number of bytes produced by encoding the specified number of characters. This - class alwas returns the value of . - - The number of characters to encode. - - - - - Calculates the maximum number of characters produced by decoding the specified number of bytes. - - - The maximum number of characters produced by decoding the specified number of bytes. This class - alwas returns the value of . - - The number of bytes to decode. - - - - Gets the number of characters that are supported by this encoding. - This property returns a maximum value of 256, as the encoding class - only supports single byte encodings (1 byte == 256 possible values). - - - - - A class for compressing and decompressing streams using the Deflate algorithm. - - - - - - The DeflateStream is a Decorator on a . It adds DEFLATE compression or decompression to any - stream. - - - - Using this stream, applications can compress or decompress data via stream - Read and Write operations. Either compresssion or decompression - can occur through either reading or writing. The compression format used is - DEFLATE, which is documented in IETF RFC 1951, "DEFLATE - Compressed Data Format Specification version 1.3.". - - - - This class is similar to , except that - ZlibStream adds the RFC - 1950 - ZLIB framing bytes to a compressed stream when compressing, or - expects the RFC1950 framing bytes when decompressing. The DeflateStream - does not. - - - - - - - - - - Create a DeflateStream using the specified CompressionMode. - - - - When mode is CompressionMode.Compress, the DeflateStream will use - the default compression level. The "captive" stream will be closed when - the DeflateStream is closed. - - - - This example uses a DeflateStream to compress data from a file, and writes - the compressed data to another file. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".deflated")) - { - using (Stream compressor = new DeflateStream(raw, CompressionMode.Compress)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".deflated") - Using compressor As Stream = New DeflateStream(raw, CompressionMode.Compress) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream which will be read or written. - Indicates whether the DeflateStream will compress or decompress. - - - - Create a DeflateStream using the specified CompressionMode and the specified CompressionLevel. - - - - - - When mode is CompressionMode.Decompress, the level parameter is - ignored. The "captive" stream will be closed when the DeflateStream is - closed. - - - - - - - This example uses a DeflateStream to compress data from a file, and writes - the compressed data to another file. - - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".deflated")) - { - using (Stream compressor = new DeflateStream(raw, - CompressionMode.Compress, - CompressionLevel.BestCompression)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n= -1; - while (n != 0) - { - if (n > 0) - compressor.Write(buffer, 0, n); - n= input.Read(buffer, 0, buffer.Length); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".deflated") - Using compressor As Stream = New DeflateStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream to be read or written while deflating or inflating. - Indicates whether the DeflateStream will compress or decompress. - A tuning knob to trade speed for effectiveness. - - - - Create a DeflateStream using the specified - CompressionMode, and explicitly specify whether the - stream should be left open after Deflation or Inflation. - - - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - memory stream that will be re-read after compression. Specify true for - the parameter to leave the stream open. - - - - The DeflateStream will use the default compression level. - - - - See the other overloads of this constructor for example code. - - - - - The stream which will be read or written. This is called the - "captive" stream in other places in this documentation. - - - - Indicates whether the DeflateStream will compress or decompress. - - - true if the application would like the stream to - remain open after inflation/deflation. - - - - Create a DeflateStream using the specified CompressionMode - and the specified CompressionLevel, and explicitly specify whether - the stream should be left open after Deflation or Inflation. - - - - - - When mode is CompressionMode.Decompress, the level parameter is ignored. - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - that will be re-read after - compression. Specify true for the parameter - to leave the stream open. - - - - - - - This example shows how to use a DeflateStream to compress data from - a file, and store the compressed data into another file. - - - using (var output = System.IO.File.Create(fileToCompress + ".deflated")) - { - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (Stream compressor = new DeflateStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n= -1; - while (n != 0) - { - if (n > 0) - compressor.Write(buffer, 0, n); - n= input.Read(buffer, 0, buffer.Length); - } - } - } - // can write additional data to the output stream here - } - - - - Using output As FileStream = File.Create(fileToCompress & ".deflated") - Using input As Stream = File.OpenRead(fileToCompress) - Using compressor As Stream = New DeflateStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - ' can write additional data to the output stream here. - End Using - - - The stream which will be read or written. - Indicates whether the DeflateStream will compress or decompress. - true if the application would like the stream to remain open after inflation/deflation. - A tuning knob to trade speed for effectiveness. - - - - This property sets the flush behavior on the stream. - - See the ZLIB documentation for the meaning of the flush behavior. - - - - - The size of the working buffer for the compression codec. - - - - - The working buffer is used for all stream operations. The default size is - 1024 bytes. The minimum size is 128 bytes. You may get better performance - with a larger buffer. Then again, you might not. You would have to test - it. - - - - Set this before the first call to Read() or Write() on the - stream. If you try to set it afterwards, it will throw. - - - - - - The ZLIB strategy to be used during compression. - - - - By tweaking this parameter, you may be able to optimize the compression for - data with particular characteristics. - - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - Dispose the stream. - - - - This may or may not result in a Close() call on the captive - stream. See the constructors that have a leaveOpen parameter - for more information. - - - Application code won't call this code directly. This method may be - invoked in two distinct scenarios. If disposing == true, the method - has been called directly or indirectly by a user's code, for example - via the public Dispose() method. In this case, both managed and - unmanaged resources can be referenced and disposed. If disposing == - false, the method has been called by the runtime from inside the - object finalizer and this method should not reference other objects; - in that case only unmanaged resources must be referenced or - disposed. - - - - true if the Dispose method was invoked by user code. - - - - - Indicates whether the stream can be read. - - - The return value depends on whether the captive stream supports reading. - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream can be written. - - - The return value depends on whether the captive stream supports writing. - - - - - Flush the stream. - - - - - Reading this property always throws a . - - - - - The position of the stream pointer. - - - - Setting this property always throws a . Reading will return the total bytes - written out, if used in writing, or the total bytes read in, if used in - reading. The count may refer to compressed bytes or uncompressed bytes, - depending on how you've used the stream. - - - - - Read data from the stream. - - - - - If you wish to use the DeflateStream to compress data while - reading, you can create a DeflateStream with - CompressionMode.Compress, providing an uncompressed data stream. - Then call Read() on that DeflateStream, and the data read will be - compressed as you read. If you wish to use the DeflateStream to - decompress data while reading, you can create a DeflateStream with - CompressionMode.Decompress, providing a readable compressed data - stream. Then call Read() on that DeflateStream, and the data read - will be decompressed as you read. - - - - A DeflateStream can be used for Read() or Write(), but not both. - - - - The buffer into which the read data should be placed. - the offset within that data array to put the first byte read. - the number of bytes to read. - the number of bytes actually read - - - - Calling this method always throws a . - - this is irrelevant, since it will always throw! - this is irrelevant, since it will always throw! - irrelevant! - - - - Calling this method always throws a . - - this is irrelevant, since it will always throw! - - - - Write data to the stream. - - - - - If you wish to use the DeflateStream to compress data while - writing, you can create a DeflateStream with - CompressionMode.Compress, and a writable output stream. Then call - Write() on that DeflateStream, providing uncompressed data - as input. The data sent to the output stream will be the compressed form - of the data written. If you wish to use the DeflateStream to - decompress data while writing, you can create a DeflateStream with - CompressionMode.Decompress, and a writable output stream. Then - call Write() on that stream, providing previously compressed - data. The data sent to the output stream will be the decompressed form of - the data written. - - - - A DeflateStream can be used for Read() or Write(), - but not both. - - - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Compress a string into a byte array using DEFLATE (RFC 1951). - - - - Uncompress it with . - - - DeflateStream.UncompressString(byte[]) - DeflateStream.CompressBuffer(byte[]) - GZipStream.CompressString(string) - ZlibStream.CompressString(string) - - - A string to compress. The string will first be encoded - using UTF8, then compressed. - - - The string in compressed form - - - - Compress a byte array into a new byte array using DEFLATE. - - - - Uncompress it with . - - - DeflateStream.CompressString(string) - DeflateStream.UncompressBuffer(byte[]) - GZipStream.CompressBuffer(byte[]) - ZlibStream.CompressBuffer(byte[]) - - - A buffer to compress. - - - The data in compressed form - - - - Uncompress a DEFLATE'd byte array into a single string. - - - DeflateStream.CompressString(String) - DeflateStream.UncompressBuffer(byte[]) - GZipStream.UncompressString(byte[]) - ZlibStream.UncompressString(byte[]) - - - A buffer containing DEFLATE-compressed data. - - - The uncompressed string - - - - Uncompress a DEFLATE'd byte array into a byte array. - - - DeflateStream.CompressBuffer(byte[]) - DeflateStream.UncompressString(byte[]) - GZipStream.UncompressBuffer(byte[]) - ZlibStream.UncompressBuffer(byte[]) - - - A buffer containing data that has been compressed with DEFLATE. - - - The data in uncompressed form - - - - A class for compressing and decompressing GZIP streams. - - - - - The GZipStream is a Decorator on a - . It adds GZIP compression or decompression to any - stream. - - - - Like the System.IO.Compression.GZipStream in the .NET Base Class Library, the - Ionic.Zlib.GZipStream can compress while writing, or decompress while - reading, but not vice versa. The compression method used is GZIP, which is - documented in IETF RFC - 1952, "GZIP file format specification version 4.3". - - - A GZipStream can be used to decompress data (through Read()) or - to compress data (through Write()), but not both. - - - - If you wish to use the GZipStream to compress data, you must wrap it - around a write-able stream. As you call Write() on the GZipStream, the - data will be compressed into the GZIP format. If you want to decompress data, - you must wrap the GZipStream around a readable stream that contains an - IETF RFC 1952-compliant stream. The data will be decompressed as you call - Read() on the GZipStream. - - - - Though the GZIP format allows data from multiple files to be concatenated - together, this stream handles only a single segment of GZIP format, typically - representing a single file. - - - - This class is similar to and . - ZlibStream handles RFC1950-compliant streams. - handles RFC1951-compliant streams. This class handles RFC1952-compliant streams. - - - - - - - - - - The comment on the GZIP stream. - - - - - The GZIP format allows for each file to optionally have an associated - comment stored with the file. The comment is encoded with the ISO-8859-1 - code page. To include a comment in a GZIP stream you create, set this - property before calling Write() for the first time on the - GZipStream. - - - - When using GZipStream to decompress, you can retrieve this property - after the first call to Read(). If no comment has been set in the - GZIP bytestream, the Comment property will return null - (Nothing in VB). - - - - - - The FileName for the GZIP stream. - - - - - - The GZIP format optionally allows each file to have an associated - filename. When compressing data (through Write()), set this - FileName before calling Write() the first time on the GZipStream. - The actual filename is encoded into the GZIP bytestream with the - ISO-8859-1 code page, according to RFC 1952. It is the application's - responsibility to insure that the FileName can be encoded and decoded - correctly with this code page. - - - - When decompressing (through Read()), you can retrieve this value - any time after the first Read(). In the case where there was no filename - encoded into the GZIP bytestream, the property will return null (Nothing - in VB). - - - - - - The last modified time for the GZIP stream. - - - - GZIP allows the storage of a last modified time with each GZIP entry. - When compressing data, you can set this before the first call to - Write(). When decompressing, you can retrieve this value any time - after the first call to Read(). - - - - - The CRC on the GZIP stream. - - - This is used for internal error checking. You probably don't need to look at this property. - - - - - Create a GZipStream using the specified CompressionMode. - - - - - When mode is CompressionMode.Compress, the GZipStream will use the - default compression level. - - - - As noted in the class documentation, the CompressionMode (Compress - or Decompress) also establishes the "direction" of the stream. A - GZipStream with CompressionMode.Compress works only through - Write(). A GZipStream with - CompressionMode.Decompress works only through Read(). - - - - - - This example shows how to use a GZipStream to compress data. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(outputFile)) - { - using (Stream compressor = new GZipStream(raw, CompressionMode.Compress)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Dim outputFile As String = (fileToCompress & ".compressed") - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(outputFile) - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - - This example shows how to use a GZipStream to uncompress a file. - - private void GunZipFile(string filename) - { - if (!filename.EndsWith(".gz)) - throw new ArgumentException("filename"); - var DecompressedFile = filename.Substring(0,filename.Length-3); - byte[] working = new byte[WORKING_BUFFER_SIZE]; - int n= 1; - using (System.IO.Stream input = System.IO.File.OpenRead(filename)) - { - using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) - { - using (var output = System.IO.File.Create(DecompressedFile)) - { - while (n !=0) - { - n= decompressor.Read(working, 0, working.Length); - if (n > 0) - { - output.Write(working, 0, n); - } - } - } - } - } - } - - - - Private Sub GunZipFile(ByVal filename as String) - If Not (filename.EndsWith(".gz)) Then - Throw New ArgumentException("filename") - End If - Dim DecompressedFile as String = filename.Substring(0,filename.Length-3) - Dim working(WORKING_BUFFER_SIZE) as Byte - Dim n As Integer = 1 - Using input As Stream = File.OpenRead(filename) - Using decompressor As Stream = new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, True) - Using output As Stream = File.Create(UncompressedFile) - Do - n= decompressor.Read(working, 0, working.Length) - If n > 0 Then - output.Write(working, 0, n) - End IF - Loop While (n > 0) - End Using - End Using - End Using - End Sub - - - - The stream which will be read or written. - Indicates whether the GZipStream will compress or decompress. - - - - Create a GZipStream using the specified CompressionMode and - the specified CompressionLevel. - - - - - The CompressionMode (Compress or Decompress) also establishes the - "direction" of the stream. A GZipStream with - CompressionMode.Compress works only through Write(). A - GZipStream with CompressionMode.Decompress works only - through Read(). - - - - - - - This example shows how to use a GZipStream to compress a file into a .gz file. - - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".gz")) - { - using (Stream compressor = new GZipStream(raw, - CompressionMode.Compress, - CompressionLevel.BestCompression)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".gz") - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream to be read or written while deflating or inflating. - Indicates whether the GZipStream will compress or decompress. - A tuning knob to trade speed for effectiveness. - - - - Create a GZipStream using the specified CompressionMode, and - explicitly specify whether the stream should be left open after Deflation - or Inflation. - - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - memory stream that will be re-read after compressed data has been written - to it. Specify true for the parameter to leave - the stream open. - - - - The (Compress or Decompress) also - establishes the "direction" of the stream. A GZipStream with - CompressionMode.Compress works only through Write(). A GZipStream - with CompressionMode.Decompress works only through Read(). - - - - The GZipStream will use the default compression level. If you want - to specify the compression level, see . - - - - See the other overloads of this constructor for example code. - - - - - - The stream which will be read or written. This is called the "captive" - stream in other places in this documentation. - - - Indicates whether the GZipStream will compress or decompress. - - - - true if the application would like the base stream to remain open after - inflation/deflation. - - - - - Create a GZipStream using the specified CompressionMode and the - specified CompressionLevel, and explicitly specify whether the - stream should be left open after Deflation or Inflation. - - - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - memory stream that will be re-read after compressed data has been written - to it. Specify true for the parameter to - leave the stream open. - - - - As noted in the class documentation, the CompressionMode (Compress - or Decompress) also establishes the "direction" of the stream. A - GZipStream with CompressionMode.Compress works only through - Write(). A GZipStream with CompressionMode.Decompress works only - through Read(). - - - - - - This example shows how to use a GZipStream to compress data. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(outputFile)) - { - using (Stream compressor = new GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, true)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Dim outputFile As String = (fileToCompress & ".compressed") - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(outputFile) - Using compressor As Stream = New GZipStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression, True) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream which will be read or written. - Indicates whether the GZipStream will compress or decompress. - true if the application would like the stream to remain open after inflation/deflation. - A tuning knob to trade speed for effectiveness. - - - - This property sets the flush behavior on the stream. - - - - - The size of the working buffer for the compression codec. - - - - - The working buffer is used for all stream operations. The default size is - 1024 bytes. The minimum size is 128 bytes. You may get better performance - with a larger buffer. Then again, you might not. You would have to test - it. - - - - Set this before the first call to Read() or Write() on the - stream. If you try to set it afterwards, it will throw. - - - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - Dispose the stream. - - - - This may or may not result in a Close() call on the captive - stream. See the constructors that have a leaveOpen parameter - for more information. - - - This method may be invoked in two distinct scenarios. If disposing - == true, the method has been called directly or indirectly by a - user's code, for example via the public Dispose() method. In this - case, both managed and unmanaged resources can be referenced and - disposed. If disposing == false, the method has been called by the - runtime from inside the object finalizer and this method should not - reference other objects; in that case only unmanaged resources must - be referenced or disposed. - - - - indicates whether the Dispose method was invoked by user code. - - - - - Indicates whether the stream can be read. - - - The return value depends on whether the captive stream supports reading. - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream can be written. - - - The return value depends on whether the captive stream supports writing. - - - - - Flush the stream. - - - - - Reading this property always throws a . - - - - - The position of the stream pointer. - - - - Setting this property always throws a . Reading will return the total bytes - written out, if used in writing, or the total bytes read in, if used in - reading. The count may refer to compressed bytes or uncompressed bytes, - depending on how you've used the stream. - - - - - Read and decompress data from the source stream. - - - - With a GZipStream, decompression is done through reading. - - - - - byte[] working = new byte[WORKING_BUFFER_SIZE]; - using (System.IO.Stream input = System.IO.File.OpenRead(_CompressedFile)) - { - using (Stream decompressor= new Ionic.Zlib.GZipStream(input, CompressionMode.Decompress, true)) - { - using (var output = System.IO.File.Create(_DecompressedFile)) - { - int n; - while ((n= decompressor.Read(working, 0, working.Length)) !=0) - { - output.Write(working, 0, n); - } - } - } - } - - - The buffer into which the decompressed data should be placed. - the offset within that data array to put the first byte read. - the number of bytes to read. - the number of bytes actually read - - - - Calling this method always throws a . - - irrelevant; it will always throw! - irrelevant; it will always throw! - irrelevant! - - - - Calling this method always throws a . - - irrelevant; this method will always throw! - - - - Write data to the stream. - - - - - If you wish to use the GZipStream to compress data while writing, - you can create a GZipStream with CompressionMode.Compress, and a - writable output stream. Then call Write() on that GZipStream, - providing uncompressed data as input. The data sent to the output stream - will be the compressed form of the data written. - - - - A GZipStream can be used for Read() or Write(), but not - both. Writing implies compression. Reading implies decompression. - - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Compress a string into a byte array using GZip. - - - - Uncompress it with . - - - - - - - A string to compress. The string will first be encoded - using UTF8, then compressed. - - - The string in compressed form - - - - Compress a byte array into a new byte array using GZip. - - - - Uncompress it with . - - - - - - - A buffer to compress. - - - The data in compressed form - - - - Uncompress a GZip'ed byte array into a single string. - - - - - - - A buffer containing GZIP-compressed data. - - - The uncompressed string - - - - Uncompress a GZip'ed byte array into a byte array. - - - - - - - A buffer containing data that has been compressed with GZip. - - - The data in uncompressed form - - - - A class for compressing streams using the - Deflate algorithm with multiple threads. - - - - - This class performs DEFLATE compression through writing. For - more information on the Deflate algorithm, see IETF RFC 1951, - "DEFLATE Compressed Data Format Specification version 1.3." - - - - This class is similar to , except - that this class is for compression only, and this implementation uses an - approach that employs multiple worker threads to perform the DEFLATE. On - a multi-cpu or multi-core computer, the performance of this class can be - significantly higher than the single-threaded DeflateStream, particularly - for larger streams. How large? Anything over 10mb is a good candidate - for parallel compression. - - - - The tradeoff is that this class uses more memory and more CPU than the - vanilla DeflateStream, and also is less efficient as a compressor. For - large files the size of the compressed data stream can be less than 1% - larger than the size of a compressed data stream from the vanialla - DeflateStream. For smaller files the difference can be larger. The - difference will also be larger if you set the BufferSize to be lower than - the default value. Your mileage may vary. Finally, for small files, the - ParallelDeflateOutputStream can be much slower than the vanilla - DeflateStream, because of the overhead associated to using the thread - pool. - - - - - - - - Create a ParallelDeflateOutputStream. - - - - - This stream compresses data written into it via the DEFLATE - algorithm (see RFC 1951), and writes out the compressed byte stream. - - - - The instance will use the default compression level, the default - buffer sizes and the default number of threads and buffers per - thread. - - - - This class is similar to , - except that this implementation uses an approach that employs - multiple worker threads to perform the DEFLATE. On a multi-cpu or - multi-core computer, the performance of this class can be - significantly higher than the single-threaded DeflateStream, - particularly for larger streams. How large? Anything over 10mb is - a good candidate for parallel compression. - - - - - - - This example shows how to use a ParallelDeflateOutputStream to compress - data. It reads a file, compresses it, and writes the compressed data to - a second, output file. - - - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n= -1; - String outputFile = fileToCompress + ".compressed"; - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(outputFile)) - { - using (Stream compressor = new ParallelDeflateOutputStream(raw)) - { - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Dim outputFile As String = (fileToCompress & ".compressed") - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(outputFile) - Using compressor As Stream = New ParallelDeflateOutputStream(raw) - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - The stream to which compressed data will be written. - - - - Create a ParallelDeflateOutputStream using the specified CompressionLevel. - - - See the - constructor for example code. - - The stream to which compressed data will be written. - A tuning knob to trade speed for effectiveness. - - - - Create a ParallelDeflateOutputStream and specify whether to leave the captive stream open - when the ParallelDeflateOutputStream is closed. - - - See the - constructor for example code. - - The stream to which compressed data will be written. - - true if the application would like the stream to remain open after inflation/deflation. - - - - - Create a ParallelDeflateOutputStream and specify whether to leave the captive stream open - when the ParallelDeflateOutputStream is closed. - - - See the - constructor for example code. - - The stream to which compressed data will be written. - A tuning knob to trade speed for effectiveness. - - true if the application would like the stream to remain open after inflation/deflation. - - - - - Create a ParallelDeflateOutputStream using the specified - CompressionLevel and CompressionStrategy, and specifying whether to - leave the captive stream open when the ParallelDeflateOutputStream is - closed. - - - See the - constructor for example code. - - The stream to which compressed data will be written. - A tuning knob to trade speed for effectiveness. - - By tweaking this parameter, you may be able to optimize the compression for - data with particular characteristics. - - - true if the application would like the stream to remain open after inflation/deflation. - - - - - The ZLIB strategy to be used during compression. - - - - - - The maximum number of buffer pairs to use. - - - - - This property sets an upper limit on the number of memory buffer - pairs to create. The implementation of this stream allocates - multiple buffers to facilitate parallel compression. As each buffer - fills up, this stream uses - ThreadPool.QueueUserWorkItem() - to compress those buffers in a background threadpool thread. After a - buffer is compressed, it is re-ordered and written to the output - stream. - - - - A higher number of buffer pairs enables a higher degree of - parallelism, which tends to increase the speed of compression on - multi-cpu computers. On the other hand, a higher number of buffer - pairs also implies a larger memory consumption, more active worker - threads, and a higher cpu utilization for any compression. This - property enables the application to limit its memory consumption and - CPU utilization behavior depending on requirements. - - - - For each compression "task" that occurs in parallel, there are 2 - buffers allocated: one for input and one for output. This property - sets a limit for the number of pairs. The total amount of storage - space allocated for buffering will then be (N*S*2), where N is the - number of buffer pairs, S is the size of each buffer (). By default, DotNetZip allocates 4 buffer - pairs per CPU core, so if your machine has 4 cores, and you retain - the default buffer size of 128k, then the - ParallelDeflateOutputStream will use 4 * 4 * 2 * 128kb of buffer - memory in total, or 4mb, in blocks of 128kb. If you then set this - property to 8, then the number will be 8 * 2 * 128kb of buffer - memory, or 2mb. - - - - CPU utilization will also go up with additional buffers, because a - larger number of buffer pairs allows a larger number of background - threads to compress in parallel. If you find that parallel - compression is consuming too much memory or CPU, you can adjust this - value downward. - - - - The default value is 16. Different values may deliver better or - worse results, depending on your priorities and the dynamic - performance characteristics of your storage and compute resources. - - - - This property is not the number of buffer pairs to use; it is an - upper limit. An illustration: Suppose you have an application that - uses the default value of this property (which is 16), and it runs - on a machine with 2 CPU cores. In that case, DotNetZip will allocate - 4 buffer pairs per CPU core, for a total of 8 pairs. The upper - limit specified by this property has no effect. - - - - The application can set this value at any time, but it is effective - only before the first call to Write(), which is when the buffers are - allocated. - - - - - - The size of the buffers used by the compressor threads. - - - - - The default buffer size is 128k. The application can set this value - at any time, but it is effective only before the first Write(). - - - - Larger buffer sizes implies larger memory consumption but allows - more efficient compression. Using smaller buffer sizes consumes less - memory but may result in less effective compression. For example, - using the default buffer size of 128k, the compression delivered is - within 1% of the compression delivered by the single-threaded . On the other hand, using a - BufferSize of 8k can result in a compressed data stream that is 5% - larger than that delivered by the single-threaded - DeflateStream. Excessively small buffer sizes can also cause - the speed of the ParallelDeflateOutputStream to drop, because of - larger thread scheduling overhead dealing with many many small - buffers. - - - - The total amount of storage space allocated for buffering will be - (N*S*2), where N is the number of buffer pairs, and S is the size of - each buffer (this property). There are 2 buffers used by the - compressor, one for input and one for output. By default, DotNetZip - allocates 4 buffer pairs per CPU core, so if your machine has 4 - cores, then the number of buffer pairs used will be 16. If you - accept the default value of this property, 128k, then the - ParallelDeflateOutputStream will use 16 * 2 * 128kb of buffer memory - in total, or 4mb, in blocks of 128kb. If you set this property to - 64kb, then the number will be 16 * 2 * 64kb of buffer memory, or - 2mb. - - - - - - - The CRC32 for the data that was written out, prior to compression. - - - This value is meaningful only after a call to Close(). - - - - - The total number of uncompressed bytes processed by the ParallelDeflateOutputStream. - - - This value is meaningful only after a call to Close(). - - - - - Write data to the stream. - - - - - - To use the ParallelDeflateOutputStream to compress data, create a - ParallelDeflateOutputStream with CompressionMode.Compress, passing a - writable output stream. Then call Write() on that - ParallelDeflateOutputStream, providing uncompressed data as input. The - data sent to the output stream will be the compressed form of the data - written. - - - - To decompress data, use the class. - - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Flush the stream. - - - - - Close the stream. - - - You must call Close on the stream to guarantee that all of the data written in has - been compressed, and the compressed data has been written out. - - - - Dispose the object - - - Because ParallelDeflateOutputStream is IDisposable, the - application must call this method when finished using the instance. - - - This method is generally called implicitly upon exit from - a using scope in C# (Using in VB). - - - - - The Dispose method - - indicates whether the Dispose method was invoked by user code. - - - - - Resets the stream for use with another stream. - - - Because the ParallelDeflateOutputStream is expensive to create, it - has been designed so that it can be recycled and re-used. You have - to call Close() on the stream first, then you can call Reset() on - it, to use it again on another stream. - - - - The new output stream for this era. - - - - - ParallelDeflateOutputStream deflater = null; - foreach (var inputFile in listOfFiles) - { - string outputFile = inputFile + ".compressed"; - using (System.IO.Stream input = System.IO.File.OpenRead(inputFile)) - { - using (var outStream = System.IO.File.Create(outputFile)) - { - if (deflater == null) - deflater = new ParallelDeflateOutputStream(outStream, - CompressionLevel.Best, - CompressionStrategy.Default, - true); - deflater.Reset(outStream); - - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - deflater.Write(buffer, 0, n); - } - } - } - } - - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream supports Read operations. - - - Always returns false. - - - - - Indicates whether the stream supports Write operations. - - - Returns true if the provided stream is writable. - - - - - Reading this property always throws a NotSupportedException. - - - - - Returns the current position of the output stream. - - - - Because the output gets written by a background thread, - the value may change asynchronously. Setting this - property always throws a NotSupportedException. - - - - - - This method always throws a NotSupportedException. - - - The buffer into which data would be read, IF THIS METHOD - ACTUALLY DID ANYTHING. - - - The offset within that data array at which to insert the - data that is read, IF THIS METHOD ACTUALLY DID - ANYTHING. - - - The number of bytes to write, IF THIS METHOD ACTUALLY DID - ANYTHING. - - nothing. - - - - This method always throws a NotSupportedException. - - - The offset to seek to.... - IF THIS METHOD ACTUALLY DID ANYTHING. - - - The reference specifying how to apply the offset.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - nothing. It always throws. - - - - This method always throws a NotSupportedException. - - - The new value for the stream length.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - - - - Map from a distance to a distance code. - - - No side effects. _dist_code[256] and _dist_code[257] are never used. - - - - - Describes how to flush the current deflate operation. - - - The different FlushType values are useful when using a Deflate in a streaming application. - - - - No flush at all. - - - Closes the current block, but doesn't flush it to - the output. Used internally only in hypothetical - scenarios. This was supposed to be removed by Zlib, but it is - still in use in some edge cases. - - - - - Use this during compression to specify that all pending output should be - flushed to the output buffer and the output should be aligned on a byte - boundary. You might use this in a streaming communication scenario, so that - the decompressor can get all input data available so far. When using this - with a ZlibCodec, AvailableBytesIn will be zero after the call if - enough output space has been provided before the call. Flushing will - degrade compression and so it should be used only when necessary. - - - - - Use this during compression to specify that all output should be flushed, as - with FlushType.Sync, but also, the compression state should be reset - so that decompression can restart from this point if previous compressed - data has been damaged or if random access is desired. Using - FlushType.Full too often can significantly degrade the compression. - - - - Signals the end of the compression/decompression stream. - - - - The compression level to be used when using a DeflateStream or ZlibStream with CompressionMode.Compress. - - - - - None means that the data will be simply stored, with no change at all. - If you are producing ZIPs for use on Mac OSX, be aware that archives produced with CompressionLevel.None - cannot be opened with the default zip reader. Use a different CompressionLevel. - - - - - Same as None. - - - - - The fastest but least effective compression. - - - - - A synonym for BestSpeed. - - - - - A little slower, but better, than level 1. - - - - - A little slower, but better, than level 2. - - - - - A little slower, but better, than level 3. - - - - - A little slower than level 4, but with better compression. - - - - - The default compression level, with a good balance of speed and compression efficiency. - - - - - A synonym for Default. - - - - - Pretty good compression! - - - - - Better compression than Level7! - - - - - The "best" compression, where best means greatest reduction in size of the input data stream. - This is also the slowest compression. - - - - - A synonym for BestCompression. - - - - - Describes options for how the compression algorithm is executed. Different strategies - work better on different sorts of data. The strategy parameter can affect the compression - ratio and the speed of compression but not the correctness of the compresssion. - - - - - The default strategy is probably the best for normal data. - - - - - The Filtered strategy is intended to be used most effectively with data produced by a - filter or predictor. By this definition, filtered data consists mostly of small - values with a somewhat random distribution. In this case, the compression algorithm - is tuned to compress them better. The effect of Filtered is to force more Huffman - coding and less string matching; it is a half-step between Default and HuffmanOnly. - - - - - Using HuffmanOnly will force the compressor to do Huffman encoding only, with no - string matching. - - - - - An enum to specify the direction of transcoding - whether to compress or decompress. - - - - - Used to specify that the stream should compress the data. - - - - - Used to specify that the stream should decompress the data. - - - - - A general purpose exception class for exceptions in the Zlib library. - - - - - The ZlibException class captures exception information generated - by the Zlib library. - - - - - This ctor collects a message attached to the exception. - - the message for the exception. - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - - Reads a number of characters from the current source TextReader and writes - the data to the target array at the specified index. - - - The source TextReader to read from - Contains the array of characteres read from the source TextReader. - The starting index of the target array. - The maximum number of characters to read from the source TextReader. - - - The number of characters read. The number will be less than or equal to - count depending on the data available in the source TextReader. Returns -1 - if the end of the stream is reached. - - - - - Computes an Adler-32 checksum. - - - The Adler checksum is similar to a CRC checksum, but faster to compute, though less - reliable. It is used in producing RFC1950 compressed streams. The Adler checksum - is a required part of the "ZLIB" standard. Applications will almost never need to - use this class directly. - - - - - - - Calculates the Adler32 checksum. - - - - This is used within ZLIB. You probably don't need to use this directly. - - - - To compute an Adler32 checksum on a byte array: - - var adler = Adler.Adler32(0, null, 0, 0); - adler = Adler.Adler32(adler, buffer, index, length); - - - - - - Encoder and Decoder for ZLIB and DEFLATE (IETF RFC1950 and RFC1951). - - - - This class compresses and decompresses data according to the Deflate algorithm - and optionally, the ZLIB format, as documented in RFC 1950 - ZLIB and RFC 1951 - DEFLATE. - - - - - The buffer from which data is taken. - - - - - An index into the InputBuffer array, indicating where to start reading. - - - - - The number of bytes available in the InputBuffer, starting at NextIn. - - - Generally you should set this to InputBuffer.Length before the first Inflate() or Deflate() call. - The class will update this number as calls to Inflate/Deflate are made. - - - - - Total number of bytes read so far, through all calls to Inflate()/Deflate(). - - - - - Buffer to store output data. - - - - - An index into the OutputBuffer array, indicating where to start writing. - - - - - The number of bytes available in the OutputBuffer, starting at NextOut. - - - Generally you should set this to OutputBuffer.Length before the first Inflate() or Deflate() call. - The class will update this number as calls to Inflate/Deflate are made. - - - - - Total number of bytes written to the output so far, through all calls to Inflate()/Deflate(). - - - - - used for diagnostics, when something goes wrong! - - - - - The compression level to use in this codec. Useful only in compression mode. - - - - - The number of Window Bits to use. - - - This gauges the size of the sliding window, and hence the - compression effectiveness as well as memory consumption. It's best to just leave this - setting alone if you don't know what it is. The maximum value is 15 bits, which implies - a 32k window. - - - - - The compression strategy to use. - - - This is only effective in compression. The theory offered by ZLIB is that different - strategies could potentially produce significant differences in compression behavior - for different data sets. Unfortunately I don't have any good recommendations for how - to set it differently. When I tested changing the strategy I got minimally different - compression performance. It's best to leave this property alone if you don't have a - good feel for it. Or, you may want to produce a test harness that runs through the - different strategy options and evaluates them on different file types. If you do that, - let me know your results. - - - - - The Adler32 checksum on the data transferred through the codec so far. You probably don't need to look at this. - - - - - Create a ZlibCodec. - - - If you use this default constructor, you will later have to explicitly call - InitializeInflate() or InitializeDeflate() before using the ZlibCodec to compress - or decompress. - - - - - Create a ZlibCodec that either compresses or decompresses. - - - Indicates whether the codec should compress (deflate) or decompress (inflate). - - - - - Initialize the inflation state. - - - It is not necessary to call this before using the ZlibCodec to inflate data; - It is implicitly called when you call the constructor. - - Z_OK if everything goes well. - - - - Initialize the inflation state with an explicit flag to - govern the handling of RFC1950 header bytes. - - - - By default, the ZLIB header defined in RFC 1950 is expected. If - you want to read a zlib stream you should specify true for - expectRfc1950Header. If you have a deflate stream, you will want to specify - false. It is only necessary to invoke this initializer explicitly if you - want to specify false. - - - whether to expect an RFC1950 header byte - pair when reading the stream of data to be inflated. - - Z_OK if everything goes well. - - - - Initialize the ZlibCodec for inflation, with the specified number of window bits. - - The number of window bits to use. If you need to ask what that is, - then you shouldn't be calling this initializer. - Z_OK if all goes well. - - - - Initialize the inflation state with an explicit flag to govern the handling of - RFC1950 header bytes. - - - - If you want to read a zlib stream you should specify true for - expectRfc1950Header. In this case, the library will expect to find a ZLIB - header, as defined in RFC - 1950, in the compressed stream. If you will be reading a DEFLATE or - GZIP stream, which does not have such a header, you will want to specify - false. - - - whether to expect an RFC1950 header byte pair when reading - the stream of data to be inflated. - The number of window bits to use. If you need to ask what that is, - then you shouldn't be calling this initializer. - Z_OK if everything goes well. - - - - Inflate the data in the InputBuffer, placing the result in the OutputBuffer. - - - You must have set InputBuffer and OutputBuffer, NextIn and NextOut, and AvailableBytesIn and - AvailableBytesOut before calling this method. - - - - private void InflateBuffer() - { - int bufferSize = 1024; - byte[] buffer = new byte[bufferSize]; - ZlibCodec decompressor = new ZlibCodec(); - - Console.WriteLine("\n============================================"); - Console.WriteLine("Size of Buffer to Inflate: {0} bytes.", CompressedBytes.Length); - MemoryStream ms = new MemoryStream(DecompressedBytes); - - int rc = decompressor.InitializeInflate(); - - decompressor.InputBuffer = CompressedBytes; - decompressor.NextIn = 0; - decompressor.AvailableBytesIn = CompressedBytes.Length; - - decompressor.OutputBuffer = buffer; - - // pass 1: inflate - do - { - decompressor.NextOut = 0; - decompressor.AvailableBytesOut = buffer.Length; - rc = decompressor.Inflate(FlushType.None); - - if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) - throw new Exception("inflating: " + decompressor.Message); - - ms.Write(decompressor.OutputBuffer, 0, buffer.Length - decompressor.AvailableBytesOut); - } - while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); - - // pass 2: finish and flush - do - { - decompressor.NextOut = 0; - decompressor.AvailableBytesOut = buffer.Length; - rc = decompressor.Inflate(FlushType.Finish); - - if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) - throw new Exception("inflating: " + decompressor.Message); - - if (buffer.Length - decompressor.AvailableBytesOut > 0) - ms.Write(buffer, 0, buffer.Length - decompressor.AvailableBytesOut); - } - while (decompressor.AvailableBytesIn > 0 || decompressor.AvailableBytesOut == 0); - - decompressor.EndInflate(); - } - - - - The flush to use when inflating. - Z_OK if everything goes well. - - - - Ends an inflation session. - - - Call this after successively calling Inflate(). This will cause all buffers to be flushed. - After calling this you cannot call Inflate() without a intervening call to one of the - InitializeInflate() overloads. - - Z_OK if everything goes well. - - - - I don't know what this does! - - Z_OK if everything goes well. - - - - Initialize the ZlibCodec for deflation operation. - - - The codec will use the MAX window bits and the default level of compression. - - - - int bufferSize = 40000; - byte[] CompressedBytes = new byte[bufferSize]; - byte[] DecompressedBytes = new byte[bufferSize]; - - ZlibCodec compressor = new ZlibCodec(); - - compressor.InitializeDeflate(CompressionLevel.Default); - - compressor.InputBuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(TextToCompress); - compressor.NextIn = 0; - compressor.AvailableBytesIn = compressor.InputBuffer.Length; - - compressor.OutputBuffer = CompressedBytes; - compressor.NextOut = 0; - compressor.AvailableBytesOut = CompressedBytes.Length; - - while (compressor.TotalBytesIn != TextToCompress.Length && compressor.TotalBytesOut < bufferSize) - { - compressor.Deflate(FlushType.None); - } - - while (true) - { - int rc= compressor.Deflate(FlushType.Finish); - if (rc == ZlibConstants.Z_STREAM_END) break; - } - - compressor.EndDeflate(); - - - - Z_OK if all goes well. You generally don't need to check the return code. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel. - - - The codec will use the maximum window bits (15) and the specified - CompressionLevel. It will emit a ZLIB stream as it compresses. - - The compression level for the codec. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, - and the explicit flag governing whether to emit an RFC1950 header byte pair. - - - The codec will use the maximum window bits (15) and the specified CompressionLevel. - If you want to generate a zlib stream, you should specify true for - wantRfc1950Header. In this case, the library will emit a ZLIB - header, as defined in RFC - 1950, in the compressed stream. - - The compression level for the codec. - whether to emit an initial RFC1950 byte pair in the compressed stream. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified CompressionLevel, - and the specified number of window bits. - - - The codec will use the specified number of window bits and the specified CompressionLevel. - - The compression level for the codec. - the number of window bits to use. If you don't know what this means, don't use this method. - Z_OK if all goes well. - - - - Initialize the ZlibCodec for deflation operation, using the specified - CompressionLevel, the specified number of window bits, and the explicit flag - governing whether to emit an RFC1950 header byte pair. - - - The compression level for the codec. - whether to emit an initial RFC1950 byte pair in the compressed stream. - the number of window bits to use. If you don't know what this means, don't use this method. - Z_OK if all goes well. - - - - Deflate one batch of data. - - - You must have set InputBuffer and OutputBuffer before calling this method. - - - - private void DeflateBuffer(CompressionLevel level) - { - int bufferSize = 1024; - byte[] buffer = new byte[bufferSize]; - ZlibCodec compressor = new ZlibCodec(); - - Console.WriteLine("\n============================================"); - Console.WriteLine("Size of Buffer to Deflate: {0} bytes.", UncompressedBytes.Length); - MemoryStream ms = new MemoryStream(); - - int rc = compressor.InitializeDeflate(level); - - compressor.InputBuffer = UncompressedBytes; - compressor.NextIn = 0; - compressor.AvailableBytesIn = UncompressedBytes.Length; - - compressor.OutputBuffer = buffer; - - // pass 1: deflate - do - { - compressor.NextOut = 0; - compressor.AvailableBytesOut = buffer.Length; - rc = compressor.Deflate(FlushType.None); - - if (rc != ZlibConstants.Z_OK && rc != ZlibConstants.Z_STREAM_END) - throw new Exception("deflating: " + compressor.Message); - - ms.Write(compressor.OutputBuffer, 0, buffer.Length - compressor.AvailableBytesOut); - } - while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); - - // pass 2: finish and flush - do - { - compressor.NextOut = 0; - compressor.AvailableBytesOut = buffer.Length; - rc = compressor.Deflate(FlushType.Finish); - - if (rc != ZlibConstants.Z_STREAM_END && rc != ZlibConstants.Z_OK) - throw new Exception("deflating: " + compressor.Message); - - if (buffer.Length - compressor.AvailableBytesOut > 0) - ms.Write(buffer, 0, buffer.Length - compressor.AvailableBytesOut); - } - while (compressor.AvailableBytesIn > 0 || compressor.AvailableBytesOut == 0); - - compressor.EndDeflate(); - - ms.Seek(0, SeekOrigin.Begin); - CompressedBytes = new byte[compressor.TotalBytesOut]; - ms.Read(CompressedBytes, 0, CompressedBytes.Length); - } - - - whether to flush all data as you deflate. Generally you will want to - use Z_NO_FLUSH here, in a series of calls to Deflate(), and then call EndDeflate() to - flush everything. - - Z_OK if all goes well. - - - - End a deflation session. - - - Call this after making a series of one or more calls to Deflate(). All buffers are flushed. - - Z_OK if all goes well. - - - - Reset a codec for another deflation session. - - - Call this to reset the deflation state. For example if a thread is deflating - non-consecutive blocks, you can call Reset() after the Deflate(Sync) of the first - block and before the next Deflate(None) of the second block. - - Z_OK if all goes well. - - - - Set the CompressionStrategy and CompressionLevel for a deflation session. - - the level of compression to use. - the strategy to use for compression. - Z_OK if all goes well. - - - - Set the dictionary to be used for either Inflation or Deflation. - - The dictionary bytes to use. - Z_OK if all goes well. - - - - A bunch of constants used in the Zlib interface. - - - - - The maximum number of window bits for the Deflate algorithm. - - - - - The default number of window bits for the Deflate algorithm. - - - - - indicates everything is A-OK - - - - - Indicates that the last operation reached the end of the stream. - - - - - The operation ended in need of a dictionary. - - - - - There was an error with the stream - not enough data, not open and readable, etc. - - - - - There was an error with the data - not enough data, bad data, etc. - - - - - There was an error with the working buffer. - - - - - The size of the working buffer used in the ZlibCodec class. Defaults to 8192 bytes. - - - - - The minimum size of the working buffer used in the ZlibCodec class. Currently it is 128 bytes. - - - - - Represents a Zlib stream for compression or decompression. - - - - - The ZlibStream is a Decorator on a . It adds ZLIB compression or decompression to any - stream. - - - Using this stream, applications can compress or decompress data via - stream Read() and Write() operations. Either compresssion or - decompression can occur through either reading or writing. The compression - format used is ZLIB, which is documented in IETF RFC 1950, "ZLIB Compressed - Data Format Specification version 3.3". This implementation of ZLIB always uses - DEFLATE as the compression method. (see IETF RFC 1951, "DEFLATE - Compressed Data Format Specification version 1.3.") - - - The ZLIB format allows for varying compression methods, window sizes, and dictionaries. - This implementation always uses the DEFLATE compression method, a preset dictionary, - and 15 window bits by default. - - - - This class is similar to , except that it adds the - RFC1950 header and trailer bytes to a compressed stream when compressing, or expects - the RFC1950 header and trailer bytes when decompressing. It is also similar to the - . - - - - - - - - Create a ZlibStream using the specified CompressionMode. - - - - - When mode is CompressionMode.Compress, the ZlibStream - will use the default compression level. The "captive" stream will be - closed when the ZlibStream is closed. - - - - - - This example uses a ZlibStream to compress a file, and writes the - compressed data to another file. - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (Stream compressor = new ZlibStream(raw, CompressionMode.Compress)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".zlib") - Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - The stream which will be read or written. - Indicates whether the ZlibStream will compress or decompress. - - - - Create a ZlibStream using the specified CompressionMode and - the specified CompressionLevel. - - - - - - When mode is CompressionMode.Decompress, the level parameter is ignored. - The "captive" stream will be closed when the ZlibStream is closed. - - - - - - This example uses a ZlibStream to compress data from a file, and writes the - compressed data to another file. - - - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (var raw = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (Stream compressor = new ZlibStream(raw, - CompressionMode.Compress, - CompressionLevel.BestCompression)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - } - - - - Using input As Stream = File.OpenRead(fileToCompress) - Using raw As FileStream = File.Create(fileToCompress & ".zlib") - Using compressor As Stream = New ZlibStream(raw, CompressionMode.Compress, CompressionLevel.BestCompression) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - End Using - - - - The stream to be read or written while deflating or inflating. - Indicates whether the ZlibStream will compress or decompress. - A tuning knob to trade speed for effectiveness. - - - - Create a ZlibStream using the specified CompressionMode, and - explicitly specify whether the captive stream should be left open after - Deflation or Inflation. - - - - - - When mode is CompressionMode.Compress, the ZlibStream will use - the default compression level. - - - - This constructor allows the application to request that the captive stream - remain open after the deflation or inflation occurs. By default, after - Close() is called on the stream, the captive stream is also - closed. In some cases this is not desired, for example if the stream is a - that will be re-read after - compression. Specify true for the parameter to leave the stream - open. - - - - See the other overloads of this constructor for example code. - - - - - The stream which will be read or written. This is called the - "captive" stream in other places in this documentation. - Indicates whether the ZlibStream will compress or decompress. - true if the application would like the stream to remain - open after inflation/deflation. - - - - Create a ZlibStream using the specified CompressionMode - and the specified CompressionLevel, and explicitly specify - whether the stream should be left open after Deflation or Inflation. - - - - - - This constructor allows the application to request that the captive - stream remain open after the deflation or inflation occurs. By - default, after Close() is called on the stream, the captive - stream is also closed. In some cases this is not desired, for example - if the stream is a that will be - re-read after compression. Specify true for the parameter to leave the stream open. - - - - When mode is CompressionMode.Decompress, the level parameter is - ignored. - - - - - - - This example shows how to use a ZlibStream to compress the data from a file, - and store the result into another file. The filestream remains open to allow - additional data to be written to it. - - - using (var output = System.IO.File.Create(fileToCompress + ".zlib")) - { - using (System.IO.Stream input = System.IO.File.OpenRead(fileToCompress)) - { - using (Stream compressor = new ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, true)) - { - byte[] buffer = new byte[WORKING_BUFFER_SIZE]; - int n; - while ((n= input.Read(buffer, 0, buffer.Length)) != 0) - { - compressor.Write(buffer, 0, n); - } - } - } - // can write additional data to the output stream here - } - - - Using output As FileStream = File.Create(fileToCompress & ".zlib") - Using input As Stream = File.OpenRead(fileToCompress) - Using compressor As Stream = New ZlibStream(output, CompressionMode.Compress, CompressionLevel.BestCompression, True) - Dim buffer As Byte() = New Byte(4096) {} - Dim n As Integer = -1 - Do While (n <> 0) - If (n > 0) Then - compressor.Write(buffer, 0, n) - End If - n = input.Read(buffer, 0, buffer.Length) - Loop - End Using - End Using - ' can write additional data to the output stream here. - End Using - - - - The stream which will be read or written. - - Indicates whether the ZlibStream will compress or decompress. - - - true if the application would like the stream to remain open after - inflation/deflation. - - - - A tuning knob to trade speed for effectiveness. This parameter is - effective only when mode is CompressionMode.Compress. - - - - - This property sets the flush behavior on the stream. - Sorry, though, not sure exactly how to describe all the various settings. - - - - - The size of the working buffer for the compression codec. - - - - - The working buffer is used for all stream operations. The default size is - 1024 bytes. The minimum size is 128 bytes. You may get better performance - with a larger buffer. Then again, you might not. You would have to test - it. - - - - Set this before the first call to Read() or Write() on the - stream. If you try to set it afterwards, it will throw. - - - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - Dispose the stream. - - - - This may or may not result in a Close() call on the captive - stream. See the constructors that have a leaveOpen parameter - for more information. - - - This method may be invoked in two distinct scenarios. If disposing - == true, the method has been called directly or indirectly by a - user's code, for example via the public Dispose() method. In this - case, both managed and unmanaged resources can be referenced and - disposed. If disposing == false, the method has been called by the - runtime from inside the object finalizer and this method should not - reference other objects; in that case only unmanaged resources must - be referenced or disposed. - - - - indicates whether the Dispose method was invoked by user code. - - - - - Indicates whether the stream can be read. - - - The return value depends on whether the captive stream supports reading. - - - - - Indicates whether the stream supports Seek operations. - - - Always returns false. - - - - - Indicates whether the stream can be written. - - - The return value depends on whether the captive stream supports writing. - - - - - Flush the stream. - - - - - Reading this property always throws a . - - - - - The position of the stream pointer. - - - - Setting this property always throws a . Reading will return the total bytes - written out, if used in writing, or the total bytes read in, if used in - reading. The count may refer to compressed bytes or uncompressed bytes, - depending on how you've used the stream. - - - - - Read data from the stream. - - - - - - If you wish to use the ZlibStream to compress data while reading, - you can create a ZlibStream with CompressionMode.Compress, - providing an uncompressed data stream. Then call Read() on that - ZlibStream, and the data read will be compressed. If you wish to - use the ZlibStream to decompress data while reading, you can create - a ZlibStream with CompressionMode.Decompress, providing a - readable compressed data stream. Then call Read() on that - ZlibStream, and the data will be decompressed as it is read. - - - - A ZlibStream can be used for Read() or Write(), but - not both. - - - - - - The buffer into which the read data should be placed. - - - the offset within that data array to put the first byte read. - - the number of bytes to read. - - the number of bytes read - - - - Calling this method always throws a . - - - The offset to seek to.... - IF THIS METHOD ACTUALLY DID ANYTHING. - - - The reference specifying how to apply the offset.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - - nothing. This method always throws. - - - - Calling this method always throws a . - - - The new value for the stream length.... IF - THIS METHOD ACTUALLY DID ANYTHING. - - - - - Write data to the stream. - - - - - - If you wish to use the ZlibStream to compress data while writing, - you can create a ZlibStream with CompressionMode.Compress, - and a writable output stream. Then call Write() on that - ZlibStream, providing uncompressed data as input. The data sent to - the output stream will be the compressed form of the data written. If you - wish to use the ZlibStream to decompress data while writing, you - can create a ZlibStream with CompressionMode.Decompress, and a - writable output stream. Then call Write() on that stream, - providing previously compressed data. The data sent to the output stream - will be the decompressed form of the data written. - - - - A ZlibStream can be used for Read() or Write(), but not both. - - - The buffer holding data to write to the stream. - the offset within that data array to find the first byte to write. - the number of bytes to write. - - - - Compress a string into a byte array using ZLIB. - - - - Uncompress it with . - - - - - - - - A string to compress. The string will first be encoded - using UTF8, then compressed. - - - The string in compressed form - - - - Compress a byte array into a new byte array using ZLIB. - - - - Uncompress it with . - - - - - - - A buffer to compress. - - - The data in compressed form - - - - Uncompress a ZLIB-compressed byte array into a single string. - - - - - - - A buffer containing ZLIB-compressed data. - - - The uncompressed string - - - - Uncompress a ZLIB-compressed byte array into a byte array. - - - - - - - A buffer containing ZLIB-compressed data. - - - The data in uncompressed form - - - - a-law decoder - based on code from: - http://hazelware.luggle.com/tutorials/mulawcompression.html - - - - - only 512 bytes required, so just use a lookup - - - - - Converts an a-law encoded byte to a 16 bit linear sample - - a-law encoded byte - Linear sample - - - - A-law encoder - - - - - Encodes a single 16 bit sample to a-law - - 16 bit PCM sample - a-law encoded byte - - - - SpanDSP - a series of DSP components for telephony - - g722_decode.c - The ITU G.722 codec, decode part. - - Written by Steve Underwood <steveu@coppice.org> - - Copyright (C) 2005 Steve Underwood - Ported to C# by Mark Heath 2011 - - Despite my general liking of the GPL, I place my own contributions - to this code in the public domain for the benefit of all mankind - - even the slimy ones who might try to proprietize my work and use it - to my detriment. - - Based in part on a single channel G.722 codec which is: - Copyright (c) CMU 1993 - Computer Science, Speech Group - Chengxiang Lu and Alex Hauptmann - - - - - hard limits to 16 bit samples - - - - - Decodes a buffer of G722 - - Codec state - Output buffer (to contain decompressed PCM samples) - - Number of bytes in input G722 data to decode - Number of samples written into output buffer - - - - Encodes a buffer of G722 - - Codec state - Output buffer (to contain encoded G722) - PCM 16 bit samples to encode - Number of samples in the input buffer to encode - Number of encoded bytes written into output buffer - - - - Stores state to be used between calls to Encode or Decode - - - - - ITU Test Mode - TRUE if the operating in the special ITU test mode, with the band split filters disabled. - - - - - TRUE if the G.722 data is packed - - - - - 8kHz Sampling - TRUE if encode from 8k samples/second - - - - - Bits Per Sample - 6 for 48000kbps, 7 for 56000kbps, or 8 for 64000kbps. - - - - - Signal history for the QMF (x) - - - - - Band - - - - - In bit buffer - - - - - Number of bits in InBuffer - - - - - Out bit buffer - - - - - Number of bits in OutBuffer - - - - - Creates a new instance of G722 Codec State for a - new encode or decode session - - Bitrate (typically 64000) - Special options - - - - Band data for G722 Codec - - - - s - - - sp - - - sz - - - r - - - a - - - ap - - - p - - - d - - - b - - - bp - - - sg - - - nb - - - det - - - - G722 Flags - - - - - None - - - - - Using a G722 sample rate of 8000 - - - - - Packed - - - - - mu-law decoder - based on code from: - http://hazelware.luggle.com/tutorials/mulawcompression.html - - - - - only 512 bytes required, so just use a lookup - - - - - Converts a mu-law encoded byte to a 16 bit linear sample - - mu-law encoded byte - Linear sample - - - - mu-law encoder - based on code from: - http://hazelware.luggle.com/tutorials/mulawcompression.html - - - - - Encodes a single 16 bit sample to mu-law - - 16 bit PCM sample - mu-law encoded byte - - - - Audio Capture Client - - - - - Gets a pointer to the buffer - - Pointer to the buffer - - - - Gets a pointer to the buffer - - Number of frames to read - Buffer flags - Pointer to the buffer - - - - Gets the size of the next packet - - - - - Release buffer - - Number of frames written - - - - Release the COM object - - - - - Windows CoreAudio AudioClient - - - - - Retrieves the stream format that the audio engine uses for its internal processing of shared-mode streams. - Can be called before initialize - - - - - Initializes the Audio Client - - Share Mode - Stream Flags - Buffer Duration - Periodicity - Wave Format - Audio Session GUID (can be null) - - - - Retrieves the size (maximum capacity) of the audio buffer associated with the endpoint. (must initialize first) - - - - - Retrieves the maximum latency for the current stream and can be called any time after the stream has been initialized. - - - - - Retrieves the number of frames of padding in the endpoint buffer (must initialize first) - - - - - Retrieves the length of the periodic interval separating successive processing passes by the audio engine on the data in the endpoint buffer. - (can be called before initialize) - - - - - Gets the minimum device period - (can be called before initialize) - - - - - Gets the AudioClockClient service - - - - - Gets the AudioRenderClient service - - - - - Gets the AudioCaptureClient service - - - - - Determines whether if the specified output format is supported - - The share mode. - The desired format. - True if the format is supported - - - - Determines if the specified output format is supported in shared mode - - Share Mode - Desired Format - Output The closest match format. - True if the format is supported - - - - Starts the audio stream - - - - - Stops the audio stream. - - - - - Set the Event Handle for buffer synchro. - - The Wait Handle to setup - - - - Resets the audio stream - Reset is a control method that the client calls to reset a stopped audio stream. - Resetting the stream flushes all pending data and resets the audio clock stream - position to 0. This method fails if it is called on a stream that is not stopped - - - - - Dispose - - - - - Audio Client Buffer Flags - - - - - None - - - - - AUDCLNT_BUFFERFLAGS_DATA_DISCONTINUITY - - - - - AUDCLNT_BUFFERFLAGS_SILENT - - - - - AUDCLNT_BUFFERFLAGS_TIMESTAMP_ERROR - - - - - The AudioClientProperties structure is used to set the parameters that describe the properties of the client's audio stream. - - http://msdn.microsoft.com/en-us/library/windows/desktop/hh968105(v=vs.85).aspx - - - - The size of the buffer for the audio stream. - - - - - Boolean value to indicate whether or not the audio stream is hardware-offloaded - - - - - An enumeration that is used to specify the category of the audio stream. - - - - - A bit-field describing the characteristics of the stream. Supported in Windows 8.1 and later. - - - - - AUDCLNT_SHAREMODE - - - - - AUDCLNT_SHAREMODE_SHARED, - - - - - AUDCLNT_SHAREMODE_EXCLUSIVE - - - - - AUDCLNT_STREAMFLAGS - - - - - None - - - - - AUDCLNT_STREAMFLAGS_CROSSPROCESS - - - - - AUDCLNT_STREAMFLAGS_LOOPBACK - - - - - AUDCLNT_STREAMFLAGS_EVENTCALLBACK - - - - - AUDCLNT_STREAMFLAGS_NOPERSIST - - - - - Defines values that describe the characteristics of an audio stream. - - - - - No stream options. - - - - - The audio stream is a 'raw' stream that bypasses all signal processing except for endpoint specific, always-on processing in the APO, driver, and hardware. - - - - - Audio Clock Client - - - - - Characteristics - - - - - Frequency - - - - - Get Position - - - - - Adjusted Position - - - - - Can Adjust Position - - - - - Dispose - - - - - Audio Endpoint Volume - - - - - On Volume Notification - - - - - Volume Range - - - - - Hardware Support - - - - - Step Information - - - - - Channels - - - - - Master Volume Level - - - - - Master Volume Level Scalar - - - - - Mute - - - - - Volume Step Up - - - - - Volume Step Down - - - - - Creates a new Audio endpoint volume - - IAudioEndpointVolume COM interface - - - - Dispose - - - - - Finalizer - - - - - Audio Endpoint Volume Channel - - - - - Volume Level - - - - - Volume Level Scalar - - - - - Audio Endpoint Volume Channels - - - - - Channel Count - - - - - Indexer - get a specific channel - - - - - Audio Endpoint Volume Notifiaction Delegate - - Audio Volume Notification Data - - - - Audio Endpoint Volume Step Information - - - - - Step - - - - - StepCount - - - - - Audio Endpoint Volume Volume Range - - - - - Minimum Decibels - - - - - Maximum Decibels - - - - - Increment Decibels - - - - - Audio Meter Information - - - - - Peak Values - - - - - Hardware Support - - - - - Master Peak Value - - - - - Audio Meter Information Channels - - - - - Metering Channel Count - - - - - Get Peak value - - Channel index - Peak value - - - - Audio Render Client - - - - - Gets a pointer to the buffer - - Number of frames requested - Pointer to the buffer - - - - Release buffer - - Number of frames written - Buffer flags - - - - Release the COM object - - - - - AudioSessionControl object for information - regarding an audio session - - - - - Dispose - - - - - Finalizer - - - - - The current state of the audio session - - - - - The name of the audio session - - - - - the path to the icon shown in the mixer - - - - - the grouping param for an audio session grouping - - - - - - For chanigng the grouping param and supplying the context of said change - - - - - - - Registers an even client for callbacks - - - - - - Unregisters an event client from receiving callbacks - - - - - - AudioSessionEvents callback implementation - - - - - Notifies the client that the display name for the session has changed. - - The new display name for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the display icon for the session has changed. - - The path for the new display icon for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the volume level or muting state of the session has changed. - - The new volume level for the audio session. - The new muting state. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the volume level of an audio channel in the session submix has changed. - - The channel count. - An array of volumnes cooresponding with each channel index. - The number of the channel whose volume level changed. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the grouping parameter for the session has changed. - - The new grouping parameter for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the stream-activity state of the session has changed. - - The new session state. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the session has been disconnected. - - The reason that the audio session was disconnected. - An HRESULT code indicating whether the operation succeeded of failed. - - - - AudioSessionManager - - Designed to manage audio sessions and in particuar the - SimpleAudioVolume interface to adjust a session volume - - - - - SimpleAudioVolume object - for adjusting the volume for the user session - - - - - AudioSessionControl object - for registring for callbacks and other session information - - - - - Specifies the category of an audio stream. - - - - - Other audio stream. - - - - - Media that will only stream when the app is in the foreground. - - - - - Media that can be streamed when the app is in the background. - - - - - Real-time communications, such as VOIP or chat. - - - - - Alert sounds. - - - - - Sound effects. - - - - - Game sound effects. - - - - - Background audio for games. - - - - - Audio Volume Notification Data - - - - - Event Context - - - - - Muted - - - - - Master Volume - - - - - Channels - - - - - Channel Volume - - - - - Audio Volume Notification Data - - - - - - - - - The EDataFlow enumeration defines constants that indicate the direction - in which audio data flows between an audio endpoint device and an application - - - - - Audio rendering stream. - Audio data flows from the application to the audio endpoint device, which renders the stream. - - - - - Audio capture stream. Audio data flows from the audio endpoint device that captures the stream, - to the application - - - - - Audio rendering or capture stream. Audio data can flow either from the application to the audio - endpoint device, or from the audio endpoint device to the application. - - - - - Device State - - - - - DEVICE_STATE_ACTIVE - - - - - DEVICE_STATE_DISABLED - - - - - DEVICE_STATE_NOTPRESENT - - - - - DEVICE_STATE_UNPLUGGED - - - - - DEVICE_STATEMASK_ALL - - - - - Endpoint Hardware Support - - - - - Volume - - - - - Mute - - - - - Meter - - - - - is defined in WTypes.h - - - - - AUDCLNT_E_NOT_INITIALIZED - - - - - AUDCLNT_E_UNSUPPORTED_FORMAT - - - - - AUDCLNT_E_DEVICE_IN_USE - - - - - Windows CoreAudio IAudioClient interface - Defined in AudioClient.h - - - - - The GetBufferSize method retrieves the size (maximum capacity) of the endpoint buffer. - - - - - The GetService method accesses additional services from the audio client object. - - The interface ID for the requested service. - Pointer to a pointer variable into which the method writes the address of an instance of the requested interface. - - - - Defined in AudioClient.h - - - - - Defined in AudioClient.h - - - - - Windows CoreAudio IAudioSessionControl interface - Defined in AudioPolicy.h - - - - - Retrieves the current state of the audio session. - - Receives the current session state. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves the display name for the audio session. - - Receives a string that contains the display name. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Assigns a display name to the current audio session. - - A string that contains the new display name for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves the path for the display icon for the audio session. - - Receives a string that specifies the fully qualified path of the file that contains the icon. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Assigns a display icon to the current session. - - A string that specifies the fully qualified path of the file that contains the new icon. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves the grouping parameter of the audio session. - - Receives the grouping parameter ID. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Assigns a session to a grouping of sessions. - - The new grouping parameter ID. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Registers the client to receive notifications of session events, including changes in the session state. - - A client-implemented interface. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Deletes a previous registration by the client to receive notifications. - - A client-implemented interface. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Defines constants that indicate the current state of an audio session. - - - MSDN Reference: http://msdn.microsoft.com/en-us/library/dd370792.aspx - - - - - The audio session is inactive. - - - - - The audio session is active. - - - - - The audio session has expired. - - - - - Defines constants that indicate a reason for an audio session being disconnected. - - - MSDN Reference: Unknown - - - - - The user removed the audio endpoint device. - - - - - The Windows audio service has stopped. - - - - - The stream format changed for the device that the audio session is connected to. - - - - - The user logged off the WTS session that the audio session was running in. - - - - - The WTS session that the audio session was running in was disconnected. - - - - - The (shared-mode) audio session was disconnected to make the audio endpoint device available for an exclusive-mode connection. - - - - - Windows CoreAudio IAudioSessionControl interface - Defined in AudioPolicy.h - - - - - Notifies the client that the display name for the session has changed. - - The new display name for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the display icon for the session has changed. - - The path for the new display icon for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the volume level or muting state of the session has changed. - - The new volume level for the audio session. - The new muting state. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the volume level of an audio channel in the session submix has changed. - - The channel count. - An array of volumnes cooresponding with each channel index. - The number of the channel whose volume level changed. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the grouping parameter for the session has changed. - - The new grouping parameter for the session. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the stream-activity state of the session has changed. - - The new session state. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Notifies the client that the session has been disconnected. - - The reason that the audio session was disconnected. - An HRESULT code indicating whether the operation succeeded of failed. - - - - interface to receive session related events - - - - - notification of volume changes including muting of audio session - - the current volume - the current mute state, true muted, false otherwise - - - - Windows CoreAudio IAudioSessionManager interface - Defined in AudioPolicy.h - - - - - Retrieves an audio session control. - - A new or existing session ID. - Audio session flags. - Receives an interface for the audio session. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves a simple audio volume control. - - A new or existing session ID. - Audio session flags. - Receives an interface for the audio session. - An HRESULT code indicating whether the operation succeeded of failed. - - - - defined in MMDeviceAPI.h - - - - - IMMNotificationClient - - - - - Device State Changed - - - - - Device Added - - - - - Device Removed - - - - - Default Device Changed - - - - - Property Value Changed - - - - - - - is defined in propsys.h - - - - - Windows CoreAudio ISimpleAudioVolume interface - Defined in AudioClient.h - - - - - Sets the master volume level for the audio session. - - The new volume level expressed as a normalized value between 0.0 and 1.0. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves the client volume level for the audio session. - - Receives the volume level expressed as a normalized value between 0.0 and 1.0. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Sets the muting state for the audio session. - - The new muting state. - A user context value that is passed to the notification callback. - An HRESULT code indicating whether the operation succeeded of failed. - - - - Retrieves the current muting state for the audio session. - - Receives the muting state. - An HRESULT code indicating whether the operation succeeded of failed. - - - - implements IMMDeviceEnumerator - - - - - MMDevice STGM enumeration - - - - - from Propidl.h. - http://msdn.microsoft.com/en-us/library/aa380072(VS.85).aspx - contains a union so we have to do an explicit layout - - - - - Creates a new PropVariant containing a long value - - - - - Helper method to gets blob data - - - - - Interprets a blob as an array of structs - - - - - Gets the type of data in this PropVariant - - - - - Property value - - - - - allows freeing up memory, might turn this into a Dispose method? - - - - - MM Device - - - - - Audio Client - - - - - Audio Meter Information - - - - - Audio Endpoint Volume - - - - - AudioSessionManager instance - - - - - Properties - - - - - Friendly name for the endpoint - - - - - Friendly name of device - - - - - Device ID - - - - - Data Flow - - - - - Device State - - - - - To string - - - - - Multimedia Device Collection - - - - - Device count - - - - - Get device by index - - Device index - Device at the specified index - - - - Get Enumerator - - Device enumerator - - - - MM Device Enumerator - - - - - Creates a new MM Device Enumerator - - - - - Enumerate Audio Endpoints - - Desired DataFlow - State Mask - Device Collection - - - - Get Default Endpoint - - Data Flow - Role - Device - - - - Get device by ID - - Device ID - Device - - - - Registers a call back for Device Events - - Object implementing IMMNotificationClient type casted as IMMNotificationClient interface - - - - - Unregisters a call back for Device Events - - Object implementing IMMNotificationClient type casted as IMMNotificationClient interface - - - - - PROPERTYKEY is defined in wtypes.h - - - - - Format ID - - - - - Property ID - - - - - - - - - - - Property Keys - - - - - PKEY_DeviceInterface_FriendlyName - - - - - PKEY_AudioEndpoint_FormFactor - - - - - PKEY_AudioEndpoint_ControlPanelPageProvider - - - - - PKEY_AudioEndpoint_Association - - - - - PKEY_AudioEndpoint_PhysicalSpeakers - - - - - PKEY_AudioEndpoint_GUID - - - - - PKEY_AudioEndpoint_Disable_SysFx - - - - - PKEY_AudioEndpoint_FullRangeSpeakers - - - - - PKEY_AudioEndpoint_Supports_EventDriven_Mode - - - - - PKEY_AudioEndpoint_JackSubType - - - - - PKEY_AudioEngine_DeviceFormat - - - - - PKEY_AudioEngine_OEMFormat - - - - - PKEY _Devie_FriendlyName - - - - - Property Store class, only supports reading properties at the moment. - - - - - Property Count - - - - - Gets property by index - - Property index - The property - - - - Contains property guid - - Looks for a specific key - True if found - - - - Indexer by guid - - Property Key - Property or null if not found - - - - Gets property key at sepecified index - - Index - Property key - - - - Gets property value at specified index - - Index - Property value - - - - Creates a new property store - - IPropertyStore COM interface - - - - Property Store Property - - - - - Property Key - - - - - Property Value - - - - - The ERole enumeration defines constants that indicate the role - that the system has assigned to an audio endpoint device - - - - - Games, system notification sounds, and voice commands. - - - - - Music, movies, narration, and live music recording - - - - - Voice communications (talking to another person). - - - - - Windows CoreAudio SimpleAudioVolume - - - - - Creates a new Audio endpoint volume - - ISimpleAudioVolume COM interface - - - - Dispose - - - - - Finalizer - - - - - Allows the user to adjust the volume from - 0.0 to 1.0 - - - - - Mute - - - - - Audio Capture using Wasapi - See http://msdn.microsoft.com/en-us/library/dd370800%28VS.85%29.aspx - - - - - Indicates recorded data is available - - - - - Indicates that all recorded data has now been received. - - - - - Initialises a new instance of the WASAPI capture class - - - - - Initialises a new instance of the WASAPI capture class - - Capture device to use - - - - Initializes a new instance of the class. - - The capture device. - true if sync is done with event. false use sleep. - - - - Share Mode - set before calling StartRecording - - - - - Recording wave format - - - - - Gets the default audio capture device - - The default audio capture device - - - - To allow overrides to specify different flags (e.g. loopback) - - - - - Start Recording - - - - - Stop Recording (requests a stop, wait for RecordingStopped event to know it has finished) - - - - - Dispose - - - - - Contains the name and CLSID of a DirectX Media Object - - - - - Name - - - - - Clsid - - - - - Initializes a new instance of DmoDescriptor - - - - - DirectX Media Object Enumerator - - - - - Get audio effect names - - Audio effect names - - - - Get audio encoder names - - Audio encoder names - - - - Get audio decoder names - - Audio decoder names - - - - DMO Guids for use with DMOEnum - dmoreg.h - - - - - MediaErr.h - - - - - DMO Input Data Buffer Flags - - - - - None - - - - - DMO_INPUT_DATA_BUFFERF_SYNCPOINT - - - - - DMO_INPUT_DATA_BUFFERF_TIME - - - - - DMO_INPUT_DATA_BUFFERF_TIMELENGTH - - - - - http://msdn.microsoft.com/en-us/library/aa929922.aspx - DMO_MEDIA_TYPE - - - - - Major type - - - - - Major type name - - - - - Subtype - - - - - Subtype name - - - - - Fixed size samples - - - - - Sample size - - - - - Format type - - - - - Format type name - - - - - Gets the structure as a Wave format (if it is one) - - - - - Sets this object up to point to a wave format - - Wave format structure - - - - DMO Output Data Buffer - - - - - Creates a new DMO Output Data Buffer structure - - Maximum buffer size - - - - Dispose - - - - - Media Buffer - - - - - Length of data in buffer - - - - - Status Flags - - - - - Timestamp - - - - - Duration - - - - - Retrives the data in this buffer - - Buffer to receive data - Offset into buffer - - - - Is more data available - If true, ProcessOuput should be called again - - - - - DMO Output Data Buffer Flags - - - - - None - - - - - DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT - - - - - DMO_OUTPUT_DATA_BUFFERF_TIME - - - - - DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH - - - - - DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE - - - - - DMO_PARTIAL_MEDIATYPE - - - - - DMO Process Output Flags - - - - - None - - - - - DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER - - - - - IMediaBuffer Interface - - - - - Set Length - - Length - HRESULT - - - - Get Max Length - - Max Length - HRESULT - - - - Get Buffer and Length - - Pointer to variable into which to write the Buffer Pointer - Pointer to variable into which to write the Valid Data Length - HRESULT - - - - defined in mediaobj.h - - - - - defined in Medparam.h - - - - - Windows Media Resampler Props - wmcodecdsp.h - - - - - Range is 1 to 60 - - - - - Specifies the channel matrix. - - - - - Attempting to implement the COM IMediaBuffer interface as a .NET object - Not sure what will happen when I pass this to an unmanaged object - - - - - Creates a new Media Buffer - - Maximum length in bytes - - - - Dispose and free memory for buffer - - - - - Finalizer - - - - - Set length of valid data in the buffer - - length - HRESULT - - - - Gets the maximum length of the buffer - - Max length (output parameter) - HRESULT - - - - Gets buffer and / or length - - Pointer to variable into which buffer pointer should be written - Pointer to variable into which valid data length should be written - HRESULT - - - - Length of data in the media buffer - - - - - Loads data into this buffer - - Data to load - Number of bytes to load - - - - Retrieves the data in the output buffer - - buffer to retrieve into - offset within that buffer - - - - Media Object - - - - - Creates a new Media Object - - Media Object COM interface - - - - Number of input streams - - - - - Number of output streams - - - - - Gets the input media type for the specified input stream - - Input stream index - Input type index - DMO Media Type or null if there are no more input types - - - - Gets the DMO Media Output type - - The output stream - Output type index - DMO Media Type or null if no more available - - - - retrieves the media type that was set for an output stream, if any - - Output stream index - DMO Media Type or null if no more available - - - - Enumerates the supported input types - - Input stream index - Enumeration of input types - - - - Enumerates the output types - - Output stream index - Enumeration of supported output types - - - - Querys whether a specified input type is supported - - Input stream index - Media type to check - true if supports - - - - Sets the input type helper method - - Input stream index - Media type - Flags (can be used to test rather than set) - - - - Sets the input type - - Input stream index - Media Type - - - - Sets the input type to the specified Wave format - - Input stream index - Wave format - - - - Requests whether the specified Wave format is supported as an input - - Input stream index - Wave format - true if supported - - - - Helper function to make a DMO Media Type to represent a particular WaveFormat - - - - - Checks if a specified output type is supported - n.b. you may need to set the input type first - - Output stream index - Media type - True if supported - - - - Tests if the specified Wave Format is supported for output - n.b. may need to set the input type first - - Output stream index - Wave format - True if supported - - - - Helper method to call SetOutputType - - - - - Sets the output type - n.b. may need to set the input type first - - Output stream index - Media type to set - - - - Set output type to the specified wave format - n.b. may need to set input type first - - Output stream index - Wave format - - - - Get Input Size Info - - Input Stream Index - Input Size Info - - - - Get Output Size Info - - Output Stream Index - Output Size Info - - - - Process Input - - Input Stream index - Media Buffer - Flags - Timestamp - Duration - - - - Process Output - - Flags - Output buffer count - Output buffers - - - - Gives the DMO a chance to allocate any resources needed for streaming - - - - - Tells the DMO to free any resources needed for streaming - - - - - Gets maximum input latency - - input stream index - Maximum input latency as a ref-time - - - - Flushes all buffered data - - - - - Report a discontinuity on the specified input stream - - Input Stream index - - - - Is this input stream accepting data? - - Input Stream index - true if accepting data - - - - Experimental code, not currently being called - Not sure if it is necessary anyway - - - - - Media Object Size Info - - - - - Minimum Buffer Size, in bytes - - - - - Max Lookahead - - - - - Alignment - - - - - Media Object Size Info - - - - - ToString - - - - - MP_PARAMINFO - - - - - MP_TYPE - - - - - MPT_INT - - - - - MPT_FLOAT - - - - - MPT_BOOL - - - - - MPT_ENUM - - - - - MPT_MAX - - - - - MP_CURVE_TYPE - - - - - uuids.h, ksuuids.h - - - - - From wmcodecsdp.h - Implements: - - IMediaObject - - IMFTransform (Media foundation - we will leave this for now as there is loads of MF stuff) - - IPropertyStore - - IWMResamplerProps - Can resample PCM or IEEE - - - - - DMO Resampler - - - - - Creates a new Resampler based on the DMO Resampler - - - - - Media Object - - - - - Dispose code - experimental at the moment - Was added trying to track down why Resampler crashes NUnit - This code not currently being called by ResamplerDmoStream - - - - - implements IMediaObject (DirectX Media Object) - implements IMFTransform (Media Foundation Transform) - On Windows XP, it is always an MM (if present at all) - - - - - Windows Media MP3 Decoder (as a DMO) - WORK IN PROGRESS - DO NOT USE! - - - - - Creates a new Resampler based on the DMO Resampler - - - - - Media Object - - - - - Dispose code - experimental at the moment - Was added trying to track down why Resampler crashes NUnit - This code not currently being called by ResamplerDmoStream - - - - - BiQuad filter - - - - - Passes a single sample through the filter - - Input sample - Output sample - - - - Set this up as a low pass filter - - Sample Rate - Cut-off Frequency - Bandwidth - - - - Set this up as a peaking EQ - - Sample Rate - Centre Frequency - Bandwidth (Q) - Gain in decibels - - - - Set this as a high pass filter - - - - - Create a low pass filter - - - - - Create a High pass filter - - - - - Create a bandpass filter with constant skirt gain - - - - - Create a bandpass filter with constant peak gain - - - - - Creates a notch filter - - - - - Creaes an all pass filter - - - - - Create a Peaking EQ - - - - - H(s) = A * (s^2 + (sqrt(A)/Q)*s + A)/(A*s^2 + (sqrt(A)/Q)*s + 1) - - - - a "shelf slope" parameter (for shelving EQ only). - When S = 1, the shelf slope is as steep as it can be and remain monotonically - increasing or decreasing gain with frequency. The shelf slope, in dB/octave, - remains proportional to S for all other values for a fixed f0/Fs and dBgain. - Gain in decibels - - - - H(s) = A * (A*s^2 + (sqrt(A)/Q)*s + 1)/(s^2 + (sqrt(A)/Q)*s + A) - - - - - - - - - - Type to represent complex number - - - - - Real Part - - - - - Imaginary Part - - - - - Envelope generator (ADSR) - - - - - Envelope State - - - - - Idle - - - - - Attack - - - - - Decay - - - - - Sustain - - - - - Release - - - - - Creates and Initializes an Envelope Generator - - - - - Attack Rate (seconds * SamplesPerSecond) - - - - - Decay Rate (seconds * SamplesPerSecond) - - - - - Release Rate (seconds * SamplesPerSecond) - - - - - Sustain Level (1 = 100%) - - - - - Sets the attack curve - - - - - Sets the decay release curve - - - - - Read the next volume multiplier from the envelope generator - - A volume multiplier - - - - Trigger the gate - - If true, enter attack phase, if false enter release phase (unless already idle) - - - - Current envelope state - - - - - Reset to idle state - - - - - Get the current output level - - - - - Summary description for FastFourierTransform. - - - - - This computes an in-place complex-to-complex FFT - x and y are the real and imaginary arrays of 2^m points. - - - - - Applies a Hamming Window - - Index into frame - Frame size (e.g. 1024) - Multiplier for Hamming window - - - - Applies a Hann Window - - Index into frame - Frame size (e.g. 1024) - Multiplier for Hann window - - - - Applies a Blackman-Harris Window - - Index into frame - Frame size (e.g. 1024) - Multiplier for Blackmann-Harris window - - - - Summary description for ImpulseResponseConvolution. - - - - - A very simple mono convolution algorithm - - - This will be very slow - - - - - This is actually a downwards normalize for data that will clip - - - - - Fully managed resampler, based on Cockos WDL Resampler - - - - - Creates a new Resampler - - - - - sets the mode - if sinc set, it overrides interp or filtercnt - - - - - Sets the filter parameters - used for filtercnt>0 but not sinc - - - - - Set feed mode - - if true, that means the first parameter to ResamplePrepare will specify however much input you have, not how much you want - - - - Reset - - - - - Prepare - note that it is safe to call ResamplePrepare without calling ResampleOut (the next call of ResamplePrepare will function as normal) - nb inbuffer was WDL_ResampleSample **, returning a place to put the in buffer, so we return a buffer and offset - - req_samples is output samples desired if !wantInputDriven, or if wantInputDriven is input samples that we have - - - - returns number of samples desired (put these into *inbuffer) - - - - Represents an entry in a Cakewalk drum map - - - - - User customisable note name - - - - - Input MIDI note number - - - - - Output MIDI note number - - - - - Output port - - - - - Output MIDI Channel - - - - - Velocity adjustment - - - - - Velocity scaling - in percent - - - - - Describes this drum map entry - - - - - Represents a Cakewalk Drum Map file (.map) - - - - - Parses a Cakewalk Drum Map file - - Path of the .map file - - - - The drum mappings in this drum map - - - - - Describes this drum map - - - - - MP3 Frame decompressor using the Windows Media MP3 Decoder DMO object - - - - - Initializes a new instance of the DMO MP3 Frame decompressor - - - - - - Converted PCM WaveFormat - - - - - Decompress a single frame of MP3 - - - - - Alerts us that a reposition has occured so the MP3 decoder needs to reset its state - - - - - Dispose of this obejct and clean up resources - - - - - http://tech.ebu.ch/docs/tech/tech3306-2009.pdf - - - - - WaveFormat - - - - - Data Chunk Position - - - - - Data Chunk Length - - - - - Riff Chunks - - - - - Channel Mode - - - - - Stereo - - - - - Joint Stereo - - - - - Dual Channel - - - - - Mono - - - - - An ID3v2 Tag - - - - - Reads an ID3v2 tag from a stream - - - - - Creates a new ID3v2 tag from a collection of key-value pairs. - - A collection of key-value pairs containing the tags to include in the ID3v2 tag. - A new ID3v2 tag - - - - Convert the frame size to a byte array. - - The frame body size. - - - - - Creates an ID3v2 frame for the given key-value pair. - - - - - - - - Gets the Id3v2 Header size. The size is encoded so that only 7 bits per byte are actually used. - - - - - - - Creates the Id3v2 tag header and returns is as a byte array. - - The Id3v2 frames that will be included in the file. This is used to calculate the ID3v2 tag size. - - - - - Creates the Id3v2 tag for the given key-value pairs and returns it in the a stream. - - - - - - - Raw data from this tag - - - - - Interface for MP3 frame by frame decoder - - - - - Decompress a single MP3 frame - - Frame to decompress - Output buffer - Offset within output buffer - Bytes written to output buffer - - - - Tell the decoder that we have repositioned - - - - - PCM format that we are converting into - - - - - Represents an MP3 Frame - - - - - Reads an MP3 frame from a stream - - input stream - A valid MP3 frame, or null if none found - - - Reads an MP3Frame from a stream - http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm has some good info - also see http://www.codeproject.com/KB/audio-video/mpegaudioinfo.aspx - - A valid MP3 frame, or null if none found - - - - Constructs an MP3 frame - - - - - checks if the four bytes represent a valid header, - if they are, will parse the values into Mp3Frame - - - - - Sample rate of this frame - - - - - Frame length in bytes - - - - - Bit Rate - - - - - Raw frame data (includes header bytes) - - - - - MPEG Version - - - - - MPEG Layer - - - - - Channel Mode - - - - - The number of samples in this frame - - - - - The channel extension bits - - - - - The bitrate index (directly from the header) - - - - - Whether the Copyright bit is set - - - - - Whether a CRC is present - - - - - Not part of the MP3 frame itself - indicates where in the stream we found this header - - - - - MP3 Frame Decompressor using ACM - - - - - Creates a new ACM frame decompressor - - The MP3 source format - - - - Output format (PCM) - - - - - Decompresses a frame - - The MP3 frame - destination buffer - Offset within destination buffer - Bytes written into destination buffer - - - - Resets the MP3 Frame Decompressor after a reposition operation - - - - - Disposes of this MP3 frame decompressor - - - - - Finalizer ensuring that resources get released properly - - - - - MPEG Layer flags - - - - - Reserved - - - - - Layer 3 - - - - - Layer 2 - - - - - Layer 1 - - - - - MPEG Version Flags - - - - - Version 2.5 - - - - - Reserved - - - - - Version 2 - - - - - Version 1 - - - - - Represents a Xing VBR header - - - - - Load Xing Header - - Frame - Xing Header - - - - Sees if a frame contains a Xing header - - - - - Number of frames - - - - - Number of bytes - - - - - VBR Scale property - - - - - The MP3 frame - - - - - Main ASIODriver Class. To use this class, you need to query first the GetASIODriverNames() and - then use the GetASIODriverByName to instantiate the correct ASIODriver. - This is the first ASIODriver binding fully implemented in C#! - - Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr - - - - - Gets the ASIO driver names installed. - - a list of driver names. Use this name to GetASIODriverByName - - - - Instantiate a ASIODriver given its name. - - The name of the driver - an ASIODriver instance - - - - Instantiate the ASIO driver by GUID. - - The GUID. - an ASIODriver instance - - - - Inits the ASIODriver.. - - The sys handle. - - - - - Gets the name of the driver. - - - - - - Gets the driver version. - - - - - - Gets the error message. - - - - - - Starts this instance. - - - - - Stops this instance. - - - - - Gets the channels. - - The num input channels. - The num output channels. - - - - Gets the latencies (n.b. does not throw an exception) - - The input latency. - The output latency. - - - - Gets the size of the buffer. - - Size of the min. - Size of the max. - Size of the preferred. - The granularity. - - - - Determines whether this instance can use the specified sample rate. - - The sample rate. - - true if this instance [can sample rate] the specified sample rate; otherwise, false. - - - - - Gets the sample rate. - - - - - - Sets the sample rate. - - The sample rate. - - - - Gets the clock sources. - - The clocks. - The num sources. - - - - Sets the clock source. - - The reference. - - - - Gets the sample position. - - The sample pos. - The time stamp. - - - - Gets the channel info. - - The channel number. - if set to true [true for input info]. - - - - - Creates the buffers. - - The buffer infos. - The num channels. - Size of the buffer. - The callbacks. - - - - Disposes the buffers. - - - - - Controls the panel. - - - - - Futures the specified selector. - - The selector. - The opt. - - - - Notifies OutputReady to the ASIODriver. - - - - - - Releases this instance. - - - - - Handles the exception. Throws an exception based on the error. - - The error to check. - Method name - - - - Inits the vTable method from GUID. This is a tricky part of this class. - - The ASIO GUID. - - - - Internal VTable structure to store all the delegates to the C++ COM method. - - - - - ASIODriverCapability holds all the information from the ASIODriver. - Use ASIODriverExt to get the Capabilities - - - - - Callback used by the ASIODriverExt to get wave data - - - - - ASIODriverExt is a simplified version of the ASIODriver. It provides an easier - way to access the capabilities of the Driver and implement the callbacks necessary - for feeding the driver. - Implementation inspired from Rob Philpot's with a managed C++ ASIO wrapper BlueWave.Interop.Asio - http://www.codeproject.com/KB/mcpp/Asio.Net.aspx - - Contributor: Alexandre Mutel - email: alexandre_mutel at yahoo.fr - - - - - Initializes a new instance of the class based on an already - instantiated ASIODriver instance. - - A ASIODriver already instantiated. - - - - Allows adjustment of which is the first output channel we write to - - Output Channel offset - Input Channel offset - - - - Gets the driver used. - - The ASIOdriver. - - - - Starts playing the buffers. - - - - - Stops playing the buffers. - - - - - Shows the control panel. - - - - - Releases this instance. - - - - - Determines whether the specified sample rate is supported. - - The sample rate. - - true if [is sample rate supported]; otherwise, false. - - - - - Sets the sample rate. - - The sample rate. - - - - Gets or sets the fill buffer callback. - - The fill buffer callback. - - - - Gets the capabilities of the ASIODriver. - - The capabilities. - - - - Creates the buffers for playing. - - The number of outputs channels. - The number of input channel. - if set to true [use max buffer size] else use Prefered size - - - - Builds the capabilities internally. - - - - - Callback called by the ASIODriver on fill buffer demand. Redirect call to external callback. - - Index of the double buffer. - if set to true [direct process]. - - - - Callback called by the ASIODriver on event "Samples rate changed". - - The sample rate. - - - - Asio message call back. - - The selector. - The value. - The message. - The opt. - - - - - Buffers switch time info call back. - - The asio time param. - Index of the double buffer. - if set to true [direct process]. - - - - - This class stores convertors for different interleaved WaveFormat to ASIOSampleType separate channel - format. - - - - - Selects the sample convertor based on the input WaveFormat and the output ASIOSampleTtype. - - The wave format. - The type. - - - - - Optimized convertor for 2 channels SHORT - - - - - Generic convertor for SHORT - - - - - Optimized convertor for 2 channels FLOAT - - - - - Generic convertor SHORT - - - - - Optimized convertor for 2 channels SHORT - - - - - Generic convertor for SHORT - - - - - Optimized convertor for 2 channels FLOAT - - - - - Generic convertor SHORT - - - - - Generic converter 24 LSB - - - - - Generic convertor for float - - - - - ASIO Sample Type - - - - - Int 16 MSB - - - - - Int 24 MSB (used for 20 bits as well) - - - - - Int 32 MSB - - - - - IEEE 754 32 bit float - - - - - IEEE 754 64 bit double float - - - - - 32 bit data with 16 bit alignment - - - - - 32 bit data with 18 bit alignment - - - - - 32 bit data with 20 bit alignment - - - - - 32 bit data with 24 bit alignment - - - - - Int 16 LSB - - - - - Int 24 LSB - used for 20 bits as well - - - - - Int 32 LSB - - - - - IEEE 754 32 bit float, as found on Intel x86 architecture - - - - - IEEE 754 64 bit double float, as found on Intel x86 architecture - - - - - 32 bit data with 16 bit alignment - - - - - 32 bit data with 18 bit alignment - - - - - 32 bit data with 20 bit alignment - - - - - 32 bit data with 24 bit alignment - - - - - DSD 1 bit data, 8 samples per byte. First sample in Least significant bit. - - - - - DSD 1 bit data, 8 samples per byte. First sample in Most significant bit. - - - - - DSD 8 bit data, 1 sample per byte. No Endianness required. - - - - - ASIO common Exception. - - - - - Gets the name of the error. - - The error. - the name of the error - - - - Represents an installed ACM Driver - - - - - Helper function to determine whether a particular codec is installed - - The short name of the function - Whether the codec is installed - - - - Attempts to add a new ACM driver from a file - - Full path of the .acm or dll file containing the driver - Handle to the driver - - - - Removes a driver previously added using AddLocalDriver - - Local driver to remove - - - - Show Format Choose Dialog - - Owner window handle, can be null - Window title - Enumeration flags. None to get everything - Enumeration format. Only needed with certain enumeration flags - The selected format - Textual description of the selected format - Textual description of the selected format tag - True if a format was selected - - - - Gets the maximum size needed to store a WaveFormat for ACM interop functions - - - - - Finds a Driver by its short name - - Short Name - The driver, or null if not found - - - - Gets a list of the ACM Drivers installed - - - - - The callback for acmDriverEnum - - - - - Creates a new ACM Driver object - - Driver handle - - - - The short name of this driver - - - - - The full name of this driver - - - - - The driver ID - - - - - ToString - - - - - The list of FormatTags for this ACM Driver - - - - - Gets all the supported formats for a given format tag - - Format tag - Supported formats - - - - Opens this driver - - - - - Closes this driver - - - - - Dispose - - - - - Flags for use with acmDriverAdd - - - - - ACM_DRIVERADDF_LOCAL - - - - - ACM_DRIVERADDF_GLOBAL - - - - - ACM_DRIVERADDF_FUNCTION - - - - - ACM_DRIVERADDF_NOTIFYHWND - - - - - Interop structure for ACM driver details (ACMDRIVERDETAILS) - http://msdn.microsoft.com/en-us/library/dd742889%28VS.85%29.aspx - - - - - DWORD cbStruct - - - - - FOURCC fccType - - - - - FOURCC fccComp - - - - - WORD wMid; - - - - - WORD wPid - - - - - DWORD vdwACM - - - - - DWORD vdwDriver - - - - - DWORD fdwSupport; - - - - - DWORD cFormatTags - - - - - DWORD cFilterTags - - - - - HICON hicon - - - - - TCHAR szShortName[ACMDRIVERDETAILS_SHORTNAME_CHARS]; - - - - - TCHAR szLongName[ACMDRIVERDETAILS_LONGNAME_CHARS]; - - - - - TCHAR szCopyright[ACMDRIVERDETAILS_COPYRIGHT_CHARS]; - - - - - TCHAR szLicensing[ACMDRIVERDETAILS_LICENSING_CHARS]; - - - - - TCHAR szFeatures[ACMDRIVERDETAILS_FEATURES_CHARS]; - - - - - ACMDRIVERDETAILS_SHORTNAME_CHARS - - - - - ACMDRIVERDETAILS_LONGNAME_CHARS - - - - - ACMDRIVERDETAILS_COPYRIGHT_CHARS - - - - - ACMDRIVERDETAILS_LICENSING_CHARS - - - - - ACMDRIVERDETAILS_FEATURES_CHARS - - - - - Flags indicating what support a particular ACM driver has - - - - ACMDRIVERDETAILS_SUPPORTF_CODEC - Codec - - - ACMDRIVERDETAILS_SUPPORTF_CONVERTER - Converter - - - ACMDRIVERDETAILS_SUPPORTF_FILTER - Filter - - - ACMDRIVERDETAILS_SUPPORTF_HARDWARE - Hardware - - - ACMDRIVERDETAILS_SUPPORTF_ASYNC - Async - - - ACMDRIVERDETAILS_SUPPORTF_LOCAL - Local - - - ACMDRIVERDETAILS_SUPPORTF_DISABLED - Disabled - - - - ACM_DRIVERENUMF_NOLOCAL, Only global drivers should be included in the enumeration - - - - - ACM_DRIVERENUMF_DISABLED, Disabled ACM drivers should be included in the enumeration - - - - - ACM Format - - - - - Format Index - - - - - Format Tag - - - - - Support Flags - - - - - WaveFormat - - - - - WaveFormat Size - - - - - Format Description - - - - - ACMFORMATCHOOSE - http://msdn.microsoft.com/en-us/library/dd742911%28VS.85%29.aspx - - - - - DWORD cbStruct; - - - - - DWORD fdwStyle; - - - - - HWND hwndOwner; - - - - - LPWAVEFORMATEX pwfx; - - - - - DWORD cbwfx; - - - - - LPCTSTR pszTitle; - - - - - TCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; - - - - - TCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; - - - - - LPTSTR pszName; - n.b. can be written into - - - - - DWORD cchName - Should be at least 128 unless name is zero - - - - - DWORD fdwEnum; - - - - - LPWAVEFORMATEX pwfxEnum; - - - - - HINSTANCE hInstance; - - - - - LPCTSTR pszTemplateName; - - - - - LPARAM lCustData; - - - - - ACMFORMATCHOOSEHOOKPROC pfnHook; - - - - - None - - - - - ACMFORMATCHOOSE_STYLEF_SHOWHELP - - - - - ACMFORMATCHOOSE_STYLEF_ENABLEHOOK - - - - - ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATE - - - - - ACMFORMATCHOOSE_STYLEF_ENABLETEMPLATEHANDLE - - - - - ACMFORMATCHOOSE_STYLEF_INITTOWFXSTRUCT - - - - - ACMFORMATCHOOSE_STYLEF_CONTEXTHELP - - - - - ACMFORMATDETAILS - http://msdn.microsoft.com/en-us/library/dd742913%28VS.85%29.aspx - - - - - DWORD cbStruct; - - - - - DWORD dwFormatIndex; - - - - - DWORD dwFormatTag; - - - - - DWORD fdwSupport; - - - - - LPWAVEFORMATEX pwfx; - - - - - DWORD cbwfx; - - - - - TCHAR szFormat[ACMFORMATDETAILS_FORMAT_CHARS]; - - - - - ACMFORMATDETAILS_FORMAT_CHARS - - - - - Format Enumeration Flags - - - - - None - - - - - ACM_FORMATENUMF_CONVERT - The WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will only enumerate destination formats that can be converted from the given pwfx format. - - - - - ACM_FORMATENUMF_HARDWARE - The enumerator should only enumerate formats that are supported as native input or output formats on one or more of the installed waveform-audio devices. This flag provides a way for an application to choose only formats native to an installed waveform-audio device. This flag must be used with one or both of the ACM_FORMATENUMF_INPUT and ACM_FORMATENUMF_OUTPUT flags. Specifying both ACM_FORMATENUMF_INPUT and ACM_FORMATENUMF_OUTPUT will enumerate only formats that can be opened for input or output. This is true regardless of whether this flag is specified. - - - - - ACM_FORMATENUMF_INPUT - Enumerator should enumerate only formats that are supported for input (recording). - - - - - ACM_FORMATENUMF_NCHANNELS - The nChannels member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. - - - - - ACM_FORMATENUMF_NSAMPLESPERSEC - The nSamplesPerSec member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. - - - - - ACM_FORMATENUMF_OUTPUT - Enumerator should enumerate only formats that are supported for output (playback). - - - - - ACM_FORMATENUMF_SUGGEST - The WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate all suggested destination formats for the given pwfx format. This mechanism can be used instead of the acmFormatSuggest function to allow an application to choose the best suggested format for conversion. The dwFormatIndex member will always be set to zero on return. - - - - - ACM_FORMATENUMF_WBITSPERSAMPLE - The wBitsPerSample member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. - - - - - ACM_FORMATENUMF_WFORMATTAG - The wFormatTag member of the WAVEFORMATEX structure pointed to by the pwfx member of the ACMFORMATDETAILS structure is valid. The enumerator will enumerate only a format that conforms to this attribute. The dwFormatTag member of the ACMFORMATDETAILS structure must be equal to the wFormatTag member. - - - - - ACM_FORMATSUGGESTF_WFORMATTAG - - - - - ACM_FORMATSUGGESTF_NCHANNELS - - - - - ACM_FORMATSUGGESTF_NSAMPLESPERSEC - - - - - ACM_FORMATSUGGESTF_WBITSPERSAMPLE - - - - - ACM_FORMATSUGGESTF_TYPEMASK - - - - - ACM Format Tag - - - - - Format Tag Index - - - - - Format Tag - - - - - Format Size - - - - - Support Flags - - - - - Standard Formats Count - - - - - Format Description - - - - - DWORD cbStruct; - - - - - DWORD dwFormatTagIndex; - - - - - DWORD dwFormatTag; - - - - - DWORD cbFormatSize; - - - - - DWORD fdwSupport; - - - - - DWORD cStandardFormats; - - - - - TCHAR szFormatTag[ACMFORMATTAGDETAILS_FORMATTAG_CHARS]; - - - - - ACMFORMATTAGDETAILS_FORMATTAG_CHARS - - - - - Interop definitions for Windows ACM (Audio Compression Manager) API - - - - - http://msdn.microsoft.com/en-us/library/dd742910%28VS.85%29.aspx - UINT ACMFORMATCHOOSEHOOKPROC acmFormatChooseHookProc( - HWND hwnd, - UINT uMsg, - WPARAM wParam, - LPARAM lParam - - - - - http://msdn.microsoft.com/en-us/library/dd742916%28VS.85%29.aspx - MMRESULT acmFormatSuggest( - HACMDRIVER had, - LPWAVEFORMATEX pwfxSrc, - LPWAVEFORMATEX pwfxDst, - DWORD cbwfxDst, - DWORD fdwSuggest); - - - - - http://msdn.microsoft.com/en-us/library/dd742928%28VS.85%29.aspx - MMRESULT acmStreamOpen( - LPHACMSTREAM phas, - HACMDRIVER had, - LPWAVEFORMATEX pwfxSrc, - LPWAVEFORMATEX pwfxDst, - LPWAVEFILTER pwfltr, - DWORD_PTR dwCallback, - DWORD_PTR dwInstance, - DWORD fdwOpen - - - - - A version with pointers for troubleshooting - - - - - AcmStream encapsulates an Audio Compression Manager Stream - used to convert audio from one format to another - - - - - Creates a new ACM stream to convert one format to another. Note that - not all conversions can be done in one step - - The source audio format - The destination audio format - - - - Creates a new ACM stream to convert one format to another, using a - specified driver identified and wave filter - - the driver identifier - the source format - the wave filter - - - - Returns the number of output bytes for a given number of input bytes - - Number of input bytes - Number of output bytes - - - - Returns the number of source bytes for a given number of destination bytes - - Number of destination bytes - Number of source bytes - - - - Suggests an appropriate PCM format that the compressed format can be converted - to in one step - - The compressed format - The PCM format - - - - Returns the Source Buffer. Fill this with data prior to calling convert - - - - - Returns the Destination buffer. This will contain the converted data - after a successful call to Convert - - - - - Report that we have repositioned in the source stream - - - - - Converts the contents of the SourceBuffer into the DestinationBuffer - - The number of bytes in the SourceBuffer - that need to be converted - The number of source bytes actually converted - The number of converted bytes in the DestinationBuffer - - - - Converts the contents of the SourceBuffer into the DestinationBuffer - - The number of bytes in the SourceBuffer - that need to be converted - The number of converted bytes in the DestinationBuffer - - - - Frees resources associated with this ACM Stream - - - - - Frees resources associated with this ACM Stream - - - - - Frees resources associated with this ACM Stream - - - - - ACMSTREAMHEADER_STATUSF_DONE - - - - - ACMSTREAMHEADER_STATUSF_PREPARED - - - - - ACMSTREAMHEADER_STATUSF_INQUEUE - - - - - Interop structure for ACM stream headers. - ACMSTREAMHEADER - http://msdn.microsoft.com/en-us/library/dd742926%28VS.85%29.aspx - - - - - ACM_STREAMOPENF_QUERY, ACM will be queried to determine whether it supports the given conversion. A conversion stream will not be opened, and no handle will be returned in the phas parameter. - - - - - ACM_STREAMOPENF_ASYNC, Stream conversion should be performed asynchronously. If this flag is specified, the application can use a callback function to be notified when the conversion stream is opened and closed and after each buffer is converted. In addition to using a callback function, an application can examine the fdwStatus member of the ACMSTREAMHEADER structure for the ACMSTREAMHEADER_STATUSF_DONE flag. - - - - - ACM_STREAMOPENF_NONREALTIME, ACM will not consider time constraints when converting the data. By default, the driver will attempt to convert the data in real time. For some formats, specifying this flag might improve the audio quality or other characteristics. - - - - - CALLBACK_TYPEMASK, callback type mask - - - - - CALLBACK_NULL, no callback - - - - - CALLBACK_WINDOW, dwCallback is a HWND - - - - - CALLBACK_TASK, dwCallback is a HTASK - - - - - CALLBACK_FUNCTION, dwCallback is a FARPROC - - - - - CALLBACK_THREAD, thread ID replaces 16 bit task - - - - - CALLBACK_EVENT, dwCallback is an EVENT Handle - - - - - ACM_STREAMSIZEF_SOURCE - - - - - ACM_STREAMSIZEF_DESTINATION - - - - - Summary description for WaveFilter. - - - - - cbStruct - - - - - dwFilterTag - - - - - fdwFilter - - - - - reserved - - - - ACM_METRIC_COUNT_DRIVERS - - - ACM_METRIC_COUNT_CODECS - - - ACM_METRIC_COUNT_CONVERTERS - - - ACM_METRIC_COUNT_FILTERS - - - ACM_METRIC_COUNT_DISABLED - - - ACM_METRIC_COUNT_HARDWARE - - - ACM_METRIC_COUNT_LOCAL_DRIVERS - - - ACM_METRIC_COUNT_LOCAL_CODECS - - - ACM_METRIC_COUNT_LOCAL_CONVERTERS - - - ACM_METRIC_COUNT_LOCAL_FILTERS - - - ACM_METRIC_COUNT_LOCAL_DISABLED - - - ACM_METRIC_HARDWARE_WAVE_INPUT - - - ACM_METRIC_HARDWARE_WAVE_OUTPUT - - - ACM_METRIC_MAX_SIZE_FORMAT - - - ACM_METRIC_MAX_SIZE_FILTER - - - ACM_METRIC_DRIVER_SUPPORT - - - ACM_METRIC_DRIVER_PRIORITY - - - - ACM_STREAMCONVERTF_BLOCKALIGN - - - - - ACM_STREAMCONVERTF_START - - - - - ACM_STREAMCONVERTF_END - - - - - Wave Callback Info - - - - - Callback Strategy - - - - - Window Handle (if applicable) - - - - - Sets up a new WaveCallbackInfo for function callbacks - - - - - Sets up a new WaveCallbackInfo to use a New Window - IMPORTANT: only use this on the GUI thread - - - - - Sets up a new WaveCallbackInfo to use an existing window - IMPORTANT: only use this on the GUI thread - - - - - Wave Callback Strategy - - - - - Use a function - - - - - Create a new window (should only be done if on GUI thread) - - - - - Use an existing window handle - - - - - Use an event handle - - - - - WaveHeader interop structure (WAVEHDR) - http://msdn.microsoft.com/en-us/library/dd743837%28VS.85%29.aspx - - - - pointer to locked data buffer (lpData) - - - length of data buffer (dwBufferLength) - - - used for input only (dwBytesRecorded) - - - for client's use (dwUser) - - - assorted flags (dwFlags) - - - loop control counter (dwLoops) - - - PWaveHdr, reserved for driver (lpNext) - - - reserved for driver - - - - Wave Header Flags enumeration - - - - - WHDR_BEGINLOOP - This buffer is the first buffer in a loop. This flag is used only with output buffers. - - - - - WHDR_DONE - Set by the device driver to indicate that it is finished with the buffer and is returning it to the application. - - - - - WHDR_ENDLOOP - This buffer is the last buffer in a loop. This flag is used only with output buffers. - - - - - WHDR_INQUEUE - Set by Windows to indicate that the buffer is queued for playback. - - - - - WHDR_PREPARED - Set by Windows to indicate that the buffer has been prepared with the waveInPrepareHeader or waveOutPrepareHeader function. - - - - - WaveInCapabilities structure (based on WAVEINCAPS2 from mmsystem.h) - http://msdn.microsoft.com/en-us/library/ms713726(VS.85).aspx - - - - - wMid - - - - - wPid - - - - - vDriverVersion - - - - - Product Name (szPname) - - - - - Supported formats (bit flags) dwFormats - - - - - Supported channels (1 for mono 2 for stereo) (wChannels) - Seems to be set to -1 on a lot of devices - - - - - wReserved1 - - - - - Number of channels supported - - - - - The product name - - - - - The device name Guid (if provided) - - - - - The product name Guid (if provided) - - - - - The manufacturer guid (if provided) - - - - - Checks to see if a given SupportedWaveFormat is supported - - The SupportedWaveFormat - true if supported - - - - The device name from the registry if supported - - - - - Event Args for WaveInStream event - - - - - Creates new WaveInEventArgs - - - - - Buffer containing recorded data. Note that it might not be completely - full. - - - - - The number of recorded bytes in Buffer. - - - - - MME Wave function interop - - - - - CALLBACK_NULL - No callback - - - - - CALLBACK_FUNCTION - dwCallback is a FARPROC - - - - - CALLBACK_EVENT - dwCallback is an EVENT handle - - - - - CALLBACK_WINDOW - dwCallback is a HWND - - - - - CALLBACK_THREAD - callback is a thread ID - - - - - WIM_OPEN - - - - - WIM_CLOSE - - - - - WIM_DATA - - - - - WOM_CLOSE - - - - - WOM_DONE - - - - - WOM_OPEN - - - - - WaveOutCapabilities structure (based on WAVEOUTCAPS2 from mmsystem.h) - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/multimed/htm/_win32_waveoutcaps_str.asp - - - - - wMid - - - - - wPid - - - - - vDriverVersion - - - - - Product Name (szPname) - - - - - Supported formats (bit flags) dwFormats - - - - - Supported channels (1 for mono 2 for stereo) (wChannels) - Seems to be set to -1 on a lot of devices - - - - - wReserved1 - - - - - Optional functionality supported by the device - - - - - Number of channels supported - - - - - Whether playback control is supported - - - - - The product name - - - - - Checks to see if a given SupportedWaveFormat is supported - - The SupportedWaveFormat - true if supported - - - - The device name Guid (if provided) - - - - - The product name Guid (if provided) - - - - - The manufacturer guid (if provided) - - - - - Supported wave formats for WaveOutCapabilities - - - - - 11.025 kHz, Mono, 8-bit - - - - - 11.025 kHz, Stereo, 8-bit - - - - - 11.025 kHz, Mono, 16-bit - - - - - 11.025 kHz, Stereo, 16-bit - - - - - 22.05 kHz, Mono, 8-bit - - - - - 22.05 kHz, Stereo, 8-bit - - - - - 22.05 kHz, Mono, 16-bit - - - - - 22.05 kHz, Stereo, 16-bit - - - - - 44.1 kHz, Mono, 8-bit - - - - - 44.1 kHz, Stereo, 8-bit - - - - - 44.1 kHz, Mono, 16-bit - - - - - 44.1 kHz, Stereo, 16-bit - - - - - 44.1 kHz, Mono, 8-bit - - - - - 44.1 kHz, Stereo, 8-bit - - - - - 44.1 kHz, Mono, 16-bit - - - - - 44.1 kHz, Stereo, 16-bit - - - - - 48 kHz, Mono, 8-bit - - - - - 48 kHz, Stereo, 8-bit - - - - - 48 kHz, Mono, 16-bit - - - - - 48 kHz, Stereo, 16-bit - - - - - 96 kHz, Mono, 8-bit - - - - - 96 kHz, Stereo, 8-bit - - - - - 96 kHz, Mono, 16-bit - - - - - 96 kHz, Stereo, 16-bit - - - - - Flags indicating what features this WaveOut device supports - - - - supports pitch control (WAVECAPS_PITCH) - - - supports playback rate control (WAVECAPS_PLAYBACKRATE) - - - supports volume control (WAVECAPS_VOLUME) - - - supports separate left-right volume control (WAVECAPS_LRVOLUME) - - - (WAVECAPS_SYNC) - - - (WAVECAPS_SAMPLEACCURATE) - - - - Sample provider interface to make WaveChannel32 extensible - Still a bit ugly, hence internal at the moment - and might even make these into - bit depth converting WaveProviders - - - - - ADSR sample provider allowing you to specify attack, decay, sustain and release values - - - - - Creates a new AdsrSampleProvider with default values - - - - - Attack time in seconds - - - - - Release time in seconds - - - - - Reads audio from this sample provider - - - - - Enters the Release phase - - - - - The output WaveFormat - - - - - Sample Provider to allow fading in and out - - - - - Creates a new FadeInOutSampleProvider - - The source stream with the audio to be faded in or out - If true, we start faded out - - - - Requests that a fade-in begins (will start on the next call to Read) - - Duration of fade in milliseconds - - - - Requests that a fade-out begins (will start on the next call to Read) - - Duration of fade in milliseconds - - - - Reads samples from this sample provider - - Buffer to read into - Offset within buffer to write to - Number of samples desired - Number of samples read - - - - WaveFormat of this SampleProvider - - - - - Simple SampleProvider that passes through audio unchanged and raises - an event every n samples with the maximum sample value from the period - for metering purposes - - - - - Number of Samples per notification - - - - - Raised periodically to inform the user of the max volume - - - - - Initialises a new instance of MeteringSampleProvider that raises 10 stream volume - events per second - - Source sample provider - - - - Initialises a new instance of MeteringSampleProvider - - source sampler provider - Number of samples between notifications - - - - The WaveFormat of this sample provider - - - - - Reads samples from this Sample Provider - - Sample buffer - Offset into sample buffer - Number of samples required - Number of samples read - - - - Event args for aggregated stream volume - - - - - Max sample values array (one for each channel) - - - - - A sample provider mixer, allowing inputs to be added and removed - - - - - Creates a new MixingSampleProvider, with no inputs, but a specified WaveFormat - - The WaveFormat of this mixer. All inputs must be in this format - - - - Creates a new MixingSampleProvider, based on the given inputs - - Mixer inputs - must all have the same waveformat, and must - all be of the same WaveFormat. There must be at least one input - - - - When set to true, the Read method always returns the number - of samples requested, even if there are no inputs, or if the - current inputs reach their end. Setting this to true effectively - makes this a never-ending sample provider, so take care if you plan - to write it out to a file. - - - - - Adds a WaveProvider as a Mixer input. - Must be PCM or IEEE float already - - IWaveProvider mixer input - - - - Adds a new mixer input - - Mixer input - - - - Removes a mixer input - - Mixer input to remove - - - - Removes all mixer inputs - - - - - The output WaveFormat of this sample provider - - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples required - Number of samples read - - - - No nonsense mono to stereo provider, no volume adjustment, - just copies input to left and right. - - - - - Initializes a new instance of MonoToStereoSampleProvider - - Source sample provider - - - - WaveFormat of this provider - - - - - Reads samples from this provider - - Sample buffer - Offset into sample buffer - Number of samples required - Number of samples read - - - - Allows any number of inputs to be patched to outputs - Uses could include swapping left and right channels, turning mono into stereo, - feeding different input sources to different soundcard outputs etc - - - - - Creates a multiplexing sample provider, allowing re-patching of input channels to different - output channels - - Input sample providers. Must all be of the same sample rate, but can have any number of channels - Desired number of output channels. - - - - persistent temporary buffer to prevent creating work for garbage collector - - - - - Reads samples from this sample provider - - Buffer to be filled with sample data - Offset into buffer to start writing to, usually 0 - Number of samples required - Number of samples read - - - - The output WaveFormat for this SampleProvider - - - - - Connects a specified input channel to an output channel - - Input Channel index (zero based). Must be less than InputChannelCount - Output Channel index (zero based). Must be less than OutputChannelCount - - - - The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in - one stereo and one mono input provider, the number of input channels is three. - - - - - The number of output channels, as specified in the constructor. - - - - - Simple class that raises an event on every sample - - - - - Initializes a new instance of NotifyingSampleProvider - - Source Sample Provider - - - - WaveFormat - - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples desired - Number of samples read - - - - Sample notifier - - - - - Allows you to: - 1. insert a pre-delay of silence before the source begins - 2. skip over a certain amount of the beginning of the source - 3. only play a set amount from the source - 4. insert silence at the end after the source is complete - - - - - Number of samples of silence to insert before playing source - - - - - Amount of silence to insert before playing - - - - - Number of samples in source to discard - - - - - Amount of audio to skip over from the source before beginning playback - - - - - Number of samples to read from source (if 0, then read it all) - - - - - Amount of audio to take from the source (TimeSpan.Zero means play to end) - - - - - Number of samples of silence to insert after playing source - - - - - Amount of silence to insert after playing source - - - - - Creates a new instance of offsetSampleProvider - - The Source Sample Provider to read from - - - - The WaveFormat of this SampleProvider - - - - - Reads from this sample provider - - Sample buffer - Offset within sample buffer to read to - Number of samples required - Number of samples read - - - - Converts a mono sample provider to stereo, with a customisable pan strategy - - - - - Initialises a new instance of the PanningSampleProvider - - Source sample provider, must be mono - - - - Pan value, must be between -1 (left) and 1 (right) - - - - - The pan strategy currently in use - - - - - The WaveFormat of this sample provider - - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples desired - Number of samples read - - - - Pair of floating point values, representing samples or multipliers - - - - - Left value - - - - - Right value - - - - - Required Interface for a Panning Strategy - - - - - Gets the left and right multipliers for a given pan value - - Pan value from -1 to 1 - Left and right multipliers in a stereo sample pair - - - - Simplistic "balance" control - treating the mono input as if it was stereo - In the centre, both channels full volume. Opposite channel decays linearly - as balance is turned to to one side - - - - - Gets the left and right channel multipliers for this pan value - - Pan value, between -1 and 1 - Left and right multipliers - - - - Square Root Pan, thanks to Yuval Naveh - - - - - Gets the left and right channel multipliers for this pan value - - Pan value, between -1 and 1 - Left and right multipliers - - - - Sinus Pan, thanks to Yuval Naveh - - - - - Gets the left and right channel multipliers for this pan value - - Pan value, between -1 and 1 - Left and right multipliers - - - - Linear Pan - - - - - Gets the left and right channel multipliers for this pan value - - Pan value, between -1 and 1 - Left and right multipliers - - - - Converts an IWaveProvider containing 16 bit PCM to an - ISampleProvider - - - - - Initialises a new instance of Pcm16BitToSampleProvider - - Source wave provider - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Samples required - Number of samples read - - - - Converts an IWaveProvider containing 24 bit PCM to an - ISampleProvider - - - - - Initialises a new instance of Pcm24BitToSampleProvider - - Source Wave Provider - - - - Reads floating point samples from this sample provider - - sample buffer - offset within sample buffer to write to - number of samples required - number of samples provided - - - - Converts an IWaveProvider containing 32 bit PCM to an - ISampleProvider - - - - - Initialises a new instance of Pcm32BitToSampleProvider - - Source Wave Provider - - - - Reads floating point samples from this sample provider - - sample buffer - offset within sample buffer to write to - number of samples required - number of samples provided - - - - Converts an IWaveProvider containing 8 bit PCM to an - ISampleProvider - - - - - Initialises a new instance of Pcm8BitToSampleProvider - - Source wave provider - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples to read - Number of samples read - - - - Utility class that takes an IWaveProvider input at any bit depth - and exposes it as an ISampleProvider. Can turn mono inputs into stereo, - and allows adjusting of volume - (The eventual successor to WaveChannel32) - This class also serves as an example of how you can link together several simple - Sample Providers to form a more useful class. - - - - - Initialises a new instance of SampleChannel - - Source wave provider, must be PCM or IEEE - - - - Initialises a new instance of SampleChannel - - Source wave provider, must be PCM or IEEE - force mono inputs to become stereo - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples desired - Number of samples read - - - - The WaveFormat of this Sample Provider - - - - - Allows adjusting the volume, 1.0f = full volume - - - - - Raised periodically to inform the user of the max volume - (before the volume meter) - - - - - Helper base class for classes converting to ISampleProvider - - - - - Source Wave Provider - - - - - Source buffer (to avoid constantly creating small buffers during playback) - - - - - Initialises a new instance of SampleProviderConverterBase - - Source Wave provider - - - - Wave format of this wave provider - - - - - Reads samples from the source wave provider - - Sample buffer - Offset into sample buffer - Number of samples required - Number of samples read - - - - Ensure the source buffer exists and is big enough - - Bytes required - - - - Utility class for converting to SampleProvider - - - - - Helper function to go from IWaveProvider to a SampleProvider - Must already be PCM or IEEE float - - The WaveProvider to convert - A sample provider - - - - Helper class for when you need to convert back to an IWaveProvider from - an ISampleProvider. Keeps it as IEEE float - - - - - Initializes a new instance of the WaveProviderFloatToWaveProvider class - - Source wave provider - - - - Reads from this provider - - - - - The waveformat of this WaveProvider (same as the source) - - - - - Converts a sample provider to 16 bit PCM, optionally clipping and adjusting volume along the way - - - - - Converts from an ISampleProvider (IEEE float) to a 16 bit PCM IWaveProvider. - Number of channels and sample rate remain unchanged. - - The input source provider - - - - Reads bytes from this wave stream - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - - - - - - Volume of this channel. 1.0 = full scale - - - - - Converts a sample provider to 24 bit PCM, optionally clipping and adjusting volume along the way - - - - - Converts from an ISampleProvider (IEEE float) to a 16 bit PCM IWaveProvider. - Number of channels and sample rate remain unchanged. - - The input source provider - - - - Reads bytes from this wave stream, clipping if necessary - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - The Format of this IWaveProvider - - - - - - Volume of this channel. 1.0 = full scale, 0.0 to mute - - - - - Signal Generator - Sin, Square, Triangle, SawTooth, White Noise, Pink Noise, Sweep. - - - Posibility to change ISampleProvider - Example : - --------- - WaveOut _waveOutGene = new WaveOut(); - WaveGenerator wg = new SignalGenerator(); - wg.Type = ... - wg.Frequency = ... - wg ... - _waveOutGene.Init(wg); - _waveOutGene.Play(); - - - - - Initializes a new instance for the Generator (Default :: 44.1Khz, 2 channels, Sinus, Frequency = 440, Gain = 1) - - - - - Initializes a new instance for the Generator (UserDef SampleRate & Channels) - - Desired sample rate - Number of channels - - - - The waveformat of this WaveProvider (same as the source) - - - - - Frequency for the Generator. (20.0 - 20000.0 Hz) - Sin, Square, Triangle, SawTooth, Sweep (Start Frequency). - - - - - Return Log of Frequency Start (Read only) - - - - - End Frequency for the Sweep Generator. (Start Frequency in Frequency) - - - - - Return Log of Frequency End (Read only) - - - - - Gain for the Generator. (0.0 to 1.0) - - - - - Channel PhaseReverse - - - - - Type of Generator. - - - - - Length Seconds for the Sweep Generator. - - - - - Reads from this provider. - - - - - Private :: Random for WhiteNoise & Pink Noise (Value form -1 to 1) - - Random value from -1 to +1 - - - - Signal Generator type - - - - - Pink noise - - - - - White noise - - - - - Sweep - - - - - Sine wave - - - - - Square wave - - - - - Triangle Wave - - - - - Sawtooth wave - - - - - Very simple sample provider supporting adjustable gain - - - - - Initializes a new instance of VolumeSampleProvider - - Source Sample Provider - - - - WaveFormat - - - - - Reads samples from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples desired - Number of samples read - - - - Allows adjusting the volume, 1.0f = full volume - - - - - Helper class turning an already 32 bit floating point IWaveProvider - into an ISampleProvider - hopefully not needed for most applications - - - - - Initializes a new instance of the WaveToSampleProvider class - - Source wave provider, must be IEEE float - - - - Reads from this provider - - - - - Helper class turning an already 64 bit floating point IWaveProvider - into an ISampleProvider - hopefully not needed for most applications - - - - - Initializes a new instance of the WaveToSampleProvider class - - Source wave provider, must be IEEE float - - - - Reads from this provider - - - - - Fully managed resampling sample provider, based on the WDL Resampler - - - - - Constructs a new resampler - - Source to resample - Desired output sample rate - - - - Reads from this sample provider - - - - - Output WaveFormat - - - - - Useful extension methods to make switching between WaveAndSampleProvider easier - - - - - Converts a WaveProvider into a SampleProvider (only works for PCM) - - WaveProvider to convert - - - - - Allows sending a SampleProvider directly to an IWavePlayer without needing to convert - back to an IWaveProvider - - The WavePlayer - - - - - - Microsoft ADPCM - See http://icculus.org/SDL_sound/downloads/external_documentation/wavecomp.htm - - - - - Empty constructor needed for marshalling from a pointer - - - - - Samples per block - - - - - Number of coefficients - - - - - Coefficients - - - - - Microsoft ADPCM - - Sample Rate - Channels - - - - Serializes this wave format - - Binary writer - - - - String Description of this WaveFormat - - - - - GSM 610 - - - - - Creates a GSM 610 WaveFormat - For now hardcoded to 13kbps - - - - - Samples per block - - - - - Writes this structure to a BinaryWriter - - - - - IMA/DVI ADPCM Wave Format - Work in progress - - - - - parameterless constructor for Marshalling - - - - - Creates a new IMA / DVI ADPCM Wave Format - - Sample Rate - Number of channels - Bits Per Sample - - - - MP3 WaveFormat, MPEGLAYER3WAVEFORMAT from mmreg.h - - - - - Wave format ID (wID) - - - - - Padding flags (fdwFlags) - - - - - Block Size (nBlockSize) - - - - - Frames per block (nFramesPerBlock) - - - - - Codec Delay (nCodecDelay) - - - - - Creates a new MP3 WaveFormat - - - - - Wave Format Padding Flags - - - - - MPEGLAYER3_FLAG_PADDING_ISO - - - - - MPEGLAYER3_FLAG_PADDING_ON - - - - - MPEGLAYER3_FLAG_PADDING_OFF - - - - - Wave Format ID - - - - MPEGLAYER3_ID_UNKNOWN - - - MPEGLAYER3_ID_MPEG - - - MPEGLAYER3_ID_CONSTANTFRAMESIZE - - - - DSP Group TrueSpeech - - - - - DSP Group TrueSpeech WaveFormat - - - - - Writes this structure to a BinaryWriter - - - - - Represents a Wave file format - - - - format type - - - number of channels - - - sample rate - - - for buffer estimation - - - block size of data - - - number of bits per sample of mono data - - - number of following bytes - - - - Creates a new PCM 44.1Khz stereo 16 bit format - - - - - Creates a new 16 bit wave format with the specified sample - rate and channel count - - Sample Rate - Number of channels - - - - Gets the size of a wave buffer equivalent to the latency in milliseconds. - - The milliseconds. - - - - - Creates a WaveFormat with custom members - - The encoding - Sample Rate - Number of channels - Average Bytes Per Second - Block Align - Bits Per Sample - - - - - Creates an A-law wave format - - Sample Rate - Number of Channels - Wave Format - - - - Creates a Mu-law wave format - - Sample Rate - Number of Channels - Wave Format - - - - Creates a new PCM format with the specified sample rate, bit depth and channels - - - - - Creates a new 32 bit IEEE floating point wave format - - sample rate - number of channels - - - - Helper function to retrieve a WaveFormat structure from a pointer - - WaveFormat structure - - - - - Helper function to marshal WaveFormat to an IntPtr - - WaveFormat - IntPtr to WaveFormat structure (needs to be freed by callee) - - - - Reads in a WaveFormat (with extra data) from a fmt chunk (chunk identifier and - length should already have been read) - - Binary reader - Format chunk length - A WaveFormatExtraData - - - - Reads a new WaveFormat object from a stream - - A binary reader that wraps the stream - - - - Reports this WaveFormat as a string - - String describing the wave format - - - - Compares with another WaveFormat object - - Object to compare to - True if the objects are the same - - - - Provides a Hashcode for this WaveFormat - - A hashcode - - - - Returns the encoding type used - - - - - Writes this WaveFormat object to a stream - - the output stream - - - - Returns the number of channels (1=mono,2=stereo etc) - - - - - Returns the sample rate (samples per second) - - - - - Returns the average number of bytes used per second - - - - - Returns the block alignment - - - - - Returns the number of bits per sample (usually 16 or 32, sometimes 24 or 8) - Can be 0 for some codecs - - - - - Returns the number of extra bytes used by this waveformat. Often 0, - except for compressed formats which store extra data after the WAVEFORMATEX header - - - - - Custom marshaller for WaveFormat structures - - - - - Gets the instance of this marshaller - - - - - - - Clean up managed data - - - - - Clean up native data - - - - - - Get native data size - - - - - Marshal managed to native - - - - - Marshal Native to Managed - - - - - Summary description for WaveFormatEncoding. - - - - WAVE_FORMAT_UNKNOWN, Microsoft Corporation - - - WAVE_FORMAT_PCM Microsoft Corporation - - - WAVE_FORMAT_ADPCM Microsoft Corporation - - - WAVE_FORMAT_IEEE_FLOAT Microsoft Corporation - - - WAVE_FORMAT_VSELP Compaq Computer Corp. - - - WAVE_FORMAT_IBM_CVSD IBM Corporation - - - WAVE_FORMAT_ALAW Microsoft Corporation - - - WAVE_FORMAT_MULAW Microsoft Corporation - - - WAVE_FORMAT_DTS Microsoft Corporation - - - WAVE_FORMAT_DRM Microsoft Corporation - - - WAVE_FORMAT_WMAVOICE9 - - - WAVE_FORMAT_OKI_ADPCM OKI - - - WAVE_FORMAT_DVI_ADPCM Intel Corporation - - - WAVE_FORMAT_IMA_ADPCM Intel Corporation - - - WAVE_FORMAT_MEDIASPACE_ADPCM Videologic - - - WAVE_FORMAT_SIERRA_ADPCM Sierra Semiconductor Corp - - - WAVE_FORMAT_G723_ADPCM Antex Electronics Corporation - - - WAVE_FORMAT_DIGISTD DSP Solutions, Inc. - - - WAVE_FORMAT_DIGIFIX DSP Solutions, Inc. - - - WAVE_FORMAT_DIALOGIC_OKI_ADPCM Dialogic Corporation - - - WAVE_FORMAT_MEDIAVISION_ADPCM Media Vision, Inc. - - - WAVE_FORMAT_CU_CODEC Hewlett-Packard Company - - - WAVE_FORMAT_YAMAHA_ADPCM Yamaha Corporation of America - - - WAVE_FORMAT_SONARC Speech Compression - - - WAVE_FORMAT_DSPGROUP_TRUESPEECH DSP Group, Inc - - - WAVE_FORMAT_ECHOSC1 Echo Speech Corporation - - - WAVE_FORMAT_AUDIOFILE_AF36, Virtual Music, Inc. - - - WAVE_FORMAT_APTX Audio Processing Technology - - - WAVE_FORMAT_AUDIOFILE_AF10, Virtual Music, Inc. - - - WAVE_FORMAT_PROSODY_1612, Aculab plc - - - WAVE_FORMAT_LRC, Merging Technologies S.A. - - - WAVE_FORMAT_DOLBY_AC2, Dolby Laboratories - - - WAVE_FORMAT_GSM610, Microsoft Corporation - - - WAVE_FORMAT_MSNAUDIO, Microsoft Corporation - - - WAVE_FORMAT_ANTEX_ADPCME, Antex Electronics Corporation - - - WAVE_FORMAT_CONTROL_RES_VQLPC, Control Resources Limited - - - WAVE_FORMAT_DIGIREAL, DSP Solutions, Inc. - - - WAVE_FORMAT_DIGIADPCM, DSP Solutions, Inc. - - - WAVE_FORMAT_CONTROL_RES_CR10, Control Resources Limited - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WAVE_FORMAT_MPEG, Microsoft Corporation - - - - - - - - - WAVE_FORMAT_MPEGLAYER3, ISO/MPEG Layer3 Format Tag - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - WAVE_FORMAT_GSM - - - WAVE_FORMAT_G729 - - - WAVE_FORMAT_G723 - - - WAVE_FORMAT_ACELP - - - - WAVE_FORMAT_RAW_AAC1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Windows Media Audio, WAVE_FORMAT_WMAUDIO2, Microsoft Corporation - - - - - Windows Media Audio Professional WAVE_FORMAT_WMAUDIO3, Microsoft Corporation - - - - - Windows Media Audio Lossless, WAVE_FORMAT_WMAUDIO_LOSSLESS - - - - - Windows Media Audio Professional over SPDIF WAVE_FORMAT_WMASPDIF (0x0164) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Advanced Audio Coding (AAC) audio in Audio Data Transport Stream (ADTS) format. - The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_ADTS_AAC. - - - The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, - prior to applying spectral band replication (SBR) or parametric stereo (PS) tools, if present. - No additional data is required after the WAVEFORMATEX structure. - - http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx - - - - Source wmCodec.h - - - - MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM). - The format block is a WAVEFORMATEX structure with wFormatTag equal to WAVE_FORMAT_MPEG_LOAS. - - - The WAVEFORMATEX structure specifies the core AAC-LC sample rate and number of channels, - prior to applying spectral SBR or PS tools, if present. - No additional data is required after the WAVEFORMATEX structure. - - http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx - - - NOKIA_MPEG_ADTS_AAC - Source wmCodec.h - - - NOKIA_MPEG_RAW_AAC - Source wmCodec.h - - - VODAFONE_MPEG_ADTS_AAC - Source wmCodec.h - - - VODAFONE_MPEG_RAW_AAC - Source wmCodec.h - - - - High-Efficiency Advanced Audio Coding (HE-AAC) stream. - The format block is an HEAACWAVEFORMAT structure. - - http://msdn.microsoft.com/en-us/library/dd317599%28VS.85%29.aspx - - - WAVE_FORMAT_DVM - - - WAVE_FORMAT_VORBIS1 "Og" Original stream compatible - - - WAVE_FORMAT_VORBIS2 "Pg" Have independent header - - - WAVE_FORMAT_VORBIS3 "Qg" Have no codebook header - - - WAVE_FORMAT_VORBIS1P "og" Original stream compatible - - - WAVE_FORMAT_VORBIS2P "pg" Have independent headere - - - WAVE_FORMAT_VORBIS3P "qg" Have no codebook header - - - WAVE_FORMAT_EXTENSIBLE - - - - - - - WaveFormatExtensible - http://www.microsoft.com/whdc/device/audio/multichaud.mspx - - - - - Parameterless constructor for marshalling - - - - - Creates a new WaveFormatExtensible for PCM or IEEE - - - - - WaveFormatExtensible for PCM or floating point can be awkward to work with - This creates a regular WaveFormat structure representing the same audio format - - - - - - SubFormat (may be one of AudioMediaSubtypes) - - - - - Serialize - - - - - - String representation - - - - - This class used for marshalling from unmanaged code - - - - - Allows the extra data to be read - - - - - parameterless constructor for marshalling - - - - - Reads this structure from a BinaryReader - - - - - Writes this structure to a BinaryWriter - - - - - The WMA wave format. - May not be much use because WMA codec is a DirectShow DMO not an ACM - - - - - Generic interface for wave recording - - - - - Recording WaveFormat - - - - - Start Recording - - - - - Stop Recording - - - - - Indicates recorded data is available - - - - - Indicates that all recorded data has now been received. - - - - - WASAPI Loopback Capture - based on a contribution from "Pygmy" - http://naudio.codeplex.com/discussions/203605 - - - - - Initialises a new instance of the WASAPI capture class - - - - - Initialises a new instance of the WASAPI capture class - - Capture device to use - - - - Gets the default audio loopback capture device - - The default audio loopback capture device - - - - Recording wave format - - - - - Specify loopback - - - - - Allows recording using the Windows waveIn APIs - Events are raised as recorded buffers are made available - - - - - Indicates recorded data is available - - - - - Indicates that all recorded data has now been received. - - - - - Prepares a Wave input device for recording - - - - - Creates a WaveIn device using the specified window handle for callbacks - - A valid window handle - - - - Prepares a Wave input device for recording - - - - - Returns the number of Wave In devices available in the system - - - - - Retrieves the capabilities of a waveIn device - - Device to test - The WaveIn device capabilities - - - - Milliseconds for the buffer. Recommended value is 100ms - - - - - Number of Buffers to use (usually 2 or 3) - - - - - The device number to use - - - - - Called when we get a new buffer of recorded data - - - - - Start recording - - - - - Stop recording - - - - - WaveFormat we are recording in - - - - - Dispose pattern - - - - - Microphone Level - - - - - Dispose method - - - - - Recording using waveIn api with event callbacks. - Use this for recording in non-gui applications - Events are raised as recorded buffers are made available - - - - - Indicates recorded data is available - - - - - Indicates that all recorded data has now been received. - - - - - Prepares a Wave input device for recording - - - - - Returns the number of Wave In devices available in the system - - - - - Retrieves the capabilities of a waveIn device - - Device to test - The WaveIn device capabilities - - - - Milliseconds for the buffer. Recommended value is 100ms - - - - - Number of Buffers to use (usually 2 or 3) - - - - - The device number to use - - - - - Start recording - - - - - Stop recording - - - - - WaveFormat we are recording in - - - - - Dispose pattern - - - - - Microphone Level - - - - - Dispose method - - - - - This class writes audio data to a .aif file on disk - - - - - Creates an Aiff file by reading all the data from a WaveProvider - BEWARE: the WaveProvider MUST return 0 from its Read method when it is finished, - or the Aiff File will grow indefinitely. - - The filename to use - The source WaveProvider - - - - AiffFileWriter that actually writes to a stream - - Stream to be written to - Wave format to use - - - - Creates a new AiffFileWriter - - The filename to write to - The Wave Format of the output data - - - - The aiff file name or null if not applicable - - - - - Number of bytes of audio in the data chunk - - - - - WaveFormat of this aiff file - - - - - Returns false: Cannot read from a AiffFileWriter - - - - - Returns true: Can write to a AiffFileWriter - - - - - Returns false: Cannot seek within a AiffFileWriter - - - - - Read is not supported for a AiffFileWriter - - - - - Seek is not supported for a AiffFileWriter - - - - - SetLength is not supported for AiffFileWriter - - - - - - Gets the Position in the AiffFile (i.e. number of bytes written so far) - - - - - Appends bytes to the AiffFile (assumes they are already in the correct format) - - the buffer containing the wave data - the offset from which to start writing - the number of bytes to write - - - - Writes a single sample to the Aiff file - - the sample to write (assumed floating point with 1.0f as max value) - - - - Writes 32 bit floating point samples to the Aiff file - They will be converted to the appropriate bit depth depending on the WaveFormat of the AIF file - - The buffer containing the floating point samples - The offset from which to start writing - The number of floating point samples to write - - - - Writes 16 bit samples to the Aiff file - - The buffer containing the 16 bit samples - The offset from which to start writing - The number of 16 bit samples to write - - - - Ensures data is written to disk - - - - - Actually performs the close,making sure the header contains the correct data - - True if called from Dispose - - - - Updates the header with file size information - - - - - Finaliser - should only be called if the user forgot to close this AiffFileWriter - - - - - Raised when ASIO data has been recorded. - It is important to handle this as quickly as possible as it is in the buffer callback - - - - - Initialises a new instance of AsioAudioAvailableEventArgs - - Pointers to the ASIO buffers for each channel - Pointers to the ASIO buffers for each channel - Number of samples in each buffer - Audio format within each buffer - - - - Pointer to a buffer per input channel - - - - - Pointer to a buffer per output channel - Allows you to write directly to the output buffers - If you do so, set SamplesPerBuffer = true, - and make sure all buffers are written to with valid data - - - - - Set to true if you have written to the output buffers - If so, AsioOut will not read from its source - - - - - Number of samples in each buffer - - - - - Converts all the recorded audio into a buffer of 32 bit floating point samples, interleaved by channel - - The samples as 32 bit floating point, interleaved - - - - Audio format within each buffer - Most commonly this will be one of, Int32LSB, Int16LSB, Int24LSB or Float32LSB - - - - - Gets as interleaved samples, allocating a float array - - The samples as 32 bit floating point values - - - - ASIO Out Player. New implementation using an internal C# binding. - - This implementation is only supporting Short16Bit and Float32Bit formats and is optimized - for 2 outputs channels . - SampleRate is supported only if ASIODriver is supporting it - - This implementation is probably the first ASIODriver binding fully implemented in C#! - - Original Contributor: Mark Heath - New Contributor to C# binding : Alexandre Mutel - email: alexandre_mutel at yahoo.fr - - - - - Playback Stopped - - - - - When recording, fires whenever recorded audio is available - - - - - Initializes a new instance of the class with the first - available ASIO Driver. - - - - - Initializes a new instance of the class with the driver name. - - Name of the device. - - - - Opens an ASIO output device - - Device number (zero based) - - - - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. - - - - - Dispose - - - - - Gets the names of the installed ASIO Driver. - - an array of driver names - - - - Determines whether ASIO is supported. - - - true if ASIO is supported; otherwise, false. - - - - - Inits the driver from the asio driver name. - - Name of the driver. - - - - Shows the control panel - - - - - Starts playback - - - - - Stops playback - - - - - Pauses playback - - - - - Initialises to play - - Source wave provider - - - - Initialises to play, with optional recording - - Source wave provider - set to null for record only - Number of channels to record - Specify sample rate here if only recording, ignored otherwise - - - - driver buffer update callback to fill the wave buffer. - - The input channels. - The output channels. - - - - Gets the latency (in ms) of the playback driver - - - - - Playback State - - - - - Driver Name - - - - - The number of output channels we are currently using for playback - (Must be less than or equal to DriverOutputChannelCount) - - - - - The number of input channels we are currently recording from - (Must be less than or equal to DriverInputChannelCount) - - - - - The maximum number of input channels this ASIO driver supports - - - - - The maximum number of output channels this ASIO driver supports - - - - - By default the first channel on the input WaveProvider is sent to the first ASIO output. - This option sends it to the specified channel number. - Warning: make sure you don't set it higher than the number of available output channels - - the number of source channels. - n.b. Future NAudio may modify this - - - - - Input channel offset (used when recording), allowing you to choose to record from just one - specific input rather than them all - - - - - Sets the volume (1.0 is unity gain) - Not supported for ASIO Out. Set the volume on the input stream instead - - - - - Get the input channel name - - channel index (zero based) - channel name - - - - Get the output channel name - - channel index (zero based) - channel name - - - - A wave file writer that adds cue support - - - - - Writes a wave file, including a cues chunk - - - - - Adds a cue to the Wave file - - Sample position - Label text - - - - Updates the header, and writes the cues out - - - - - NativeDirectSoundOut using DirectSound COM interop. - Contact author: Alexandre Mutel - alexandre_mutel at yahoo.fr - Modified by: Graham "Gee" Plumb - - - - - Playback Stopped - - - - - Gets the DirectSound output devices in the system - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - (40ms seems to work under Vista). - - The latency. - Selected device - - - - Releases unmanaged resources and performs other cleanup operations before the - is reclaimed by garbage collection. - - - - - Begin playback - - - - - Stop playback - - - - - Pause Playback - - - - - Gets the current position in bytes from the wave output device. - (n.b. this is not the same thing as the position within your reader - stream) - - Position in bytes - - - - Gets the current position from the wave output device. - - - - - Initialise playback - - The waveprovider to be played - - - - Current playback state - - - - - - The volume 1.0 is full scale - - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Determines whether the SecondaryBuffer is lost. - - - true if [is buffer lost]; otherwise, false. - - - - - Convert ms to bytes size according to WaveFormat - - The ms - number of byttes - - - - Processes the samples in a separate thread. - - - - - Stop playback - - - - - Feeds the SecondaryBuffer with the WaveStream - - number of bytes to feed - - - - IDirectSound interface - - - - - IDirectSoundBuffer interface - - - - - IDirectSoundNotify interface - - - - - Instanciate DirectSound from the DLL - - The GUID. - The direct sound. - The p unk outer. - - - - DirectSound default playback device GUID - - - - - DirectSound default capture device GUID - - - - - DirectSound default device for voice playback - - - - - DirectSound default device for voice capture - - - - - The DSEnumCallback function is an application-defined callback function that enumerates the DirectSound drivers. - The system calls this function in response to the application's call to the DirectSoundEnumerate or DirectSoundCaptureEnumerate function. - - Address of the GUID that identifies the device being enumerated, or NULL for the primary device. This value can be passed to the DirectSoundCreate8 or DirectSoundCaptureCreate8 function to create a device object for that driver. - Address of a null-terminated string that provides a textual description of the DirectSound device. - Address of a null-terminated string that specifies the module name of the DirectSound driver corresponding to this device. - Address of application-defined data. This is the pointer passed to DirectSoundEnumerate or DirectSoundCaptureEnumerate as the lpContext parameter. - Returns TRUE to continue enumerating drivers, or FALSE to stop. - - - - The DirectSoundEnumerate function enumerates the DirectSound drivers installed in the system. - - callback function - User context - - - - Gets the HANDLE of the desktop window. - - HANDLE of the Desktop window - - - - Class for enumerating DirectSound devices - - - - - The device identifier - - - - - Device description - - - - - Device module name - - - - - IWaveBuffer interface use to store wave datas. - Data can be manipulated with arrays (,, - , ) that are pointing to the same memory buffer. - This is a requirement for all subclasses. - - Use the associated Count property based on the type of buffer to get the number of data in the - buffer. - - for the standard implementation using C# unions. - - - - - Gets the byte buffer. - - The byte buffer. - - - - Gets the float buffer. - - The float buffer. - - - - Gets the short buffer. - - The short buffer. - - - - Gets the int buffer. - - The int buffer. - - - - Gets the max size in bytes of the byte buffer.. - - Maximum number of bytes in the buffer. - - - - Gets the byte buffer count. - - The byte buffer count. - - - - Gets the float buffer count. - - The float buffer count. - - - - Gets the short buffer count. - - The short buffer count. - - - - Gets the int buffer count. - - The int buffer count. - - - - Represents the interface to a device that can play a WaveFile - - - - - Begin playback - - - - - Stop playback - - - - - Pause Playback - - - - - Initialise playback - - The waveprovider to be played - - - - Current playback state - - - - - The volume 1.0 is full scale - - - - - Indicates that playback has gone into a stopped state due to - reaching the end of the input stream or an error has been encountered during playback - - - - - Interface for IWavePlayers that can report position - - - - - Position (in terms of bytes played - does not necessarily) - - Position in bytes - - - - Gets a instance indicating the format the hardware is using. - - - - - Generic interface for all WaveProviders. - - - - - Gets the WaveFormat of this WaveProvider. - - The wave format. - - - - Fill the specified buffer with wave data. - - The buffer to fill of wave data. - Offset into buffer - The number of bytes to read - the number of bytes written to the buffer. - - - - Like IWaveProvider, but makes it much simpler to put together a 32 bit floating - point mixing engine - - - - - Gets the WaveFormat of this Sample Provider. - - The wave format. - - - - Fill the specified buffer with 32 bit floating point samples - - The buffer to fill with samples. - Offset into buffer - The number of samples to read - the number of samples written to the buffer. - - - - Media Foundation Encoder class allows you to use Media Foundation to encode an IWaveProvider - to any supported encoding format - - - - - Queries the available bitrates for a given encoding output type, sample rate and number of channels - - Audio subtype - a value from the AudioSubtypes class - The sample rate of the PCM to encode - The number of channels of the PCM to encode - An array of available bitrates in average bits per second - - - - Gets all the available media types for a particular - - Audio subtype - a value from the AudioSubtypes class - An array of available media types that can be encoded with this subtype - - - - Helper function to simplify encoding Window Media Audio - Should be supported on Vista and above (not tested) - - Input provider, must be PCM - Output file path, should end with .wma - Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type - - - - Helper function to simplify encoding to MP3 - By default, will only be available on Windows 8 and above - - Input provider, must be PCM - Output file path, should end with .mp3 - Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type - - - - Helper function to simplify encoding to AAC - By default, will only be available on Windows 7 and above - - Input provider, must be PCM - Output file path, should end with .mp4 (or .aac on Windows 8) - Desired bitrate. Use GetEncodeBitrates to find the possibilities for your input type - - - - Tries to find the encoding media type with the closest bitrate to that specified - - Audio subtype, a value from AudioSubtypes - Your encoder input format (used to check sample rate and channel count) - Your desired bitrate - The closest media type, or null if none available - - - - Creates a new encoder that encodes to the specified output media type - - Desired output media type - - - - Encodes a file - - Output filename (container type is deduced from the filename) - Input provider (should be PCM, some encoders will also allow IEEE float) - - - - Disposes this instance - - - - - - Disposes this instance - - - - - Finalizer - - - - - Playback State - - - - - Stopped - - - - - Playing - - - - - Paused - - - - - Stopped Event Args - - - - - Initializes a new instance of StoppedEventArgs - - An exception to report (null if no exception) - - - - An exception. Will be null if the playback or record operation stopped - - - - - Support for playback using Wasapi - - - - - Playback Stopped - - - - - WASAPI Out using default audio endpoint - - ShareMode - shared or exclusive - Desired latency in milliseconds - - - - WASAPI Out using default audio endpoint - - ShareMode - shared or exclusive - true if sync is done with event. false use sleep. - Desired latency in milliseconds - - - - Creates a new WASAPI Output - - Device to use - - true if sync is done with event. false use sleep. - - - - - Gets the current position in bytes from the wave output device. - (n.b. this is not the same thing as the position within your reader - stream) - - Position in bytes - - - - Gets a instance indicating the format the hardware is using. - - - - - Begin Playback - - - - - Stop playback and flush buffers - - - - - Stop playback without flushing buffers - - - - - Initialize for playing the specified wave stream - - IWaveProvider to play - - - - Playback State - - - - - Volume - - - - - Dispose - - - - - WaveBuffer class use to store wave datas. Data can be manipulated with arrays - (,,, ) that are pointing to the - same memory buffer. Use the associated Count property based on the type of buffer to get the number of - data in the buffer. - Implicit casting is now supported to float[], byte[], int[], short[]. - You must not use Length on returned arrays. - - n.b. FieldOffset is 8 now to allow it to work natively on 64 bit - - - - - Number of Bytes - - - - - Initializes a new instance of the class. - - The number of bytes. The size of the final buffer will be aligned on 4 Bytes (upper bound) - - - - Initializes a new instance of the class binded to a specific byte buffer. - - A byte buffer to bound the WaveBuffer to. - - - - Binds this WaveBuffer instance to a specific byte buffer. - - A byte buffer to bound the WaveBuffer to. - - - - Performs an implicit conversion from to . - - The wave buffer. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The wave buffer. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The wave buffer. - The result of the conversion. - - - - Performs an implicit conversion from to . - - The wave buffer. - The result of the conversion. - - - - Gets the byte buffer. - - The byte buffer. - - - - Gets the float buffer. - - The float buffer. - - - - Gets the short buffer. - - The short buffer. - - - - Gets the int buffer. - - The int buffer. - - - - Gets the max size in bytes of the byte buffer.. - - Maximum number of bytes in the buffer. - - - - Gets or sets the byte buffer count. - - The byte buffer count. - - - - Gets or sets the float buffer count. - - The float buffer count. - - - - Gets or sets the short buffer count. - - The short buffer count. - - - - Gets or sets the int buffer count. - - The int buffer count. - - - - Clears the associated buffer. - - - - - Copy this WaveBuffer to a destination buffer up to ByteBufferCount bytes. - - - - - Checks the validity of the count parameters. - - Name of the arg. - The value. - The size of value. - - - - This class writes WAV data to a .wav file on disk - - - - - Creates a 16 bit Wave File from an ISampleProvider - BEWARE: the source provider must not return data indefinitely - - The filename to write to - The source sample provider - - - - Creates a Wave file by reading all the data from a WaveProvider - BEWARE: the WaveProvider MUST return 0 from its Read method when it is finished, - or the Wave File will grow indefinitely. - - The filename to use - The source WaveProvider - - - - WaveFileWriter that actually writes to a stream - - Stream to be written to - Wave format to use - - - - Creates a new WaveFileWriter - - The filename to write to - The Wave Format of the output data - - - - The wave file name or null if not applicable - - - - - Number of bytes of audio in the data chunk - - - - - WaveFormat of this wave file - - - - - Returns false: Cannot read from a WaveFileWriter - - - - - Returns true: Can write to a WaveFileWriter - - - - - Returns false: Cannot seek within a WaveFileWriter - - - - - Read is not supported for a WaveFileWriter - - - - - Seek is not supported for a WaveFileWriter - - - - - SetLength is not supported for WaveFileWriter - - - - - - Gets the Position in the WaveFile (i.e. number of bytes written so far) - - - - - Appends bytes to the WaveFile (assumes they are already in the correct format) - - the buffer containing the wave data - the offset from which to start writing - the number of bytes to write - - - - Appends bytes to the WaveFile (assumes they are already in the correct format) - - the buffer containing the wave data - the offset from which to start writing - the number of bytes to write - - - - Writes a single sample to the Wave file - - the sample to write (assumed floating point with 1.0f as max value) - - - - Writes 32 bit floating point samples to the Wave file - They will be converted to the appropriate bit depth depending on the WaveFormat of the WAV file - - The buffer containing the floating point samples - The offset from which to start writing - The number of floating point samples to write - - - - Writes 16 bit samples to the Wave file - - The buffer containing the 16 bit samples - The offset from which to start writing - The number of 16 bit samples to write - - - - Writes 16 bit samples to the Wave file - - The buffer containing the 16 bit samples - The offset from which to start writing - The number of 16 bit samples to write - - - - Ensures data is written to disk - - - - - Actually performs the close,making sure the header contains the correct data - - True if called from Dispose - - - - Updates the header with file size information - - - - - Finaliser - should only be called if the user forgot to close this WaveFileWriter - - - - - Represents a wave out device - - - - - Indicates playback has stopped automatically - - - - - Retrieves the capabilities of a waveOut device - - Device to test - The WaveOut device capabilities - - - - Returns the number of Wave Out devices available in the system - - - - - Gets or sets the desired latency in milliseconds - Should be set before a call to Init - - - - - Gets or sets the number of buffers used - Should be set before a call to Init - - - - - Gets or sets the device number - Should be set before a call to Init - This must be between 0 and DeviceCount - 1. - - - - - Creates a default WaveOut device - Will use window callbacks if called from a GUI thread, otherwise function - callbacks - - - - - Creates a WaveOut device using the specified window handle for callbacks - - A valid window handle - - - - Opens a WaveOut device - - - - - Initialises the WaveOut device - - WaveProvider to play - - - - Start playing the audio from the WaveStream - - - - - Pause the audio - - - - - Resume playing after a pause from the same position - - - - - Stop and reset the WaveOut device - - - - - Gets the current position in bytes from the wave output device. - (n.b. this is not the same thing as the position within your reader - stream - it calls directly into waveOutGetPosition) - - Position in bytes - - - - Gets a instance indicating the format the hardware is using. - - - - - Playback State - - - - - Volume for this device 1.0 is full scale - - - - - Closes this WaveOut device - - - - - Closes the WaveOut device and disposes of buffers - - True if called from Dispose - - - - Finalizer. Only called when user forgets to call Dispose - - - - - Alternative WaveOut class, making use of the Event callback - - - - - Indicates playback has stopped automatically - - - - - Gets or sets the desired latency in milliseconds - Should be set before a call to Init - - - - - Gets or sets the number of buffers used - Should be set before a call to Init - - - - - Gets or sets the device number - Should be set before a call to Init - This must be between 0 and DeviceCount - 1. - - - - - Opens a WaveOut device - - - - - Initialises the WaveOut device - - WaveProvider to play - - - - Start playing the audio from the WaveStream - - - - - Pause the audio - - - - - Resume playing after a pause from the same position - - - - - Stop and reset the WaveOut device - - - - - Gets the current position in bytes from the wave output device. - (n.b. this is not the same thing as the position within your reader - stream - it calls directly into waveOutGetPosition) - - Position in bytes - - - - Gets a instance indicating the format the hardware is using. - - - - - Playback State - - - - - Obsolete property - - - - - Closes this WaveOut device - - - - - Closes the WaveOut device and disposes of buffers - - True if called from Dispose - - - - Finalizer. Only called when user forgets to call Dispose - - - - - Provides a buffered store of samples - Read method will return queued samples or fill buffer with zeroes - Now backed by a circular buffer - - - - - Creates a new buffered WaveProvider - - WaveFormat - - - - Buffer length in bytes - - - - - Buffer duration - - - - - If true, when the buffer is full, start throwing away data - if false, AddSamples will throw an exception when buffer is full - - - - - The number of buffered bytes - - - - - Buffered Duration - - - - - Gets the WaveFormat - - - - - Adds samples. Takes a copy of buffer, so that buffer can be reused if necessary - - - - - Reads from this WaveProvider - Will always return count bytes, since we will zero-fill the buffer if not enough available - - - - - Discards all audio from the buffer - - - - - The Media Foundation Resampler Transform - - - - - Creates the Media Foundation Resampler, allowing modifying of sample rate, bit depth and channel count - - Source provider, must be PCM - Output format, must also be PCM - - - - Creates a resampler with a specified target output sample rate - - Source provider - Output sample rate - - - - Creates and configures the actual Resampler transform - - A newly created and configured resampler MFT - - - - Gets or sets the Resampler quality. n.b. set the quality before starting to resample. - 1 is lowest quality (linear interpolation) and 60 is best quality - - - - - Disposes this resampler - - - - - WaveProvider that can mix together multiple 32 bit floating point input provider - All channels must have the same number of inputs and same sample rate - n.b. Work in Progress - not tested yet - - - - - Creates a new MixingWaveProvider32 - - - - - Creates a new 32 bit MixingWaveProvider32 - - inputs - must all have the same format. - Thrown if the input streams are not 32 bit floating point, - or if they have different formats to each other - - - - Add a new input to the mixer - - The wave input to add - - - - Remove an input from the mixer - - waveProvider to remove - - - - The number of inputs to this mixer - - - - - Reads bytes from this wave stream - - buffer to read into - offset into buffer - number of bytes required - Number of bytes read. - Thrown if an invalid number of bytes requested - - - - Actually performs the mixing - - - - - - - - - - Converts from mono to stereo, allowing freedom to route all, some, or none of the incoming signal to left or right channels - - - - - Creates a new stereo waveprovider based on a mono input - - Mono 16 bit PCM input - - - - 1.0 to copy the mono stream to the left channel without adjusting volume - - - - - 1.0 to copy the mono stream to the right channel without adjusting volume - - - - - Output Wave Format - - - - - Reads bytes from this WaveProvider - - - - - Allows any number of inputs to be patched to outputs - Uses could include swapping left and right channels, turning mono into stereo, - feeding different input sources to different soundcard outputs etc - - - - - Creates a multiplexing wave provider, allowing re-patching of input channels to different - output channels - - Input wave providers. Must all be of the same format, but can have any number of channels - Desired number of output channels. - - - - persistent temporary buffer to prevent creating work for garbage collector - - - - - Reads data from this WaveProvider - - Buffer to be filled with sample data - Offset to write to within buffer, usually 0 - Number of bytes required - Number of bytes read - - - - The WaveFormat of this WaveProvider - - - - - Connects a specified input channel to an output channel - - Input Channel index (zero based). Must be less than InputChannelCount - Output Channel index (zero based). Must be less than OutputChannelCount - - - - The number of input channels. Note that this is not the same as the number of input wave providers. If you pass in - one stereo and one mono input provider, the number of input channels is three. - - - - - The number of output channels, as specified in the constructor. - - - - - Takes a stereo 16 bit input and turns it mono, allowing you to select left or right channel only or mix them together - - - - - Creates a new mono waveprovider based on a stereo input - - Stereo 16 bit PCM input - - - - 1.0 to mix the mono source entirely to the left channel - - - - - 1.0 to mix the mono source entirely to the right channel - - - - - Output Wave Format - - - - - Reads bytes from this WaveProvider - - - - - Helper class allowing us to modify the volume of a 16 bit stream without converting to IEEE float - - - - - Constructs a new VolumeWaveProvider16 - - Source provider, must be 16 bit PCM - - - - Gets or sets volume. - 1.0 is full scale, 0.0 is silence, anything over 1.0 will amplify but potentially clip - - - - - WaveFormat of this WaveProvider - - - - - Read bytes from this WaveProvider - - Buffer to read into - Offset within buffer to read to - Bytes desired - Bytes read - - - - Converts 16 bit PCM to IEEE float, optionally adjusting volume along the way - - - - - Creates a new Wave16toFloatProvider - - the source provider - - - - Reads bytes from this wave stream - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - - - - - - Volume of this channel. 1.0 = full scale - - - - - Converts IEEE float to 16 bit PCM, optionally clipping and adjusting volume along the way - - - - - Creates a new WaveFloatTo16Provider - - the source provider - - - - Reads bytes from this wave stream - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - - - - - - Volume of this channel. 1.0 = full scale - - - - - Buffered WaveProvider taking source data from WaveIn - - - - - Creates a new WaveInProvider - n.b. Should make sure the WaveFormat is set correctly on IWaveIn before calling - - The source of wave data - - - - Reads data from the WaveInProvider - - - - - The WaveFormat - - - - - Base class for creating a 16 bit wave provider - - - - - Initializes a new instance of the WaveProvider16 class - defaulting to 44.1kHz mono - - - - - Initializes a new instance of the WaveProvider16 class with the specified - sample rate and number of channels - - - - - Allows you to specify the sample rate and channels for this WaveProvider - (should be initialised before you pass it to a wave player) - - - - - Implements the Read method of IWaveProvider by delegating to the abstract - Read method taking a short array - - - - - Method to override in derived classes - Supply the requested number of samples into the buffer - - - - - The Wave Format - - - - - Base class for creating a 32 bit floating point wave provider - Can also be used as a base class for an ISampleProvider that can - be plugged straight into anything requiring an IWaveProvider - - - - - Initializes a new instance of the WaveProvider32 class - defaulting to 44.1kHz mono - - - - - Initializes a new instance of the WaveProvider32 class with the specified - sample rate and number of channels - - - - - Allows you to specify the sample rate and channels for this WaveProvider - (should be initialised before you pass it to a wave player) - - - - - Implements the Read method of IWaveProvider by delegating to the abstract - Read method taking a float array - - - - - Method to override in derived classes - Supply the requested number of samples into the buffer - - - - - The Wave Format - - - - - Utility class to intercept audio from an IWaveProvider and - save it to disk - - - - - Constructs a new WaveRecorder - - The location to write the WAV file to - The Source Wave Provider - - - - Read simply returns what the source returns, but writes to disk along the way - - - - - The WaveFormat - - - - - Closes the WAV file - - - - A read-only stream of AIFF data based on an aiff file - with an associated WaveFormat - originally contributed to NAudio by Giawa - - - - Supports opening a AIF file - The AIF is of similar nastiness to the WAV format. - This supports basic reading of uncompressed PCM AIF files, - with 8, 16, 24 and 32 bit PCM data. - - - - - Creates an Aiff File Reader based on an input stream - - The input stream containing a AIF file including header - - - - Ensures valid AIFF header and then finds data offset. - - The stream, positioned at the start of audio data - The format found - The position of the data chunk - The length of the data chunk - Additional chunks found - - - - Cleans up the resources associated with this AiffFileReader - - - - - - - - - - - - - - - Number of Samples (if possible to calculate) - - - - - Position in the AIFF file - - - - - - Reads bytes from the AIFF File - - - - - - AIFF Chunk - - - - - Chunk Name - - - - - Chunk Length - - - - - Chunk start - - - - - Creates a new AIFF Chunk - - - - - AudioFileReader simplifies opening an audio file in NAudio - Simply pass in the filename, and it will attempt to open the - file and set up a conversion path that turns into PCM IEEE float. - ACM codecs will be used for conversion. - It provides a volume property and implements both WaveStream and - ISampleProvider, making it possibly the only stage in your audio - pipeline necessary for simple playback scenarios - - - - - Initializes a new instance of AudioFileReader - - The file to open - - - - Creates the reader stream, supporting all filetypes in the core NAudio library, - and ensuring we are in PCM format - - File Name - - - - WaveFormat of this stream - - - - - Length of this stream (in bytes) - - - - - Position of this stream (in bytes) - - - - - Reads from this wave stream - - Audio buffer - Offset into buffer - Number of bytes required - Number of bytes read - - - - Reads audio from this sample provider - - Sample buffer - Offset into sample buffer - Number of samples required - Number of samples read - - - - Gets or Sets the Volume of this AudioFileReader. 1.0f is full volume - - - - - Helper to convert source to dest bytes - - - - - Helper to convert dest to source bytes - - - - - Disposes this AudioFileReader - - True if called from Dispose - - - - Helper stream that lets us read from compressed audio files with large block alignment - as though we could read any amount and reposition anywhere - - - - - Creates a new BlockAlignReductionStream - - the input stream - - - - Block alignment of this stream - - - - - Wave Format - - - - - Length of this Stream - - - - - Current position within stream - - - - - Disposes this WaveStream - - - - - Reads data from this stream - - - - - - - - - Holds information on a cue: a labeled position within a Wave file - - - - - Cue position in samples - - - - - Label of the cue - - - - - Creates a Cue based on a sample position and label - - - - - - - Holds a list of cues - - - The specs for reading and writing cues from the cue and list RIFF chunks - are from http://www.sonicspot.com/guide/wavefiles.html and http://www.wotsit.org/ - ------------------------------ - The cues are stored like this: - ------------------------------ - struct CuePoint - { - Int32 dwIdentifier; - Int32 dwPosition; - Int32 fccChunk; - Int32 dwChunkStart; - Int32 dwBlockStart; - Int32 dwSampleOffset; - } - - struct CueChunk - { - Int32 chunkID; - Int32 chunkSize; - Int32 dwCuePoints; - CuePoint[] points; - } - ------------------------------ - Labels look like this: - ------------------------------ - struct ListHeader - { - Int32 listID; /* 'list' */ - Int32 chunkSize; /* includes the Type ID below */ - Int32 typeID; /* 'adtl' */ - } - - struct LabelChunk - { - Int32 chunkID; - Int32 chunkSize; - Int32 dwIdentifier; - Char[] dwText; /* Encoded with extended ASCII */ - } LabelChunk; - - - - - Creates an empty cue list - - - - - Adds an item to the list - - Cue - - - - Gets sample positions for the embedded cues - - Array containing the cue positions - - - - Gets labels for the embedded cues - - Array containing the labels - - - - Creates a cue list from the cue RIFF chunk and the list RIFF chunk - - The data contained in the cue chunk - The data contained in the list chunk - - - - Gets the cues as the concatenated cue and list RIFF chunks. - - RIFF chunks containing the cue data - - - - Number of cues - - - - - Accesses the cue at the specified index - - - - - - - Checks if the cue and list chunks exist and if so, creates a cue list - - - - - A wave file reader supporting cue reading - - - - - Loads a wavefile and supports reading cues - - - - - - Cue List (can be null if cues not present) - - - - - An interface for WaveStreams which can report notification of individual samples - - - - - A sample has been detected - - - - - Sample event arguments - - - - - Left sample - - - - - Right sample - - - - - Constructor - - - - - Class for reading any file that Media Foundation can play - Will only work in Windows Vista and above - Automatically converts to PCM - If it is a video file with multiple audio streams, it will pick out the first audio stream - - - - - Allows customisation of this reader class - - - - - Sets up the default settings for MediaFoundationReader - - - - - Allows us to request IEEE float output (n.b. no guarantee this will be accepted) - - - - - If true, the reader object created in the constructor is used in Read - Should only be set to true if you are working entirely on an STA thread, or - entirely with MTA threads. - - - - - If true, the reposition does not happen immediately, but waits until the - next call to read to be processed. - - - - - Creates a new MediaFoundationReader based on the supplied file - - Filename (can also be a URL e.g. http:// mms:// file://) - - - - Creates a new MediaFoundationReader based on the supplied file - - Filename - Advanced settings - - - - Creates the reader (overridable by ) - - - - - Reads from this wave stream - - Buffer to read into - Offset in buffer - Bytes required - Number of bytes read; 0 indicates end of stream - - - - WaveFormat of this stream (n.b. this is after converting to PCM) - - - - - The bytesRequired of this stream in bytes (n.b may not be accurate) - - - - - Current position within this stream - - - - - Cleans up after finishing with this reader - - true if called from Dispose - - - - WaveFormat has changed - - - - - Class for reading from MP3 files - - - - - The MP3 wave format (n.b. NOT the output format of this stream - see the WaveFormat property) - - - - Supports opening a MP3 file - - - Supports opening a MP3 file - MP3 File name - Factory method to build a frame decompressor - - - - Opens MP3 from a stream rather than a file - Will not dispose of this stream itself - - The incoming stream containing MP3 data - - - - Opens MP3 from a stream rather than a file - Will not dispose of this stream itself - - The incoming stream containing MP3 data - Factory method to build a frame decompressor - - - - Function that can create an MP3 Frame decompressor - - A WaveFormat object describing the MP3 file format - An MP3 Frame decompressor - - - - Creates an ACM MP3 Frame decompressor. This is the default with NAudio - - A WaveFormat object based - - - - - Gets the total length of this file in milliseconds. - - - - - ID3v2 tag if present - - - - - ID3v1 tag if present - - - - - Reads the next mp3 frame - - Next mp3 frame, or null if EOF - - - - Reads the next mp3 frame - - Next mp3 frame, or null if EOF - - - - This is the length in bytes of data available to be read out from the Read method - (i.e. the decompressed MP3 length) - n.b. this may return 0 for files whose length is unknown - - - - - - - - - - - - - - - Reads decompressed PCM data from our MP3 file. - - - - - Xing header if present - - - - - Disposes this WaveStream - - - - - WaveStream that simply passes on data from its source stream - (e.g. a MemoryStream) - - - - - Initialises a new instance of RawSourceWaveStream - - The source stream containing raw audio - The waveformat of the audio in the source stream - - - - The WaveFormat of this stream - - - - - The length in bytes of this stream (if supported) - - - - - The current position in this stream - - - - - Reads data from the stream - - - - - Wave Stream for converting between sample rates - - - - - WaveStream to resample using the DMO Resampler - - Input Stream - Desired Output Format - - - - Stream Wave Format - - - - - Stream length in bytes - - - - - Stream position in bytes - - - - - Reads data from input stream - - buffer - offset into buffer - Bytes required - Number of bytes read - - - - Dispose - - True if disposing (not from finalizer) - - - - Holds information about a RIFF file chunk - - - - - Creates a RiffChunk object - - - - - The chunk identifier - - - - - The chunk identifier converted to a string - - - - - The chunk length - - - - - The stream position this chunk is located at - - - - - A simple compressor - - - - - Create a new simple compressor stream - - Source stream - - - - Make-up Gain - - - - - Threshold - - - - - Ratio - - - - - Attack time - - - - - Release time - - - - - Determine whether the stream has the required amount of data. - - Number of bytes of data required from the stream. - Flag indicating whether the required amount of data is avialable. - - - - Turns gain on or off - - - - - Returns the stream length - - - - - Gets or sets the current position in the stream - - - - - Gets the WaveFormat of this stream - - - - - Reads bytes from this stream - - Buffer to read into - Offset in array to read into - Number of bytes to read - Number of bytes read - - - - Disposes this stream - - true if the user called this - - - - Gets the block alignment for this stream - - - - - WaveStream that converts 32 bit audio back down to 16 bit, clipping if necessary - - - - - Creates a new Wave32To16Stream - - the source stream - - - - Sets the volume for this stream. 1.0f is full scale - - - - - - - - - - Returns the stream length - - - - - Gets or sets the current position in the stream - - - - - Reads bytes from this wave stream - - Destination buffer - Offset into destination buffer - - Number of bytes read. - - - - Conversion to 16 bit and clipping - - - - - - - - - - Clip indicator. Can be reset. - - - - - Disposes this WaveStream - - - - - Represents Channel for the WaveMixerStream - 32 bit output and 16 bit input - It's output is always stereo - The input stream can be panned - - - - - Creates a new WaveChannel32 - - the source stream - stream volume (1 is 0dB) - pan control (-1 to 1) - - - - Creates a WaveChannel32 with default settings - - The source stream - - - - Gets the block alignment for this WaveStream - - - - - Returns the stream length - - - - - Gets or sets the current position in the stream - - - - - Reads bytes from this wave stream - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - If true, Read always returns the number of bytes requested - - - - - - - - - - Volume of this channel. 1.0 = full scale - - - - - Pan of this channel (from -1 to 1) - - - - - Determines whether this channel has any data to play - to allow optimisation to not read, but bump position forward - - - - - Disposes this WaveStream - - - - - Sample - - - - - Raise the sample event (no check for null because it has already been done) - - - - This class supports the reading of WAV files, - providing a repositionable WaveStream that returns the raw data - contained in the WAV file - - - - Supports opening a WAV file - The WAV file format is a real mess, but we will only - support the basic WAV file format which actually covers the vast - majority of WAV files out there. For more WAV file format information - visit www.wotsit.org. If you have a WAV file that can't be read by - this class, email it to the NAudio project and we will probably - fix this reader to support it - - - - - Creates a Wave File Reader based on an input stream - - The input stream containing a WAV file including header - - - - Gets a list of the additional chunks found in this file - - - - - Gets the data for the specified chunk - - - - - Cleans up the resources associated with this WaveFileReader - - - - - - - - - - This is the length of audio data contained in this WAV file, in bytes - (i.e. the byte length of the data chunk, not the length of the WAV file itself) - - - - - - Number of Samples (if possible to calculate) - This currently does not take into account number of channels, so - divide again by number of channels if you want the number of - audio 'frames' - - - - - Position in the WAV data chunk. - - - - - - Reads bytes from the Wave File - - - - - - Attempts to read the next sample or group of samples as floating point normalised into the range -1.0f to 1.0f - - An array of samples, 1 for mono, 2 for stereo etc. Null indicates end of file reached - - - - - Attempts to read a sample into a float. n.b. only applicable for uncompressed formats - Will normalise the value read into the range -1.0f to 1.0f if it comes from a PCM encoding - - False if the end of the WAV data chunk was reached - - - - WaveStream that passes through an ACM Codec - - - - - Creates a stream that can convert to PCM - - The source stream - A PCM stream - - - - Create a new WaveFormat conversion stream - - Desired output format - Source stream - - - - Converts source bytes to destination bytes - - - - - Converts destination bytes to source bytes - - - - - Returns the stream length - - - - - Gets or sets the current position in the stream - - - - - Gets the WaveFormat of this stream - - - - - Reads bytes from this stream - - Buffer to read into - Offset in buffer to read into - Number of bytes to read - Number of bytes read - - - - Disposes this stream - - true if the user called this - - - - A buffer of Wave samples - - - - - creates a new wavebuffer - - WaveIn device to write to - Buffer size in bytes - - - - Place this buffer back to record more audio - - - - - Finalizer for this wave buffer - - - - - Releases resources held by this WaveBuffer - - - - - Releases resources held by this WaveBuffer - - - - - Provides access to the actual record buffer (for reading only) - - - - - Indicates whether the Done flag is set on this buffer - - - - - Indicates whether the InQueue flag is set on this buffer - - - - - Number of bytes recorded - - - - - The buffer size in bytes - - - - - WaveStream that can mix together multiple 32 bit input streams - (Normally used with stereo input channels) - All channels must have the same number of inputs - - - - - Creates a new 32 bit WaveMixerStream - - - - - Creates a new 32 bit WaveMixerStream - - An Array of WaveStreams - must all have the same format. - Use WaveChannel is designed for this purpose. - Automatically stop when all inputs have been read - Thrown if the input streams are not 32 bit floating point, - or if they have different formats to each other - - - - Add a new input to the mixer - - The wave input to add - - - - Remove a WaveStream from the mixer - - waveStream to remove - - - - The number of inputs to this mixer - - - - - Automatically stop when all inputs have been read - - - - - Reads bytes from this wave stream - - buffer to read into - offset into buffer - number of bytes required - Number of bytes read. - Thrown if an invalid number of bytes requested - - - - Actually performs the mixing - - - - - - - - - - Length of this Wave Stream (in bytes) - - - - - - Position within this Wave Stream (in bytes) - - - - - - - - - - - Disposes this WaveStream - - - - - Simply shifts the input stream in time, optionally - clipping its start and end. - (n.b. may include looping in the future) - - - - - Creates a new WaveOffsetStream - - the source stream - the time at which we should start reading from the source stream - amount to trim off the front of the source stream - length of time to play from source stream - - - - Creates a WaveOffsetStream with default settings (no offset or pre-delay, - and whole length of source stream) - - The source stream - - - - The length of time before which no audio will be played - - - - - An offset into the source stream from which to start playing - - - - - Length of time to read from the source stream - - - - - Gets the block alignment for this WaveStream - - - - - Returns the stream length - - - - - Gets or sets the current position in the stream - - - - - Reads bytes from this wave stream - - The destination buffer - Offset into the destination buffer - Number of bytes read - Number of bytes read. - - - - - - - - - Determines whether this channel has any data to play - to allow optimisation to not read, but bump position forward - - - - - Disposes this WaveStream - - - - - A buffer of Wave samples for streaming to a Wave Output device - - - - - creates a new wavebuffer - - WaveOut device to write to - Buffer size in bytes - Stream to provide more data - Lock to protect WaveOut API's from being called on >1 thread - - - - Finalizer for this wave buffer - - - - - Releases resources held by this WaveBuffer - - - - - Releases resources held by this WaveBuffer - - - - this is called by the WAVE callback and should be used to refill the buffer - - - - Whether the header's in queue flag is set - - - - - The buffer size in bytes - - - - - Base class for all WaveStream classes. Derives from stream. - - - - - Retrieves the WaveFormat for this stream - - - - - We can read from this stream - - - - - We can seek within this stream - - - - - We can't write to this stream - - - - - Flush does not need to do anything - See - - - - - An alternative way of repositioning. - See - - - - - Sets the length of the WaveStream. Not Supported. - - - - - - Writes to the WaveStream. Not Supported. - - - - - The block alignment for this wavestream. Do not modify the Position - to anything that is not a whole multiple of this value - - - - - Moves forward or backwards the specified number of seconds in the stream - - Number of seconds to move, can be negative - - - - The current position in the stream in Time format - - - - - Total length in real-time of the stream (may be an estimate for compressed files) - - - - - Whether the WaveStream has non-zero sample data at the current position for the - specified count - - Number of bytes to read - - - - Soundfont generator - - - - - Gets the generator type - - - - - Generator amount as an unsigned short - - - - - Generator amount as a signed short - - - - - Low byte amount - - - - - High byte amount - - - - - Instrument - - - - - Sample Header - - - - - - - - - - Generator types - - - - Start address offset - - - End address offset - - - Start loop address offset - - - End loop address offset - - - Start address coarse offset - - - Modulation LFO to pitch - - - Vibrato LFO to pitch - - - Modulation envelope to pitch - - - Initial filter cutoff frequency - - - Initial filter Q - - - Modulation LFO to filter Cutoff frequency - - - Modulation envelope to filter cutoff frequency - - - End address coarse offset - - - Modulation LFO to volume - - - Unused - - - Chorus effects send - - - Reverb effects send - - - Pan - - - Unused - - - Unused - - - Unused - - - Delay modulation LFO - - - Frequency modulation LFO - - - Delay vibrato LFO - - - Frequency vibrato LFO - - - Delay modulation envelope - - - Attack modulation envelope - - - Hold modulation envelope - - - Decay modulation envelope - - - Sustain modulation envelop - - - Release modulation envelope - - - Key number to modulation envelope hold - - - Key number to modulation envelope decay - - - Delay volume envelope - - - Attack volume envelope - - - Hold volume envelope - - - Decay volume envelope - - - Sustain volume envelope - - - Release volume envelope - - - Key number to volume envelope hold - - - Key number to volume envelope decay - - - Instrument - - - Reserved - - - Key range - - - Velocity range - - - Start loop address coarse offset - - - Key number - - - Velocity - - - Initial attenuation - - - Reserved - - - End loop address coarse offset - - - Coarse tune - - - Fine tune - - - Sample ID - - - Sample modes - - - Reserved - - - Scale tuning - - - Exclusive class - - - Overriding root key - - - Unused - - - Unused - - - - A soundfont info chunk - - - - - SoundFont Version - - - - - WaveTable sound engine - - - - - Bank name - - - - - Data ROM - - - - - Creation Date - - - - - Author - - - - - Target Product - - - - - Copyright - - - - - Comments - - - - - Tools - - - - - ROM Version - - - - - - - - - - SoundFont instrument - - - - - instrument name - - - - - Zones - - - - - - - - - - Instrument Builder - - - - - Transform Types - - - - - Linear - - - - - Modulator - - - - - Source Modulation data type - - - - - Destination generator type - - - - - Amount - - - - - Source Modulation Amount Type - - - - - Source Transform Type - - - - - - - - - - Controller Sources - - - - - No Controller - - - - - Note On Velocity - - - - - Note On Key Number - - - - - Poly Pressure - - - - - Channel Pressure - - - - - Pitch Wheel - - - - - Pitch Wheel Sensitivity - - - - - Source Types - - - - - Linear - - - - - Concave - - - - - Convex - - - - - Switch - - - - - Modulator Type - - - - - - - - - - - A SoundFont Preset - - - - - Preset name - - - - - Patch Number - - - - - Bank number - - - - - Zones - - - - - - - - - - Class to read the SoundFont file presets chunk - - - - - The Presets contained in this chunk - - - - - The instruments contained in this chunk - - - - - The sample headers contained in this chunk - - - - - - - - - - just reads a chunk ID at the current position - - chunk ID - - - - reads a chunk at the current position - - - - - creates a new riffchunk from current position checking that we're not - at the end of this chunk first - - the new chunk - - - - useful for chunks that just contain a string - - chunk as string - - - - A SoundFont Sample Header - - - - - The sample name - - - - - Start offset - - - - - End offset - - - - - Start loop point - - - - - End loop point - - - - - Sample Rate - - - - - Original pitch - - - - - Pitch correction - - - - - Sample Link - - - - - SoundFont Sample Link Type - - - - - - - - - - SoundFont sample modes - - - - - No loop - - - - - Loop Continuously - - - - - Reserved no loop - - - - - Loop and continue - - - - - Sample Link Type - - - - - Mono Sample - - - - - Right Sample - - - - - Left Sample - - - - - Linked Sample - - - - - ROM Mono Sample - - - - - ROM Right Sample - - - - - ROM Left Sample - - - - - ROM Linked Sample - - - - - SoundFont Version Structure - - - - - Major Version - - - - - Minor Version - - - - - Builds a SoundFont version - - - - - Reads a SoundFont Version structure - - - - - Writes a SoundFont Version structure - - - - - Gets the length of this structure - - - - - Represents a SoundFont - - - - - Loads a SoundFont from a file - - Filename of the SoundFont - - - - Loads a SoundFont from a stream - - stream - - - - The File Info Chunk - - - - - The Presets - - - - - The Instruments - - - - - The Sample Headers - - - - - The Sample Data - - - - - - - - - - base class for structures that can read themselves - - - - - A SoundFont zone - - - - - - - - - - Modulators for this Zone - - - - - Generators for this Zone - - - - - Summary description for Fader. - - - - - Required designer variable. - - - - - Creates a new Fader control - - - - - Clean up any resources being used. - - - - - - - - - - - - - - - - - - - - - - - - - Minimum value of this fader - - - - - Maximum value of this fader - - - - - Current value of this fader - - - - - Fader orientation - - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Pan slider control - - - - - Required designer variable. - - - - - True when pan value changed - - - - - Creates a new PanSlider control - - - - - Clean up any resources being used. - - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - - - - - - - - - - - - - - - - - The current Pan setting - - - - - Control that represents a potentiometer - - - - - Value changed event - - - - - Creates a new pot control - - - - - Minimum Value of the Pot - - - - - Maximum Value of the Pot - - - - - The current value of the pot - - - - - Draws the control - - - - - Handles the mouse down event to allow changing value by dragging - - - - - Handles the mouse up event to allow changing value by dragging - - - - - Handles the mouse down event to allow changing value by dragging - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Implements a rudimentary volume meter - - - - - Basic volume meter - - - - - On Fore Color Changed - - - - - Current Value - - - - - Minimum decibels - - - - - Maximum decibels - - - - - Meter orientation - - - - - Paints the volume meter - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - VolumeSlider control - - - - - Required designer variable. - - - - - Volume changed event - - - - - Creates a new VolumeSlider control - - - - - Clean up any resources being used. - - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - - - - - - - - - - - - - - - - The volume for this control - - - - - Windows Forms control for painting audio waveforms - - - - - Constructs a new instance of the WaveFormPainter class - - - - - On Resize - - - - - On ForeColor Changed - - - - - - Add Max Value - - - - - - On Paint - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Control for viewing waveforms - - - - - Required designer variable. - - - - - Creates a new WaveViewer control - - - - - sets the associated wavestream - - - - - The zoom level, in samples per pixel - - - - - Start position (currently in bytes) - - - - - Clean up any resources being used. - - - - - - - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - Audio Subtype GUIDs - http://msdn.microsoft.com/en-us/library/windows/desktop/aa372553%28v=vs.85%29.aspx - - - - - Advanced Audio Coding (AAC). - - - - - Not used - - - - - Dolby AC-3 audio over Sony/Philips Digital Interface (S/PDIF). - - - - - Encrypted audio data used with secure audio path. - - - - - Digital Theater Systems (DTS) audio. - - - - - Uncompressed IEEE floating-point audio. - - - - - MPEG Audio Layer-3 (MP3). - - - - - MPEG-1 audio payload. - - - - - Windows Media Audio 9 Voice codec. - - - - - Uncompressed PCM audio. - - - - - Windows Media Audio 9 Professional codec over S/PDIF. - - - - - Windows Media Audio 9 Lossless codec or Windows Media Audio 9.1 codec. - - - - - Windows Media Audio 8 codec, Windows Media Audio 9 codec, or Windows Media Audio 9.1 codec. - - - - - Windows Media Audio 9 Professional codec or Windows Media Audio 9.1 Professional codec. - - - - - Dolby Digital (AC-3). - - - - - MPEG-4 and AAC Audio Types - http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx - Reference : wmcodecdsp.h - - - - - Dolby Audio Types - http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx - Reference : wmcodecdsp.h - - - - - Dolby Audio Types - http://msdn.microsoft.com/en-us/library/windows/desktop/dd317599(v=vs.85).aspx - Reference : wmcodecdsp.h - - - - - μ-law coding - http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx - Reference : Ksmedia.h - - - - - Adaptive delta pulse code modulation (ADPCM) - http://msdn.microsoft.com/en-us/library/windows/desktop/dd390971(v=vs.85).aspx - Reference : Ksmedia.h - - - - - Dolby Digital Plus formatted for HDMI output. - http://msdn.microsoft.com/en-us/library/windows/hardware/ff538392(v=vs.85).aspx - Reference : internet - - - - - MSAudio1 - unknown meaning - Reference : wmcodecdsp.h - - - - - IMA ADPCM ACM Wrapper - - - - - WMSP2 - unknown meaning - Reference: wmsdkidl.h - - - - - IMFActivate, defined in mfobjects.h - - - - - Retrieves the value associated with a key. - - - - - Retrieves the data type of the value associated with a key. - - - - - Queries whether a stored attribute value equals a specified PROPVARIANT. - - - - - Compares the attributes on this object with the attributes on another object. - - - - - Retrieves a UINT32 value associated with a key. - - - - - Retrieves a UINT64 value associated with a key. - - - - - Retrieves a double value associated with a key. - - - - - Retrieves a GUID value associated with a key. - - - - - Retrieves the length of a string value associated with a key. - - - - - Retrieves a wide-character string associated with a key. - - - - - Retrieves a wide-character string associated with a key. This method allocates the memory for the string. - - - - - Retrieves the length of a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. This method allocates the memory for the array. - - - - - Retrieves an interface pointer associated with a key. - - - - - Associates an attribute value with a key. - - - - - Removes a key/value pair from the object's attribute list. - - - - - Removes all key/value pairs from the object's attribute list. - - - - - Associates a UINT32 value with a key. - - - - - Associates a UINT64 value with a key. - - - - - Associates a double value with a key. - - - - - Associates a GUID value with a key. - - - - - Associates a wide-character string with a key. - - - - - Associates a byte array with a key. - - - - - Associates an IUnknown pointer with a key. - - - - - Locks the attribute store so that no other thread can access it. - - - - - Unlocks the attribute store. - - - - - Retrieves the number of attributes that are set on this object. - - - - - Retrieves an attribute at the specified index. - - - - - Copies all of the attributes from this object into another attribute store. - - - - - Creates the object associated with this activation object. - - - - - Shuts down the created object. - - - - - Detaches the created object from the activation object. - - - - - Provides a generic way to store key/value pairs on an object. - http://msdn.microsoft.com/en-gb/library/windows/desktop/ms704598%28v=vs.85%29.aspx - - - - - Retrieves the value associated with a key. - - - - - Retrieves the data type of the value associated with a key. - - - - - Queries whether a stored attribute value equals a specified PROPVARIANT. - - - - - Compares the attributes on this object with the attributes on another object. - - - - - Retrieves a UINT32 value associated with a key. - - - - - Retrieves a UINT64 value associated with a key. - - - - - Retrieves a double value associated with a key. - - - - - Retrieves a GUID value associated with a key. - - - - - Retrieves the length of a string value associated with a key. - - - - - Retrieves a wide-character string associated with a key. - - - - - Retrieves a wide-character string associated with a key. This method allocates the memory for the string. - - - - - Retrieves the length of a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. This method allocates the memory for the array. - - - - - Retrieves an interface pointer associated with a key. - - - - - Associates an attribute value with a key. - - - - - Removes a key/value pair from the object's attribute list. - - - - - Removes all key/value pairs from the object's attribute list. - - - - - Associates a UINT32 value with a key. - - - - - Associates a UINT64 value with a key. - - - - - Associates a double value with a key. - - - - - Associates a GUID value with a key. - - - - - Associates a wide-character string with a key. - - - - - Associates a byte array with a key. - - - - - Associates an IUnknown pointer with a key. - - - - - Locks the attribute store so that no other thread can access it. - - - - - Unlocks the attribute store. - - - - - Retrieves the number of attributes that are set on this object. - - - - - Retrieves an attribute at the specified index. - - - - - Copies all of the attributes from this object into another attribute store. - - - - - IMFByteStream - http://msdn.microsoft.com/en-gb/library/windows/desktop/ms698720%28v=vs.85%29.aspx - - - - - Retrieves the characteristics of the byte stream. - virtual HRESULT STDMETHODCALLTYPE GetCapabilities(/*[out]*/ __RPC__out DWORD *pdwCapabilities) = 0; - - - - - Retrieves the length of the stream. - virtual HRESULT STDMETHODCALLTYPE GetLength(/*[out]*/ __RPC__out QWORD *pqwLength) = 0; - - - - - Sets the length of the stream. - virtual HRESULT STDMETHODCALLTYPE SetLength(/*[in]*/ QWORD qwLength) = 0; - - - - - Retrieves the current read or write position in the stream. - virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(/*[out]*/ __RPC__out QWORD *pqwPosition) = 0; - - - - - Sets the current read or write position. - virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition(/*[in]*/ QWORD qwPosition) = 0; - - - - - Queries whether the current position has reached the end of the stream. - virtual HRESULT STDMETHODCALLTYPE IsEndOfStream(/*[out]*/ __RPC__out BOOL *pfEndOfStream) = 0; - - - - - Reads data from the stream. - virtual HRESULT STDMETHODCALLTYPE Read(/*[size_is][out]*/ __RPC__out_ecount_full(cb) BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbRead) = 0; - - - - - Begins an asynchronous read operation from the stream. - virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginRead(/*[out]*/ _Out_writes_bytes_(cb) BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0; - - - - - Completes an asynchronous read operation. - virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndRead(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_ ULONG *pcbRead) = 0; - - - - - Writes data to the stream. - virtual HRESULT STDMETHODCALLTYPE Write(/*[size_is][in]*/ __RPC__in_ecount_full(cb) const BYTE *pb, /*[in]*/ ULONG cb, /*[out]*/ __RPC__out ULONG *pcbWritten) = 0; - - - - - Begins an asynchronous write operation to the stream. - virtual /*[local]*/ HRESULT STDMETHODCALLTYPE BeginWrite(/*[in]*/ _In_reads_bytes_(cb) const BYTE *pb, /*[in]*/ ULONG cb, /*[in]*/ IMFAsyncCallback *pCallback, /*[in]*/ IUnknown *punkState) = 0; - - - - - Completes an asynchronous write operation. - virtual /*[local]*/ HRESULT STDMETHODCALLTYPE EndWrite(/*[in]*/ IMFAsyncResult *pResult, /*[out]*/ _Out_ ULONG *pcbWritten) = 0; - - - - - Moves the current position in the stream by a specified offset. - virtual HRESULT STDMETHODCALLTYPE Seek(/*[in]*/ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, /*[in]*/ LONGLONG llSeekOffset, /*[in]*/ DWORD dwSeekFlags, /*[out]*/ __RPC__out QWORD *pqwCurrentPosition) = 0; - - - - - Clears any internal buffers used by the stream. - virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0; - - - - - Closes the stream and releases any resources associated with the stream. - virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; - - - - - Represents a generic collection of IUnknown pointers. - - - - - Retrieves the number of objects in the collection. - - - - - Retrieves an object in the collection. - - - - - Adds an object to the collection. - - - - - Removes an object from the collection. - - - - - Removes an object from the collection. - - - - - Removes all items from the collection. - - - - - IMFMediaBuffer - http://msdn.microsoft.com/en-gb/library/windows/desktop/ms696261%28v=vs.85%29.aspx - - - - - Gives the caller access to the memory in the buffer. - - - - - Unlocks a buffer that was previously locked. - - - - - Retrieves the length of the valid data in the buffer. - - - - - Sets the length of the valid data in the buffer. - - - - - Retrieves the allocated size of the buffer. - - - - - IMFMediaEvent - Represents an event generated by a Media Foundation object. Use this interface to get information about the event. - http://msdn.microsoft.com/en-us/library/windows/desktop/ms702249%28v=vs.85%29.aspx - Mfobjects.h - - - - - Retrieves the value associated with a key. - - - - - Retrieves the data type of the value associated with a key. - - - - - Queries whether a stored attribute value equals a specified PROPVARIANT. - - - - - Compares the attributes on this object with the attributes on another object. - - - - - Retrieves a UINT32 value associated with a key. - - - - - Retrieves a UINT64 value associated with a key. - - - - - Retrieves a double value associated with a key. - - - - - Retrieves a GUID value associated with a key. - - - - - Retrieves the length of a string value associated with a key. - - - - - Retrieves a wide-character string associated with a key. - - - - - Retrieves a wide-character string associated with a key. This method allocates the memory for the string. - - - - - Retrieves the length of a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. This method allocates the memory for the array. - - - - - Retrieves an interface pointer associated with a key. - - - - - Associates an attribute value with a key. - - - - - Removes a key/value pair from the object's attribute list. - - - - - Removes all key/value pairs from the object's attribute list. - - - - - Associates a UINT32 value with a key. - - - - - Associates a UINT64 value with a key. - - - - - Associates a double value with a key. - - - - - Associates a GUID value with a key. - - - - - Associates a wide-character string with a key. - - - - - Associates a byte array with a key. - - - - - Associates an IUnknown pointer with a key. - - - - - Locks the attribute store so that no other thread can access it. - - - - - Unlocks the attribute store. - - - - - Retrieves the number of attributes that are set on this object. - - - - - Retrieves an attribute at the specified index. - - - - - Copies all of the attributes from this object into another attribute store. - - - - - Retrieves the event type. - - - virtual HRESULT STDMETHODCALLTYPE GetType( - /* [out] */ __RPC__out MediaEventType *pmet) = 0; - - - - - Retrieves the extended type of the event. - - - virtual HRESULT STDMETHODCALLTYPE GetExtendedType( - /* [out] */ __RPC__out GUID *pguidExtendedType) = 0; - - - - - Retrieves an HRESULT that specifies the event status. - - - virtual HRESULT STDMETHODCALLTYPE GetStatus( - /* [out] */ __RPC__out HRESULT *phrStatus) = 0; - - - - - Retrieves the value associated with the event, if any. - - - virtual HRESULT STDMETHODCALLTYPE GetValue( - /* [out] */ __RPC__out PROPVARIANT *pvValue) = 0; - - - - - Represents a description of a media format. - http://msdn.microsoft.com/en-us/library/windows/desktop/ms704850%28v=vs.85%29.aspx - - - - - Retrieves the value associated with a key. - - - - - Retrieves the data type of the value associated with a key. - - - - - Queries whether a stored attribute value equals a specified PROPVARIANT. - - - - - Compares the attributes on this object with the attributes on another object. - - - - - Retrieves a UINT32 value associated with a key. - - - - - Retrieves a UINT64 value associated with a key. - - - - - Retrieves a double value associated with a key. - - - - - Retrieves a GUID value associated with a key. - - - - - Retrieves the length of a string value associated with a key. - - - - - Retrieves a wide-character string associated with a key. - - - - - Retrieves a wide-character string associated with a key. This method allocates the memory for the string. - - - - - Retrieves the length of a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. This method allocates the memory for the array. - - - - - Retrieves an interface pointer associated with a key. - - - - - Associates an attribute value with a key. - - - - - Removes a key/value pair from the object's attribute list. - - - - - Removes all key/value pairs from the object's attribute list. - - - - - Associates a UINT32 value with a key. - - - - - Associates a UINT64 value with a key. - - - - - Associates a double value with a key. - - - - - Associates a GUID value with a key. - - - - - Associates a wide-character string with a key. - - - - - Associates a byte array with a key. - - - - - Associates an IUnknown pointer with a key. - - - - - Locks the attribute store so that no other thread can access it. - - - - - Unlocks the attribute store. - - - - - Retrieves the number of attributes that are set on this object. - - - - - Retrieves an attribute at the specified index. - - - - - Copies all of the attributes from this object into another attribute store. - - - - - Retrieves the major type of the format. - - - - - Queries whether the media type is a compressed format. - - - - - Compares two media types and determines whether they are identical. - - - - - Retrieves an alternative representation of the media type. - - - - - Frees memory that was allocated by the GetRepresentation method. - - - - - Creates an instance of either the sink writer or the source reader. - - - - - Creates an instance of the sink writer or source reader, given a URL. - - - - - Creates an instance of the sink writer or source reader, given an IUnknown pointer. - - - - - CLSID_MFReadWriteClassFactory - - - - - http://msdn.microsoft.com/en-gb/library/windows/desktop/ms702192%28v=vs.85%29.aspx - - - - - Retrieves the value associated with a key. - - - - - Retrieves the data type of the value associated with a key. - - - - - Queries whether a stored attribute value equals a specified PROPVARIANT. - - - - - Compares the attributes on this object with the attributes on another object. - - - - - Retrieves a UINT32 value associated with a key. - - - - - Retrieves a UINT64 value associated with a key. - - - - - Retrieves a double value associated with a key. - - - - - Retrieves a GUID value associated with a key. - - - - - Retrieves the length of a string value associated with a key. - - - - - Retrieves a wide-character string associated with a key. - - - - - Retrieves a wide-character string associated with a key. This method allocates the memory for the string. - - - - - Retrieves the length of a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. - - - - - Retrieves a byte array associated with a key. This method allocates the memory for the array. - - - - - Retrieves an interface pointer associated with a key. - - - - - Associates an attribute value with a key. - - - - - Removes a key/value pair from the object's attribute list. - - - - - Removes all key/value pairs from the object's attribute list. - - - - - Associates a UINT32 value with a key. - - - - - Associates a UINT64 value with a key. - - - - - Associates a double value with a key. - - - - - Associates a GUID value with a key. - - - - - Associates a wide-character string with a key. - - - - - Associates a byte array with a key. - - - - - Associates an IUnknown pointer with a key. - - - - - Locks the attribute store so that no other thread can access it. - - - - - Unlocks the attribute store. - - - - - Retrieves the number of attributes that are set on this object. - - - - - Retrieves an attribute at the specified index. - - - - - Copies all of the attributes from this object into another attribute store. - - - - - Retrieves flags associated with the sample. - - - - - Sets flags associated with the sample. - - - - - Retrieves the presentation time of the sample. - - - - - Sets the presentation time of the sample. - - - - - Retrieves the duration of the sample. - - - - - Sets the duration of the sample. - - - - - Retrieves the number of buffers in the sample. - - - - - Retrieves a buffer from the sample. - - - - - Converts a sample with multiple buffers into a sample with a single buffer. - - - - - Adds a buffer to the end of the list of buffers in the sample. - - - - - Removes a buffer at a specified index from the sample. - - - - - Removes all buffers from the sample. - - - - - Retrieves the total length of the valid data in all of the buffers in the sample. - - - - - Copies the sample data to a buffer. - - - - - Implemented by the Microsoft Media Foundation sink writer object. - - - - - Adds a stream to the sink writer. - - - - - Sets the input format for a stream on the sink writer. - - - - - Initializes the sink writer for writing. - - - - - Delivers a sample to the sink writer. - - - - - Indicates a gap in an input stream. - - - - - Places a marker in the specified stream. - - - - - Notifies the media sink that a stream has reached the end of a segment. - - - - - Flushes one or more streams. - - - - - (Finalize) Completes all writing operations on the sink writer. - - - - - Queries the underlying media sink or encoder for an interface. - - - - - Gets statistics about the performance of the sink writer. - - - - - IMFSourceReader interface - http://msdn.microsoft.com/en-us/library/windows/desktop/dd374655%28v=vs.85%29.aspx - - - - - Queries whether a stream is selected. - - - - - Selects or deselects one or more streams. - - - - - Gets a format that is supported natively by the media source. - - - - - Gets the current media type for a stream. - - - - - Sets the media type for a stream. - - - - - Seeks to a new position in the media source. - - - - - Reads the next sample from the media source. - - - - - Flushes one or more streams. - - - - - Queries the underlying media source or decoder for an interface. - - - - - Gets an attribute from the underlying media source. - - - - - Contains flags that indicate the status of the IMFSourceReader::ReadSample method - http://msdn.microsoft.com/en-us/library/windows/desktop/dd375773(v=vs.85).aspx - - - - - No Error - - - - - An error occurred. If you receive this flag, do not make any further calls to IMFSourceReader methods. - - - - - The source reader reached the end of the stream. - - - - - One or more new streams were created - - - - - The native format has changed for one or more streams. The native format is the format delivered by the media source before any decoders are inserted. - - - - - The current media has type changed for one or more streams. To get the current media type, call the IMFSourceReader::GetCurrentMediaType method. - - - - - There is a gap in the stream. This flag corresponds to an MEStreamTick event from the media source. - - - - - All transforms inserted by the application have been removed for a particular stream. - - - - - IMFTransform, defined in mftransform.h - - - - - Retrieves the minimum and maximum number of input and output streams. - - - virtual HRESULT STDMETHODCALLTYPE GetStreamLimits( - /* [out] */ __RPC__out DWORD *pdwInputMinimum, - /* [out] */ __RPC__out DWORD *pdwInputMaximum, - /* [out] */ __RPC__out DWORD *pdwOutputMinimum, - /* [out] */ __RPC__out DWORD *pdwOutputMaximum) = 0; - - - - - Retrieves the current number of input and output streams on this MFT. - - - virtual HRESULT STDMETHODCALLTYPE GetStreamCount( - /* [out] */ __RPC__out DWORD *pcInputStreams, - /* [out] */ __RPC__out DWORD *pcOutputStreams) = 0; - - - - - Retrieves the stream identifiers for the input and output streams on this MFT. - - - virtual HRESULT STDMETHODCALLTYPE GetStreamIDs( - DWORD dwInputIDArraySize, - /* [size_is][out] */ __RPC__out_ecount_full(dwInputIDArraySize) DWORD *pdwInputIDs, - DWORD dwOutputIDArraySize, - /* [size_is][out] */ __RPC__out_ecount_full(dwOutputIDArraySize) DWORD *pdwOutputIDs) = 0; - - - - - Gets the buffer requirements and other information for an input stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo( - DWORD dwInputStreamID, - /* [out] */ __RPC__out MFT_INPUT_STREAM_INFO *pStreamInfo) = 0; - - - - - Gets the buffer requirements and other information for an output stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo( - DWORD dwOutputStreamID, - /* [out] */ __RPC__out MFT_OUTPUT_STREAM_INFO *pStreamInfo) = 0; - - - - - Gets the global attribute store for this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetAttributes( - /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0; - - - - - Retrieves the attribute store for an input stream on this MFT. - - - virtual HRESULT STDMETHODCALLTYPE GetInputStreamAttributes( - DWORD dwInputStreamID, - /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0; - - - - - Retrieves the attribute store for an output stream on this MFT. - - - virtual HRESULT STDMETHODCALLTYPE GetOutputStreamAttributes( - DWORD dwOutputStreamID, - /* [out] */ __RPC__deref_out_opt IMFAttributes **pAttributes) = 0; - - - - - Removes an input stream from this MFT. - - - virtual HRESULT STDMETHODCALLTYPE DeleteInputStream( - DWORD dwStreamID) = 0; - - - - - Adds one or more new input streams to this MFT. - - - virtual HRESULT STDMETHODCALLTYPE AddInputStreams( - DWORD cStreams, - /* [in] */ __RPC__in DWORD *adwStreamIDs) = 0; - - - - - Gets an available media type for an input stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetInputAvailableType( - DWORD dwInputStreamID, - DWORD dwTypeIndex, - /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0; - - - - - Retrieves an available media type for an output stream on this MFT. - - - virtual HRESULT STDMETHODCALLTYPE GetOutputAvailableType( - DWORD dwOutputStreamID, - DWORD dwTypeIndex, - /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0; - - - - - Sets, tests, or clears the media type for an input stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE SetInputType( - DWORD dwInputStreamID, - /* [in] */ __RPC__in_opt IMFMediaType *pType, - DWORD dwFlags) = 0; - - - - - Sets, tests, or clears the media type for an output stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE SetOutputType( - DWORD dwOutputStreamID, - /* [in] */ __RPC__in_opt IMFMediaType *pType, - DWORD dwFlags) = 0; - - - - - Gets the current media type for an input stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType( - DWORD dwInputStreamID, - /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0; - - - - - Gets the current media type for an output stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType( - DWORD dwOutputStreamID, - /* [out] */ __RPC__deref_out_opt IMFMediaType **ppType) = 0; - - - - - Queries whether an input stream on this Media Foundation transform (MFT) can accept more data. - - - virtual HRESULT STDMETHODCALLTYPE GetInputStatus( - DWORD dwInputStreamID, - /* [out] */ __RPC__out DWORD *pdwFlags) = 0; - - - - - Queries whether the Media Foundation transform (MFT) is ready to produce output data. - - - virtual HRESULT STDMETHODCALLTYPE GetOutputStatus( - /* [out] */ __RPC__out DWORD *pdwFlags) = 0; - - - - - Sets the range of time stamps the client needs for output. - - - virtual HRESULT STDMETHODCALLTYPE SetOutputBounds( - LONGLONG hnsLowerBound, - LONGLONG hnsUpperBound) = 0; - - - - - Sends an event to an input stream on this Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE ProcessEvent( - DWORD dwInputStreamID, - /* [in] */ __RPC__in_opt IMFMediaEvent *pEvent) = 0; - - - - - Sends a message to the Media Foundation transform (MFT). - - - virtual HRESULT STDMETHODCALLTYPE ProcessMessage( - MFT_MESSAGE_TYPE eMessage, - ULONG_PTR ulParam) = 0; - - - - - Delivers data to an input stream on this Media Foundation transform (MFT). - - - virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessInput( - DWORD dwInputStreamID, - IMFSample *pSample, - DWORD dwFlags) = 0; - - - - - Generates output from the current input data. - - - virtual /* [local] */ HRESULT STDMETHODCALLTYPE ProcessOutput( - DWORD dwFlags, - DWORD cOutputBufferCount, - /* [size_is][out][in] */ MFT_OUTPUT_DATA_BUFFER *pOutputSamples, - /* [out] */ DWORD *pdwStatus) = 0; - - - - - See mfobjects.h - - - - - Unknown event type. - - - - - Signals a serious error. - - - - - Custom event type. - - - - - A non-fatal error occurred during streaming. - - - - - Session Unknown - - - - - Raised after the IMFMediaSession::SetTopology method completes asynchronously - - - - - Raised by the Media Session when the IMFMediaSession::ClearTopologies method completes asynchronously. - - - - - Raised when the IMFMediaSession::Start method completes asynchronously. - - - - - Raised when the IMFMediaSession::Pause method completes asynchronously. - - - - - Raised when the IMFMediaSession::Stop method completes asynchronously. - - - - - Raised when the IMFMediaSession::Close method completes asynchronously. - - - - - Raised by the Media Session when it has finished playing the last presentation in the playback queue. - - - - - Raised by the Media Session when the playback rate changes. - - - - - Raised by the Media Session when it completes a scrubbing request. - - - - - Raised by the Media Session when the session capabilities change. - - - - - Raised by the Media Session when the status of a topology changes. - - - - - Raised by the Media Session when a new presentation starts. - - - - - Raised by a media source a new presentation is ready. - - - - - License acquisition is about to begin. - - - - - License acquisition is complete. - - - - - Individualization is about to begin. - - - - - Individualization is complete. - - - - - Signals the progress of a content enabler object. - - - - - A content enabler object's action is complete. - - - - - Raised by a trusted output if an error occurs while enforcing the output policy. - - - - - Contains status information about the enforcement of an output policy. - - - - - A media source started to buffer data. - - - - - A media source stopped buffering data. - - - - - The network source started opening a URL. - - - - - The network source finished opening a URL. - - - - - Raised by a media source at the start of a reconnection attempt. - - - - - Raised by a media source at the end of a reconnection attempt. - - - - - Raised by the enhanced video renderer (EVR) when it receives a user event from the presenter. - - - - - Raised by the Media Session when the format changes on a media sink. - - - - - Source Unknown - - - - - Raised when a media source starts without seeking. - - - - - Raised by a media stream when the source starts without seeking. - - - - - Raised when a media source seeks to a new position. - - - - - Raised by a media stream after a call to IMFMediaSource::Start causes a seek in the stream. - - - - - Raised by a media source when it starts a new stream. - - - - - Raised by a media source when it restarts or seeks a stream that is already active. - - - - - Raised by a media source when the IMFMediaSource::Stop method completes asynchronously. - - - - - Raised by a media stream when the IMFMediaSource::Stop method completes asynchronously. - - - - - Raised by a media source when the IMFMediaSource::Pause method completes asynchronously. - - - - - Raised by a media stream when the IMFMediaSource::Pause method completes asynchronously. - - - - - Raised by a media source when a presentation ends. - - - - - Raised by a media stream when the stream ends. - - - - - Raised when a media stream delivers a new sample. - - - - - Signals that a media stream does not have data available at a specified time. - - - - - Raised by a media stream when it starts or stops thinning the stream. - - - - - Raised by a media stream when the media type of the stream changes. - - - - - Raised by a media source when the playback rate changes. - - - - - Raised by the sequencer source when a segment is completed and is followed by another segment. - - - - - Raised by a media source when the source's characteristics change. - - - - - Raised by a media source to request a new playback rate. - - - - - Raised by a media source when it updates its metadata. - - - - - Raised by the sequencer source when the IMFSequencerSource::UpdateTopology method completes asynchronously. - - - - - Sink Unknown - - - - - Raised by a stream sink when it completes the transition to the running state. - - - - - Raised by a stream sink when it completes the transition to the stopped state. - - - - - Raised by a stream sink when it completes the transition to the paused state. - - - - - Raised by a stream sink when the rate has changed. - - - - - Raised by a stream sink to request a new media sample from the pipeline. - - - - - Raised by a stream sink after the IMFStreamSink::PlaceMarker method is called. - - - - - Raised by a stream sink when the stream has received enough preroll data to begin rendering. - - - - - Raised by a stream sink when it completes a scrubbing request. - - - - - Raised by a stream sink when the sink's media type is no longer valid. - - - - - Raised by the stream sinks of the EVR if the video device changes. - - - - - Provides feedback about playback quality to the quality manager. - - - - - Raised when a media sink becomes invalid. - - - - - The audio session display name changed. - - - - - The volume or mute state of the audio session changed - - - - - The audio device was removed. - - - - - The Windows audio server system was shut down. - - - - - The grouping parameters changed for the audio session. - - - - - The audio session icon changed. - - - - - The default audio format for the audio device changed. - - - - - The audio session was disconnected from a Windows Terminal Services session - - - - - The audio session was preempted by an exclusive-mode connection. - - - - - Trust Unknown - - - - - The output policy for a stream changed. - - - - - Content protection message - - - - - The IMFOutputTrustAuthority::SetPolicy method completed. - - - - - DRM License Backup Completed - - - - - DRM License Backup Progress - - - - - DRM License Restore Completed - - - - - DRM License Restore Progress - - - - - DRM License Acquisition Completed - - - - - DRM Individualization Completed - - - - - DRM Individualization Progress - - - - - DRM Proximity Completed - - - - - DRM License Store Cleaned - - - - - DRM Revocation Download Completed - - - - - Transform Unknown - - - - - Sent by an asynchronous MFT to request a new input sample. - - - - - Sent by an asynchronous MFT when new output data is available from the MFT. - - - - - Sent by an asynchronous Media Foundation transform (MFT) when a drain operation is complete. - - - - - Sent by an asynchronous MFT in response to an MFT_MESSAGE_COMMAND_MARKER message. - - - - - Media Foundation attribute guids - http://msdn.microsoft.com/en-us/library/windows/desktop/ms696989%28v=vs.85%29.aspx - - - - - Specifies whether an MFT performs asynchronous processing. - - - - - Enables the use of an asynchronous MFT. - - - - - Contains flags for an MFT activation object. - - - - - Specifies the category for an MFT. - - - - - Contains the class identifier (CLSID) of an MFT. - - - - - Contains the registered input types for a Media Foundation transform (MFT). - - - - - Contains the registered output types for a Media Foundation transform (MFT). - - - - - Contains the symbolic link for a hardware-based MFT. - - - - - Contains the display name for a hardware-based MFT. - - - - - Contains a pointer to the stream attributes of the connected stream on a hardware-based MFT. - - - - - Specifies whether a hardware-based MFT is connected to another hardware-based MFT. - - - - - Specifies the preferred output format for an encoder. - - - - - Specifies whether an MFT is registered only in the application's process. - - - - - Contains configuration properties for an encoder. - - - - - Specifies whether a hardware device source uses the system time for time stamps. - - - - - Contains an IMFFieldOfUseMFTUnlock pointer, which can be used to unlock the MFT. - - - - - Contains the merit value of a hardware codec. - - - - - Specifies whether a decoder is optimized for transcoding rather than for playback. - - - - - Contains a pointer to the proxy object for the application's presentation descriptor. - - - - - Contains a pointer to the presentation descriptor from the protected media path (PMP). - - - - - Specifies the duration of a presentation, in 100-nanosecond units. - - - - - Specifies the total size of the source file, in bytes. - - - - - Specifies the audio encoding bit rate for the presentation, in bits per second. - - - - - Specifies the video encoding bit rate for the presentation, in bits per second. - - - - - Specifies the MIME type of the content. - - - - - Specifies when a presentation was last modified. - - - - - The identifier of the playlist element in the presentation. - - - - - Contains the preferred RFC 1766 language of the media source. - - - - - The time at which the presentation must begin, relative to the start of the media source. - - - - - Specifies whether the audio streams in the presentation have a variable bit rate. - - - - - Media type Major Type - - - - - Media Type subtype - - - - - Audio block alignment - - - - - Audio average bytes per second - - - - - Audio number of channels - - - - - Audio samples per second - - - - - Audio bits per sample - - - - - Enables the source reader or sink writer to use hardware-based Media Foundation transforms (MFTs). - - - - - Contains additional format data for a media type. - - - - - Specifies for a media type whether each sample is independent of the other samples in the stream. - - - - - Specifies for a media type whether the samples have a fixed size. - - - - - Contains a DirectShow format GUID for a media type. - - - - - Specifies the preferred legacy format structure to use when converting an audio media type. - - - - - Specifies for a media type whether the media data is compressed. - - - - - Approximate data rate of the video stream, in bits per second, for a video media type. - - - - - Specifies the payload type of an Advanced Audio Coding (AAC) stream. - 0 - The stream contains raw_data_block elements only - 1 - Audio Data Transport Stream (ADTS). The stream contains an adts_sequence, as defined by MPEG-2. - 2 - Audio Data Interchange Format (ADIF). The stream contains an adif_sequence, as defined by MPEG-2. - 3 - The stream contains an MPEG-4 audio transport stream with a synchronization layer (LOAS) and a multiplex layer (LATM). - - - - - Specifies the audio profile and level of an Advanced Audio Coding (AAC) stream, as defined by ISO/IEC 14496-3. - - - - - Media Foundation Errors - - - - RANGES - 14000 - 14999 = General Media Foundation errors - 15000 - 15999 = ASF parsing errors - 16000 - 16999 = Media Source errors - 17000 - 17999 = MEDIAFOUNDATION Network Error Events - 18000 - 18999 = MEDIAFOUNDATION WMContainer Error Events - 19000 - 19999 = MEDIAFOUNDATION Media Sink Error Events - 20000 - 20999 = Renderer errors - 21000 - 21999 = Topology Errors - 25000 - 25999 = Timeline Errors - 26000 - 26999 = Unused - 28000 - 28999 = Transform errors - 29000 - 29999 = Content Protection errors - 40000 - 40999 = Clock errors - 41000 - 41999 = MF Quality Management Errors - 42000 - 42999 = MF Transcode API Errors - - - - - MessageId: MF_E_PLATFORM_NOT_INITIALIZED - - MessageText: - - Platform not initialized. Please call MFStartup().%0 - - - - - MessageId: MF_E_BUFFERTOOSMALL - - MessageText: - - The buffer was too small to carry out the requested action.%0 - - - - - MessageId: MF_E_INVALIDREQUEST - - MessageText: - - The request is invalid in the current state.%0 - - - - - MessageId: MF_E_INVALIDSTREAMNUMBER - - MessageText: - - The stream number provided was invalid.%0 - - - - - MessageId: MF_E_INVALIDMEDIATYPE - - MessageText: - - The data specified for the media type is invalid, inconsistent, or not supported by this object.%0 - - - - - MessageId: MF_E_NOTACCEPTING - - MessageText: - - The callee is currently not accepting further input.%0 - - - - - MessageId: MF_E_NOT_INITIALIZED - - MessageText: - - This object needs to be initialized before the requested operation can be carried out.%0 - - - - - MessageId: MF_E_UNSUPPORTED_REPRESENTATION - - MessageText: - - The requested representation is not supported by this object.%0 - - - - - MessageId: MF_E_NO_MORE_TYPES - - MessageText: - - An object ran out of media types to suggest therefore the requested chain of streaming objects cannot be completed.%0 - - - - - MessageId: MF_E_UNSUPPORTED_SERVICE - - MessageText: - - The object does not support the specified service.%0 - - - - - MessageId: MF_E_UNEXPECTED - - MessageText: - - An unexpected error has occurred in the operation requested.%0 - - - - - MessageId: MF_E_INVALIDNAME - - MessageText: - - Invalid name.%0 - - - - - MessageId: MF_E_INVALIDTYPE - - MessageText: - - Invalid type.%0 - - - - - MessageId: MF_E_INVALID_FILE_FORMAT - - MessageText: - - The file does not conform to the relevant file format specification. - - - - - MessageId: MF_E_INVALIDINDEX - - MessageText: - - Invalid index.%0 - - - - - MessageId: MF_E_INVALID_TIMESTAMP - - MessageText: - - An invalid timestamp was given.%0 - - - - - MessageId: MF_E_UNSUPPORTED_SCHEME - - MessageText: - - The scheme of the given URL is unsupported.%0 - - - - - MessageId: MF_E_UNSUPPORTED_BYTESTREAM_TYPE - - MessageText: - - The byte stream type of the given URL is unsupported.%0 - - - - - MessageId: MF_E_UNSUPPORTED_TIME_FORMAT - - MessageText: - - The given time format is unsupported.%0 - - - - - MessageId: MF_E_NO_SAMPLE_TIMESTAMP - - MessageText: - - The Media Sample does not have a timestamp.%0 - - - - - MessageId: MF_E_NO_SAMPLE_DURATION - - MessageText: - - The Media Sample does not have a duration.%0 - - - - - MessageId: MF_E_INVALID_STREAM_DATA - - MessageText: - - The request failed because the data in the stream is corrupt.%0\n. - - - - - MessageId: MF_E_RT_UNAVAILABLE - - MessageText: - - Real time services are not available.%0 - - - - - MessageId: MF_E_UNSUPPORTED_RATE - - MessageText: - - The specified rate is not supported.%0 - - - - - MessageId: MF_E_THINNING_UNSUPPORTED - - MessageText: - - This component does not support stream-thinning.%0 - - - - - MessageId: MF_E_REVERSE_UNSUPPORTED - - MessageText: - - The call failed because no reverse playback rates are available.%0 - - - - - MessageId: MF_E_UNSUPPORTED_RATE_TRANSITION - - MessageText: - - The requested rate transition cannot occur in the current state.%0 - - - - - MessageId: MF_E_RATE_CHANGE_PREEMPTED - - MessageText: - - The requested rate change has been pre-empted and will not occur.%0 - - - - - MessageId: MF_E_NOT_FOUND - - MessageText: - - The specified object or value does not exist.%0 - - - - - MessageId: MF_E_NOT_AVAILABLE - - MessageText: - - The requested value is not available.%0 - - - - - MessageId: MF_E_NO_CLOCK - - MessageText: - - The specified operation requires a clock and no clock is available.%0 - - - - - MessageId: MF_S_MULTIPLE_BEGIN - - MessageText: - - This callback and state had already been passed in to this event generator earlier.%0 - - - - - MessageId: MF_E_MULTIPLE_BEGIN - - MessageText: - - This callback has already been passed in to this event generator.%0 - - - - - MessageId: MF_E_MULTIPLE_SUBSCRIBERS - - MessageText: - - Some component is already listening to events on this event generator.%0 - - - - - MessageId: MF_E_TIMER_ORPHANED - - MessageText: - - This timer was orphaned before its callback time arrived.%0 - - - - - MessageId: MF_E_STATE_TRANSITION_PENDING - - MessageText: - - A state transition is already pending.%0 - - - - - MessageId: MF_E_UNSUPPORTED_STATE_TRANSITION - - MessageText: - - The requested state transition is unsupported.%0 - - - - - MessageId: MF_E_UNRECOVERABLE_ERROR_OCCURRED - - MessageText: - - An unrecoverable error has occurred.%0 - - - - - MessageId: MF_E_SAMPLE_HAS_TOO_MANY_BUFFERS - - MessageText: - - The provided sample has too many buffers.%0 - - - - - MessageId: MF_E_SAMPLE_NOT_WRITABLE - - MessageText: - - The provided sample is not writable.%0 - - - - - MessageId: MF_E_INVALID_KEY - - MessageText: - - The specified key is not valid. - - - - - MessageId: MF_E_BAD_STARTUP_VERSION - - MessageText: - - You are calling MFStartup with the wrong MF_VERSION. Mismatched bits? - - - - - MessageId: MF_E_UNSUPPORTED_CAPTION - - MessageText: - - The caption of the given URL is unsupported.%0 - - - - - MessageId: MF_E_INVALID_POSITION - - MessageText: - - The operation on the current offset is not permitted.%0 - - - - - MessageId: MF_E_ATTRIBUTENOTFOUND - - MessageText: - - The requested attribute was not found.%0 - - - - - MessageId: MF_E_PROPERTY_TYPE_NOT_ALLOWED - - MessageText: - - The specified property type is not allowed in this context.%0 - - - - - MessageId: MF_E_PROPERTY_TYPE_NOT_SUPPORTED - - MessageText: - - The specified property type is not supported.%0 - - - - - MessageId: MF_E_PROPERTY_EMPTY - - MessageText: - - The specified property is empty.%0 - - - - - MessageId: MF_E_PROPERTY_NOT_EMPTY - - MessageText: - - The specified property is not empty.%0 - - - - - MessageId: MF_E_PROPERTY_VECTOR_NOT_ALLOWED - - MessageText: - - The vector property specified is not allowed in this context.%0 - - - - - MessageId: MF_E_PROPERTY_VECTOR_REQUIRED - - MessageText: - - A vector property is required in this context.%0 - - - - - MessageId: MF_E_OPERATION_CANCELLED - - MessageText: - - The operation is cancelled.%0 - - - - - MessageId: MF_E_BYTESTREAM_NOT_SEEKABLE - - MessageText: - - The provided bytestream was expected to be seekable and it is not.%0 - - - - - MessageId: MF_E_DISABLED_IN_SAFEMODE - - MessageText: - - The Media Foundation platform is disabled when the system is running in Safe Mode.%0 - - - - - MessageId: MF_E_CANNOT_PARSE_BYTESTREAM - - MessageText: - - The Media Source could not parse the byte stream.%0 - - - - - MessageId: MF_E_SOURCERESOLVER_MUTUALLY_EXCLUSIVE_FLAGS - - MessageText: - - Mutually exclusive flags have been specified to source resolver. This flag combination is invalid.%0 - - - - - MessageId: MF_E_MEDIAPROC_WRONGSTATE - - MessageText: - - MediaProc is in the wrong state%0 - - - - - MessageId: MF_E_RT_THROUGHPUT_NOT_AVAILABLE - - MessageText: - - Real time I/O service can not provide requested throughput.%0 - - - - - MessageId: MF_E_RT_TOO_MANY_CLASSES - - MessageText: - - The workqueue cannot be registered with more classes.%0 - - - - - MessageId: MF_E_RT_WOULDBLOCK - - MessageText: - - This operation cannot succeed because another thread owns this object.%0 - - - - - MessageId: MF_E_NO_BITPUMP - - MessageText: - - Internal. Bitpump not found.%0 - - - - - MessageId: MF_E_RT_OUTOFMEMORY - - MessageText: - - No more RT memory available.%0 - - - - - MessageId: MF_E_RT_WORKQUEUE_CLASS_NOT_SPECIFIED - - MessageText: - - An MMCSS class has not been set for this work queue.%0 - - - - - MessageId: MF_E_INSUFFICIENT_BUFFER - - MessageText: - - Insufficient memory for response.%0 - - - - - MessageId: MF_E_CANNOT_CREATE_SINK - - MessageText: - - Activate failed to create mediasink. Call OutputNode::GetUINT32(MF_TOPONODE_MAJORTYPE) for more information. %0 - - - - - MessageId: MF_E_BYTESTREAM_UNKNOWN_LENGTH - - MessageText: - - The length of the provided bytestream is unknown.%0 - - - - - MessageId: MF_E_SESSION_PAUSEWHILESTOPPED - - MessageText: - - The media session cannot pause from a stopped state.%0 - - - - - MessageId: MF_S_ACTIVATE_REPLACED - - MessageText: - - The activate could not be created in the remote process for some reason it was replaced with empty one.%0 - - - - - MessageId: MF_E_FORMAT_CHANGE_NOT_SUPPORTED - - MessageText: - - The data specified for the media type is supported, but would require a format change, which is not supported by this object.%0 - - - - - MessageId: MF_E_INVALID_WORKQUEUE - - MessageText: - - The operation failed because an invalid combination of workqueue ID and flags was specified.%0 - - - - - MessageId: MF_E_DRM_UNSUPPORTED - - MessageText: - - No DRM support is available.%0 - - - - - MessageId: MF_E_UNAUTHORIZED - - MessageText: - - This operation is not authorized.%0 - - - - - MessageId: MF_E_OUT_OF_RANGE - - MessageText: - - The value is not in the specified or valid range.%0 - - - - - MessageId: MF_E_INVALID_CODEC_MERIT - - MessageText: - - The registered codec merit is not valid.%0 - - - - - MessageId: MF_E_HW_MFT_FAILED_START_STREAMING - - MessageText: - - Hardware MFT failed to start streaming due to lack of hardware resources.%0 - - - - - MessageId: MF_S_ASF_PARSEINPROGRESS - - MessageText: - - Parsing is still in progress and is not yet complete.%0 - - - - - MessageId: MF_E_ASF_PARSINGINCOMPLETE - - MessageText: - - Not enough data have been parsed to carry out the requested action.%0 - - - - - MessageId: MF_E_ASF_MISSINGDATA - - MessageText: - - There is a gap in the ASF data provided.%0 - - - - - MessageId: MF_E_ASF_INVALIDDATA - - MessageText: - - The data provided are not valid ASF.%0 - - - - - MessageId: MF_E_ASF_OPAQUEPACKET - - MessageText: - - The packet is opaque, so the requested information cannot be returned.%0 - - - - - MessageId: MF_E_ASF_NOINDEX - - MessageText: - - The requested operation failed since there is no appropriate ASF index.%0 - - - - - MessageId: MF_E_ASF_OUTOFRANGE - - MessageText: - - The value supplied is out of range for this operation.%0 - - - - - MessageId: MF_E_ASF_INDEXNOTLOADED - - MessageText: - - The index entry requested needs to be loaded before it can be available.%0 - - - - - MessageId: MF_E_ASF_TOO_MANY_PAYLOADS - - MessageText: - - The packet has reached the maximum number of payloads.%0 - - - - - MessageId: MF_E_ASF_UNSUPPORTED_STREAM_TYPE - - MessageText: - - Stream type is not supported.%0 - - - - - MessageId: MF_E_ASF_DROPPED_PACKET - - MessageText: - - One or more ASF packets were dropped.%0 - - - - - MessageId: MF_E_NO_EVENTS_AVAILABLE - - MessageText: - - There are no events available in the queue.%0 - - - - - MessageId: MF_E_INVALID_STATE_TRANSITION - - MessageText: - - A media source cannot go from the stopped state to the paused state.%0 - - - - - MessageId: MF_E_END_OF_STREAM - - MessageText: - - The media stream cannot process any more samples because there are no more samples in the stream.%0 - - - - - MessageId: MF_E_SHUTDOWN - - MessageText: - - The request is invalid because Shutdown() has been called.%0 - - - - - MessageId: MF_E_MP3_NOTFOUND - - MessageText: - - The MP3 object was not found.%0 - - - - - MessageId: MF_E_MP3_OUTOFDATA - - MessageText: - - The MP3 parser ran out of data before finding the MP3 object.%0 - - - - - MessageId: MF_E_MP3_NOTMP3 - - MessageText: - - The file is not really a MP3 file.%0 - - - - - MessageId: MF_E_MP3_NOTSUPPORTED - - MessageText: - - The MP3 file is not supported.%0 - - - - - MessageId: MF_E_NO_DURATION - - MessageText: - - The Media stream has no duration.%0 - - - - - MessageId: MF_E_INVALID_FORMAT - - MessageText: - - The Media format is recognized but is invalid.%0 - - - - - MessageId: MF_E_PROPERTY_NOT_FOUND - - MessageText: - - The property requested was not found.%0 - - - - - MessageId: MF_E_PROPERTY_READ_ONLY - - MessageText: - - The property is read only.%0 - - - - - MessageId: MF_E_PROPERTY_NOT_ALLOWED - - MessageText: - - The specified property is not allowed in this context.%0 - - - - - MessageId: MF_E_MEDIA_SOURCE_NOT_STARTED - - MessageText: - - The media source is not started.%0 - - - - - MessageId: MF_E_UNSUPPORTED_FORMAT - - MessageText: - - The Media format is recognized but not supported.%0 - - - - - MessageId: MF_E_MP3_BAD_CRC - - MessageText: - - The MPEG frame has bad CRC.%0 - - - - - MessageId: MF_E_NOT_PROTECTED - - MessageText: - - The file is not protected.%0 - - - - - MessageId: MF_E_MEDIA_SOURCE_WRONGSTATE - - MessageText: - - The media source is in the wrong state%0 - - - - - MessageId: MF_E_MEDIA_SOURCE_NO_STREAMS_SELECTED - - MessageText: - - No streams are selected in source presentation descriptor.%0 - - - - - MessageId: MF_E_CANNOT_FIND_KEYFRAME_SAMPLE - - MessageText: - - No key frame sample was found.%0 - - - - - MessageId: MF_E_NETWORK_RESOURCE_FAILURE - - MessageText: - - An attempt to acquire a network resource failed.%0 - - - - - MessageId: MF_E_NET_WRITE - - MessageText: - - Error writing to the network.%0 - - - - - MessageId: MF_E_NET_READ - - MessageText: - - Error reading from the network.%0 - - - - - MessageId: MF_E_NET_REQUIRE_NETWORK - - MessageText: - - Internal. Entry cannot complete operation without network.%0 - - - - - MessageId: MF_E_NET_REQUIRE_ASYNC - - MessageText: - - Internal. Async op is required.%0 - - - - - MessageId: MF_E_NET_BWLEVEL_NOT_SUPPORTED - - MessageText: - - Internal. Bandwidth levels are not supported.%0 - - - - - MessageId: MF_E_NET_STREAMGROUPS_NOT_SUPPORTED - - MessageText: - - Internal. Stream groups are not supported.%0 - - - - - MessageId: MF_E_NET_MANUALSS_NOT_SUPPORTED - - MessageText: - - Manual stream selection is not supported.%0 - - - - - MessageId: MF_E_NET_INVALID_PRESENTATION_DESCRIPTOR - - MessageText: - - Invalid presentation descriptor.%0 - - - - - MessageId: MF_E_NET_CACHESTREAM_NOT_FOUND - - MessageText: - - Cannot find cache stream.%0 - - - - - MessageId: MF_I_MANUAL_PROXY - - MessageText: - - The proxy setting is manual.%0 - - - - duplicate removed - MessageId=17011 Severity=Informational Facility=MEDIAFOUNDATION SymbolicName=MF_E_INVALID_REQUEST - Language=English - The request is invalid in the current state.%0 - . - - MessageId: MF_E_NET_REQUIRE_INPUT - - MessageText: - - Internal. Entry cannot complete operation without input.%0 - - - - - MessageId: MF_E_NET_REDIRECT - - MessageText: - - The client redirected to another server.%0 - - - - - MessageId: MF_E_NET_REDIRECT_TO_PROXY - - MessageText: - - The client is redirected to a proxy server.%0 - - - - - MessageId: MF_E_NET_TOO_MANY_REDIRECTS - - MessageText: - - The client reached maximum redirection limit.%0 - - - - - MessageId: MF_E_NET_TIMEOUT - - MessageText: - - The server, a computer set up to offer multimedia content to other computers, could not handle your request for multimedia content in a timely manner. Please try again later.%0 - - - - - MessageId: MF_E_NET_CLIENT_CLOSE - - MessageText: - - The control socket is closed by the client.%0 - - - - - MessageId: MF_E_NET_BAD_CONTROL_DATA - - MessageText: - - The server received invalid data from the client on the control connection.%0 - - - - - MessageId: MF_E_NET_INCOMPATIBLE_SERVER - - MessageText: - - The server is not a compatible streaming media server.%0 - - - - - MessageId: MF_E_NET_UNSAFE_URL - - MessageText: - - Url.%0 - - - - - MessageId: MF_E_NET_CACHE_NO_DATA - - MessageText: - - Data is not available.%0 - - - - - MessageId: MF_E_NET_EOL - - MessageText: - - End of line.%0 - - - - - MessageId: MF_E_NET_BAD_REQUEST - - MessageText: - - The request could not be understood by the server.%0 - - - - - MessageId: MF_E_NET_INTERNAL_SERVER_ERROR - - MessageText: - - The server encountered an unexpected condition which prevented it from fulfilling the request.%0 - - - - - MessageId: MF_E_NET_SESSION_NOT_FOUND - - MessageText: - - Session not found.%0 - - - - - MessageId: MF_E_NET_NOCONNECTION - - MessageText: - - There is no connection established with the Windows Media server. The operation failed.%0 - - - - - MessageId: MF_E_NET_CONNECTION_FAILURE - - MessageText: - - The network connection has failed.%0 - - - - - MessageId: MF_E_NET_INCOMPATIBLE_PUSHSERVER - - MessageText: - - The Server service that received the HTTP push request is not a compatible version of Windows Media Services (WMS). This error may indicate the push request was received by IIS instead of WMS. Ensure WMS is started and has the HTTP Server control protocol properly enabled and try again.%0 - - - - - MessageId: MF_E_NET_SERVER_ACCESSDENIED - - MessageText: - - The Windows Media server is denying access. The username and/or password might be incorrect.%0 - - - - - MessageId: MF_E_NET_PROXY_ACCESSDENIED - - MessageText: - - The proxy server is denying access. The username and/or password might be incorrect.%0 - - - - - MessageId: MF_E_NET_CANNOTCONNECT - - MessageText: - - Unable to establish a connection to the server.%0 - - - - - MessageId: MF_E_NET_INVALID_PUSH_TEMPLATE - - MessageText: - - The specified push template is invalid.%0 - - - - - MessageId: MF_E_NET_INVALID_PUSH_PUBLISHING_POINT - - MessageText: - - The specified push publishing point is invalid.%0 - - - - - MessageId: MF_E_NET_BUSY - - MessageText: - - The requested resource is in use.%0 - - - - - MessageId: MF_E_NET_RESOURCE_GONE - - MessageText: - - The Publishing Point or file on the Windows Media Server is no longer available.%0 - - - - - MessageId: MF_E_NET_ERROR_FROM_PROXY - - MessageText: - - The proxy experienced an error while attempting to contact the media server.%0 - - - - - MessageId: MF_E_NET_PROXY_TIMEOUT - - MessageText: - - The proxy did not receive a timely response while attempting to contact the media server.%0 - - - - - MessageId: MF_E_NET_SERVER_UNAVAILABLE - - MessageText: - - The server is currently unable to handle the request due to a temporary overloading or maintenance of the server.%0 - - - - - MessageId: MF_E_NET_TOO_MUCH_DATA - - MessageText: - - The encoding process was unable to keep up with the amount of supplied data.%0 - - - - - MessageId: MF_E_NET_SESSION_INVALID - - MessageText: - - Session not found.%0 - - - - - MessageId: MF_E_OFFLINE_MODE - - MessageText: - - The requested URL is not available in offline mode.%0 - - - - - MessageId: MF_E_NET_UDP_BLOCKED - - MessageText: - - A device in the network is blocking UDP traffic.%0 - - - - - MessageId: MF_E_NET_UNSUPPORTED_CONFIGURATION - - MessageText: - - The specified configuration value is not supported.%0 - - - - - MessageId: MF_E_NET_PROTOCOL_DISABLED - - MessageText: - - The networking protocol is disabled.%0 - - - - - MessageId: MF_E_ALREADY_INITIALIZED - - MessageText: - - This object has already been initialized and cannot be re-initialized at this time.%0 - - - - - MessageId: MF_E_BANDWIDTH_OVERRUN - - MessageText: - - The amount of data passed in exceeds the given bitrate and buffer window.%0 - - - - - MessageId: MF_E_LATE_SAMPLE - - MessageText: - - The sample was passed in too late to be correctly processed.%0 - - - - - MessageId: MF_E_FLUSH_NEEDED - - MessageText: - - The requested action cannot be carried out until the object is flushed and the queue is emptied.%0 - - - - - MessageId: MF_E_INVALID_PROFILE - - MessageText: - - The profile is invalid.%0 - - - - - MessageId: MF_E_INDEX_NOT_COMMITTED - - MessageText: - - The index that is being generated needs to be committed before the requested action can be carried out.%0 - - - - - MessageId: MF_E_NO_INDEX - - MessageText: - - The index that is necessary for the requested action is not found.%0 - - - - - MessageId: MF_E_CANNOT_INDEX_IN_PLACE - - MessageText: - - The requested index cannot be added in-place to the specified ASF content.%0 - - - - - MessageId: MF_E_MISSING_ASF_LEAKYBUCKET - - MessageText: - - The ASF leaky bucket parameters must be specified in order to carry out this request.%0 - - - - - MessageId: MF_E_INVALID_ASF_STREAMID - - MessageText: - - The stream id is invalid. The valid range for ASF stream id is from 1 to 127.%0 - - - - - MessageId: MF_E_STREAMSINK_REMOVED - - MessageText: - - The requested Stream Sink has been removed and cannot be used.%0 - - - - - MessageId: MF_E_STREAMSINKS_OUT_OF_SYNC - - MessageText: - - The various Stream Sinks in this Media Sink are too far out of sync for the requested action to take place.%0 - - - - - MessageId: MF_E_STREAMSINKS_FIXED - - MessageText: - - Stream Sinks cannot be added to or removed from this Media Sink because its set of streams is fixed.%0 - - - - - MessageId: MF_E_STREAMSINK_EXISTS - - MessageText: - - The given Stream Sink already exists.%0 - - - - - MessageId: MF_E_SAMPLEALLOCATOR_CANCELED - - MessageText: - - Sample allocations have been canceled.%0 - - - - - MessageId: MF_E_SAMPLEALLOCATOR_EMPTY - - MessageText: - - The sample allocator is currently empty, due to outstanding requests.%0 - - - - - MessageId: MF_E_SINK_ALREADYSTOPPED - - MessageText: - - When we try to sopt a stream sink, it is already stopped %0 - - - - - MessageId: MF_E_ASF_FILESINK_BITRATE_UNKNOWN - - MessageText: - - The ASF file sink could not reserve AVIO because the bitrate is unknown.%0 - - - - - MessageId: MF_E_SINK_NO_STREAMS - - MessageText: - - No streams are selected in sink presentation descriptor.%0 - - - - - MessageId: MF_S_SINK_NOT_FINALIZED - - MessageText: - - The sink has not been finalized before shut down. This may cause sink generate a corrupted content.%0 - - - - - MessageId: MF_E_METADATA_TOO_LONG - - MessageText: - - A metadata item was too long to write to the output container.%0 - - - - - MessageId: MF_E_SINK_NO_SAMPLES_PROCESSED - - MessageText: - - The operation failed because no samples were processed by the sink.%0 - - - - - MessageId: MF_E_VIDEO_REN_NO_PROCAMP_HW - - MessageText: - - There is no available procamp hardware with which to perform color correction.%0 - - - - - MessageId: MF_E_VIDEO_REN_NO_DEINTERLACE_HW - - MessageText: - - There is no available deinterlacing hardware with which to deinterlace the video stream.%0 - - - - - MessageId: MF_E_VIDEO_REN_COPYPROT_FAILED - - MessageText: - - A video stream requires copy protection to be enabled, but there was a failure in attempting to enable copy protection.%0 - - - - - MessageId: MF_E_VIDEO_REN_SURFACE_NOT_SHARED - - MessageText: - - A component is attempting to access a surface for sharing that is not shared.%0 - - - - - MessageId: MF_E_VIDEO_DEVICE_LOCKED - - MessageText: - - A component is attempting to access a shared device that is already locked by another component.%0 - - - - - MessageId: MF_E_NEW_VIDEO_DEVICE - - MessageText: - - The device is no longer available. The handle should be closed and a new one opened.%0 - - - - - MessageId: MF_E_NO_VIDEO_SAMPLE_AVAILABLE - - MessageText: - - A video sample is not currently queued on a stream that is required for mixing.%0 - - - - - MessageId: MF_E_NO_AUDIO_PLAYBACK_DEVICE - - MessageText: - - No audio playback device was found.%0 - - - - - MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_IN_USE - - MessageText: - - The requested audio playback device is currently in use.%0 - - - - - MessageId: MF_E_AUDIO_PLAYBACK_DEVICE_INVALIDATED - - MessageText: - - The audio playback device is no longer present.%0 - - - - - MessageId: MF_E_AUDIO_SERVICE_NOT_RUNNING - - MessageText: - - The audio service is not running.%0 - - - - - MessageId: MF_E_TOPO_INVALID_OPTIONAL_NODE - - MessageText: - - The topology contains an invalid optional node. Possible reasons are incorrect number of outputs and inputs or optional node is at the beginning or end of a segment. %0 - - - - - MessageId: MF_E_TOPO_CANNOT_FIND_DECRYPTOR - - MessageText: - - No suitable transform was found to decrypt the content. %0 - - - - - MessageId: MF_E_TOPO_CODEC_NOT_FOUND - - MessageText: - - No suitable transform was found to encode or decode the content. %0 - - - - - MessageId: MF_E_TOPO_CANNOT_CONNECT - - MessageText: - - Unable to find a way to connect nodes%0 - - - - - MessageId: MF_E_TOPO_UNSUPPORTED - - MessageText: - - Unsupported operations in topoloader%0 - - - - - MessageId: MF_E_TOPO_INVALID_TIME_ATTRIBUTES - - MessageText: - - The topology or its nodes contain incorrectly set time attributes%0 - - - - - MessageId: MF_E_TOPO_LOOPS_IN_TOPOLOGY - - MessageText: - - The topology contains loops, which are unsupported in media foundation topologies%0 - - - - - MessageId: MF_E_TOPO_MISSING_PRESENTATION_DESCRIPTOR - - MessageText: - - A source stream node in the topology does not have a presentation descriptor%0 - - - - - MessageId: MF_E_TOPO_MISSING_STREAM_DESCRIPTOR - - MessageText: - - A source stream node in the topology does not have a stream descriptor%0 - - - - - MessageId: MF_E_TOPO_STREAM_DESCRIPTOR_NOT_SELECTED - - MessageText: - - A stream descriptor was set on a source stream node but it was not selected on the presentation descriptor%0 - - - - - MessageId: MF_E_TOPO_MISSING_SOURCE - - MessageText: - - A source stream node in the topology does not have a source%0 - - - - - MessageId: MF_E_TOPO_SINK_ACTIVATES_UNSUPPORTED - - MessageText: - - The topology loader does not support sink activates on output nodes.%0 - - - - - MessageId: MF_E_SEQUENCER_UNKNOWN_SEGMENT_ID - - MessageText: - - The sequencer cannot find a segment with the given ID.%0\n. - - - - - MessageId: MF_S_SEQUENCER_CONTEXT_CANCELED - - MessageText: - - The context was canceled.%0\n. - - - - - MessageId: MF_E_NO_SOURCE_IN_CACHE - - MessageText: - - Cannot find source in source cache.%0\n. - - - - - MessageId: MF_S_SEQUENCER_SEGMENT_AT_END_OF_STREAM - - MessageText: - - Cannot update topology flags.%0\n. - - - - - MessageId: MF_E_TRANSFORM_TYPE_NOT_SET - - MessageText: - - A valid type has not been set for this stream or a stream that it depends on.%0 - - - - - MessageId: MF_E_TRANSFORM_STREAM_CHANGE - - MessageText: - - A stream change has occurred. Output cannot be produced until the streams have been renegotiated.%0 - - - - - MessageId: MF_E_TRANSFORM_INPUT_REMAINING - - MessageText: - - The transform cannot take the requested action until all of the input data it currently holds is processed or flushed.%0 - - - - - MessageId: MF_E_TRANSFORM_PROFILE_MISSING - - MessageText: - - The transform requires a profile but no profile was supplied or found.%0 - - - - - MessageId: MF_E_TRANSFORM_PROFILE_INVALID_OR_CORRUPT - - MessageText: - - The transform requires a profile but the supplied profile was invalid or corrupt.%0 - - - - - MessageId: MF_E_TRANSFORM_PROFILE_TRUNCATED - - MessageText: - - The transform requires a profile but the supplied profile ended unexpectedly while parsing.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_PID_NOT_RECOGNIZED - - MessageText: - - The property ID does not match any property supported by the transform.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_VARIANT_TYPE_WRONG - - MessageText: - - The variant does not have the type expected for this property ID.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_NOT_WRITEABLE - - MessageText: - - An attempt was made to set the value on a read-only property.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_ARRAY_VALUE_WRONG_NUM_DIM - - MessageText: - - The array property value has an unexpected number of dimensions.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_SIZE_WRONG - - MessageText: - - The array or blob property value has an unexpected size.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_OUT_OF_RANGE - - MessageText: - - The property value is out of range for this transform.%0 - - - - - MessageId: MF_E_TRANSFORM_PROPERTY_VALUE_INCOMPATIBLE - - MessageText: - - The property value is incompatible with some other property or mediatype set on the transform.%0 - - - - - MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_OUTPUT_MEDIATYPE - - MessageText: - - The requested operation is not supported for the currently set output mediatype.%0 - - - - - MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_INPUT_MEDIATYPE - - MessageText: - - The requested operation is not supported for the currently set input mediatype.%0 - - - - - MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_MEDIATYPE_COMBINATION - - MessageText: - - The requested operation is not supported for the currently set combination of mediatypes.%0 - - - - - MessageId: MF_E_TRANSFORM_CONFLICTS_WITH_OTHER_CURRENTLY_ENABLED_FEATURES - - MessageText: - - The requested feature is not supported in combination with some other currently enabled feature.%0 - - - - - MessageId: MF_E_TRANSFORM_NEED_MORE_INPUT - - MessageText: - - The transform cannot produce output until it gets more input samples.%0 - - - - - MessageId: MF_E_TRANSFORM_NOT_POSSIBLE_FOR_CURRENT_SPKR_CONFIG - - MessageText: - - The requested operation is not supported for the current speaker configuration.%0 - - - - - MessageId: MF_E_TRANSFORM_CANNOT_CHANGE_MEDIATYPE_WHILE_PROCESSING - - MessageText: - - The transform cannot accept mediatype changes in the middle of processing.%0 - - - - - MessageId: MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT - - MessageText: - - The caller should not propagate this event to downstream components.%0 - - - - - MessageId: MF_E_UNSUPPORTED_D3D_TYPE - - MessageText: - - The input type is not supported for D3D device.%0 - - - - - MessageId: MF_E_TRANSFORM_ASYNC_LOCKED - - MessageText: - - The caller does not appear to support this transform's asynchronous capabilities.%0 - - - - - MessageId: MF_E_TRANSFORM_CANNOT_INITIALIZE_ACM_DRIVER - - MessageText: - - An audio compression manager driver could not be initialized by the transform.%0 - - - - - MessageId: MF_E_LICENSE_INCORRECT_RIGHTS - - MessageText: - - You are not allowed to open this file. Contact the content provider for further assistance.%0 - - - - - MessageId: MF_E_LICENSE_OUTOFDATE - - MessageText: - - The license for this media file has expired. Get a new license or contact the content provider for further assistance.%0 - - - - - MessageId: MF_E_LICENSE_REQUIRED - - MessageText: - - You need a license to perform the requested operation on this media file.%0 - - - - - MessageId: MF_E_DRM_HARDWARE_INCONSISTENT - - MessageText: - - The licenses for your media files are corrupted. Contact Microsoft product support.%0 - - - - - MessageId: MF_E_NO_CONTENT_PROTECTION_MANAGER - - MessageText: - - The APP needs to provide IMFContentProtectionManager callback to access the protected media file.%0 - - - - - MessageId: MF_E_LICENSE_RESTORE_NO_RIGHTS - - MessageText: - - Client does not have rights to restore licenses.%0 - - - - - MessageId: MF_E_BACKUP_RESTRICTED_LICENSE - - MessageText: - - Licenses are restricted and hence can not be backed up.%0 - - - - - MessageId: MF_E_LICENSE_RESTORE_NEEDS_INDIVIDUALIZATION - - MessageText: - - License restore requires machine to be individualized.%0 - - - - - MessageId: MF_S_PROTECTION_NOT_REQUIRED - - MessageText: - - Protection for stream is not required.%0 - - - - - MessageId: MF_E_COMPONENT_REVOKED - - MessageText: - - Component is revoked.%0 - - - - - MessageId: MF_E_TRUST_DISABLED - - MessageText: - - Trusted functionality is currently disabled on this component.%0 - - - - - MessageId: MF_E_WMDRMOTA_NO_ACTION - - MessageText: - - No Action is set on WMDRM Output Trust Authority.%0 - - - - - MessageId: MF_E_WMDRMOTA_ACTION_ALREADY_SET - - MessageText: - - Action is already set on WMDRM Output Trust Authority.%0 - - - - - MessageId: MF_E_WMDRMOTA_DRM_HEADER_NOT_AVAILABLE - - MessageText: - - DRM Heaader is not available.%0 - - - - - MessageId: MF_E_WMDRMOTA_DRM_ENCRYPTION_SCHEME_NOT_SUPPORTED - - MessageText: - - Current encryption scheme is not supported.%0 - - - - - MessageId: MF_E_WMDRMOTA_ACTION_MISMATCH - - MessageText: - - Action does not match with current configuration.%0 - - - - - MessageId: MF_E_WMDRMOTA_INVALID_POLICY - - MessageText: - - Invalid policy for WMDRM Output Trust Authority.%0 - - - - - MessageId: MF_E_POLICY_UNSUPPORTED - - MessageText: - - The policies that the Input Trust Authority requires to be enforced are unsupported by the outputs.%0 - - - - - MessageId: MF_E_OPL_NOT_SUPPORTED - - MessageText: - - The OPL that the license requires to be enforced are not supported by the Input Trust Authority.%0 - - - - - MessageId: MF_E_TOPOLOGY_VERIFICATION_FAILED - - MessageText: - - The topology could not be successfully verified.%0 - - - - - MessageId: MF_E_SIGNATURE_VERIFICATION_FAILED - - MessageText: - - Signature verification could not be completed successfully for this component.%0 - - - - - MessageId: MF_E_DEBUGGING_NOT_ALLOWED - - MessageText: - - Running this process under a debugger while using protected content is not allowed.%0 - - - - - MessageId: MF_E_CODE_EXPIRED - - MessageText: - - MF component has expired.%0 - - - - - MessageId: MF_E_GRL_VERSION_TOO_LOW - - MessageText: - - The current GRL on the machine does not meet the minimum version requirements.%0 - - - - - MessageId: MF_E_GRL_RENEWAL_NOT_FOUND - - MessageText: - - The current GRL on the machine does not contain any renewal entries for the specified revocation.%0 - - - - - MessageId: MF_E_GRL_EXTENSIBLE_ENTRY_NOT_FOUND - - MessageText: - - The current GRL on the machine does not contain any extensible entries for the specified extension GUID.%0 - - - - - MessageId: MF_E_KERNEL_UNTRUSTED - - MessageText: - - The kernel isn't secure for high security level content.%0 - - - - - MessageId: MF_E_PEAUTH_UNTRUSTED - - MessageText: - - The response from protected environment driver isn't valid.%0 - - - - - MessageId: MF_E_NON_PE_PROCESS - - MessageText: - - A non-PE process tried to talk to PEAuth.%0 - - - - - MessageId: MF_E_REBOOT_REQUIRED - - MessageText: - - We need to reboot the machine.%0 - - - - - MessageId: MF_S_WAIT_FOR_POLICY_SET - - MessageText: - - Protection for this stream is not guaranteed to be enforced until the MEPolicySet event is fired.%0 - - - - - MessageId: MF_S_VIDEO_DISABLED_WITH_UNKNOWN_SOFTWARE_OUTPUT - - MessageText: - - This video stream is disabled because it is being sent to an unknown software output.%0 - - - - - MessageId: MF_E_GRL_INVALID_FORMAT - - MessageText: - - The GRL file is not correctly formed, it may have been corrupted or overwritten.%0 - - - - - MessageId: MF_E_GRL_UNRECOGNIZED_FORMAT - - MessageText: - - The GRL file is in a format newer than those recognized by this GRL Reader.%0 - - - - - MessageId: MF_E_ALL_PROCESS_RESTART_REQUIRED - - MessageText: - - The GRL was reloaded and required all processes that can run protected media to restart.%0 - - - - - MessageId: MF_E_PROCESS_RESTART_REQUIRED - - MessageText: - - The GRL was reloaded and the current process needs to restart.%0 - - - - - MessageId: MF_E_USERMODE_UNTRUSTED - - MessageText: - - The user space is untrusted for protected content play.%0 - - - - - MessageId: MF_E_PEAUTH_SESSION_NOT_STARTED - - MessageText: - - PEAuth communication session hasn't been started.%0 - - - - - MessageId: MF_E_PEAUTH_PUBLICKEY_REVOKED - - MessageText: - - PEAuth's public key is revoked.%0 - - - - - MessageId: MF_E_GRL_ABSENT - - MessageText: - - The GRL is absent.%0 - - - - - MessageId: MF_S_PE_TRUSTED - - MessageText: - - The Protected Environment is trusted.%0 - - - - - MessageId: MF_E_PE_UNTRUSTED - - MessageText: - - The Protected Environment is untrusted.%0 - - - - - MessageId: MF_E_PEAUTH_NOT_STARTED - - MessageText: - - The Protected Environment Authorization service (PEAUTH) has not been started.%0 - - - - - MessageId: MF_E_INCOMPATIBLE_SAMPLE_PROTECTION - - MessageText: - - The sample protection algorithms supported by components are not compatible.%0 - - - - - MessageId: MF_E_PE_SESSIONS_MAXED - - MessageText: - - No more protected environment sessions can be supported.%0 - - - - - MessageId: MF_E_HIGH_SECURITY_LEVEL_CONTENT_NOT_ALLOWED - - MessageText: - - WMDRM ITA does not allow protected content with high security level for this release.%0 - - - - - MessageId: MF_E_TEST_SIGNED_COMPONENTS_NOT_ALLOWED - - MessageText: - - WMDRM ITA cannot allow the requested action for the content as one or more components is not properly signed.%0 - - - - - MessageId: MF_E_ITA_UNSUPPORTED_ACTION - - MessageText: - - WMDRM ITA does not support the requested action.%0 - - - - - MessageId: MF_E_ITA_ERROR_PARSING_SAP_PARAMETERS - - MessageText: - - WMDRM ITA encountered an error in parsing the Secure Audio Path parameters.%0 - - - - - MessageId: MF_E_POLICY_MGR_ACTION_OUTOFBOUNDS - - MessageText: - - The Policy Manager action passed in is invalid.%0 - - - - - MessageId: MF_E_BAD_OPL_STRUCTURE_FORMAT - - MessageText: - - The structure specifying Output Protection Level is not the correct format.%0 - - - - - MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_PROTECTION_GUID - - MessageText: - - WMDRM ITA does not recognize the Explicite Analog Video Output Protection guid specified in the license.%0 - - - - - MessageId: MF_E_NO_PMP_HOST - - MessageText: - - IMFPMPHost object not available.%0 - - - - - MessageId: MF_E_ITA_OPL_DATA_NOT_INITIALIZED - - MessageText: - - WMDRM ITA could not initialize the Output Protection Level data.%0 - - - - - MessageId: MF_E_ITA_UNRECOGNIZED_ANALOG_VIDEO_OUTPUT - - MessageText: - - WMDRM ITA does not recognize the Analog Video Output specified by the OTA.%0 - - - - - MessageId: MF_E_ITA_UNRECOGNIZED_DIGITAL_VIDEO_OUTPUT - - MessageText: - - WMDRM ITA does not recognize the Digital Video Output specified by the OTA.%0 - - - - - MessageId: MF_E_CLOCK_INVALID_CONTINUITY_KEY - - MessageText: - - The continuity key supplied is not currently valid.%0 - - - - - MessageId: MF_E_CLOCK_NO_TIME_SOURCE - - MessageText: - - No Presentation Time Source has been specified.%0 - - - - - MessageId: MF_E_CLOCK_STATE_ALREADY_SET - - MessageText: - - The clock is already in the requested state.%0 - - - - - MessageId: MF_E_CLOCK_NOT_SIMPLE - - MessageText: - - The clock has too many advanced features to carry out the request.%0 - - - - - MessageId: MF_S_CLOCK_STOPPED - - MessageText: - - Timer::SetTimer returns this success code if called happened while timer is stopped. Timer is not going to be dispatched until clock is running%0 - - - - - MessageId: MF_E_NO_MORE_DROP_MODES - - MessageText: - - The component does not support any more drop modes.%0 - - - - - MessageId: MF_E_NO_MORE_QUALITY_LEVELS - - MessageText: - - The component does not support any more quality levels.%0 - - - - - MessageId: MF_E_DROPTIME_NOT_SUPPORTED - - MessageText: - - The component does not support drop time functionality.%0 - - - - - MessageId: MF_E_QUALITYKNOB_WAIT_LONGER - - MessageText: - - Quality Manager needs to wait longer before bumping the Quality Level up.%0 - - - - - MessageId: MF_E_QM_INVALIDSTATE - - MessageText: - - Quality Manager is in an invalid state. Quality Management is off at this moment.%0 - - - - - MessageId: MF_E_TRANSCODE_NO_CONTAINERTYPE - - MessageText: - - No transcode output container type is specified.%0 - - - - - MessageId: MF_E_TRANSCODE_PROFILE_NO_MATCHING_STREAMS - - MessageText: - - The profile does not have a media type configuration for any selected source streams.%0 - - - - - MessageId: MF_E_TRANSCODE_NO_MATCHING_ENCODER - - MessageText: - - Cannot find an encoder MFT that accepts the user preferred output type.%0 - - - - - MessageId: MF_E_ALLOCATOR_NOT_INITIALIZED - - MessageText: - - Memory allocator is not initialized.%0 - - - - - MessageId: MF_E_ALLOCATOR_NOT_COMMITED - - MessageText: - - Memory allocator is not committed yet.%0 - - - - - MessageId: MF_E_ALLOCATOR_ALREADY_COMMITED - - MessageText: - - Memory allocator has already been committed.%0 - - - - - MessageId: MF_E_STREAM_ERROR - - MessageText: - - An error occurred in media stream.%0 - - - - - MessageId: MF_E_INVALID_STREAM_STATE - - MessageText: - - Stream is not in a state to handle the request.%0 - - - - - MessageId: MF_E_HW_STREAM_NOT_CONNECTED - - MessageText: - - Hardware stream is not connected yet.%0 - - - - - Main interface for using Media Foundation with NAudio - - - - - initializes MediaFoundation - only needs to be called once per process - - - - - Enumerate the installed MediaFoundation transforms in the specified category - - A category from MediaFoundationTransformCategories - - - - - uninitializes MediaFoundation - - - - - Creates a Media type - - - - - Creates a media type from a WaveFormat - - - - - Creates a memory buffer of the specified size - - Memory buffer size in bytes - The memory buffer - - - - Creates a sample object - - The sample object - - - - Creates a new attributes store - - Initial size - The attributes store - - - - Creates a media foundation byte stream based on a stream object - (usable with WinRT streams) - - The input stream - A media foundation byte stream - - - - Creates a source reader based on a byte stream - - The byte stream - A media foundation source reader - - - - Interop definitions for MediaFoundation - thanks to Lucian Wischik for the initial work on many of these definitions (also various interfaces) - n.b. the goal is to make as much of this internal as possible, and provide - better .NET APIs using the MediaFoundationApi class instead - - - - - Initializes Microsoft Media Foundation. - - - - - Shuts down the Microsoft Media Foundation platform - - - - - Creates an empty media type. - - - - - Initializes a media type from a WAVEFORMATEX structure. - - - - - Converts a Media Foundation audio media type to a WAVEFORMATEX structure. - - - - - Creates the source reader from a URL. - - - - - Creates the source reader from a byte stream. - - - - - Creates the sink writer from a URL or byte stream. - - - - - Creates a Microsoft Media Foundation byte stream that wraps an IRandomAccessStream object. - - - - - Gets a list of Microsoft Media Foundation transforms (MFTs) that match specified search criteria. - - - - - Creates an empty media sample. - - - - - Allocates system memory and creates a media buffer to manage it. - - - - - Creates an empty attribute store. - - - - - Gets a list of output formats from an audio encoder. - - - - - All streams - - - - - First audio stream - - - - - First video stream - - - - - Media source - - - - - Media Foundation SDK Version - - - - - Media Foundation API Version - - - - - Media Foundation Version - - - - - An abstract base class for simplifying working with Media Foundation Transforms - You need to override the method that actually creates and configures the transform - - - - - The Source Provider - - - - - The Output WaveFormat - - - - - Constructs a new MediaFoundationTransform wrapper - Will read one second at a time - - The source provider for input data to the transform - The desired output format - - - - To be implemented by overriding classes. Create the transform object, set up its input and output types, - and configure any custom properties in here - - An object implementing IMFTrasform - - - - Disposes this MediaFoundation transform - - - - - Disposes this Media Foundation Transform - - - - - Destructor - - - - - The output WaveFormat of this Media Foundation Transform - - - - - Reads data out of the source, passing it through the transform - - Output buffer - Offset within buffer to write to - Desired byte count - Number of bytes read - - - - Attempts to read from the transform - Some useful info here: - http://msdn.microsoft.com/en-gb/library/windows/desktop/aa965264%28v=vs.85%29.aspx#process_data - - - - - - Indicate that the source has been repositioned and completely drain out the transforms buffers - - - - - Media Foundation Transform Categories - - - - - MFT_CATEGORY_VIDEO_DECODER - - - - - MFT_CATEGORY_VIDEO_ENCODER - - - - - MFT_CATEGORY_VIDEO_EFFECT - - - - - MFT_CATEGORY_MULTIPLEXER - - - - - MFT_CATEGORY_DEMULTIPLEXER - - - - - MFT_CATEGORY_AUDIO_DECODER - - - - - MFT_CATEGORY_AUDIO_ENCODER - - - - - MFT_CATEGORY_AUDIO_EFFECT - - - - - MFT_CATEGORY_VIDEO_PROCESSOR - - - - - MFT_CATEGORY_OTHER - - - - - Media Type helper class, simplifying working with IMFMediaType - (will probably change in the future, to inherit from an attributes class) - Currently does not release the COM object, so you must do that yourself - - - - - Wraps an existing IMFMediaType object - - The IMFMediaType object - - - - Creates and wraps a new IMFMediaType object - - - - - Creates and wraps a new IMFMediaType object based on a WaveFormat - - WaveFormat - - - - Tries to get a UINT32 value, returning a default value if it doesn't exist - - Attribute key - Default value - Value or default if key doesn't exist - - - - The Sample Rate (valid for audio media types) - - - - - The number of Channels (valid for audio media types) - - - - - The number of bits per sample (n.b. not always valid for compressed audio types) - - - - - The average bytes per second (valid for audio media types) - - - - - The Media Subtype. For audio, is a value from the AudioSubtypes class - - - - - The Major type, e.g. audio or video (from the MediaTypes class) - - - - - Access to the actual IMFMediaType object - Use to pass to MF APIs or Marshal.ReleaseComObject when you are finished with it - - - - - Major Media Types - http://msdn.microsoft.com/en-us/library/windows/desktop/aa367377%28v=vs.85%29.aspx - - - - - Default - - - - - Audio - - - - - Video - - - - - Protected Media - - - - - Synchronized Accessible Media Interchange (SAMI) captions. - - - - - Script stream - - - - - Still image stream. - - - - - HTML stream. - - - - - Binary stream. - - - - - A stream that contains data files. - - - - - Contains information about an input stream on a Media Foundation transform (MFT) - - - - - Maximum amount of time between an input sample and the corresponding output sample, in 100-nanosecond units. - - - - - Bitwise OR of zero or more flags from the _MFT_INPUT_STREAM_INFO_FLAGS enumeration. - - - - - The minimum size of each input buffer, in bytes. - - - - - Maximum amount of input data, in bytes, that the MFT holds to perform lookahead. - - - - - The memory alignment required for input buffers. If the MFT does not require a specific alignment, the value is zero. - - - - - Defines messages for a Media Foundation transform (MFT). - - - - - Requests the MFT to flush all stored data. - - - - - Requests the MFT to drain any stored data. - - - - - Sets or clears the Direct3D Device Manager for DirectX Video Accereration (DXVA). - - - - - Drop samples - requires Windows 7 - - - - - Command Tick - requires Windows 8 - - - - - Notifies the MFT that streaming is about to begin. - - - - - Notifies the MFT that streaming is about to end. - - - - - Notifies the MFT that an input stream has ended. - - - - - Notifies the MFT that the first sample is about to be processed. - - - - - Marks a point in the stream. This message applies only to asynchronous MFTs. Requires Windows 7 - - - - - Contains information about an output buffer for a Media Foundation transform. - - - - - Output stream identifier. - - - - - Pointer to the IMFSample interface. - - - - - Before calling ProcessOutput, set this member to zero. - - - - - Before calling ProcessOutput, set this member to NULL. - - - - - Contains information about an output stream on a Media Foundation transform (MFT). - - - - - Bitwise OR of zero or more flags from the _MFT_OUTPUT_STREAM_INFO_FLAGS enumeration. - - - - - Minimum size of each output buffer, in bytes. - - - - - The memory alignment required for output buffers. - - - - - Contains media type information for registering a Media Foundation transform (MFT). - - - - - The major media type. - - - - - The Media Subtype - - - - - Contains statistics about the performance of the sink writer. - - - - - The size of the structure, in bytes. - - - - - The time stamp of the most recent sample given to the sink writer. - - - - - The time stamp of the most recent sample to be encoded. - - - - - The time stamp of the most recent sample given to the media sink. - - - - - The time stamp of the most recent stream tick. - - - - - The system time of the most recent sample request from the media sink. - - - - - The number of samples received. - - - - - The number of samples encoded. - - - - - The number of samples given to the media sink. - - - - - The number of stream ticks received. - - - - - The amount of data, in bytes, currently waiting to be processed. - - - - - The total amount of data, in bytes, that has been sent to the media sink. - - - - - The number of pending sample requests. - - - - - The average rate, in media samples per 100-nanoseconds, at which the application sent samples to the sink writer. - - - - - The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the encoder - - - - - The average rate, in media samples per 100-nanoseconds, at which the sink writer sent samples to the media sink. - - - - - Contains flags for registering and enumeration Media Foundation transforms (MFTs). - - - - - None - - - - - The MFT performs synchronous data processing in software. - - - - - The MFT performs asynchronous data processing in software. - - - - - The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. - - - - - The MFT that must be unlocked by the application before use. - - - - - For enumeration, include MFTs that were registered in the caller's process. - - - - - The MFT is optimized for transcoding rather than playback. - - - - - For enumeration, sort and filter the results. - - - - - Bitwise OR of all the flags, excluding MFT_ENUM_FLAG_SORTANDFILTER. - - - - - Indicates the status of an input stream on a Media Foundation transform (MFT). - - - - - None - - - - - The input stream can receive more data at this time. - - - - - Describes an input stream on a Media Foundation transform (MFT). - - - - - No flags set - - - - - Each media sample (IMFSample interface) of input data must contain complete, unbroken units of data. - - - - - Each media sample that the client provides as input must contain exactly one unit of data, as defined for the MFT_INPUT_STREAM_WHOLE_SAMPLES flag. - - - - - All input samples must be the same size. - - - - - MTF Input Stream Holds buffers - - - - - The MFT does not hold input samples after the IMFTransform::ProcessInput method returns. - - - - - This input stream can be removed by calling IMFTransform::DeleteInputStream. - - - - - This input stream is optional. - - - - - The MFT can perform in-place processing. - - - - - Defines flags for the IMFTransform::ProcessOutput method. - - - - - None - - - - - The MFT can still generate output from this stream without receiving any more input. - - - - - The format has changed on this output stream, or there is a new preferred format for this stream. - - - - - The MFT has removed this output stream. - - - - - There is no sample ready for this stream. - - - - - Indicates whether a Media Foundation transform (MFT) can produce output data. - - - - - None - - - - - There is a sample available for at least one output stream. - - - - - Describes an output stream on a Media Foundation transform (MFT). - - - - - No flags set - - - - - Each media sample (IMFSample interface) of output data from the MFT contains complete, unbroken units of data. - - - - - Each output sample contains exactly one unit of data, as defined for the MFT_OUTPUT_STREAM_WHOLE_SAMPLES flag. - - - - - All output samples are the same size. - - - - - The MFT can discard the output data from this output stream, if requested by the client. - - - - - This output stream is optional. - - - - - The MFT provides the output samples for this stream, either by allocating them internally or by operating directly on the input samples. - - - - - The MFT can either provide output samples for this stream or it can use samples that the client allocates. - - - - - The MFT does not require the client to process the output for this stream. - - - - - The MFT might remove this output stream during streaming. - - - - - Defines flags for processing output samples in a Media Foundation transform (MFT). - - - - - None - - - - - Do not produce output for streams in which the pSample member of the MFT_OUTPUT_DATA_BUFFER structure is NULL. - - - - - Regenerates the last output sample. - - - - - Process Output Status flags - - - - - None - - - - - The Media Foundation transform (MFT) has created one or more new output streams. - - - - - Defines flags for the setting or testing the media type on a Media Foundation transform (MFT). - - - - - None - - - - - Test the proposed media type, but do not set it. - - - - - Represents a MIDI Channel AfterTouch Event. - - - - - Creates a new ChannelAfterTouchEvent from raw MIDI data - - A binary reader - - - - Creates a new Channel After-Touch Event - - Absolute time - Channel - After-touch pressure - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - The aftertouch pressure value - - - - - Represents a MIDI control change event - - - - - Reads a control change event from a MIDI stream - - Binary reader on the MIDI stream - - - - Creates a control change event - - Time - MIDI Channel Number - The MIDI Controller - Controller value - - - - Describes this control change event - - A string describing this event - - - - - - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - The controller number - - - - - The controller value - - - - - Represents a MIDI key signature event event - - - - - Reads a new track sequence number event from a MIDI stream - - The MIDI stream - the data length - - - - Creates a new Key signature event with the specified data - - - - - Number of sharps or flats - - - - - Major or Minor key - - - - - Describes this event - - String describing the event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI meta event - - - - - Gets the type of this meta event - - - - - Empty constructor - - - - - Custom constructor for use by derived types, who will manage the data themselves - - Meta event type - Meta data length - Absolute time - - - - Reads a meta-event from a stream - - A binary reader based on the stream of MIDI data - A new MetaEvent object - - - - Describes this Meta event - - String describing the metaevent - - - - - - - - - MIDI MetaEvent Type - - - - Track sequence number - - - Text event - - - Copyright - - - Sequence track name - - - Track instrument name - - - Lyric - - - Marker - - - Cue point - - - Program (patch) name - - - Device (port) name - - - MIDI Channel (not official?) - - - MIDI Port (not official?) - - - End track - - - Set tempo - - - SMPTE offset - - - Time signature - - - Key signature - - - Sequencer specific - - - - MIDI command codes - - - - Note Off - - - Note On - - - Key After-touch - - - Control change - - - Patch change - - - Channel after-touch - - - Pitch wheel change - - - Sysex message - - - Eox (comes at end of a sysex message) - - - Timing clock (used when synchronization is required) - - - Start sequence - - - Continue sequence - - - Stop sequence - - - Auto-Sensing - - - Meta-event - - - - MidiController enumeration - http://www.midi.org/techspecs/midimessages.php#3 - - - - Bank Select (MSB) - - - Modulation (MSB) - - - Breath Controller - - - Foot controller (MSB) - - - Main volume - - - Pan - - - Expression - - - Bank Select LSB - - - Sustain - - - Portamento On/Off - - - Sostenuto On/Off - - - Soft Pedal On/Off - - - Legato Footswitch - - - Reset all controllers - - - All notes off - - - - Represents an individual MIDI event - - - - The MIDI command code - - - - Creates a MidiEvent from a raw message received using - the MME MIDI In APIs - - The short MIDI message - A new MIDI Event - - - - Constructs a MidiEvent from a BinaryStream - - The binary stream of MIDI data - The previous MIDI event (pass null for first event) - A new MidiEvent - - - - Converts this MIDI event to a short message (32 bit integer) that - can be sent by the Windows MIDI out short message APIs - Cannot be implemented for all MIDI messages - - A short message - - - - Default constructor - - - - - Creates a MIDI event with specified parameters - - Absolute time of this event - MIDI channel number - MIDI command code - - - - The MIDI Channel Number for this event (1-16) - - - - - The Delta time for this event - - - - - The absolute time for this event - - - - - The command code for this event - - - - - Whether this is a note off event - - - - - Whether this is a note on event - - - - - Determines if this is an end track event - - - - - Displays a summary of the MIDI event - - A string containing a brief description of this MIDI event - - - - Utility function that can read a variable length integer from a binary stream - - The binary stream - The integer read - - - - Writes a variable length integer to a binary stream - - Binary stream - The value to write - - - - Exports this MIDI event's data - Overriden in derived classes, but they should call this version - - Absolute time used to calculate delta. - Is updated ready for the next delta calculation - Stream to write to - - - - A helper class to manage collection of MIDI events - It has the ability to organise them in tracks - - - - - Creates a new Midi Event collection - - Initial file type - Delta Ticks Per Quarter Note - - - - The number of tracks - - - - - The absolute time that should be considered as time zero - Not directly used here, but useful for timeshifting applications - - - - - The number of ticks per quarter note - - - - - Gets events on a specified track - - Track number - The list of events - - - - Gets events on a specific track - - Track number - The list of events - - - - Adds a new track - - The new track event list - - - - Adds a new track - - Initial events to add to the new track - The new track event list - - - - Removes a track - - Track number to remove - - - - Clears all events - - - - - The MIDI file type - - - - - Adds an event to the appropriate track depending on file type - - The event to be added - The original (or desired) track number - When adding events in type 0 mode, the originalTrack parameter - is ignored. If in type 1 mode, it will use the original track number to - store the new events. If the original track was 0 and this is a channel based - event, it will create new tracks if necessary and put it on the track corresponding - to its channel number - - - - Sorts, removes empty tracks and adds end track markers - - - - - Gets an enumerator for the lists of track events - - - - - Gets an enumerator for the lists of track events - - - - - Utility class for comparing MidiEvent objects - - - - - Compares two MidiEvents - Sorts by time, with EndTrack always sorted to the end - - - - - Class able to read a MIDI file - - - - - Opens a MIDI file for reading - - Name of MIDI file - - - - MIDI File format - - - - - Opens a MIDI file for reading - - Name of MIDI file - If true will error on non-paired note events - - - - The collection of events in this MIDI file - - - - - Number of tracks in this MIDI file - - - - - Delta Ticks Per Quarter Note - - - - - Describes the MIDI file - - A string describing the MIDI file and its events - - - - Exports a MIDI file - - Filename to export to - Events to export - - - - Represents a MIDI in device - - - - - Called when a MIDI message is received - - - - - An invalid MIDI message - - - - - Gets the number of MIDI input devices available in the system - - - - - Opens a specified MIDI in device - - The device number - - - - Closes this MIDI in device - - - - - Closes this MIDI in device - - - - - Start the MIDI in device - - - - - Stop the MIDI in device - - - - - Reset the MIDI in device - - - - - Gets the MIDI in device info - - - - - Closes the MIDI out device - - True if called from Dispose - - - - Cleanup - - - - - MIDI In Device Capabilities - - - - - wMid - - - - - wPid - - - - - vDriverVersion - - - - - Product Name - - - - - Support - Reserved - - - - - Gets the manufacturer of this device - - - - - Gets the product identifier (manufacturer specific) - - - - - Gets the product name - - - - - MIDI In Message Information - - - - - Create a new MIDI In Message EventArgs - - - - - - - The Raw message received from the MIDI In API - - - - - The raw message interpreted as a MidiEvent - - - - - The timestamp in milliseconds for this message - - - - - MIM_OPEN - - - - - MIM_CLOSE - - - - - MIM_DATA - - - - - MIM_LONGDATA - - - - - MIM_ERROR - - - - - MIM_LONGERROR - - - - - MIM_MOREDATA - - - - - MOM_OPEN - - - - - MOM_CLOSE - - - - - MOM_DONE - - - - - Represents a MIDI message - - - - - Creates a new MIDI message - - Status - Data parameter 1 - Data parameter 2 - - - - Creates a new MIDI message from a raw message - - A packed MIDI message from an MMIO function - - - - Creates a Note On message - - Note number - Volume - MIDI channel - A new MidiMessage object - - - - Creates a Note Off message - - Note number - Volume - MIDI channel (1-16) - A new MidiMessage object - - - - Creates a patch change message - - The patch number - The MIDI channel number (1-16) - A new MidiMessageObject - - - - Creates a Control Change message - - The controller number to change - The value to set the controller to - The MIDI channel number (1-16) - A new MidiMessageObject - - - - Returns the raw MIDI message data - - - - - Represents a MIDI out device - - - - - Gets the number of MIDI devices available in the system - - - - - Gets the MIDI Out device info - - - - - Opens a specified MIDI out device - - The device number - - - - Closes this MIDI out device - - - - - Closes this MIDI out device - - - - - Gets or sets the volume for this MIDI out device - - - - - Resets the MIDI out device - - - - - Sends a MIDI out message - - Message - Parameter 1 - Parameter 2 - - - - Sends a MIDI message to the MIDI out device - - The message to send - - - - Closes the MIDI out device - - True if called from Dispose - - - - Send a long message, for example sysex. - - The bytes to send. - - - - Cleanup - - - - - class representing the capabilities of a MIDI out device - MIDIOUTCAPS: http://msdn.microsoft.com/en-us/library/dd798467%28VS.85%29.aspx - - - - - MIDICAPS_VOLUME - - - - - separate left-right volume control - MIDICAPS_LRVOLUME - - - - - MIDICAPS_CACHE - - - - - MIDICAPS_STREAM - driver supports midiStreamOut directly - - - - - Gets the manufacturer of this device - - - - - Gets the product identifier (manufacturer specific) - - - - - Gets the product name - - - - - Returns the number of supported voices - - - - - Gets the polyphony of the device - - - - - Returns true if the device supports all channels - - - - - Queries whether a particular channel is supported - - Channel number to test - True if the channel is supported - - - - Returns true if the device supports patch caching - - - - - Returns true if the device supports separate left and right volume - - - - - Returns true if the device supports MIDI stream out - - - - - Returns true if the device supports volume control - - - - - Returns the type of technology used by this MIDI out device - - - - - Represents the different types of technology used by a MIDI out device - - from mmsystem.h - - - The device is a MIDI port - - - The device is a MIDI synth - - - The device is a square wave synth - - - The device is an FM synth - - - The device is a MIDI mapper - - - The device is a WaveTable synth - - - The device is a software synth - - - - Represents a note MIDI event - - - - - Reads a NoteEvent from a stream of MIDI data - - Binary Reader for the stream - - - - Creates a MIDI Note Event with specified parameters - - Absolute time of this event - MIDI channel number - MIDI command code - MIDI Note Number - MIDI Note Velocity - - - - - - - - - The MIDI note number - - - - - The note velocity - - - - - The note name - - - - - Describes the Note Event - - Note event as a string - - - - - - - - - Represents a MIDI note on event - - - - - Reads a new Note On event from a stream of MIDI data - - Binary reader on the MIDI data stream - - - - Creates a NoteOn event with specified parameters - - Absolute time of this event - MIDI channel number - MIDI note number - MIDI note velocity - MIDI note duration - - - - The associated Note off event - - - - - Get or set the Note Number, updating the off event at the same time - - - - - Get or set the channel, updating the off event at the same time - - - - - The duration of this note - - - There must be a note off event - - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI patch change event - - - - - Gets the default MIDI instrument names - - - - - Reads a new patch change event from a MIDI stream - - Binary reader for the MIDI stream - - - - Creates a new patch change event - - Time of the event - Channel number - Patch number - - - - The Patch Number - - - - - Describes this patch change event - - String describing the patch change event - - - - Gets as a short message for sending with the midiOutShortMsg API - - short message - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI pitch wheel change event - - - - - Reads a pitch wheel change event from a MIDI stream - - The MIDI stream to read from - - - - Creates a new pitch wheel change event - - Absolute event time - Channel - Pitch wheel value - - - - Describes this pitch wheel change event - - String describing this pitch wheel change event - - - - Pitch Wheel Value 0 is minimum, 0x2000 (8192) is default, 0x4000 (16384) is maximum - - - - - Gets a short message - - Integer to sent as short message - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a Sequencer Specific event - - - - - Reads a new sequencer specific event from a MIDI stream - - The MIDI stream - The data length - - - - Creates a new Sequencer Specific event - - The sequencer specific data - Absolute time of this event - - - - The contents of this sequencer specific - - - - - Describes this MIDI text event - - A string describing this event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Reads a new time signature event from a MIDI stream - - The MIDI stream - The data length - - - - Hours - - - - - Minutes - - - - - Seconds - - - - - Frames - - - - - SubFrames - - - - - Describes this time signature event - - A string describing this event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI sysex message - - - - - Reads a sysex message from a MIDI stream - - Stream of MIDI data - a new sysex message - - - - Describes this sysex message - - A string describing the sysex message - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI tempo event - - - - - Reads a new tempo event from a MIDI stream - - The MIDI stream - the data length - - - - Creates a new tempo event with specified settings - - Microseconds per quarter note - Absolute time - - - - Describes this tempo event - - String describing the tempo event - - - - Microseconds per quarter note - - - - - Tempo - - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI text event - - - - - Reads a new text event from a MIDI stream - - The MIDI stream - The data length - - - - Creates a new TextEvent - - The text in this type - MetaEvent type (must be one that is - associated with text data) - Absolute time of this event - - - - The contents of this text event - - - - - Describes this MIDI text event - - A string describing this event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI time signature event - - - - - Reads a new time signature event from a MIDI stream - - The MIDI stream - The data length - - - - Creates a new TimeSignatureEvent - - Time at which to create this event - Numerator - Denominator - Ticks in Metronome Click - No of 32nd Notes in Quarter Click - - - - Creates a new time signature event with the specified parameters - - - - - Numerator (number of beats in a bar) - - - - - Denominator (Beat unit), - 1 means 2, 2 means 4 (crochet), 3 means 8 (quaver), 4 means 16 and 5 means 32 - - - - - Ticks in a metronome click - - - - - Number of 32nd notes in a quarter note - - - - - The time signature - - - - - Describes this time signature event - - A string describing this event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Represents a MIDI track sequence number event event - - - - - Reads a new track sequence number event from a MIDI stream - - The MIDI stream - the data length - - - - Describes this event - - String describing the event - - - - Calls base class export first, then exports the data - specific to this event - MidiEvent.Export - - - - - Boolean mixer control - - - - - Gets the details for this control - - memory pointer - - - - The current value of the control - - - - - Custom Mixer control - - - - - Get the data for this custom control - - pointer to memory to receive data - - - - List text mixer control - - - - - Get the details for this control - - Memory location to read to - - - Represents a Windows mixer device - - - The number of mixer devices available - - - Connects to the specified mixer - The index of the mixer to use. - This should be between zero and NumberOfDevices - 1 - - - The number of destinations this mixer supports - - - The name of this mixer device - - - The manufacturer code for this mixer device - - - The product identifier code for this mixer device - - - Retrieve the specified MixerDestination object - The ID of the destination to use. - Should be between 0 and DestinationCount - 1 - - - - A way to enumerate the destinations - - - - - A way to enumerate all available devices - - - - - Represents a mixer control - - - - - Mixer Handle - - - - - Number of Channels - - - - - Mixer Handle Type - - - - - Gets all the mixer controls - - Mixer Handle - Mixer Line - Mixer Handle Type - - - - - Gets a specified Mixer Control - - Mixer Handle - Line ID - Control ID - Number of Channels - Flags to use (indicates the meaning of mixerHandle) - - - - - Gets the control details - - - - - Gets the control details - - - - - - Mixer control name - - - - - Mixer control type - - - - - Returns true if this is a boolean control - - Control type - - - - Is this a boolean control - - - - - Determines whether a specified mixer control type is a list text control - - - - - True if this is a list text control - - - - - True if this is a signed control - - - - - True if this is an unsigned control - - - - - True if this is a custom control - - - - - String representation for debug purposes - - - - - Mixer control types - - - - Custom - - - Boolean meter - - - Signed meter - - - Peak meter - - - Unsigned meter - - - Boolean - - - On Off - - - Mute - - - Mono - - - Loudness - - - Stereo Enhance - - - Button - - - Decibels - - - Signed - - - Unsigned - - - Percent - - - Slider - - - Pan - - - Q-sound pan - - - Fader - - - Volume - - - Bass - - - Treble - - - Equaliser - - - Single Select - - - Mux - - - Multiple select - - - Mixer - - - Micro time - - - Milli time - - - - Mixer Interop Flags - - - - - MIXER_OBJECTF_HANDLE = 0x80000000; - - - - - MIXER_OBJECTF_MIXER = 0x00000000; - - - - - MIXER_OBJECTF_HMIXER - - - - - MIXER_OBJECTF_WAVEOUT - - - - - MIXER_OBJECTF_HWAVEOUT - - - - - MIXER_OBJECTF_WAVEIN - - - - - MIXER_OBJECTF_HWAVEIN - - - - - MIXER_OBJECTF_MIDIOUT - - - - - MIXER_OBJECTF_HMIDIOUT - - - - - MIXER_OBJECTF_MIDIIN - - - - - MIXER_OBJECTF_HMIDIIN - - - - - MIXER_OBJECTF_AUX - - - - - MIXER_GETCONTROLDETAILSF_VALUE = 0x00000000; - MIXER_SETCONTROLDETAILSF_VALUE = 0x00000000; - - - - - MIXER_GETCONTROLDETAILSF_LISTTEXT = 0x00000001; - MIXER_SETCONTROLDETAILSF_LISTTEXT = 0x00000001; - - - - - MIXER_GETCONTROLDETAILSF_QUERYMASK = 0x0000000F; - MIXER_SETCONTROLDETAILSF_QUERYMASK = 0x0000000F; - MIXER_GETLINECONTROLSF_QUERYMASK = 0x0000000F; - - - - - MIXER_GETLINECONTROLSF_ALL = 0x00000000; - - - - - MIXER_GETLINECONTROLSF_ONEBYID = 0x00000001; - - - - - MIXER_GETLINECONTROLSF_ONEBYTYPE = 0x00000002; - - - - - MIXER_GETLINEINFOF_DESTINATION = 0x00000000; - - - - - MIXER_GETLINEINFOF_SOURCE = 0x00000001; - - - - - MIXER_GETLINEINFOF_LINEID = 0x00000002; - - - - - MIXER_GETLINEINFOF_COMPONENTTYPE = 0x00000003; - - - - - MIXER_GETLINEINFOF_TARGETTYPE = 0x00000004; - - - - - MIXER_GETLINEINFOF_QUERYMASK = 0x0000000F; - - - - - Mixer Line Flags - - - - - Audio line is active. An active line indicates that a signal is probably passing - through the line. - - - - - Audio line is disconnected. A disconnected line's associated controls can still be - modified, but the changes have no effect until the line is connected. - - - - - Audio line is an audio source line associated with a single audio destination line. - If this flag is not set, this line is an audio destination line associated with zero - or more audio source lines. - - - - - BOUNDS structure - - - - - dwMinimum / lMinimum / reserved 0 - - - - - dwMaximum / lMaximum / reserved 1 - - - - - reserved 2 - - - - - reserved 3 - - - - - reserved 4 - - - - - reserved 5 - - - - - METRICS structure - - - - - cSteps / reserved[0] - - - - - cbCustomData / reserved[1], number of bytes for control details - - - - - reserved 2 - - - - - reserved 3 - - - - - reserved 4 - - - - - reserved 5 - - - - - MIXERCONTROL struct - http://msdn.microsoft.com/en-us/library/dd757293%28VS.85%29.aspx - - - - - Represents a mixer line (source or destination) - - - - - Creates a new mixer destination - - Mixer Handle - Destination Index - Mixer Handle Type - - - - Creates a new Mixer Source For a Specified Source - - Mixer Handle - Destination Index - Source Index - Flag indicating the meaning of mixerHandle - - - - Creates a new Mixer Source - - Wave In Device - - - - Mixer Line Name - - - - - Mixer Line short name - - - - - The line ID - - - - - Component Type - - - - - Mixer destination type description - - - - - Number of channels - - - - - Number of sources - - - - - Number of controls - - - - - Is this destination active - - - - - Is this destination disconnected - - - - - Is this destination a source - - - - - Gets the specified source - - - - - Enumerator for the controls on this Mixer Limne - - - - - Enumerator for the sources on this Mixer Line - - - - - The name of the target output device - - - - - Describes this Mixer Line (for diagnostic purposes) - - - - - Mixer Line Component type enumeration - - - - - Audio line is a destination that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation. - MIXERLINE_COMPONENTTYPE_DST_UNDEFINED - - - - - Audio line is a digital destination (for example, digital input to a DAT or CD audio device). - MIXERLINE_COMPONENTTYPE_DST_DIGITAL - - - - - Audio line is a line level destination (for example, line level input from a CD audio device) that will be the final recording source for the analog-to-digital converter (ADC). Because most audio cards for personal computers provide some sort of gain for the recording audio source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_DST_WAVEIN type. - MIXERLINE_COMPONENTTYPE_DST_LINE - - - - - Audio line is a destination used for a monitor. - MIXERLINE_COMPONENTTYPE_DST_MONITOR - - - - - Audio line is an adjustable (gain and/or attenuation) destination intended to drive speakers. This is the typical component type for the audio output of audio cards for personal computers. - MIXERLINE_COMPONENTTYPE_DST_SPEAKERS - - - - - Audio line is an adjustable (gain and/or attenuation) destination intended to drive headphones. Most audio cards use the same audio destination line for speakers and headphones, in which case the mixer device simply uses the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS type. - MIXERLINE_COMPONENTTYPE_DST_HEADPHONES - - - - - Audio line is a destination that will be routed to a telephone line. - MIXERLINE_COMPONENTTYPE_DST_TELEPHONE - - - - - Audio line is a destination that will be the final recording source for the waveform-audio input (ADC). This line typically provides some sort of gain or attenuation. This is the typical component type for the recording line of most audio cards for personal computers. - MIXERLINE_COMPONENTTYPE_DST_WAVEIN - - - - - Audio line is a destination that will be the final recording source for voice input. This component type is exactly like MIXERLINE_COMPONENTTYPE_DST_WAVEIN but is intended specifically for settings used during voice recording/recognition. Support for this line is optional for a mixer device. Many mixer devices provide only MIXERLINE_COMPONENTTYPE_DST_WAVEIN. - MIXERLINE_COMPONENTTYPE_DST_VOICEIN - - - - - Audio line is a source that cannot be defined by one of the standard component types. A mixer device is required to use this component type for line component types that have not been defined by Microsoft Corporation. - MIXERLINE_COMPONENTTYPE_SRC_UNDEFINED - - - - - Audio line is a digital source (for example, digital output from a DAT or audio CD). - MIXERLINE_COMPONENTTYPE_SRC_DIGITAL - - - - - Audio line is a line-level source (for example, line-level input from an external stereo) that can be used as an optional recording source. Because most audio cards for personal computers provide some sort of gain for the recording source line, the mixer device will use the MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY type. - MIXERLINE_COMPONENTTYPE_SRC_LINE - - - - - Audio line is a microphone recording source. Most audio cards for personal computers provide at least two types of recording sources: an auxiliary audio line and microphone input. A microphone audio line typically provides some sort of gain. Audio cards that use a single input for use with a microphone or auxiliary audio line should use the MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE component type. - MIXERLINE_COMPONENTTYPE_SRC_MICROPHONE - - - - - Audio line is a source originating from the output of an internal synthesizer. Most audio cards for personal computers provide some sort of MIDI synthesizer (for example, an Adlib®-compatible or OPL/3 FM synthesizer). - MIXERLINE_COMPONENTTYPE_SRC_SYNTHESIZER - - - - - Audio line is a source originating from the output of an internal audio CD. This component type is provided for audio cards that provide an audio source line intended to be connected to an audio CD (or CD-ROM playing an audio CD). - MIXERLINE_COMPONENTTYPE_SRC_COMPACTDISC - - - - - Audio line is a source originating from an incoming telephone line. - MIXERLINE_COMPONENTTYPE_SRC_TELEPHONE - - - - - Audio line is a source originating from personal computer speaker. Several audio cards for personal computers provide the ability to mix what would typically be played on the internal speaker with the output of an audio card. Some audio cards support the ability to use this output as a recording source. - MIXERLINE_COMPONENTTYPE_SRC_PCSPEAKER - - - - - Audio line is a source originating from the waveform-audio output digital-to-analog converter (DAC). Most audio cards for personal computers provide this component type as a source to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination. Some cards also allow this source to be routed to the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination. - MIXERLINE_COMPONENTTYPE_SRC_WAVEOUT - - - - - Audio line is a source originating from the auxiliary audio line. This line type is intended as a source with gain or attenuation that can be routed to the MIXERLINE_COMPONENTTYPE_DST_SPEAKERS destination and/or recorded from the MIXERLINE_COMPONENTTYPE_DST_WAVEIN destination. - MIXERLINE_COMPONENTTYPE_SRC_AUXILIARY - - - - - Audio line is an analog source (for example, analog output from a video-cassette tape). - MIXERLINE_COMPONENTTYPE_SRC_ANALOG - - - - - Represents a signed mixer control - - - - - Gets details for this contrl - - - - - The value of the control - - - - - Minimum value for this control - - - - - Maximum value for this control - - - - - Value of the control represented as a percentage - - - - - String Representation for debugging purposes - - - - - - Represents an unsigned mixer control - - - - - Gets the details for this control - - - - - The control value - - - - - The control's minimum value - - - - - The control's maximum value - - - - - Value of the control represented as a percentage - - - - - String Representation for debugging purposes - - - - - Helper methods for working with audio buffers - - - - - Ensures the buffer is big enough - - - - - - - - Ensures the buffer is big enough - - - - - - - - these will become extension methods once we move to .NET 3.5 - - - - - Checks if the buffer passed in is entirely full of nulls - - - - - Converts to a string containing the buffer described in hex - - - - - Decodes the buffer using the specified encoding, stopping at the first null - - - - - Concatenates the given arrays into a single array. - - The arrays to concatenate - The concatenated resulting array. - - - - An encoding for use with file types that have one byte per character - - - - - The one and only instance of this class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Chunk Identifier helpers - - - - - Chunk identifier to Int32 (replaces mmioStringToFOURCC) - - four character chunk identifier - Chunk identifier as int 32 - - - - A very basic circular buffer implementation - - - - - Create a new circular buffer - - Max buffer size in bytes - - - - Write data to the buffer - - Data to write - Offset into data - Number of bytes to write - number of bytes written - - - - Read from the buffer - - Buffer to read into - Offset into read buffer - Bytes to read - Number of bytes actually read - - - - Maximum length of this circular buffer - - - - - Number of bytes currently stored in the circular buffer - - - - - Resets the buffer - - - - - Advances the buffer, discarding bytes - - Bytes to advance - - - - A util class for conversions - - - - - linear to dB conversion - - linear value - decibel value - - - - dB to linear conversion - - decibel value - linear value - - - - Allows us to add descriptions to interop members - - - - - The description - - - - - Field description - - - - - String representation - - - - - - Helper to get descriptions - - - - - Describes the Guid by looking for a FieldDescription attribute on the specified class - - - - - HResult - - - - - S_OK - - - - - S_FALSE - - - - - E_INVALIDARG (from winerror.h) - - - - - MAKE_HRESULT macro - - - - - Helper to deal with the fact that in Win Store apps, - the HResult property name has changed - - COM Exception - The HResult - - - - Methods for converting between IEEE 80-bit extended double precision - and standard C# double precision. - - - - - Converts a C# double precision number to an 80-bit - IEEE extended double precision number (occupying 10 bytes). - - The double precision number to convert to IEEE extended. - An array of 10 bytes containing the IEEE extended number. - - - - Converts an IEEE 80-bit extended precision number to a - C# double precision number. - - The 80-bit IEEE extended number (as an array of 10 bytes). - A C# double precision number that is a close representation of the IEEE extended number. - - - - Pass-through stream that ignores Dispose - Useful for dealing with MemoryStreams that you want to re-use - - - - - The source stream all other methods fall through to - - - - - If true the Dispose will be ignored, if false, will pass through to the SourceStream - Set to true by default - - - - - Creates a new IgnoreDisposeStream - - The source stream - - - - Can Read - - - - - Can Seek - - - - - Can write to the underlying stream - - - - - Flushes the underlying stream - - - - - Gets the length of the underlying stream - - - - - Gets or sets the position of the underlying stream - - - - - Reads from the underlying stream - - - - - Seeks on the underlying stream - - - - - Sets the length of the underlying stream - - - - - Writes to the underlying stream - - - - - Dispose - by default (IgnoreDispose = true) will do nothing, - leaving the underlying stream undisposed - - - - - In-place and stable implementation of MergeSort - - - - - MergeSort a list of comparable items - - - - - MergeSort a list - - - - - General purpose native methods for internal NAudio use - - - - - A thread-safe Progress Log Control - - - - - Creates a new progress log control - - - - - The contents of the log as text - - - - - Log a message - - - - - Clear the log - - - - - Required designer variable. - - - - - Clean up any resources being used. - - true if managed resources should be disposed; otherwise, false. - - - - Required method for Designer support - do not modify - the contents of this method with the code editor. - - - - - WavePosition extension methods - - - - - Get Position as timespan - - - - - Manufacturer codes from mmreg.h - - - - Microsoft Corporation - - - Creative Labs, Inc - - - Media Vision, Inc. - - - Fujitsu Corp. - - - Artisoft, Inc. - - - Turtle Beach, Inc. - - - IBM Corporation - - - Vocaltec LTD. - - - Roland - - - DSP Solutions, Inc. - - - NEC - - - ATI - - - Wang Laboratories, Inc - - - Tandy Corporation - - - Voyetra - - - Antex Electronics Corporation - - - ICL Personal Systems - - - Intel Corporation - - - Advanced Gravis - - - Video Associates Labs, Inc. - - - InterActive Inc - - - Yamaha Corporation of America - - - Everex Systems, Inc - - - Echo Speech Corporation - - - Sierra Semiconductor Corp - - - Computer Aided Technologies - - - APPS Software International - - - DSP Group, Inc - - - microEngineering Labs - - - Computer Friends, Inc. - - - ESS Technology - - - Audio, Inc. - - - Motorola, Inc. - - - Canopus, co., Ltd. - - - Seiko Epson Corporation - - - Truevision - - - Aztech Labs, Inc. - - - Videologic - - - SCALACS - - - Korg Inc. - - - Audio Processing Technology - - - Integrated Circuit Systems, Inc. - - - Iterated Systems, Inc. - - - Metheus - - - Logitech, Inc. - - - Winnov, Inc. - - - NCR Corporation - - - EXAN - - - AST Research Inc. - - - Willow Pond Corporation - - - Sonic Foundry - - - Vitec Multimedia - - - MOSCOM Corporation - - - Silicon Soft, Inc. - - - Supermac - - - Audio Processing Technology - - - Speech Compression - - - Ahead, Inc. - - - Dolby Laboratories - - - OKI - - - AuraVision Corporation - - - Ing C. Olivetti & C., S.p.A. - - - I/O Magic Corporation - - - Matsushita Electric Industrial Co., LTD. - - - Control Resources Limited - - - Xebec Multimedia Solutions Limited - - - New Media Corporation - - - Natural MicroSystems - - - Lyrrus Inc. - - - Compusic - - - OPTi Computers Inc. - - - Adlib Accessories Inc. - - - Compaq Computer Corp. - - - Dialogic Corporation - - - InSoft, Inc. - - - M.P. Technologies, Inc. - - - Weitek - - - Lernout & Hauspie - - - Quanta Computer Inc. - - - Apple Computer, Inc. - - - Digital Equipment Corporation - - - Mark of the Unicorn - - - Workbit Corporation - - - Ositech Communications Inc. - - - miro Computer Products AG - - - Cirrus Logic - - - ISOLUTION B.V. - - - Horizons Technology, Inc - - - Computer Concepts Ltd - - - Voice Technologies Group, Inc. - - - Radius - - - Rockwell International - - - Co. XYZ for testing - - - Opcode Systems - - - Voxware Inc - - - Northern Telecom Limited - - - APICOM - - - Grande Software - - - ADDX - - - Wildcat Canyon Software - - - Rhetorex Inc - - - Brooktree Corporation - - - ENSONIQ Corporation - - - FAST Multimedia AG - - - NVidia Corporation - - - OKSORI Co., Ltd. - - - DiAcoustics, Inc. - - - Gulbransen, Inc. - - - Kay Elemetrics, Inc. - - - Crystal Semiconductor Corporation - - - Splash Studios - - - Quarterdeck Corporation - - - TDK Corporation - - - Digital Audio Labs, Inc. - - - Seer Systems, Inc. - - - PictureTel Corporation - - - AT&T Microelectronics - - - Osprey Technologies, Inc. - - - Mediatrix Peripherals - - - SounDesignS M.C.S. Ltd. - - - A.L. Digital Ltd. - - - Spectrum Signal Processing, Inc. - - - Electronic Courseware Systems, Inc. - - - AMD - - - Core Dynamics - - - CANAM Computers - - - Softsound, Ltd. - - - Norris Communications, Inc. - - - Danka Data Devices - - - EuPhonics - - - Precept Software, Inc. - - - Crystal Net Corporation - - - Chromatic Research, Inc - - - Voice Information Systems, Inc - - - Vienna Systems - - - Connectix Corporation - - - Gadget Labs LLC - - - Frontier Design Group LLC - - - Viona Development GmbH - - - Casio Computer Co., LTD - - - Diamond Multimedia - - - S3 - - - Fraunhofer - - - - Summary description for MmException. - - - - - Creates a new MmException - - The result returned by the Windows API call - The name of the Windows API that failed - - - - Helper function to automatically raise an exception on failure - - The result of the API call - The API function name - - - - Returns the Windows API result - - - - - Windows multimedia error codes from mmsystem.h. - - - - no error, MMSYSERR_NOERROR - - - unspecified error, MMSYSERR_ERROR - - - device ID out of range, MMSYSERR_BADDEVICEID - - - driver failed enable, MMSYSERR_NOTENABLED - - - device already allocated, MMSYSERR_ALLOCATED - - - device handle is invalid, MMSYSERR_INVALHANDLE - - - no device driver present, MMSYSERR_NODRIVER - - - memory allocation error, MMSYSERR_NOMEM - - - function isn't supported, MMSYSERR_NOTSUPPORTED - - - error value out of range, MMSYSERR_BADERRNUM - - - invalid flag passed, MMSYSERR_INVALFLAG - - - invalid parameter passed, MMSYSERR_INVALPARAM - - - handle being used simultaneously on another thread (eg callback),MMSYSERR_HANDLEBUSY - - - specified alias not found, MMSYSERR_INVALIDALIAS - - - bad registry database, MMSYSERR_BADDB - - - registry key not found, MMSYSERR_KEYNOTFOUND - - - registry read error, MMSYSERR_READERROR - - - registry write error, MMSYSERR_WRITEERROR - - - registry delete error, MMSYSERR_DELETEERROR - - - registry value not found, MMSYSERR_VALNOTFOUND - - - driver does not call DriverCallback, MMSYSERR_NODRIVERCB - - - more data to be returned, MMSYSERR_MOREDATA - - - unsupported wave format, WAVERR_BADFORMAT - - - still something playing, WAVERR_STILLPLAYING - - - header not prepared, WAVERR_UNPREPARED - - - device is synchronous, WAVERR_SYNC - - - Conversion not possible (ACMERR_NOTPOSSIBLE) - - - Busy (ACMERR_BUSY) - - - Header Unprepared (ACMERR_UNPREPARED) - - - Cancelled (ACMERR_CANCELED) - - - invalid line (MIXERR_INVALLINE) - - - invalid control (MIXERR_INVALCONTROL) - - - invalid value (MIXERR_INVALVALUE) - - - - This class is modeled after .NET Stopwatch. It provides better - performance (no system calls).It is however less precise than - .NET Stopwatch, measuring in milliseconds. It is adequate to use - when high-precision is not required (e.g for measuring IO timeouts), - but not for other tasks. - - - - - Wrapper around NetworkStream. - - MyNetworkStream is equivalent to NetworkStream, except - 1. It throws TimeoutException if read or write timeout occurs, instead - of IOException, to match behavior of other streams (named pipe and - shared memory). This property comes handy in TimedStream. - - 2. It implements workarounds for WSAEWOULDBLOCK errors, that can start - occuring after stream has times out. For a discussion about the CLR bug, - refer to http://tinyurl.com/lhgpyf. This error should never occur, as - we're not using asynchronous operations, but apparerntly it does occur - directly after timeout has expired. - The workaround is hinted in the URL above and implemented like this: - For each IO operation, if it throws WSAEWOULDBLOCK, we explicitely set - the socket to Blocking and retry the operation once again. - - - - - Set keepalive + timeout on socket. - - socket - keepalive timeout, in seconds - - - - Summary description for API. - - - - - By creating a private ctor, we keep the compiler from creating a default ctor - - - - - Mark - or + signs that are unary ops as no output - - - - - - Helper class to encapsulate shared memory functionality - Also cares of proper cleanup of file mapping object and cew - - - - - Summary description for SharedMemoryStream. - - - - - Summary description for StreamCreator. - - - - - Summary description for Version. - - - - - - - - - - Constructs a new MySqlDateTime object by setting the individual time properties to - the given values. - - The year to use. - The month to use. - The day to use. - The hour to use. - The minute to use. - The second to use. - The microsecond to use. - - - - Constructs a new MySqlDateTime object by using values from the given object. - - The object to copy. - - - - Constructs a new MySqlDateTime object by copying the current value of the given object. - - The MySqlDateTime object to copy. - - - - Enables the contruction of a MySqlDateTime object by parsing a string. - - - - - Indicates if this object contains a value that can be represented as a DateTime - - - - Returns the year portion of this datetime - - - Returns the month portion of this datetime - - - Returns the day portion of this datetime - - - Returns the hour portion of this datetime - - - Returns the minute portion of this datetime - - - Returns the second portion of this datetime - - - - Returns the milliseconds portion of this datetime - expressed as a value between 0 and 999 - - - - - Returns the microseconds portion of this datetime (6 digit precision) - - - - - Returns true if this datetime object has a null value - - - - - Retrieves the value of this as a DateTime object. - - - - Returns this value as a DateTime - - - Returns a MySQL specific string representation of this value - - - - - - - - - Summary description for MySqlUInt64. - - - - - Summary description for MySqlConversionException. - - - - Ctor - - - Returns the Well-Known Text representation of this value - POINT({0} {1})", longitude, latitude - http://dev.mysql.com/doc/refman/4.1/en/gis-wkt-format.html - - - - Get value from WKT format - SRID=0;POINT (x y) or POINT (x y) - - WKT string format - - - - Try to get value from WKT format - SRID=0;POINT (x y) or POINT (x y) - - WKT string format - - - - This method returns the literal value received - - The literal to return - The received value - - - - This method returns the literal value received - - The literal to return - The received value - - - - This method returns the literal value received - - The literal to return - The received value - - - - This method returns the literal value received - - The literal to return - The received value - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - - Performs an unsigned bitwise right shift with the specified number - - Number to operate on - Ammount of bits to shift - The resulting number from the shift operation - - - Reads a number of characters from the current source Stream and writes the data to the target array at the specified index. - The source Stream to read from. - Contains the array of characteres read from the source Stream. - The starting index of the target array. - The maximum number of characters to read from the source Stream. - The number of characters read. The number will be less than or equal to count depending on the data available in the source Stream. Returns -1 if the end of the stream is reached. - - - Reads a number of characters from the current source TextReader and writes the data to the target array at the specified index. - The source TextReader to read from - Contains the array of characteres read from the source TextReader. - The starting index of the target array. - The maximum number of characters to read from the source TextReader. - The number of characters read. The number will be less than or equal to count depending on the data available in the source TextReader. Returns -1 if the end of the stream is reached. - - - - Converts a string to an array of bytes - - The string to be converted - The new array of bytes - - - - Converts an array of bytes to an array of chars - - The array of bytes to convert - The new array of chars - - - - Writes an object to the specified Stream - - The target Stream - The object to be sent - - - - Writes an object to the specified BinaryWriter - - The target BinaryWriter - The object to be sent - - - - Deserializes an object, or an entire graph of connected objects, and returns the object intance - - Reader instance used to read the object - The object instance - - - - Writes the exception stack trace to the received stream - - Exception to obtain information from - Output sream used to write to - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - Returns the total number of bytes input so far. - - - Returns the total number of bytes output so far. - - - - This structure implements and provides - information about an ADTS AAC audio stream. - - - - - Contains a sample rate table for ADTS AAC audio. - - - - - Contains a channel table for ADTS AAC audio. - - - - - Contains the audio stream length. - - - - - Contains the audio stream duration. - - - - - Contains the number of channels in the audio - - - - - Contains the bitrate of the audio stream - - - - - Contains the samplerate of the audio stream - - - - - An empty and unset header. - - - - - Constructs and initializes a new empty instance of - - - - - Constructs and initializes a new instance of by populating it with specified - values. - - - A value indicating the number - of channels in the audio stream - - - A value indicating the bitrate - of the audio stream - - - A value indicating the samplerate - of the audio stream - - - A value indicating the number - of samples in the audio stream - - - A value indicating the number - of frames in the audio stream - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - If has not been called, this - value will not be correct. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Sets the length of the audio stream represented by the - current instance. - - - A value specifying the length in - bytes of the audio stream represented by the current - instance. - - - The this value has been set, will - return an incorrect value. - - - - - Searches for an audio header in a starting at a specified position and searching through - a specified number of bytes. - - - A object in which the found - header will be stored. - - - A object to search. - - - A value specifying the seek position - in at which to start searching. - - - A value specifying the maximum number - of bytes to search before aborting. - - - A value indicating whether or not a - header was found. - - - is . - - - - - Searches for an audio header in a starting at a specified position and searching to the - end of the file. - - - A object in which the found - header will be stored. - - - A object to search. - - - A value specifying the seek position - in at which to start searching. - - - A value indicating whether or not a - header was found. - - - Searching to the end of the file can be very, very slow - especially for corrupt or non-MPEG files. It is - recommended to use - instead. - - - - - This class is used to help reading arbitary number of bits from - a fixed array of bytes - - - - - Construct a new . - - - A , must be 7 bytes long. - - - - - Reads an Int32 from the bitstream - - - A value containing the number - of bits to read from the bitstream - - - - - This class extends to - provide tagging and properties support for ADTS AAC audio files. - - - A and will be added automatically to any - file that doesn't contain one. This change does not effect the - file until it is saved and can be reversed using the following - method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the first audio header. - - - - - Constructs and initializes a new instance of for a specified path in the local - file system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local - file system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with - an average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - This method only searches for an audio header in the - first 16384 bytes of code to avoid searching forever in - corrupt files. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - This class extends to provide - support for reading and writing tags and properties for files - using the AIFF file format. - - - - - Contains the address of the AIFF header block. - - - - - Contains the Id3v2 tag. - - - - - Contains the media properties. - - - - - The identifier used to recognize a AIFF files. - - - "FORM" - - - - - The identifier used to recognize a AIFF Common chunk. - - - "COMM" - - - - - The identifier used to recognize a AIFF Sound Data Chunk. - - - "SSND" - - - - - The identifier used to recognize a AIFF ID3 chunk. - - - "ID3 " - - - - - The identifier used to recognize a AIFF Form type. - - - "AIFF" - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Search the file for a chunk whose name is given by - the chunkName parameter, starting from startPos. - Note that startPos must be a valid position for a - chunk, or else finding will fail. - - Name of the chunk to search for - Position for starting the search - - Position of the chunk in the stream, or -1 - if no chunk was found. - - - - - Reads the contents of the current instance determining - the size of the riff data, the area the tagging is in, - and optionally reading in the tags and media properties. - - - If , any tags found will be read - into the current instance. - - - A value specifying how the media - data is to be read into the current instance. - - - A value reference to be filled with - the size of the RIFF data as read from the file. - - - A value reference to be filled with - the absolute seek position at which the tagging data - starts. - - - A value reference to be filled with - the absolute seek position at which the tagging data - ends. - - - The file does not begin with . - - - - - This struct implements to provide - support for reading Apple's AIFF stream properties. - - - - - Contains the number of channels. - - - This value is stored in bytes (9,10). - 1 is monophonic, 2 is stereo, 4 means 4 channels, etc.. - any number of audio channels may be represented - - - - - Contains the number of sample frames in the Sound Data chunk. - - - This value is stored in bytes (11-14). - - - - - Contains the number of bits per sample. - - - This value is stored in bytes (15,16). - It can be any number from 1 to 32. - - - - - Contains the sample rate. - - - This value is stored in bytes (17-26). - the sample rate at which the sound is to be played back, - in sample frames per second - - - - - Contains the length of the audio stream. - - - This value is provided by the constructor. - - - - - The size of an AIFF Common chunk - - - - - The identifier used to recognize a AIFF file. - Altough an AIFF file start with "FORM2, we're interested - in the Common chunk only, which contains the properties we need. - - - "COMM" - - - - - Constructs and initializes a new instance of for a specified header block and - stream length. - - - A object containing the stream - header data. - - - A value containing the length of the - AIFF Audio stream in bytes. - - - is . - - - does not begin with - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - This class extends to - provide tagging and properties support for Monkey's Audio APE - files. - - - A will be added automatically to - any file that doesn't contain one. This change does not effect - the physical file until is called and can be - reversed using the following method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the block with the audio header. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - Indicates the flags applied to a object. - - - - - The tag lacks a footer object. - - - - - The footer is actually a header. - - - - - The tag contains a header. - - - - - This structure provides a representation of an APEv2 tag footer - which can be read from and written to disk. - - - - - Contains the APE tag version. - - - - - Specifies the size of an APEv2 footer. - - - - - Specifies the identifier used find an APEv2 footer in a - file. - - - "APETAGEX" - - - - - Constructs and initializes a new instance of by reading it from raw footer data. - - - A object containing the raw - data to build the new instance from. - - - is . - - - is smaller than or does not begin with . - - - - - Gets the version of APE tag described by the current - instance. - - - A value containing the version of the - APE tag described by the current instance. - - - - - Gets and sets the flags that apply to the current - instance. - - - A bitwise combined value - containing the flags that apply to the current instance. - - - - - Gets and sets the number of items in the tag represented - by the current instance. - - - A value containing the number of - items in the tag represented by the current instance. - - - - - Gets the size of the tag represented by the current - instance, including the footer but excluding the header - if applicable. - - - A value containing the size of the - tag represented by the current instance. - - - - - Gets the complete size of the tag represented by the - current instance, including the header and footer. - - - A value containing the size of the - tag represented by the current instance. - - - - - Renders the current instance as an APE tag footer. - - - A object containing the - rendered version of the current instance. - - - - - Renders the current instance as an APE tag header. - - - A object containing the - rendered version of the current instance or an empty - object if - does not include . - - - - - Renders the current instance as either an APE tag header - or footer. - - - A value indicating whether or not the - current instance is to be rendered as a header. - - - A object containing the - rendered version of the current instance. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - The first object to compare. - - - The second object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of are unequal to eachother. - - - The first object to compare. - - - The second object to compare. - - - if is - unequal to . Otherwise, . - - - - - Indicates the type of data stored in a - object. - - - - - The item contains Unicode text. - - - - - The item contains binary data. - - - - - The item contains a locator (file path/URL) for external - information. - - - - - This class provides a representation of an APEv2 tag item which - can be read from and written to disk. - - - - - Contains the item value. - - - - - Contains the item text. - - - - - Constructs and initializes a new instance of by reading in a raw APEv2 item. - - - A object containing the item to - read. - - - A value specifying the offset in - at which the item data begins. - - - is . - - - is less than zero. - - - A complete item could not be read. - - - - - Constructs and initializes a new instance of with a specified key and value. - - - A object containing the key to use - for the current instance. - - - A object containing the value to - store in the new instance. - - - or is - . - - - - - Constructs and initializes a new instance of with a specified key and collection of - values. - - - A object containing the key to use - for the current instance. - - - A containing the values to store - in the new instance. - - - or is - . - - - - - Constructs and initializes a new instance of with a specified key and collection of - values. - - - A object containing the key to use - for the current instance. - - - A object containing the - values to store in the new instance. - - - or is - . - - - - - - Constructs and initializes a new instance of with a specified key and raw data. - - - A object containing the key to use - for the current instance. - - - A object containing the - values to store in the new instance. - - - This constructor automatically marks the new instance as - . - - - or is - . - - - - - - Gets the key used to identify the current instance. - - - A object containing the key used to - identify the current instance. - - - This value is used for specifying the contents of the - item in a common and consistant fashion. For example, - "TITLE" specifies that the item contains the title - of the track. - - - - - Gets the binary value stored in the current instance. - - - A object containing the binary - value stored in the current instance, or if the item contains text. - - - - - Gets the size of the current instance as it last appeared - on disk. - - - A value containing the size of the - current instance as it last appeared on disk. - - - - - Gets and sets the type of value contained in the - current instance. - - - A value indicating the type of - value contained in the current instance. - - - - - Gets and sets whether or not the current instance is - flagged as read-only on disk. - - - A value indicating whether or not the - current instance is flagged as read-only on disk. - - - - - Gets whether or not the current instance is empty. - - - A value indicating whether or not the - current instance contains no value. - - - - - Gets the contents of the current instance as a . - - - A object containing the text - stored in the current instance, or if the item is empty of contains binary data. - If the current instance contains multiple string - values, they will be returned as a comma separated - value. - - - - - Gets the contents of the current instance as a array. - - - A containing the text stored in - the current instance, or an empty array if the item - contains binary data. - - - - - Renders the current instance as an APEv2 item. - - - A object containing the - rendered version of the current instance. - - - - - Populates the current instance by reading in a raw APEv2 - item. - - - A object containing the item to - read. - - - A value specifying the offset in - at which the item data begins. - - - is . - - - is less than zero. - - - A complete item could not be read. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the current - instance. - - - - - Indicates the compression level used when encoding a Monkey's - Audio APE file. - - - - - The audio is not compressed. - - - - - The audio is mildly compressed. - - - - - The audio is compressed at a normal level. - - - - - The audio is highly compressed. - - - - - The audio is extremely highly compressed. - - - - - The audio is compressed to an insane level. - - - - - This struct implements to provide - support for reading Monkey's Audio APE stream properties. - - - - - Contains the APE version. - - - This value is stored in bytes (4,5) of the file and is - 1000 times the actual version number, so 3810 indicates - version 3.81. - - - - - Contains the number of audio blocks in one frame. - - - This value is stored in bytes (55-58). - - - - - Contains the number of audio blocks in the final frame. - - - This value is stored in bytes (59-62). - - - - - Contains the total number of frames. - - - This value is stored in bytes (63-66). - - - - - Contains the number of bits per sample. - - - This value is stored in bytes (67,68) and is typically - 16. - - - - - Contains the number of channels. - - - This value is stored in bytes (69,70) and is typically - 1 or 2. - - - - - Contains the sample rate. - - - This value is stored in bytes (71-74) and is typically - 44100. - - - - - Contains the length of the audio stream. - - - This value is provided by the constructor. - - - - - The size of a Monkey Audio header. - - - - - The identifier used to recognize a WavPack file. - - - "MAC " - - - - - Constructs and initializes a new instance of for a specified header block and - stream length. - - - A object containing the stream - header data. - - - A value containing the length of the - Monkey Audio stream in bytes. - - - is . - - - does not begin with or is less than bytes long. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the APE version of the audio represented by the - current instance. - - - A value containing the APE version - of the audio represented by the current instance. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - Gets the level of compression used when encoding the - audio represented by the current instance. - - - A value indicating the - level of compression used when encoding the audio - represented by the current instance. - - - - - This class extends and implements to provide a representation of an APEv2 - tag which can be read from and written to disk. - - - - - Contains names of picture fields, indexed to correspond - to their picture item names. - - - - - Contains the tag footer. - - - - - Contains the items in the tag. - - - - - Specifies the identifier used find an APEv2 tag in a - file. - - - "APETAGEX" - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - position in a specified file. - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the tag. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Constructs and initializes a new instance of by reading the contents of a raw tag in a - specified object. - - - A object containing the raw - tag. - - - is . - - - is too small to contain a tag, - has a header where the footer should be, or is smaller - than the tag it is supposed to contain. - - - - - Gets and sets whether or not the current instance has a - header when rendered. - - - A value indicating whether or not the - current instance has a header when rendered. - - - - - Adds a number to the value stored in a specified item. - - - A object containing the key of the - item to store the value in. - - - A value containing the number to - store. - - - A value representing a total which - is a part of, or zero if - is not part of a set. - - - If both and are equal to zero, the value will not be - added. If is zero, by itself will be stored. Otherwise, the - values will be stored as "/". - - - is . - - - - - Stores a number in a specified item. - - - A object containing the key of the - item to store the value in. - - - A value containing the number to - store. - - - A value representing a total which - is a part of, or zero if - is not part of a set. - - - If both and are equal to zero, the value will be - cleared. If is zero, by itself will be stored. Otherwise, the - values will be stored as "/". - - - is . - - - - - Adds the contents of a to the value - stored in a specified item. - - - A object containing the key of the - item to store the value in. - - - A object containing the text to - add. - - - If is - or empty, the value will not be added. - - - is . - - - - - Stores the contents of a in a - specified item. - - - A object containing the key of the - item to store the value in. - - - A object containing the text to - store. - - - If is - or empty, the value will be cleared. - - - is . - - - - - Adds the contents of a to the - value stored in a specified item. - - - A object containing the key of the - item to store the value in. - - - A containing the text to add. - - - If is - or empty, the value will not be added. - - - is . - - - - - Stores the contents of a in a - specified item. - - - A object containing the key of the - item to store the value in. - - - A containing the text to store. - - - If is - or empty, the value will be cleared. - - - is . - - - - - Gets a specified item from the current instance. - - - A object containing the key of the - item to get from the current instance. - - - The item with the matching name contained in the current - instance, or if a matching object - was not found. - - - - - Adds an item to the current instance, replacing the - existing one of the same name. - - - A object to add to the current - instance. - - - - - Removes the item with a specified key from the current - instance. - - - A object containing the key of the - item to remove from the current instance. - - - - - Checks if an item exists. - - - A object containing the key of the - item to check. - - - Returns if the - exists - else is returned. - - - is . - - - - - Renders the current instance as a raw APEv2 tag. - - - A object containing the - rendered tag. - - - - - Populates the current instance be reading in a tag from - a specified position in a specified file. - - - A object to read the tag from. - - - A value specifying the seek position - at which to read the tag. - - - is . - - - is less than 0 or greater - than the size of the file. - - - - - Populates the current instance by parsing the contents of - a raw APEv2 tag, minus the header and footer. - - - A object containing the content - of an APEv2 tag, minus the header and footer. - - - This method must only be called after the internal - footer has been read from the file, otherwise the data - cannot be parsed correctly. - - - - - Gets the index of an item in the current instance. - - - A object containing the key to look - for in the current instance. - - - A value containing the index in at which the item appears, or -1 if the - item was not found. - - - Keys are compared in a case insensitive manner. - - - - - Gets the text value from a specified item. - - - A object containing the key of the - item to get the value from. - - - A object containing the text of the - specified frame, or if no value - was found. - - - - - Gets the text values from a specified item. - - - A object containing the key of the - item to get the value from. - - - A containing the text of the - specified frame, or an empty array if no values were - found. - - - - - Gets an integer value from a "/" delimited list in a - specified item. - - - A object containing the key of the - item to get the value from. - - - A value specifying the index in the - integer list of the value to return. - - - A value read from the list in the - frame, or 0 if the value wasn't found. - - - - - Gets the enumerator for the current instance. - - - A object enumerating through - the item keys stored in the current instance. - - - - - Gets the enumerator for the current instance. - - - A object enumerating through - the item keys stored in the current instance. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "Title" item. - - - - - Gets and sets the sort names of the Title of the - media represented by the current instance. - - - A containing the sort names for - the Title of the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "TitleSort" item. - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - This property is implemented using the "Subtitle" item. - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This is especially relevant for a movie. - For example, for "Back to the Future 2", this could be - "After visiting 2015, Marty McFly must repeat his visit - to 1955 to prevent disastrous changes to 1985...without - interfering with his first trip". - - - - This property is implemented using the "Description" item. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "Artist" item. - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A array containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "ArtistSort" field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This is typically usefull for movies, although the - instrument played by each artist in a music may be of - relevance. - - It is highly important to match each role to the - performers. This means that a role may be to keep the match between a - Performers[i] and PerformersRole[i]. - - - - This property is implemented using the "TMCL" Text - Information Frame: The 'Musician credits list' is - intended as a mapping between instruments and the - musician that played it.Every odd field is an - instrument and every even is an artist or a comma - delimited list of artists. - - - This property is implemented using the "PerformersRole" field. - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "Album Artist" - item, and "AlbumArtist" as a backup property if it exists. - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A array containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This property is implemented using the "AlbumArtistSort" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "Composer" item. - - - - - Gets and sets the sort names for the composers of - the media described by the current instance. - - - A array containing the sort names - for the composer of the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "ComposerSort" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "Album" item. - - - - - Gets and sets the sort names for the Album Title of - the media described by the current instance. - - - A containing the sort name of - the Album Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the "AlbumSort" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "Comment" item. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "Genre" item. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "Year" item. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "Track" item. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "Track" item. - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "Disc" item. - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "Disc" item. - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This property is implemented using the "Lyrics" item. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This property is implemented using the "Grouping" item. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This property is implemented using the "BPM" item. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "Conductor" item. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "Copyright" item. - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - This property is implemented using the "DateTagged" item. - Format used is: yyyy-MM-dd HH:mm:ss - - - - - Gets and sets the MusicBrainz Artist ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - ArtistID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_ARTISTID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Group ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseGroupID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_RELEASEGROUPID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Artist ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseArtistID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMARTISTID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Track ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - TrackID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_TRACKID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Disc ID of the media - represented by the current instance. - - - A object containing the MusicBrainz - DiscID for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_DISCID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicIP PUID of the media - represented by the current instance. - - - A object containing the MusicIPPUID - for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICIP_PUID" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the Amazon ID of the media - represented by the current instance. - - - A object containing the AmazonID - for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "ASIN" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Status of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseStatus for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMSTATUS" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Type of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseType for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMTYPE" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseCountry of the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseCountry for the media represented by the current instance - or if no value is present. - - - This property is implemented using the "RELEASECOUNTRY" item. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the ReplayGain track gain in dB. - - - A value in dB for the track gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain track peak sample. - - - A value for the track peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album gain in dB. - - - A value in dB for the album gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album peak sample. - - - A value for the album peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - This property is implemented using the "Cover Art" items - and supports only one picture per type. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - Copies the values from the current instance to another - , optionally overwriting - existing values. - - - A object containing the target - tag to copy values to. - - - A specifying whether or not to copy - values over existing one. - - - If is of type a complete copy of all values - will be performed. Otherwise, only standard values will - be copied. - - - is . - - - - - This class extends to provide a - representation of an ASF Content Description object which can be - read from and written to disk. - - - - - Contains the media title. - - - - - Contains the author/performer. - - - - - Contains the copyright information. - - - - - Contains the description of the media. - - - - - Contains the rating of the media. - - - - - Constructs and initializes a new instance of by reading the - contents from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Gets and sets the title of the media described by the - current instance. - - - A object containing the title of - the media or if it is not set. - - - - - Gets and sets the author or performer of the media - described by the current instance. - - - A object containing the author of - the media or if it is not set. - - - - - Gets and sets the copyright information for the media - described by the current instance. - - - A object containing the copyright - information for the media or if - it is not set. - - - - - Gets and sets the description of the media described by - the current instance. - - - A object containing a description - of the media or if it is not set. - - - - - Gets and sets the rating of the media described by the - current instance. - - - A object containing a rating of the - media or if it is not set. - - - - - Gets whether or not the current instance is empty. - - - if all the values are cleared. - Otherwise . - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - Indicates the type of data stored in a or - object. - - - - - The descriptor contains Unicode (UTF-16LE) text. - - - - - The descriptor contains binary data. - - - - - The descriptor contains a boolean value. - - - - - The descriptor contains a 4-byte DWORD value. - - - - - The descriptor contains a 8-byte QWORD value. - - - - - The descriptor contains a 2-byte WORD value. - - - - - The descriptor contains a 16-byte GUID value. - - - - - This class provides a representation of an ASF Content - Descriptor to be used in combination with . - - - - - Contains the string value. - - - - - Contains the byte value. - - - - - Contains the long value. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A object containing the value for - the new instance. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A object containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified name and - and value. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of by reading its contents from - a file. - - - A object to read the raw ASF - Description Record from. - - - is . - - - A valid descriptor could not be read. - - - must be at a seek position at - which the descriptor can be read. - - - - - Gets the name of the current instance. - - - A object containing the name of the - current instance. - - - - - Gets the type of data contained in the current instance. - - - A value indicating type of data - contained in the current instance. - - - - - Gets a string representation of the current instance. - - - A object containing the value of - the current instance. - - - - - Gets the binary contents of the current instance. - - - A object containing the - contents of the current instance, or if is unequal to . - - - - - Gets the boolean value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the DWORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the QWORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the WORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Renders the current instance as a raw ASF Description - Record. - - - A object containing the - rendered version of the current instance. - - - - - Populates the current instance by reading in the contents - from a file. - - - A object to read the raw ASF - Content Descriptor from. - - - if the data was read correctly. - Otherwise . - - - - - This class provides a representation of an ASF Description Record - to be used in combination with . - - - - - Contains the string value. - - - - - Contains the byte value. - - - - - Contains the long value. - - - - - Contains the GUID value. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A object containing the value for - the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A object containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of with a specified language, - stream, name, and value. - - - A value containing the language - list index of the new instance. - - - A value containing the stream - number of the new instance. - - - A object containing the name of the - new instance. - - - A value containing the value - for the new instance. - - - - - Constructs and initializes a new instance of by reading its contents from - a file. - - - A object to read the raw ASF - Description Record from. - - - is . - - - A valid record could not be read. - - - must be at a seek position at - which the record can be read. - - - - - Gets the index of the language associated with the - current instance. - - - A value containing the index of the - language associated with the current instance. - - - - - Gets the index of the stream associated with the current - instance. - - - A value containing the index of the - stream associated with the current instance. - - - - - Gets the name of the current instance. - - - A object containing the name of the - current instance. - - - - - Gets the type of data contained in the current instance. - - - A value indicating type of data - contained in the current instance. - - - - - Gets a string representation of the current instance. - - - A object containing the value of - the current instance. - - - - - Gets the binary contents of the current instance. - - - A object containing the - contents of the current instance, or if is unequal to . - - - - - Gets the boolean value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the DWORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the QWORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the WORD value contained in the current instance. - - - A value containing the value of the - current instance. - - - - - Gets the GUID value contained in the current instance. - - - A value containing the value - of the current instance. - - - - - Renders the current instance as a raw ASF Description - Record. - - - A object containing the - rendered version of the current instance. - - - - - Populates the current instance by reading in the contents - from a file. - - - A object to read the raw ASF - Description Record from. - - - if the data was read correctly. - Otherwise . - - - - - This class extends to provide a - representation of an ASF Extended Content Description object - which can be read from and written to disk. - - - - - Contains the content descriptors. - - - - - Constructs and initializes a new instance of by reading the - contents from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Constructs and initializes a new instance of with no - contents. - - - - - Gets whether or not the current instance is empty. - - - if the current instance doesn't - contain any objects. - Otherwise . - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - Removes all descriptors with a given name from the - current instance. - - - A object containing the name of the - descriptors to be removed. - - - - - Gets all descriptors with any of a collection of names - from the current instance. - - - A containing the names of the - descriptors to be retrieved. - - - is . - - - A object enumerating - through the objects - retrieved from the current instance. - - - - - Adds a descriptor to the current instance. - - - A object to add to the - current instance. - - - is . - - - - - Sets the a collection of desciptors for a given name, - removing the existing matching records. - - - A object containing the name of the - descriptors to be added. - - - A containing - descriptors to add to the new instance. - - - is . - - - All added entries in - should match but it is not - verified by the method. The descriptors will be added - with their own names and not the one provided in this - method, which are used for removing existing values and - determining where to position the new objects. - - - - - Gets an enumerator for enumerating through the content - descriptors. - - - A for - enumerating through the content descriptors. - - - - - This class extends to provide tagging - and properties support for Microsoft's ASF files. - - - - - Contains the file's tag. - - - - - Contains the file's properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Reads a 2-byte WORD from the current instance. - - - A value containing the WORD read - from the current instance. - - - - - Reads a 4-byte DWORD from the current instance. - - - A value containing the DWORD read - from the current instance. - - - - - Reads a 8-byte QWORD from the current instance. - - - A value containing the QWORD read - from the current instance. - - - - - Reads a 16-byte GUID from the current instance. - - - A value containing the GUID - read from the current instance. - - - - - Reads a Unicode (UTF-16LE) string of specified length - from the current instance. - - - A value specifying the number of bytes - to read. This should always be an even number. - - - A object containing the Unicode - string read from the current instance. - - - - - Reads a collection of objects from the current instance. - - - A value specifying the number of - objects to read. - - - A value specifying the seek position - at which to start reading. - - - A new object enumerating - through the objects read from the - current instance. - - - - - Reads a from the current instance. - - - A value specifying the seek position - at which to start reading. - - - A new object of appropriate type as - read from the current instance. - - - - - Reads the contents of the current instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - This class extends to provide a - representation of an ASF File Properties object which can be read - from and written to disk. - - - - - Contains the GUID for the file. - - - - - Contains the creation date. - - - - - Contains the play duration. - - - - - Contains the send duration. - - - - - Constructs and initializes a new instance of by reading the contents - from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Gets the GUID for the file described by the current - instance. - - - A value containing the GUID - for the file described by the current instance. - - - - - Gets the size of the file described by the current - instance. - - - A value containing the size of the - file described by the current instance. - - - - - Gets the creation date of the file described by the - current instance. - - - A value containing the creation - date of the file described by the current instance. - - - - - Gets the number of data packets in the file described by - the current instance. - - - A value containing the number of - data packets in the file described by the current - instance. - - - - - Gets the play duration of the file described by the - current instance. - - - A value containing the play - duration of the file described by the current instance. - - - - - Gets the send duration of the file described by the - current instance. - - - A value containing the send - duration of the file described by the current instance. - - - - - Gets the pre-roll of the file described by the current - instance. - - - A value containing the pre-roll of - the file described by the current instance. - - - - - Gets the flags of the file described by the current - instance. - - - A value containing the flags of the - file described by the current instance. - - - - - Gets the minimum data packet size of the file described - by the current instance. - - - A value containing the minimum data - packet size of the file described by the current - instance. - - - - - Gets the maximum data packet size of the file described - by the current instance. - - - A value containing the maximum data - packet size of the file described by the current - instance. - - - - - Gets the maximum bitrate of the file described by the - current instance. - - - A value containing the maximum - bitrate of the file described by the current instance. - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - This static class contains common - values used by ASF Objects. - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that an object is a . - - - - - Indicates that a - contains information about an audio stream. - - - - - Indicates that a - contains information about an video stream. - - - - - Indicates a placeholder portion of a file is correctly - encoded. - - - - - This class extends to provide a - representation of an ASF Header Extension object which can be - read from and written to disk. - - - - - Contains the child objects. - - - - - Constructs and initializes a new instance of by reading the contents - from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or contents. - - - - - Gets the child objects contained in the current instance. - - - A object enumerating - through the children of the current instance. - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - Adds a child object to the current instance. - - - A object to add to the current - instance. - - - - - Adds a child unique child object to the current instance, - replacing and existing child if present. - - - A object to add to the current - instance. - - - - - This class extends to provide a - representation of an ASF Header object which can be read from and - written to disk. - - - - - Contains the reserved header data. - - - - - Contains the child objects. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Gets the header extension object contained in the - current instance. - - - A object containing - the header extension object. - - - - - Gets the child objects contained in the current instance. - - - A object enumerating - through the children of the current instance. - - - - - Gets the media properties contained within the current - instance. - - - A object containing the media - properties of the current instance. - - - - - Gets whether or not the current instance contains either - type of content descriptiors. - - - if the current instance contains - a or a . Otherwise - . - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - Adds a child object to the current instance. - - - A object to add to the current - instance. - - - - - Adds a child unique child object to the current instance, - replacing and existing child if present. - - - A object to add to the current - instance. - - - - - Removes the content description objects from the current - instance. - - - - - This class extends to provide a - representation of an ASF Metadata Library object which can be - read from and written to disk. - - - - - Contains the description records. - - - - - Constructs and initializes a new instance of by reading the contents - from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Gets whether or not the current instance is empty. - - - if the current instance doesn't - contain any objects. - Otherwise . - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - Removes all records with a given language, stream, and - name from the current instance. - - - A value containing the language - list index of the records to be removed. - - - A value containing the stream - number of the records to be removed. - - - A object containing the name of the - records to be removed. - - - - - Gets all records with a given language, stream, and any - of a collection of names from the current instance. - - - A value containing the language - list index of the records to be retrieved. - - - A value containing the stream - number of the records to be retrieved. - - - A containing the names of the - records to be retrieved. - - - A object enumerating - through the objects - retrieved from the current instance. - - - - - Adds a record to the current instance. - - - A object to add to the - current instance. - - - - - Sets the a collection of records for a given language, - stream, and name, removing the existing matching records. - - - A value containing the language - list index of the records to be added. - - - A value containing the stream - number of the records to be added. - - - A object containing the name of the - records to be added. - - - A containing records - to add to the new instance. - - - All added entries in should - match , and but - it is not verified by the method. The records will be - added with their own values and not those provided in - this method, which are used for removing existing values - and determining where to position the new object. - - - - - Gets an enumerator for enumerating through the - description records. - - - A for - enumerating through the description records. - - - - - This abstract class provides a basic representation of an ASF - object which can be read from and written to disk. - - - - - Contains the GUID of the object. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Constructs and initializes a new instance of with a specified GUID. - - - A value containing the GUID to - use for the new instance. - - - - - Gets the GUID for the current instance. - - - A object containing the GUID - of the current instance. - - - - - Gets the original size of the current instance. - - - A value containing the size of the - current instance as it originally appeared on disk. - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - - Renders a Unicode (wide) string. - - - A object containing the text to - render. - - - A object containing the - rendered value. - - - - - Renders a 4-byte DWORD. - - - A value containing the DWORD to - render. - - - A object containing the - rendered value. - - - - - Renders a 8-byte QWORD. - - - A value containing the QWORD to - render. - - - A object containing the - rendered value. - - - - - Renders a 2-byte WORD. - - - A value containing the WORD to - render. - - - A object containing the - rendered value. - - - - - Renders the current instance as a raw ASF object - containing specified data. - - - A object containing the data to - contained in the rendered version of the current - instance. - - - A object containing the - rendered version of the current instance. - - - Child classes implementing should - render their contents and then send the data through this - method to produce the final output. - - - - - This class extends to provide a - representation of an ASF Padding object which can be read from - and written to disk. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Constructs and initializes a new instance of of a specified size. - - - A value specifying the number of - bytes the new instance is to take up on disk. - - - - - Gets and sets the number of bytes the current instance - will take up on disk. - - - A value containing the size of the - current instance on disk. - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - This class extends to provide a - representation of an ASF Stream Properties object which can be - read from and written to disk. - - - - - Contains the time offset of the stream. - - - - - Contains the reserved data. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - The object read from disk does not have the correct GUID - or smaller than the minimum size. - - - - - Gets the codec information contained in the current - instance. - - - A object containing the codec - information read from or - if the data could not be decoded. - - - - - Gets the stream type GUID of the current instance. - - - A object containing the stream - type GUID of the current instance. - - - - - Gets the error correction type GUID of the current - instance. - - - A object containing the error - correction type GUID of the current instance. - - - - - Gets the time offset at which the stream described by the - current instance begins. - - - A value containing the time - offset at which the stream described by the current - instance begins. - - - - - Gets the flags that apply to the current instance. - - - A value containing the flags that - apply to the current instance. - - - - - Gets the type specific data contained in the current - instance. - - - A object containing the type - specific data contained in the current instance. - - - The contents of this value are dependant on the type - contained in . - - - - - Gets the error correction data contained in the current - instance. - - - A object containing the error - correction data contained in the current instance. - - - The contents of this value are dependant on the type - contained in . - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - This class extends to provide a - representation of an ASF tag which can be read from and written - to disk. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of using the children of a object. - - - A object whose children are - are to be used by the new instance. - - - is . - - - - - Gets the ASF Content Description object used by the - current instance. - - - A object - containing the ASF Content Description object used by the - current instance. - - - - - Gets the ASF Extended Content Description object used by - the current instance. - - - A object - containing the ASF Extended Content Description object - used by the current instance. - - - - - Gets the ASF Metadata Library object used by the current - instance. - - - A object containing - the ASF Metadata Library object used by the current - instance. - - - - - Gets the string contained in a specific descriptor in the - current instance. - - - A containing the names of the - descriptors to look for the value in. - - - is . - - - A object containing the contents of - the first descriptor found in the current instance. - - - - - Gets the strings contained in a specific descriptor in - the current instance. - - - A containing the names of the - descriptors to look for the value in. - - - is . - - - A object containing the contents of - the first descriptor found in the current instance as - split by ';'. - - - - - Sets the string for a collection of descriptors in the - current instance. - - - A object containing the value to - store, or to clear the value. - - - A containing the names in which - the value would be expected. For example, "WM/AlbumTitle" - and "Album". - - - is . - - - The value will be stored in the first value in and the rest will be cleared. - - - - - Sets the strings for a collection of descriptors in the - current instance. - - - A containing the value to store, - or to clear the value. - - - A containing the names in which - the value would be expected. For example, "WM/AlbumTitle" - and "Album". - - - is . - - - The value will be stored in the first value in and the rest will be cleared. - - - - - Removes all descriptors with a specified name from the - current instance. - - - A object containing the name of the - descriptor to remove from the current instance. - - - is . - - - - - Gets all descriptors with any of a collection of names - from the current instance. - - - A containing the names of the - descriptors to be retrieved. - - - is . - - - A object enumerating - through the objects - retrieved from the current instance. - - - - - Sets the a collection of desciptors for a given name, - removing the existing matching records. - - - A object containing the name of the - descriptors to be added. - - - A containing - descriptors to add to the new instance. - - - is . - - - All added entries in - should match but it is not - verified by the method. The descriptors will be added - with their own names and not the one provided in this - method, which are used for removing existing values and - determining where to position the new objects. - - - - - Adds a descriptor to the current instance. - - - A object to add to the - current instance. - - - is . - - - - - Converts a raw ASF picture into an object. - - - A object containing raw ASF - picture data. - - - A object to read from the raw - data. - - - - - Converts a object into raw ASF - picture data. - - - A object to convert. - - - A object containing raw ASF - picture data. - - - - - Splits a string into a collection of strings by ';'. - - - A object containing the text to - split. - - - A containing the split text. - - - - - Gets an enumerator for enumerating through the content - descriptors. - - - A for - enumerating through the content descriptors. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the title stored in - the ASF Content Description Object. - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - This property is implemented using the "WM/SubTitle" - field. - https://msdn.microsoft.com/en-us/library/windows/desktop/dd757997(v=vs.85).aspx - - - - - Gets and sets the sort names for the Track Title of - the media described by the current instance. - - - A containing the sort name of - the Track Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the "WM/TitleSortOrder" - field. - http://msdn.microsoft.com/en-us/library/aa386866(VS.85).aspx - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the description stored - in the ASF Content Description Object. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the author stored in - the ASF Content Description Object. - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "WM/ArtistSortOrder" field. - http://msdn.microsoft.com/en-us/library/aa386866(VS.85).aspx - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "WM/AlbumArtist" - and "AlbumArtist" Content Descriptors. - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This property is implemented using the "WM/AlbumArtistSortOrder" - field. - http://msdn.microsoft.com/en-us/library/aa386866(VS.85).aspx - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "WM/Composer" - and "Composer" Content Descriptors. - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "WM/AlbumTitle" - and "Album" Content Descriptors. - - - - - Gets and sets the sort names for the Album Title of - the media described by the current instance. - - - A containing the sort name of - the Album Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the "WM/AlbumSortOrder" - field. - http://msdn.microsoft.com/en-us/library/aa386866(VS.85).aspx - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "WM/Text" field. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "WM/Genre", - "WM/GenreID", and "Genre" Content Descriptors. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "WM/Year" Content - Descriptor. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "WM/TrackNumber" - Content Descriptor. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "TrackTotal" - Content Descriptor. - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "WM/PartOfSet" - Content Descriptor. - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "WM/PartOfSet" - Content Descriptor. - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This property is implemented using the "WM/Lyrics" - Content Descriptor. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This property is implemented using the - "WM/ContentGroupDescription" Content Descriptor. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This property is implemented using the - "WM/BeatsPerMinute" Content Descriptor. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "WM/Conductor" - Content Descriptor. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the copyright stored - in the ASF Content Description Object. - - - - - Gets and sets the MusicBrainz Artist ID of - the media described by the current instance. - - - A containing the MusicBrainz - ArtistID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Artist Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Group ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Release Group Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Album Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Artist ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Album Artist Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Track ID of - the media described by the current instance. - - - A containing the MusicBrainz - TrackID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Track Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Disc ID of - the media described by the current instance. - - - A containing the MusicBrainz - DiscID for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Disc Id" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicIP PUID of - the media described by the current instance. - - - A containing the MusicIPPUID - for the media described by the current instance or - null if no value is present. - - - This property is implemented using the "MusicIP/PUID" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Status of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseStatus for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Album Status" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Type of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseType for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Album Type" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Country of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseCountry for the media described by the current - instance or null if no value is present. - - - This property is implemented using the "MusicBrainz/Album Release Country" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the ReplayGain track gain in dB. - - - A value in dB for the track gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain track peak sample. - - - A value for the track peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album gain in dB. - - - A value in dB for the album gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album peak sample. - - - A value for the album peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - This property is implemented using the "WM/Picture" - Content Descriptor and Description Record. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - This class extends to provide a - representation of an unknown object which can be read from and - written to disk. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read the object. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Renders the current instance as a raw ASF object. - - - A object containing the - rendered version of the current instance. - - - - - This class extends to provide tagging - and properties support for Audible inc's aa file format. - - - - - Contains the tags for the file. - - - - - The offset to the tag block. - - - - - The offset to the end of tag pointer. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - The file is not the write length. - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - Currently this does not work as there is not enough - information about the file format - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - Currently this does not work as there is not enough - information about the file format - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - This class extends to provide support for - reading tags stored in the Audible Metadata format. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - position in a specified file. - - - A object containing the file from - which the contents of the new instance is to be read. - - - A value specify at what position to - read the tag. - - - is . - - - is less than zero or greater - than the size of the file. - - - The file does not contain FileIdentifier - at the given position. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - object. - - - A object to read the tag from. - - - is . - - - is less than 128 bytes or does - not start with FileIdentifier. - - - - - Populates the current instance by parsing the contents of - a raw AudibleMetadata tag. - - - A object containing the whole tag - object - - - is less than 128 bytes or does - not start with FileIdentifier. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Get or Set the Author Tag - - - - - Get or Set the Copyright Tag - - - - - Get or Set the Description Tag - - - - - Get or Set the Narrator Tag - - - - - Gets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - - - Gets the album for the media described by the - current instance. - - - A object containing the album for - the media described by the current instance or if no value is present. - - - - - Gets the album artist for the media described by the - current instance. - - - A object containing a single - artist described by the current instance or if no value is present. - - - - - Clears the values stored in the current instance. - - - - - Specifies the text encoding used when converting between a and a . - - - This enumeration is used by and . - - - - - The string is to be Latin-1 encoded. - - - - - The string is to be UTF-16 encoded. - - - - - The string is to be UTF-16BE encoded. - - - - - The string is to be UTF-8 encoded. - - - - - The string is to be UTF-16LE encoded. - - - - - This class represents and performs operations on variable length - list of elements. - - - - - Contains values to use in CRC calculation. - - - - - Specifies whether or not to use a broken Latin-1 - behavior. - - - - - Contains a one byte text delimiter. - - - - - Contains a two byte text delimiter. - - - - - Contains the last generic UTF-16 encoding read. - - - When reading a collection of UTF-16 strings, sometimes - only the first one will contain the BOM. In that case, - this field will inform the file what encoding to use for - the second string. - - - - - Contains the internal byte list. - - - - - Constructs and initializes a new instance of with a length of zero. - - - - - Constructs and initializes a new instance of by copying the values from another - instance. - - - A object containing the bytes - to be stored in the new instance. - - - - - Constructs and initializes a new instance of by copying the values from a - specified . - - - A containing the bytes to be stored - in the new instance. - - - - - Constructs and initializes a new instance of by copying a specified number of - values from a specified . - - - A containing the bytes to be stored - in the new instance. - - - A value specifying the number of bytes - to be copied to the new instance. - - - is less than zero or greater - than the length of the data. - - - - - Constructs and initializes a new instance of of specified size containing bytes - with a zeroed value. - - - A value specifying the number of bytes - to be stored in the new instance. - - - Each element of the new instance will have a value of - 0x00. to fill - a new instance with a specified value. - - - is less than zero. - - - - - Constructs and initializes a new instance of of specified size containing bytes - of a specified value. - - - A value specifying the number of bytes - to be stored in the new instance. - - - A value specifying the value to be - stored in the new instance. - - - is less than zero. - - - - - Gets the data stored in the current instance. - - - A containing the data stored in the - current instance. - - - - - Gets whether or not the current instance is empty. - - - A value indicating whether or not the - current instance is empty. - - - - - Gets the CRC-32 checksum of the current instance. - - - A value containing the CRC-32 checksum - of the current instance. - - - - - Gets and sets whether or not to use a broken behavior for - Latin-1 strings, common to ID3v1 and ID3v2 tags. - - - if the broken behavior is to be - used. Otherwise, . - - - Many media players and taggers incorrectly treat - Latin-1 fields as "default encoding" fields. As such, a - tag may end up with Windows-1250 encoded text. While this - problem would be apparent when moving a file from one - computer to another, it would not be apparent on the - original machine. By setting this property to , your program will behave like Windows - Media Player and others, who read tags with this broken - behavior. - Please note that TagLib# stores tag data in Unicode - formats at every possible instance to avoid these - problems in tags it has written. - - - - - Creates a new instance of - containing a specified range of elements from the current - instance. - - - A value specifying the index at which - to start copying elements from the current instance. - - - A value specifying the number of - elements to copy from the current instance. - - - is less than zero or - greater than or equal to . OR - is less than zero or greater - than the amount of available data. - - - - - Creates a new instance of - containing elements from the current instance starting - from a specified point. - - - A value specifying the index at which - to start copying elements from the current instance. - - - is less than zero or greater - than or equal to . - - - - - Finds the first byte-aligned occurance of a pattern in - the current instance, starting at a specified position. - - - A object containing the pattern - to search for in the current instance. - - - A value specifying the index in the - current instance at which to start searching. - - - A value specifying the byte alignment - of the pattern to search for, relative to . - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. The - difference between the position and will be divisible by . - - - is . - - - is less than zero or - is less than 1. - - - - - Finds the first occurance of a pattern in the current - instance, starting at a specified position. - - - A object containing the pattern - to search for in the current instance. - - - A value specifying the index in the - current instance at which to start searching. - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. - - - is . - - - is less than zero. - - - - - Finds the first occurance of a pattern in the current - instance. - - - A object containing the pattern - to search for in the current instance. - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. - - - is . - - - - - Finds the last byte-aligned occurance of a pattern in - the current instance, starting before a specified - position. - - - A object containing the pattern - to search for in the current instance. - - - A value specifying the index in the - current instance at which to start searching. - - - A value specifying the byte alignment - of the pattern to search for, relative to . - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. The - difference between the position and will be divisible by . - - - is . - - - is less than zero. - - - - - Finds the last occurance of a pattern in the current - instance, starting before a specified position. - - - A object containing the pattern - to search for in the current instance. - - - A value specifying the index in the - current instance at which to start searching. - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. - - - is . - - - is less than zero. - - - - - Finds the last occurance of a pattern in the current - instance. - - - A object containing the pattern - to search for in the current instance. - - - A value containing the index at which - was found in the current - instance, or -1 if the pattern was not found. - - - is . - - - - - Checks whether or not a pattern appears at a specified - position in the current instance. - - - A object containing the pattern - to check for in the current instance. - - - A value specifying the offset in the - current instance at which to check for the pattern. - - - A value specifying the position in - at which to start checking. - - - A value specifying the number of bytes - in to compare. - - - if the pattern was found at the - specified position. Otherwise, . - - - is . - - - - - Checks whether or not a pattern appears at a specified - position in the current instance. - - - A object containing the pattern - to check for in the current instance. - - - A value specifying the offset in the - current instance at which to check for the pattern. - - - A value specifying the position in - at which to start checking. - - - if the pattern was found at the - specified position. Otherwise, . - - - is . - - - - - Checks whether or not a pattern appears at a specified - position in the current instance. - - - A object containing the pattern - to check for in the current instance. - - - A value specifying the offset in the - current instance at which to check for the pattern. - - - if the pattern was found at the - specified position. Otherwise, . - - - is . - - - - - Checks whether or not a pattern appears at the beginning - of the current instance. - - - A object containing the pattern - to check for in the current instance. - - - if the pattern was found at the - beginning of the current instance. Otherwise, . - - - is . - - - - - Checks whether or not a pattern appears at the end of the - current instance. - - - A object containing the pattern - to check for in the current instance. - - - if the pattern was found at the - end of the current instance. Otherwise, . - - - is . - - - - - Checks whether or not the current instance ends with part - of a pattern. - - - A object containing the pattern - to search for in the current instance. - - - A value containing the index at which - a partial match was located, or -1 if no match was found. - - - This function is useful for checking for patterns - across multiple buffers. - - - - - Adds the contents of another - object to the end of the current instance. - - - A object containing data to add - to the end of the current instance. - - - The current instance is read-only. - - - - - Adds the contents of an array to the end of the current - instance. - - - A containing data to add to the end - of the current instance. - - - The current instance is read-only. - - - - - Inserts the contents of another - object into the current instance. - - - A value specifying the index at which - to insert the data. - - - A object containing data to - insert into the current instance. - - - The current instance is read-only. - - - - - Inserts the contents of an array to insert into the - current instance. - - - A value specifying the index at which - to insert the data. - - - A containing data to insert into the - current instance. - - - The current instance is read-only. - - - - - Resizes the current instance. - - - A value specifying the new size of the - current instance. - - - A object containing the padding byte - to use if the current instance is growing. - - - The current instance. - - - The current instance is read-only. - - - - - Resizes the current instance. - - - A value specifying the new size of the - current instance. - - - The current instance. - - - If the current instance grows, the added bytes are filled - with '0'. Use to specify - the padding byte. - - - The current instance is read-only. - - - - - - Removes a range of data from the current instance. - - - A value specifying the index at which - to start removing data. - - - A value specifying the number of bytes - to remove. - - - The current instance is read-only. - - - - - Converts an first four bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read from - the current instance. - - - - - Converts an first four bytes of the current instance to - a value using big-endian format. - - - A value containing the value read from - the current instance. - - - - - Converts an first four bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read from - the current instance. - - - - - Converts an first four bytes of the current instance to - a value using big-endian format. - - - A value containing the value read from - the current instance. - - - - - Converts an first two bytes of the current instance to a - value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first two bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts an first two bytes of the current instance to a - value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first two bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts an first four bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first four bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value. - - - if the most significant byte - appears first (big endian format), or if the least significant byte appears - first (little endian format). - - - A value containing the value read - from the current instance. - - - - - Converts an first eight bytes of the current instance to - a value using big-endian format. - - - A value containing the value read - from the current instance. - - - - - Converts a portion of the current instance to a object using a specified encoding. - - - A value indicating the encoding - to use when converting to a object. - - - A value specify the index in the - current instance at which to start converting. - - - A value specify the number of bytes to - convert. - - - A object containing the converted - text. - - - is less than zero or greater - than the total number of bytes, or is less than zero or greater than the number of bytes - after . - - - - - Converts all data after a specified index in the current - instance to a object using a - specified encoding. - - - A value indicating the encoding - to use when converting to a object. - - - A value specify the index in the - current instance at which to start converting. - - - A object containing the converted - text. - - - is less than zero or greater - than the total number of bytes. - - - - - Converts the current instance into a - object using a specified encoding. - - - A object containing the converted - text. - - - - - Converts the current instance into a - object using a UTF-8 encoding. - - - A object containing the converted - text. - - - - - Converts the current instance into a starting at a specified offset and using a specified - encoding, assuming the values are nil separated. - - - A value indicating the encoding - to use when converting to a object. - - - A value specify the index in the - current instance at which to start converting. - - - A containing the converted text. - - - - - Converts the current instance into a starting at a specified offset and using a specified - encoding, assuming the values are nil separated and - limiting it to a specified number of items. - - - A value indicating the encoding - to use when converting to a object. - - - A value specify the index in the - current instance at which to start converting. - - - A value specifying a limit to the - number of strings to create. Once the limit has been - reached, the last string will be filled by the remainder - of the data. - - - A containing the converted text. - - - - - Determines whether two specified objects are equal. - - - A to compare. - - - A to compare. - - - if and contain the same - data; otherwise, . - - - - - Determines whether two specified objects differ. - - - A to compare. - - - A to compare. - - - if and contain different - data; otherwise, . - - - - - Determines whether or not one - is less than another. - - - A to compare. - - - A to compare. - - - if is less than ; otherwise, - . - - - or - is . - - - - - Determines whether or not one - is less than or equal to another. - - - A to compare. - - - A to compare. - - - if is less than or equal to ; - otherwise, . - - - or - is . - - - - - Determines whether or not one - is greater than another. - - - A to compare. - - - A to compare. - - - if is greater than ; otherwise, - . - - - or - is . - - - - - Determines whether or not one - is greater than or equal to another. - - - A to compare. - - - A to compare. - - - if is greater than or equal to ; otherwise, . - - - or - is . - - - - - Creates a new object by adding - two objects together. - - - A to combine. - - - A to combine. - - - A new instance of with the - contents of followed by the - contents of . - - - - - Converts a to a new object. - - - A to convert. - - - A new instance of containing - . - - - - - Converts a to a new object. - - - A to convert. - - - A new instance of containing - the contents of . - - - - - Converts a to a new object. - - - A to convert. - - - A new instance of containing - the UTF-8 encoded contents of . - - - - - Converts a value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts an value into a big-endian data representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a big-endian data - representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts a value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts a value into a big-endian data representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a big-endian data - representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts a value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts a value into a big-endian data representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a data representation. - - - A value to convert into bytes. - - - if the most significant byte is - to appear first (big endian format), or if the least significant byte is to - appear first (little endian format). - - - A object containing the encoded - representation of . - - - - - Converts an unsigned value into a big-endian data - representation. - - - A value to convert into bytes. - - - A object containing the encoded - representation of . - - - - - Converts an string into a encoded data representation. - - - A object containing the text to - convert. - - - A value specifying the encoding - to use when converting the text. - - - A value specifying the number of - characters in to encoded. - - - A object containing the encoded - representation of . - - - - - Converts an string into a encoded data representation. - - - A object containing the text to - convert. - - - A value specifying the encoding - to use when converting the text. - - - A object containing the encoded - representation of . - - - - - Converts an string into a encoded data representation. - - - A object containing the text to - convert. - - - A value specifying the number of - characters in to encoded. - - - A object containing the encoded - representation of . - - - - - Converts an string into a encoded data representation. - - - A object containing the text to - convert. - - - A object containing the encoded - representation of . - - - - - Creates a new instance of by - reading in the contents of a specified file. - - - A object containing the path of the - file to read. - - - A object containing the contents - of the specified file. - - - is . - - - - - Creates a new instance of by - reading in the contents of a specified file. - - - A object containing the path of the - file to read. - - - A reference to be filled with the - first data chunk from the read file. - - - A value specifying whether or not to - copy the first chunk of the file into . - - - A object containing the contents - of the specified file. - - - is . - - - - - Creates a new instance of by - reading in the contents of a specified file abstraction. - - - A object containing - abstraction of the file to read. - - - A object containing the contents - of the specified file. - - - is . - - - - - Creates a new instance of by - reading in the contents of a specified file abstraction. - - - A object containing - abstraction of the file to read. - - - A reference to be filled with the - first data chunk from the read file. - - - A value specifying whether or not to - copy the first chunk of the file into . - - - A object containing the contents - of the specified file. - - - is . - - - - - Creates a new instance of by - reading in the contents of a specified stream. - - - A object containing - the stream to read. - - - A object containing the contents - of the specified stream. - - - is . - - - - - Creates a new instance of by - reading in the contents of a specified stream. - - - A object containing - the stream to read. - - - A reference to be filled with the - first data chunk from the read stream. - - - A value specifying whether or not to - copy the first chunk of the stream into . - - - A object containing the contents - of the specified stream. - - - is . - - - - - Gets the text delimiter for nil separated string lists of - a specified encoding. - - - A value specifying the encoding - to use. - - - A object containing the text - delimiter. - - - - - Gets the to use for a specified - encoding. - - - A value specifying encoding to - use. - - - A object containing the first - two bytes of the data to convert if equals . - - - A object capable of encoding - and decoding text with the specified type. - - - is used to determine whether the - encoding is big or little endian. If it does not contain - BOM data, the previously used endian format is used. - - - - - Determines whether another object is equal to the current - instance. - - - A to compare to the current - instance. - - - if is not - , is of type , and is equal to the current - instance; otherwise . - - - - - Determines whether another - object is equal to the current instance. - - - A object to compare to the - current instance. - - - if is not - and equal to the current instance; - otherwise . - - - - - Gets the hash value for the current instance. - - - A value equal to the CRC checksum of - the current instance. - - - - - Compares the current instance to another to determine if - their order. - - - A object to compare to the - current instance. - - - A which is less than zero if the - current instance is less than , - zero if it is equal to , and - greater than zero if the current instance is greater than - . - - - - - Gets an enumerator for enumerating through the the bytes - in the current instance. - - - A for - enumerating through the contents of the current instance. - - - - - Clears the current instance. - - - The current instance is read-only. - - - - - Adds a single byte to the end of the current instance. - - - A to add to the current instance. - - - The current instance is read-only. - - - - - Removes the first occurance of a from - the current instance. - - - A to remove from the current instance. - - - if the value was removed; - otherwise the value did not appear in the current - instance and is returned. - - - The current instance is read-only. - - - - - Copies the current instance to a - starting at a specified index. - - - A to copy to. - - - A value indicating the index in - at which to start copying. - - - - - Gets whether or not the current instance contains a - specified byte. - - - A value to look for in the current - instance. - - - if the value could be found; - otherwise . - - - - - Gets the number of elements in the current instance. - - - A value containing the number of bytes - in the current instance. - - - - - Gets whether or not the current instance is synchronized. - - - Always . - - - - - Gets the object that can be used to synchronize the - current instance. - - - A that can be used to synchronize - the current instance. - - - - - Removes the byte at the specified index. - - - A value specifying the position at - which to remove a byte. - - - The current instance is read-only. - - - - - Inserts a single byte into the current instance at a - specified index. - - - A value specifying the position at - which to insert the value. - - - A value to insert into the current - instance. - - - The current instance is read-only. - - - - - Gets the index of the first occurance of a value. - - - A to find in the current instance. - - - A value containing the first index - at which the value was found, or -1 if it was not found. - - - - - Gets whether or not the current instance is read-only. - - - if the current instance is - read-only; otherwise . - - - - - Gets whether or not the current instance has a fixed - size. - - - if the current instance has a - fixed size; otherwise . - - - - - Gets and sets the value as a specified index. - - - The current instance is read-only. - - - - - This class extends to represent - a collection of objects. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of with specified contents. - - - A containing objects to add to - the current instance. - - - - - Constructs and initializes a new instance of with specified contents. - - - A containing objects to add to - the current instance. - - - - - Performs a sorted insert of a - object into the current instance, optionally only adding - if the item is unique. - - - A object to add to the current - instance. - - - If , the object will only be added - if an identical value is not already contained in the - current instance. - - - is . - - - - - Converts the current instance to a by joining the contents together with a specified - separator. - - - A object to separate the - combined contents of the current instance. - - - A new object containing the - joined contents of the current instance. - - - is . - - - - - Splits a object using a - pattern. - - - A object to split. - - - A object to use to split - with. - - - A specifying the byte align to use - when splitting. In order to split when a pattern is - encountered, the index at which it is found must be - divisible by . - - - A value specifying the maximum number - of objects to return, or zero to not to limit the number. - If that that number is reached, the last value will - contain the remainder of the file even if it contains - more instances of . - - - A object containing - the split contents of the current instance. - - - or - is . - - - is less than 1. - - - - - Splits a object using a - pattern. - - - A object to split. - - - A object to use to split - with. - - - A specifying the byte align to use - when splitting. In order to split when a pattern is - encountered, the index at which it is found must be - divisible by . - - - A object containing - the split contents of the current instance. - - - or - is . - - - is less than 1. - - - - - Splits a object using a - pattern. - - - A object to split. - - - A object to use to split - with. - - - A object containing - the split contents of the current instance. - - - or - is . - - - - - This class combines a collection of tags so that they behave as - one. - - - - - Contains tags to be combined. - - - - - Constructs and initializes a new instance of with no internal tags. - - - You can set the tags in the new instance later using - . - - - - - Constructs and initializes a new instance of with a specified collection of - tags. - - - A containing a collection of tags to - combine in the new instance. - - - - - Gets the tags combined in the current instance. - - - A containing the tags combined in - the current instance. - - - - - Sets the child tags to combine in the current instance. - - - A containing the tags to combine. - - - - - Inserts a tag into the collection of tags in the current - instance. - - - A value specifying the index at which - to insert the tag. - - - A object to insert into the collection - of tags. - - - is less than zero or greater - than the count. - - - - - Adds a tag at the end of the collection of tags in the - current instance. - - - A object to add to the collection of - tags. - - - - - Removes a specified tag from the collection in the - current instance. - - - A object to remove from the - collection. - - - - - Clears the tag collection in the current instance. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined - containing the tag types contained in the current - instance. - - - This value contains a bitwise combined value from all the - child tags. - - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This is especially relevant for a movie. - For example, for "Back to the Future 2", this could be - "After visiting 2015, Marty McFly must repeat his visit - to 1955 to prevent disastrous changes to 1985...without - interfering with his first trip". - - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This is typically usefull for movies, although the - instrument played by each artist in a music may be of - relevance. - - It is highly important to match each role to the - performers. This means that a role may be to keep the match between a - Performers[i] and PerformersRole[i]. - - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the sort names for the composer of the - media described by the current instance. - - - A containing the sort names - for the composers of the media described by the - current instance or an empty array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the sort names for the Track Title of the - media described by the current instance. - - - A containing the sort names - for the Track Title of the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the sort names for the Album Title of the - media described by the current instance. - - - A containing the sort names - for the Title of the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - - - Gets and sets the MusicBrainz Artist ID. - - - A containing the MusicBrainz - ArtistID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release Group ID. - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release ID. - - - A containing the MusicBrainz - ReleaseID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release Artist ID. - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Track ID. - - - A containing the MusicBrainz - TrackID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Disc ID. - - - A containing the MusicBrainz - DiscID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicIP PUID. - - - A containing the MusicIP PUID - for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the Amazon ID. - - - A containing the Amazon Id - for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release Status. - - - A containing the MusicBrainz - ReleaseStatus for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release Type. - - - A containing the MusicBrainz - ReleaseType for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the MusicBrainz Release Country. - - - A containing the MusicBrainz - ReleaseCountry for the media described by the - current instance or null if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the ReplayGain track gain in dB. - - - A value in dB for the track gain as - per the ReplayGain specification. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the ReplayGain track peak sample. - - - A value for the track peak as per the - ReplayGain specification. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the ReplayGain album gain in dB. - - - A value in dB for the album gain as - per the ReplayGain specification. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the ReplayGain album peak sample. - - - A value for the album peak as per the - ReplayGain specification. - - - When getting the value, the child tags are looped - through in order and the first non-zero value is - returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the initial key of the media - represented by the current instance. - - - A object containing the initial - key of the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the remixer of the media - represented by the current instance. - - - A object containing the remixer - of the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the publisher of the media - represented by the current instance. - - - A object containing the - publisher of the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets and sets the ISRC (International Standard Recording Code) - of the song represented by the current instance. - - - A object containing the ISRC - of the media represented by the current - instance or if no value present. - - - When getting the value, the child tags are looped - through in order and the first non- - value is returned. - When setting the value, it is stored in each child - tag. - - - - - - Gets whether or not the current instance is empty. - - - if all the child tags are empty. - Otherwise . - - - - - - Clears all of the child tags. - - - - - This class extends and is used to - indicate that a file or tag is corrupt. - - - This exception will be thrown if invalid data interferes with the - reading of the file or tag. One common example is in the (legal) - downloading of media files with BitTorrent, in which case large - portions of the file will contain zeroed bytes. - - - Catching an exception when creating a . - - using System; - using TagLib; - - public class ExceptionTest - { - public static void Main () - { - try { - File file = File.Create ("partial.mp3"); // Partial download. - } catch (CorruptFileException e) { - Console.WriteLine ("That file is corrupt: {0}", e.ToString ()); - } - } - } - - - #using <System.dll> - #using <taglib-sharp.dll> - - using System; - using TagLib; - - void main () - { - try { - File file = File::Create ("partial.mp3"); // Partial download. - } catch (CorruptFileException^ e) { - Console::WriteLine ("That file is corrupt: {0}", e); - } - } - - - Imports System - Imports TagLib - - Public Class ExceptionTest - Public Shared Sub Main () - Try - file As File = File.Create ("partial.mp3") ' Partial download. - Catch e As CorruptFileException - Console.WriteLine ("That file is corrupt: {0}", e.ToString ()); - End Try - End Sub - End Class - - - import System - import TagLib - - try: - file As File = File.Create ("partial.mp3") # Partial download. - catch e as CorruptFileException: - Console.WriteLine ("That file is corrupt: {0}", e.ToString ()); - - - - - - Constructs and initializes a new instance of with a specified - message. - - - A containing a message explaining - the reason for the exception. - - - - - Constructs and initializes a new instance of with the default - values. - - - - - Constructs and initializes a new instance of with a specified - message containing a specified exception. - - - A containing a message explaining - the reason for the exception. - - - A object to be contained in the - new exception. For example, previously caught exception. - - - - - Constructs and initializes a new instance of from a specified - serialization info and streaming context. - - - A object containing the - serialized data to be used for the new instance. - - - A object containing the - streaming context information for the new instance. - - - This constructor is implemented because implements the interface. - - - - - This class extends to provide - support for reading and writing tags and properties for files - using the AIFF file format. - - - - - Contains the address of the DSF header block. - - - - - Contains the Id3v2 tag. - - - - - Contains the media properties. - - - - - Contains the size of the DSF File - - - - - Contains the start position of the Tag - - - - - Contains the end position of the Tag - - - - - The identifier used to recognize a DSF file. - - - "DSD " - - - - - The identifier used to recognize a Format chunk. - - - "fmt " - - - - - The identifier used to recognize a DSF ID3 chunk. - - - "ID3 " - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Reads the contents of the current instance determining - the size of the dsf data, the area the tagging is in, - and optionally reading in the tags and media properties. - - - If , any tags found will be read - into the current instance. - - - A value specifying how the media - data is to be read into the current instance. - - - A value reference to be filled with - the size of the RIFF data as read from the file. - - - A value reference to be filled with - the absolute seek position at which the tagging data - starts. - - - A value reference to be filled with - the absolute seek position at which the tagging data - ends. - - - The file does not begin with . - - - - - This struct implements to provide - support for reading DSF stream properties. - - - - - Contains the version. - - - This value is stored in bytes (12-15). - Currently only value of 1 is valid. - - - - - The Format Id. - - - This value is stored in bytes (16-19). - 0: DSD Raw - - - - - The Channel Type. - - - This value is stored in bytes (20-23). - 1: mono - 2:stereo - 3:3 channels - 4: quad - 5: 4 channels - 6: 5 channels - 7: 5.1 channels - - - - - Contains the number of channels. - - - This value is stored in bytes (24-27). - 1 is monophonic, 2 is stereo, 4 means 4 channels, etc.. - up to 6 channels may be represented - - - - - Contains the sample rate. - - - This value is stored in bytes (28-31). - the sample rate at which the sound is to be played back, - in Hz: 2822400, 5644800 - - - - - Contains the number of bits per sample. - - - This value is stored in bytes (32-35). - It can be any number from 1 to 8. - - - - - Contains the number of sample frames per channel. - - - This value is stored in bytes (36-43). - - - - - Contains the Block size per channel. - - - This value is stored in bytes (44-47). - Always: 4096 - - - - - Contains the length of the audio stream. - - - This value is provided by the constructor. - - - - - The size of an DSF Format chunk - - - - - The identifier used to recognize a DSF file. - Altough an DSF file start with "DSD ", we're interested - in the Format chunk only, which contains the properties we need. - - - "fmt " - - - - - Constructs and initializes a new instance of for a specified header block and - stream length. - - - A object containing the stream - header data. - - - A value containing the length of the - DSF Audio stream in bytes. - - - is . - - - does not begin with - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - Specifies the options to use when reading the media. - - - - - The media properties will not be read. - - - - - The media properties will be read with average accuracy. - - - - - Use the class in the - the property . - This will avoid loading picture content when reading the Tag. - Picture will be read lazily, when the picture content is - accessed. - - - - - This abstract class provides a basic framework for reading from - and writing to a file, as well as accessing basic tagging and - media properties. - - - This class is agnostic to all specific media types. Its - child classes, on the other hand, support the the intricacies of - different media and tagging formats. For example, supports the MPEG-4 specificication and - Apple's tagging format. - Each file type can be created using its format specific - constructors, ie. , but the - preferred method is to use or one of its - variants, as it automatically detects the appropriate class from - the file extension or provided mime-type. - - - - - Specifies the type of file access operations currently - permitted on an instance of . - - - - - Read operations can be performed. - - - - - Read and write operations can be performed. - - - - - The file is closed for both read and write - operations. - - - - - This delegate is used for intervening in by resolving the file type - before any standard resolution operations. - - - A object representing the - file to be read. - - - A object containing the mime-type - of the file. - - - A value specifying how to read - media properties from the file. - - - A new instance of or if the resolver could not match it. - - - A is one way of - altering the behavior of - . - When is called, the - registered resolvers are invoked in the reverse order in - which they were registered. The resolver may then perform - any operations necessary, including other type-finding - methods. - If the resolver returns a new , - it will instantly be returned, by . If it returns , will - continue to process. If the resolver throws an exception - it will be uncaught. - To register a resolver, use . - - - - - Contains the current stream used in reading/writing. - - - - - Contains the internal file abstraction. - - - - - Contains buffer size to use when reading. - - - - - Contains the file type resolvers to use in . - - - - - The reasons (if any) why this file is marked as corrupt. - - - - - The buffer size to use when reading large blocks of data - in the class. - - - A containing the buffer size to use - when reading large blocks of data. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - This property provides generic and general access - to the most common tagging features of a file. To access - or add a specific type of tag in the file, use . - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Gets the tag types contained in the physical file - represented by the current instance. - - - A bitwise combined value - containing the tag types stored in the physical file as - it was read or last saved. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined value - containing the tag types stored in the current instance. - - - - - Gets the name of the file as stored in its file - abstraction. - - - A object containing the name of the - file as stored in the - object used to create it or the path if created with a - local path. - - - - - Gets the mime-type of the file as determined by if - that method was used to create the current instance. - - - A object containing the mime-type - used to create the file or if was - not used to create the current instance. - - - - - Gets the seek position in the internal stream used by the - current instance. - - - A value representing the seek - position, or 0 if the file is not open for reading. - - - - - Gets the length of the file represented by the current - instance. - - - A value representing the size of the - file, or 0 if the file is not open for reading. - - - - - Gets the position at which the invariant portion of the - current instance begins. - - - A value representing the seek - position at which the file's invariant (media) data - section begins. If the value could not be determined, - -1 is returned. - - - - - Gets the position at which the invariant portion of the - current instance ends. - - - A value representing the seek - position at which the file's invariant (media) data - section ends. If the value could not be determined, - -1 is returned. - - - - - Gets and sets the file access mode in use by the current - instance. - - - A value describing the features - of stream currently in use by the current instance. - - - Changing the value will cause the stream currently in use - to be closed, except when a change is made from to which has no effect. - - - - - Gets the representing the file. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Indicates whether or not this file may be corrupt. - - - true if possibly corrupt; otherwise, false. - - - Files with unknown corruptions should not be written. - - - - - The reasons for which this file is marked as corrupt. - - - - - Mark the file as corrupt. - - - The reason why this file is considered to be corrupt. - - - - - Dispose the current file. Equivalent to setting the - mode to closed - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - Passing to does not guarantee the tag will be - created. For example, trying to create an ID3v2 tag on an - OGG Vorbis file will always fail. - It is safe to assume that if is not returned, the returned tag can be cast to the - appropriate type. - - - The following example sets the mood of a file to - several tag types. - string [] SetMoods (TagLib.File file, params string[] moods) - { - TagLib.Id3v2.Tag id3 = file.GetTag (TagLib.TagTypes.Id3v2, true); - if (id3 != null) - id3.SetTextFrame ("TMOO", moods); - - TagLib.Asf.Tag asf = file.GetTag (TagLib.TagTypes.Asf, true); - if (asf != null) - asf.SetDescriptorStrings (moods, "WM/Mood", "Mood"); - - TagLib.Ape.Tag ape = file.GetTag (TagLib.TagTypes.Ape); - if (ape != null) - ape.SetValue ("MOOD", moods); - - // Whatever tag types you want... - } - - - - - Gets a tag of a specified type from the current instance. - - - A value indicating the - type of tag to read. - - - A object containing the tag that was - found in the current instance. If no matching tag - was found, is returned. - - - This class merely accesses the tag if it exists. - provides the option - of adding the tag to the current instance if it does not - exist. - It is safe to assume that if is not returned, the returned tag can be cast to the - appropriate type. - - - The following example reads the mood of a file from - several tag types. - static string [] GetMoods (TagLib.File file) - { - TagLib.Id3v2.Tag id3 = file.GetTag (TagLib.TagTypes.Id3v2); - if (id3 != null) { - TextIdentificationFrame f = TextIdentificationFrame.Get (this, "TMOO"); - if (f != null) - return f.FieldList.ToArray (); - } - - TagLib.Asf.Tag asf = file.GetTag (TagLib.TagTypes.Asf); - if (asf != null) { - string [] value = asf.GetDescriptorStrings ("WM/Mood", "Mood"); - if (value.Length > 0) - return value; - } - - TagLib.Ape.Tag ape = file.GetTag (TagLib.TagTypes.Ape); - if (ape != null) { - Item item = ape.GetItem ("MOOD"); - if (item != null) - return item.ToStringArray (); - } - - // Whatever tag types you want... - - return new string [] {}; - } - - - - - Reads a specified number of bytes at the current seek - position from the current instance. - - - A value specifying the number of bytes - to read. - - - A object containing the data - read from the current instance. - - - This method reads the block of data at the current - seek position. To change the seek position, use . - - - is less than zero. - - - - - Writes a block of data to the file represented by the - current instance at the current seek position. - - - A object containing data to be - written to the current instance. - - - This will overwrite any existing data at the seek - position and append new data to the file if writing past - the current end. - - - is . - - - - - Searches forwards through a file for a specified - pattern, starting at a specified offset. - - - A object containing a pattern - to search for in the current instance. - - - A value specifying at what - seek position to start searching. - - - A object specifying a pattern - that the searched for pattern must appear before. If this - pattern is found first, -1 is returned. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - is . - - - - - Searches forwards through a file for a specified - pattern, starting at a specified offset. - - - A object containing a pattern - to search for in the current instance. - - - A value specifying at what - seek position to start searching. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - is . - - - - - Searches forwards through a file for a specified - pattern, starting at the beginning of the file. - - - A object containing a pattern - to search for in the current instance. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - is . - - - - - Searches backwards through a file for a specified - pattern, starting at a specified offset. - - - A object containing a pattern - to search for in the current instance. - - - A value specifying at what - seek position to start searching. - - - A object specifying a pattern - that the searched for pattern must appear after. If this - pattern is found first, -1 is returned. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - Searching for is not yet - implemented. - - - is . - - - - - Searches backwards through a file for a specified - pattern, starting at a specified offset. - - - A object containing a pattern - to search for in the current instance. - - - A value specifying at what - seek position to start searching. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - is . - - - - - Searches backwards through a file for a specified - pattern, starting at the end of the file. - - - A object containing a pattern - to search for in the current instance. - - - A value containing the index at which - the value was found. If not found, -1 is returned. - - - is . - - - - - Inserts a specifed block of data into the file repesented - by the current instance at a specified location, - replacing a specified number of bytes. - - - A object containing the data to - insert into the file. - - - A value specifying at which point to - insert the data. - - - A value specifying the number of - bytes to replace. Typically this is the original size of - the data block so that a new block will replace the old - one. - - - is . - - - - - Inserts a specified block of data into the file repesented - by the current instance at a specified location. - - - A object containing the data to - insert into the file. - - - A value specifying at which point to - insert the data. - - - This method inserts a new block of data into the file. To - replace an existing block, ie. replacing an existing - tag with a new one of different size, use . - - - is . - - - - - Inserts a specified block-size into the file repesented - by the current instance at a specified location. Former - data at this location is not overwriten and may then - contain random content. - - - A value specifying the size in bytes - of the block to be inserted (reserved). - - - A value specifying at which point to - insert the data. - - - This method is usefull to reserve some space in the file. - To insert or replace defined data blocks, use or - - - - - - Removes a specified block of data from the file - represented by the current instance. - - - A value specifying at which point to - remove data. - - - A value specifying the number of - bytes to remove. - - - - - Seeks the read/write pointer to a specified offset in the - current instance, relative to a specified origin. - - - A value indicating the byte offset to - seek to. - - - A value specifying an - origin to seek from. - - - - - Seeks the read/write pointer to a specified offset in the - current instance, relative to the beginning of the file. - - - A value indicating the byte offset to - seek to. - - - - - Creates a new instance of a subclass - for a specified path, guessing the mime-type from the - file's extension and using the average read style. - - - A object specifying the file to - read from and write to. - - - A new instance of as read from the - specified path. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Creates a new instance of a subclass - for a specified file abstraction, guessing the mime-type - from the file's extension and using the average read - style. - - - A object to use when - reading to and writing from the current instance. - - - A new instance of as read from the - specified abstraction. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Creates a new instance of a subclass - for a specified path and read style, guessing the - mime-type from the file's extension. - - - A object specifying the file to - read from and write to. - - - A value specifying the level of - detail to use when reading the media information from the - new instance. - - - A new instance of as read from the - specified path. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Creates a new instance of a subclass - for a specified file abstraction and read style, guessing - the mime-type from the file's extension. - - - A object to use when - reading to and writing from the current instance. - - - A value specifying the level of - detail to use when reading the media information from the - new instance. - - - A new instance of as read from the - specified abstraction. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Creates a new instance of a subclass - for a specified path, mime-type, and read style. - - - A object specifying the file to - read from and write to. - - - A object containing the mime-type - to use when selecting the appropriate class to use, or - if the extension in is to be used. - - - A value specifying the level of - detail to use when reading the media information from the - new instance. - - - A new instance of as read from the - specified path. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Creates a new instance of a subclass - for a specified file abstraction, mime-type, and read - style. - - - A object to use when - reading to and writing from the current instance. - - - A object containing the mime-type - to use when selecting the appropriate class to use, or - if the extension in is to be used. - - - A value specifying the level of - detail to use when reading the media information from the - new instance. - - - A new instance of as read from the - specified abstraction. - - - The file could not be read due to corruption. - - - The file could not be read because the mime-type could - not be resolved or the library does not support an - internal feature of the file crucial to its reading. - - - - - Adds a to the class. The one added last gets run first. - - - A delegate to add to the - file type recognition stack. - - - A adds support for - recognizing a file type outside of the standard mime-type - methods. - - - - - Prepare to Save the file. Thismust be called at the begining - of every File.Save() method. - - - - - Inserts a specified block into the file repesented - by the current instance at a specified location. - - - A object containing the data to - insert into the file. if null, no data is writen to the - file and the block is just inserted without overwriting the - former data at the given location. - - - A value specifying the size of the block - to be inserted. - - - A value specifying at which point to - insert the data. - - - A value specifying the number of - bytes to replace. Typically this is the original size of - the data block so that a new block will replace the old - one. - - - This method inserts a new block of data into the file. To - replace an existing block, ie. replacing an existing - tag with a new one of different size, use . - - - - - Resized the current instance to a specified number of - bytes. - - - A value specifying the number of - bytes to resize the file to. - - - - - Causes the original strack trace of the exception to be preserved when it is rethrown - - - - - - This class implements - to provide support for accessing the local/standard file - system. - - - This class is used as the standard file abstraction - throughout the library. - - - - - Contains the name used to open the file. - - - - - Constructs and initializes a new instance of - for a - specified path in the local file system. - - - A object containing the - path of the file to use in the new instance. - - - is . - - - - - Gets the path of the file represented by the - current instance. - - - A object containing the - path of the file represented by the current - instance. - - - - - Gets a new readable, seekable stream from the - file represented by the current instance. - - - A new to be used - when reading the file represented by the current - instance. - - - - - Gets a new writable, seekable stream from the - file represented by the current instance. - - - A new to be used - when writing to the file represented by the - current instance. - - - - - Closes a stream created by the current instance. - - - A object - created by the current instance. - - - - - This interface provides abstracted access to a file. It - premits access to non-standard file systems and data - retrieval methods. - - - To use a custom abstraction, use instead of when creating files. - - - The following example uses Gnome VFS to open a file - and read its title. - using TagLib; - using Gnome.Vfs; - - public class ReadTitle - { - public static void Main (string [] args) - { - if (args.Length != 1) - return; - - Gnome.Vfs.Vfs.Initialize (); - - try { - TagLib.File file = TagLib.File.Create ( - new VfsFileAbstraction (args [0])); - System.Console.WriteLine (file.Tag.Title); - } finally { - Vfs.Shutdown() - } - } - } - - public class VfsFileAbstraction : TagLib.File.IFileAbstraction - { - private string name; - - public VfsFileAbstraction (string file) - { - name = file; - } - - public string Name { - get { return name; } - } - - public System.IO.Stream ReadStream { - get { return new VfsStream(Name, System.IO.FileMode.Open); } - } - - public System.IO.Stream WriteStream { - get { return new VfsStream(Name, System.IO.FileMode.Open); } - } - - public void CloseStream (System.IO.Stream stream) - { - stream.Close (); - } - } - import TagLib from "taglib-sharp.dll" - import Gnome.Vfs from "gnome-vfs-sharp" - - class VfsFileAbstraction (TagLib.File.IFileAbstraction): - - _name as string - - def constructor(file as string): - _name = file - - Name: - get: - return _name - - ReadStream: - get: - return VfsStream(_name, FileMode.Open) - - WriteStream: - get: - return VfsStream(_name, FileMode.Open) - - if len(argv) == 1: - Vfs.Initialize() - - try: - file as TagLib.File = TagLib.File.Create (VfsFileAbstraction (argv[0])) - print file.Tag.Title - ensure: - Vfs.Shutdown() - - - - - Gets the name or identifier used by the - implementation. - - - A object containing the - name or identifier used by the implementation. - - - This value would typically represent a path or - URL to be used when identifying the file in the - file system, but it could be any value - as appropriate for the implementation. - - - - - Gets a readable, seekable stream for the file - referenced by the current instance. - - - A object to be - used when reading a file. - - - This property is typically used when creating - constructing an instance of . - Upon completion of the constructor, will be called to close - the stream. If the stream is to be reused after - this point, should be - implemented in a way to keep it open. - - - - - Gets a writable, seekable stream for the file - referenced by the current instance. - - - A object to be - used when writing to a file. - - - This property is typically used when saving a - file with . Upon completion of - the method, will be - called to close the stream. If the stream is to - be reused after this point, should be implemented in a - way to keep it open. - - - - - Closes a stream originating from the current - instance. - - - A object - originating from the current instance. - - - If the stream is to be used outside of the scope, - of TagLib#, this method should perform no action. - For example, a stream that was created outside of - the current instance, or a stream that will - subsequently be used to play the file. - - - - - This static class provides a mechanism for registering file - classes and mime-types, to be used when constructing a class via - . - - - The default types built into the taglib-sharp.dll assembly - are registered automatically when the class is initialized. To - register your own custom types, use . - - - - - - Contains a mapping between mime-types and the subclasses that support them. - - - - - Contains a static array of file types contained in the - TagLib# assembly. - - - A static Type array is used instead of getting types by - reflecting the executing assembly as Assembly.GetTypes is - very inefficient and leaks every type instance under - Mono. Not reflecting taglib-sharp.dll saves about 120KB - of heap. - - - - - Constructs and initializes the - class by registering the default types. - - - - - Initializes the class by registering the default types. - - - - - Registers a subclass to be used when - creating files via . - - - A object for the class to register. - - - In order to register mime-types, the class represented by - should use the custom attribute. - - - - - Gets a dictionary containing all the supported mime-types - and file classes used by . - - - A object containing the - supported mime-types. - - - - - This class represents a Flac metadata block. - - - - - Contains the block header. - - - - - Constructs and initializes a new instance of with a specified header and internal - data. - - - A object containing the - header to use for the new instance. - - - A object containing the data - to be contained in the new instance. - - - is . - - - The size of does not match the - size specified in . - - - - - Constructs and initializes a new instance of with of a specified type and internal - data. - - - A value indicating the type of - data stored in . - - - A object containing the data - to be contained in the new instance. - - - is . - - - - - Gets the type of data contained in the current instance. - - - A value indicating the type of - data contained in . - - - - - Gets whether or not the block represented by the current - instance is the last metadata block in the Flac stream. - - - if the block represented by the - current instance was the last one to appear in the file - and is followed immediately by the audio data, or if another block appears after the - current one or the block was not read from disk. - - - - - Gets the size of the data contained in the current - instance. - - - - - Gets the total size of the block represented by the - current instance as it appears on disk. - - - - - Gets the data contained in the current instance. - - - A object containing the data - stored in the current instance. - - - - - Renders the current instance as a raw Flac metadata - block. - - - A value indicating whether or not the - block is to be marked as the last metadata block. - - - A object containing the - rendered version of the current instance. - - - - - Specifies the contents of a Flac block in . - - - - - The block contains stream information. - - - - - The block contains padding. - - - - - The block contains application data. - - - - - The block contains seek table. - - - - - The block contains a Xipp comment. - - - - - The block contains a cue sheet. - - - - - The block contains a picture. - - - - - This structure provides a representation of a Flac metadata block - header structure. - - - - - The size of a block header. - - - - - Constructs and initializes a new instance of by reading a raw header from a object. - - - A object containing a raw - block header. - - - is . - - - contains less than 4 bytes. - - - - - Constructs and initializes a new instance of for a specified block type and size. - - - A value describing the contents - of the block. - - - A value containing the block data - size minus the size of the header. - - - - - Renderes the current instance as a raw Flac block header. - - - A value specifying whether or not the - header is the last header of the file. - - - A object containing the - rendered header. - - - - - Gets the type of block described by the current instance. - - - A value describing the block - type. - - - - - Gets whether or not the block is the last in the file. - - - if the block is the last in the - file; otherwise . - - - - - Gets the size of the block described by the current - instance, minus the block header. - - - A value containing the size of the - block, minus the header. - - - - - This class extends to - provide tagging and properties support for Xiph's Flac audio - files. - - - A will be added - automatically to any file that doesn't contain one. This change - does not effect the physical file until is - called and can be reversed using the following method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the Flac metadata tag. - - - - - Contains the combination of all file tags. - - - - - Contains the Flac header block. - - - - - Contains the stream start position. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - Indicates whether or not the block types passed into - are to be white-listed or - black-listed. - - - - - All block types except those provided are to be - returned. - - - - - Only those block types provides should be - returned. - - - - - Reads all metadata blocks starting from the current - instance, starting at a specified position. - - - A value reference specifying the - position at which to start searching for the blocks. This - will be updated to the position of the first block. - - - A value reference updated to the - position at which the last block ends. - - - A value indicating whether to - white-list or black-list the contents of . - - - A containing the types to look - for or not look for as specified by . - - - A object containing the blocks - read from the current instance. - - - "fLaC" could not be found. - - - - - This class extends to provide support - for reading and writing FLAC metadata boxes. - - - At this point, only Xiph Comments and pictures are supported. - - - - - Contains the pictures. - - - - - Constructs and initializes a new instance of using a collection of blocks. - - - A object containing objects to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of using a collection of blocks. - - - A object enumerating objects to use in the new instance. - - - is . - - - - - Gets the first Xiph comment stored in the current - instance, optionally creating one if necessary. - - - A value indicating whether or not a - comment should be added if one cannot be found. - - - A object containing the source tag to - copy the values from, or to not - copy values. - - - A object containing the - tag that was found in or added to the current instance. - If no matching tag was found and none was created, is returned. - - - - - Removes all child Xiph Comments from the current - instance. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined value - containing the tag types stored in the current instance. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - - - Clears the values stored in the current instance. - - - - - This class implements to provide support - for reading and writing Flac picture metadata. - - - - - Constructs and initializes a new instance of by reading the contents of a raw Flac - image structure. - - - A object containing the raw - Flac image. - - - is . - - - contains less than 32 bytes. - - - - - Constructs and initializes a new instance of by copying the properties of a object. - - - A object to use for the new - instance. - - - is . - - - - - Renders the current instance as a raw Flac picture. - - - A object containing the - rendered version of the current instance. - - - - - Gets and sets the mime-type of the picture data - stored in the current instance. - - - A object containing the mime-type - of the picture data stored in the current instance. - - - - - Gets and sets the type of content visible in the picture - stored in the current instance. - - - A containing the type of - content visible in the picture stored in the current - instance. - - - - - Gets and sets a filename of the picture stored in the - current instance. - - - A object containing a fielname, with - extension, of the picture stored in the current instance. - - - - - Gets and sets a description of the picture stored in the - current instance. - - - A object containing a description - of the picture stored in the current instance. - - - - - Gets and sets the picture data stored in the current - instance. - - - A object containing the picture - data stored in the current instance. - - - - - Gets and sets the width of the picture in the current - instance. - - - A value containing width of the - picture stored in the current instance. - - - - - Gets and sets the height of the picture in the current - instance. - - - A value containing height of the - picture stored in the current instance. - - - - - Gets and sets the color depth of the picture in the - current instance. - - - A value containing color depth of the - picture stored in the current instance. - - - - - Gets and sets the number of indexed colors in the picture - in the current instance. - - - A value containing number of indexed - colors in the picture, or zero if the picture is not - stored in an indexed format. - - - - - This structure implements and provides - information about a Flac audio stream. - - - - - Contains the flags. - - - - - Contains the low portion of the length. - - - - - Contains the stream length. - - - - - Constructs and initializes a new instance of by reading a raw stream header - structure and using the stream length. - - - A object containing the raw - stream header. - - - A value containing the length of the - stream. - - - is . - - - contains less than 18 bytes. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the sample width of the audio represented by the - current instance. - - - A value containing the sample width of - the audio represented by the current instance. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets a high portion of the length of the audio - represented by the current instance. - - - A value containing the high portion - of the length. - - - - - This static class provides convenience functions for converting - between genres and their respective audio - and video indices as used by several formats. - - - - - Contains a list of ID3v1 audio generes. - - - - - Contains a list of DivX audio generes. - - - - - Gets a list of standard audio generes. - - - A containing standard audio - genres. - - - The genres are stored in the same order and with the same - values as in the ID3v1 format. - - - - - Gets a list of standard video generes. - - - A containing standard video - genres. - - - The genres are stored in the same order and with the same - values as in the DivX format. - - - - - Gets the genre index for a specified audio genre. - - - A object containing the name of the - genre to look up. - - - A value containing the index of the - genre in the audio array or 255 if it could not be found. - - - - - Gets the genre index for a specified video genre. - - - A object containing the name of the - genre to look up. - - - A value containing the index of the - genre in the video array or 255 if it could not be found. - - - - - Gets the audio genre from its index in the array. - - - A value containing the index to - aquire the genre from. - - - A object containing the audio genre - found at the index, or if it does - not exist. - - - - - Gets the video genre from its index in the array. - - - A value containing the index to - aquire the genre from. - - - A object containing the video genre - found at the index, or if it does - not exist. - - - - - Gets the audio genre from its index in the array. - - - A object, either in the format - "(123)" or "123". - - - A object containing the audio genre - found at the index, or if it does - not exist. - - - - - Gets the video genre from its index in the array. - - - A object, either in the format - "(123)" or "123". - - - A object containing the video genre - found at the index, or if it does - not exist. - - - - - Converts a string, either in the format "(123)" or - "123" into a byte or equal numeric value. - - - A object, either in the format - "(123)" or "123", to be converted. - - - A value containing the numeric value - of or 255 if no numeric value - could be extracted. - - - - - A Gif photo codec. Contains basic photo details. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - A new instance. - - - - - This class extends to provide tagging - and property support for Gif files. - - - - - Gif file signature which occurs at the begin of the file - - - - - String which is used to indicate version the gif file format version 87a - - - - - String which is used to indicate version the gif file format version 89a - - - - - Application Extension Identifier for an XMP Block - - - - - Application Authentication Extension Code for an XMP Block - - - - - The Magic Trailer for XMP Data - - - The storage of XMP data in GIF does not follow the GIF specification. According to the - specification, extension data is stored in so-called sub-blocks, which start with a length - byte which specifies the number of data bytes contained in the sub block. So a block can at - most contain 256 data bytes. After a sub-block, the next sub-block begins. The sequence ends, - when a sub-block starts with 0. So readers, which are not aware of the XMP data not following - this scheme, will get confused by the XMP data. To fix this, this trailer is added to the end. - It has a length of 258 bytes, so that it is ensured that a reader which tries to skip the - XMP data reads one of this bytes as length of a sub-block. But, each byte points with its length - to the last one. Therefoe, independent of the byte, the reader reads as sub-block length, it is - redirected to the last byte of the trailer and therfore to the end of the XMP data. - - - - - The width of the image - - - - - The height of the image - - - - - The Properties of the image - - - - - The version of the file format - - - - - The start of the first block in file after the header. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Reads the information from file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads a single byte form file. This is needed often for Gif files. - - - A with the read data. - - - - - Reads the Header and the Logical Screen Descriptor of the GIF file and, - if there is one, skips the global color table. It also extracts the - image width and height from it. - - - - - Reads the metadata from file. The current position must point to the - start of the first block after the Header and Logical Screen - Descriptor (and, if there is one, the Global Color Table) - - - - - Reads an Extension Block at the current position. The current position must - point to the 2nd byte of the comment block. (The other byte is usually - read before to identify the comment block) - - - - - Reads an Application Extension Block at the current position. The current - position must point to the 3rd byte of the comment block. (The other 2 bytes - are usually read before to identify the comment block) - - - - - Reads a Comment Block at the current position. The current position must - point to the 3rd byte of the comment block. (The other 2 bytes are usually - read before to identify the comment block) - - - - - Skips the color table if there is one - - - A with the packed data which is - contained Logical Screen Descriptor or in the Image Descriptor. - - - The data contained in the packed data is different for the Logical - Screen Descriptor and for the Image Descriptor. But fortunately, - the bits which are used do identifying the exitstance and the size - of the color table are at the same position. - - - - - Skip over the image data at the current position. The current position must - point to 2nd byte of the Image Descriptor. (First byte is usually read before - to identify the image descriptor.) - - - - - Reads a sequence of sub-blocks from the current position and concatenates the data - from the sub-blocks to a string. The current position must point to the size-byte - of the first subblock to skip. - - - A with the data contained in the sub-blocks. - - - - - Skips over a sequence of sub-blocks from the current position in the file. - The current position must point to the size-byte of the first subblock to skip. - - - - - Save the metadata to file. - - - - - Renders the XMP data to a Application Extension Block which can be - embedded in a Gif file. - - - A with the Application Extension Block for the - XMP data, or if the file does not have XMP data. - - - - - Renders the Gif Comment to a Comment Extension Block which can be - embedded in a Gif file. - - - A with the Comment Extension Block for the - Gif Comment, or if the file does not have - a Gif Comment. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Contains the Gif comment. - - - - - Constructor. - - - The value of the comment. - - - - - Constructor. Creates a new empty comment. - - - - - The value of the comment represented by the current instance. - - - - - Gets or sets the comment for the image described - by the current instance. - - - A containing the comment of the - current instace. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Clears the values stored in the current instance. - - - - - Indicates the types of media represented by a or object. - - - These values can be bitwise combined to represent multiple media - types. - - - - - No media is present. - - - - - Audio is present. - - - - - Video is present. - - - - - A Photo is present. - - - - - Text is present. - - - - - This interface provides basic information, common to all media - codecs. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - A bitwise combined containing - the types of media represented by the current instance. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - This interface inherits to provide - information about an audio codec. - - - When dealing with a , if contains , it is safe to assume that the object also inherits and can be recast without issue. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - This interface provides information specific - to lossless audio codecs. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - This interface inherits to provide - information about a video codec. - - - When dealing with a , if contains , it is safe to assume that the object also inherits and can be recast without issue. - - - - - Gets the width of the video represented by the current - instance. - - - A value containing the width of the - video represented by the current instance. - - - - - Gets the height of the video represented by the current - instance. - - - A value containing the height of the - video represented by the current instance. - - - - - This interface inherits to provide - information about a photo. - - - When dealing with a , if contains , it is safe to assume that the object also inherits and can be recast without issue. - - - - - Gets the width of the photo represented by the current - instance. - - - A value containing the width of the - photo represented by the current instance. - - - - - Gets the height of the photo represented by the current - instance. - - - A value containing the height of the - photo represented by the current instance. - - - - - Gets the (format specific) quality indicator of the photo - represented by the current instance. - - - A value indicating the quality. A value - 0 means that there was no quality indicator for the format - or the file. - - - - - This class provides a mechanism for customizing how Id3v1 text - is read and written. - - - - - Converts raw ID3v1 text data to a - object. - - - A object containing raw Id3v1 - text data. - - - A object containing the converted - text. - - - - - Converts a object to raw ID3v1 text - data. - - - A object to convert. - - - A containing the raw ID3v1 text - data. - - - - - This class extends to provide support for - reading and writing tags stored in the ID3v1.1 format. - - - - - Contains the title. - - - - - Contains the semicolon separated performers. - - - - - Contains the album name. - - - - - Contains the 4 digit year. - - - - - Contains a comment on track. - - - - - Contains the track number in the album. - - - - - Contains the genre index. - - - - - The size of a ID3v1 tag. - - - - - The identifier used to recognize a ID3v1 tags. - - - "TAG" - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - position in a specified file. - - - A object containing the file from - which the contents of the new instance is to be read. - - - A value specify at what position to - read the tag. - - - is . - - - is less than zero or greater - than the size of the file. - - - The file does not contain - at the given position. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - object. - - - A object to read the tag from. - - - is . - - - is less than 128 bytes or does - not start with . - - - - - Renders the current instance as a raw ID3v1 tag. - - - A object containing the - rendered tag. - - - - - Gets and sets the object - to use when reading and writing ID3v1 fields. - - - A object to use when - processing fields. - - - - - Populates the current instance by parsing the contents of - a raw ID3v1 tag. - - - A object containing the - starting with an ID3v1 tag. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - When stored on disk, only the first 30 bytes of the - Latin-1 encoded value will be stored. This may result in - lost data. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - When stored on disk, only the first 30 bytes of the - Latin-1 encoded value will be stored, minus a byte for - each additionial performer (i.e. two performers will only - have 29 bytes and three performers will only have 28 - bytes).This may result in lost data. - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - When stored on disk, only the first 30 bytes of the - Latin-1 encoded value will be stored. This may result in - lost data. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - When stored on disk, only the first 28 bytes of the - Latin-1 encoded value will be stored. This may result in - lost data. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - Only first genre will be stored and only if it is an - exact match for a value appearing in . All other values will - result in the property being cleared. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - Only values between 1 and 9999 will be stored, all other - values will result in the property being zeroed. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - Only values between 1 and 255 will be stored, all other - values will result in the property being zeroed. - - - - - Clears the values stored in the current instance. - - - - - Specifies the event type used by a and . - - - - - The padding - no meaning - - - - - The end of initial silence - - - - - The intro start - - - - - The main part start - - - - - The outro start - - - - - The outro end - - - - - The verse start - - - - - The refrain start - - - - - The interlude start - - - - - The theme start - - - - - The variation start - - - - - The key change - - - - - The time change - - - - - momentary unwanted noise (Snap, Crackle, and Pop) - - - - - The sustained noise - - - - - The sustained noise end - - - - - The intro end - - - - - The main part end - - - - - The verse end - - - - - The refrain end - - - - - The theme end - - - - - Profanity starts - - - - - The profanity end - - - - - The audio end - - - - - The audio file end - - - - - This class is a filler until support for reading and writing the - ID3v2 extended header is implemented. - - - - - Contains the size of the read header. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the raw contents from - a object. - - - A object containing the raw - extended header structure. - - - A value indicating the ID3v2 version. - - - - - Gets the size of the data on disk in bytes. - - - A value containing the size of the - data on disk. - - - - - Populates the current instance with the contents of the - raw ID3v2 frame. - - - A object containing the raw - extended header structure. - - - A value indicating the ID3v2 version. - - - - - Creates a deep copy of the current instance. - - - A new object identical to - the current instance. - - - - - This structure provides a representation of an ID3v2 tag footer - which can be read from and written to disk. - - - - - Contains the tag's major version. - - - - - Contains tag's flags. - - - - - The size of a ID3v2 footer. - - - - - The identifier used to recognize a ID3v2 footer. - - - "3DI" - - - - - Constructs and initializes a new instance of by reading it from raw footer data. - - - A object containing the raw - data to build the new instance from. - - - is . - - - is smaller than , does not begin with , contains invalid flag data, - or contains invalid size data. - - - - - Constructs and intializes a new instance of by reading in the contents of the header - object used for the same tag. - - - A object to base the new instance - off of. - - - - - Gets and sets the major version of the tag described by - the current instance. - - - A value specifying the ID3v2 version - of tag described by the current instance. - - - When the version is set, unsupported header flags will - automatically be removed from the tag. - - - is not 4. - - - - - Gets and sets the version revision number of the tag - represented by the current instance. - - - A value containing the version - revision number of the tag represented by the current - instance. - - - This value should always be zeroed. A non-zero value - indicates an experimental or new version of the format - which may not be completely understood by the current - implementation. Some software may refuse to read tags - with a non-zero value. - - - - - Gets and sets the flags applied to the current instance. - - - A bitwise combined value - containing the flags applied to the current instance. - - - contains a flag not supported - by the the ID3v2 version of the current instance. - - - - - Gets and sets the size of the tag described by the - current instance, minus the header and footer. - - - A value containing the size of the - tag described by the current instance. - - - - - Gets the complete size of the tag described by the - current instance, including the header and footer. - - - A value containing the complete size - of the tag described by the current instance. - - - - - Renders the current instance as a raw ID3v2 header. - - - A object containing the - rendered header. - - - - - This abstract class provides a basic framework for representing - ID3v2.4 frames. - - - - - Contains the frame's header. - - - - - Contains the frame's grouping ID. - - - - - Contains the frame's encryption ID. - - - - - Constructs and initializes a new instance of by reading the raw header encoded in the - specified ID3v2 version. - - - A object containing the - identifier or header data to use for the new instance. - - - A value indicating the ID3v2 version - which is encoded in. - - - is . - - - does not contain a complete - identifier. - - - - - Constructs and initializes a new instance of with a specified header. - - - A value containing the header - to use for the new instance. - - - - - Gets the frame ID for the current instance. - - - A object containing the - four-byte ID3v2.4 frame header for the current instance. - - - - - Gets the size of the current instance as it was last - stored on disk. - - - A value containing the size of the - current instance as it was last stored on disk. - - - - - Gets and sets the frame flags applied to the current - instance. - - - A bitwise combined value - containing the frame flags applied to the current - instance. - - - If the value includes either or , - will throw a . - - - - - Gets and sets the grouping ID applied to the current - instance. - - - A value containing the grouping - identifier for the current instance, or -1 if not set. - - - Grouping identifiers can be between 0 and 255. Setting - any other value will unset the grouping identity and set - the value to -1. - - - - - Gets and sets the encryption ID applied to the current - instance. - - - A value containing the encryption - identifier for the current instance, or -1 if not set. - - - Encryption identifiers can be between 0 and 255. - Setting any other value will unset the grouping identity - and set the value to -1. - If set, will throw a . - - - - - Renders the current instance, encoded in a specified - ID3v2 version. - - - A value specifying the version of - ID3v2 to use when encoding the current instance. - - - A object containing the - rendered version of the current instance. - - - The current instance uses some feature that cannot be - implemented in the specified ID3v2 version, or uses a - feature, such as encryption or compression, which is not - yet implemented in the library. - - - - - Gets the text delimiter for a specified encoding. - - - A value specifying the encoding - to get the delimiter for. - - - A object containing the - delimiter for the specified encoding. - - - - - Converts an encoding to be a supported encoding for a - specified tag version. - - - A value containing the original - encoding. - - - A value containing the ID3v2 version - to be encoded for. - - - A value containing the correct - encoding to use, based on and what is supported - by . - - - - - Populates the current instance by reading the raw frame - from disk, optionally reading the header. - - - A object containing the raw - ID3v2 frame. - - - A value containing the offset in - at which the frame begins. - - - A value containing the ID3v2 version - of the raw frame contained in . - - - A value indicating whether or not to - read the header into current instance. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Extracts the field data from the raw data portion of an - ID3v2 frame. - - - A object containing fraw frame - data. - - - A value containing the index at which - the data is contained. - - - A value containing the ID3v2 version - of the data. - - - A object containing the - extracted field data. - - - This method is necessary for extracting extra data - prepended to the frame such as the grouping ID. - - - is . - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - This method is implemented by rendering the current - instance as an ID3v2.4 frame and using to create a new - frame. As such, this method should be overridden by - child classes. - - - - - This static class performs the necessary operations to determine - and create the correct child class of for a - given raw ID3v2 frame. - - - By default, will only load frames - contained in the library. To add additional frames to the - process, register a frame creator with . - - - - - Creates a frame from a specified block of data, or - returns if unsupported. - - - A object containing a raw ID3v2 - frame. - - - A value specifying the offset in - at which the frame data begins. - - - A object for the frame - contained in . - - - A specifying the version of ID3v2 the - raw frame data is stored in. - - - A object if the method was able to - match and create one. Otherwise . - - - Frame creators are used to provide access or - support for items that are left out of TagLib#. - - - - public Frame Creator (TagLib.ByteVector data, TagLib.Id3v2.FrameHeader header) - { - if (header.FrameId == "RVRB") - return new ReverbFrame (data, header); - else - return null; - } - ... - TagLib.Id3v2.FrameFactor.AddFrameCreator (ReverbFrame.Creator); - - - - - - - Contains registered frame creators. - - - - - Creates a object by reading it from - raw ID3v2 frame data. - - - A object containing a raw ID3v2 - frame. - - - A object containing - abstraction of the file to read. - Ignored if is not null. - - - A value reference specifying at what - index in , or in - if not null, - at which the frame begins. After reading, it contains - the offset of the next frame to be read. - - - A value specifying the ID3v2 version - the frame in is encoded in. - - - A value specifying whether the entire - tag has already been unsynchronized. - - - A object read from the data, or if none is found. - - - The frame contained in the raw data could not be - converted to ID3v2 or uses encryption or compression. - - - - - Adds a curstom frame creator to try before using standard - frame creation methods. - - - A delegate to be used by the - frame factory. - - - Frame creators are used before standard methods so custom - checking can be used and new formats can be added. They - are executed in the reverse order in which they are - added. - - - is . - - - - - Indicates the flags applied to a - object. - - - - - The header contains no flags. - - - - - Indicates that the frame is to be deleted if the tag is - altered. - - - - - Indicates that the frame is to be deleted if the file is - altered. - - - - - Indicates that the frame is read-only and should not be - altered. - - - - - Indicates that the frame has a grouping identity. - - - - - Indicates that the frame data is compressed. - - - - - Indicates that the frame data is encrypted. - - - - - Indicates that the frame data has been unsynchronized. - - - - - Indicates that the frame has a data length indicator. - - - - - This structure provides a representation of an ID3v2 frame header - which can be read from and written to disk. - - - - - Contains frame's ID. - - - - - Contains frame's flags. - - - - - Constructs and initializes a new instance of by reading it from raw header data - of a specified version. - - - A object containing the raw - data to build the new instance from. - - - A value containing the ID3v2 version - with which the data in was - encoded. - - - If the data size is smaller than the size of a full - header, the data is just treated as a frame identifier - and the remaining values are zeroed. - - - is . - - - is smaller than the size of a - frame identifier or is less - than 2 or more than 4. - - - - - Gets and sets the identifier of the frame described by - the current instance. - - - A object containing the - identifier of the frame described by the current - instance. - - - is . - - - - - Gets and sets the size of the frame described by the - current instance, minus the header. - - - A value containing the size of the - frame described by the current instance. - - - - - Gets and sets the flags applied to the current instance. - - - A bitwise combined value - containing the flags applied to the current instance. - - - contains a either compression - or encryption, neither of which are supported by the - library. - - - - - Renders the current instance, encoded in a specified - ID3v2 version. - - - A value specifying the version of - ID3v2 to use when encoding the current instance. - - - A object containing the - rendered version of the current instance. - - - The version specified in the current instance is - unsupported. - - - - - Gets the size of a header for a specified ID3v2 version. - - - A value specifying the version of - ID3v2 to get the size for. - - - - - This class extends , implementing support for - ID3v2 Attached Picture (APIC), ID3v2 General Encapsulated - Object (GEOB) and Frames. - - - A is used for storing - any file (picture or other types) that complement. - This is typically (but not only limited to) the album cover, - the physical medium, leaflets, file icons or other files and - object data. - Additionally, provides a - generic way or getting and setting pictures/files which is - preferable to format specific code. - - - - - Contains the text encoding to use when rendering. - - - - - Contains the mime type of . - - - - - Contains the type of picture. - - - - - Contains the filename. - - - - - Contains the description. - - - - - Contains the picture data. - - - - - Contains the raw field data of the current instance as - sent to or if has not - been called or has been - called. - - - As this frame takes a while to parse and isn't read in - all cases, the raw data is stored here until it is - needed. This speeds up the file read time significantly. - - - - - Contains the ID3v2 version is - stored in. - - - - - Stream where the picture is located - - - - - Offset from where the picture start in the - - - - - Size of the picture in the (-1 = until end of Stream) - - - - - Constructs and initializes a new instance of with no contents and the - default values. - - - When a frame is created, it is not automatically - added to the tag. Consider using for more - integrated frame creation. - Additionally, - provides a generic way or getting and setting - attachments which is preferable to format specific - code. - - - - - Constructs and initializes a new instance of by populating it with - the contents of another object. - - - A object containing values to use - in the new instance. - - - is . - - - When a frame is created, it is not automatically - added to the tag. Consider using for more - integrated frame creation. - Additionally, - provides a generic way or getting and setting - attachments which is preferable to format specific - code. - - - Add a picture to a file. - - using TagLib; - using TagLib.Id3v2; - - public static class AddId3v2Picture - { - public static void Main (string [] args) - { - if (args.Length != 2) - throw new ApplicationException ( - "USAGE: AddId3v2Picture.exe AUDIO_FILE PICTURE_FILE"); - - // Create the file. Can throw file to TagLib# exceptions. - File file = File.Create (args [0]); - - // Get or create the ID3v2 tag. - TagLib.Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, true) as TagLib.Id3v2.Tag; - if (tag == null) - throw new ApplicationException ("File does not support ID3v2 tags."); - - // Create a picture. Can throw file related exceptions. - TagLib.Picture picture = TagLib.Picture.CreateFromPath (path); - - // Add a new picture frame to the tag. - tag.AddFrame (new AttachedPictureFrame (picture)); - - // Save the file. - file.Save (); - } - } - - - - - - Constructs and initializes a new instance of by reading its raw data in - a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs a new instance of from a file. - The content will be lazily loaded. - - - A object containing - abstraction of the file to read. - - - The position in bytes where the picture is located in the - . - - - The size in bytes of the picture in the - (-1 : read all). - - - is . - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Возвращает и задает текстовую кодировку, используемую при хранении текущего экземпляра. - - - A containing the text encoding to - use when storing the current instance. - - - This encoding is overridden when rendering if is or the render version does not support - it. - - - - - Возвращает и задает MIME-тип изображения, хранящегося в текущем экземпляре. - - - A containing the mime-type of the - picture stored in the current instance. - - - - - Возвращает и задает тип объекта, хранящийся в текущем экземпляре. - - - A containing the object type - stored in the current instance. - - - For a General Object Frame, use: - . - Other types will make it a Picture Frame - - - - - Возвращает и задает имя файла изображения, хранящегося в текущем экземпляре. - - - A object containing a fielname, with - extension, of the picture stored in the current instance. - - - - - Возвращает и задает описание, хранящееся в текущем экземпляре. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description and type per tag. - - - - - Возвращает и задает данные изображения, хранящиеся в текущем экземпляре. - - - A containing the image data - stored in the current instance. - - - - - Возвращает указание, загружен ли объект. - - - - - Gets a string representation of the current instance. - - - A representing the current - instance. - - - - - Gets a specified picture frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing - the matching frame, or if a match - wasn't found and is . - - - - - Gets a specified picture frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the picture type - to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing - the matching frame, or if a match - wasn't found and is . - - - - - Gets a specified attachment frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the picture type - to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing - the matching frame, or if a match - wasn't found and is . - - - Sets a cover image with a description. Because is used, if - the program is called again with the same audio file and - desciption, the picture will be overwritten with the new - one. - - using TagLib; - using TagLib.Id3v2; - - public static class SetId3v2Cover - { - public static void Main (string [] args) - { - if (args.Length != 3) - throw new ApplicationException ( - "USAGE: SetId3v2Cover.exe AUDIO_FILE PICTURE_FILE DESCRIPTION"); - - // Create the file. Can throw file to TagLib# exceptions. - File file = File.Create (args [0]); - - // Get or create the ID3v2 tag. - TagLib.Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, true) as TagLib.Id3v2.Tag; - if (tag == null) - throw new ApplicationException ("File does not support ID3v2 tags."); - - // Create a picture. Can throw file related exceptions. - TagLib.Picture picture = TagLib.Picture.CreateFromPath (args [1]); - - // Get or create the picture frame. - AttachedPictureFrame frame = AttachedPictureFrame.Get ( - tag, args [2], PictureType.FrontCover, true); - - // Set the data from the picture. - frame.MimeType = picture.MimeType; - frame.Data = picture.data; - - // Save the file. - file.Save (); - } - } - - - - - - Load the picture data from the file, - if not done yet. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - contains less than 5 bytes. - - - - - Performs the actual parsing of the raw data. - - - Because of the high parsing cost and relatively low usage - of the class, only stores the - field data so it can be parsed on demand. Whenever a - property or method is called which requires the data, - this method is called, and only on the first call does it - actually parse the data. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Attached Picture (APIC) Frames. - - - A is used for storing - pictures that complement the media, including the album cover, - the physical medium, leaflets, file icons, etc. Other file and - object data can be encapulsated via . - Additionally, provides a - generic way or getting and setting pictures which is preferable - to format specific code. - - - - - Constructs and initializes a new instance of with no contents and the - default values. - - - - - Constructs and initializes a new instance of by populating it with - the contents of another object. - - - A object containing values to use - in the new instance. - - - is . - - - Add a picture to a file. - - using TagLib; - using TagLib.Id3v2; - - public static class AddId3v2Picture - { - public static void Main (string [] args) - { - if (args.Length != 2) - throw new ApplicationException ( - "USAGE: AddId3v2Picture.exe AUDIO_FILE PICTURE_FILE"); - - // Create the file. Can throw file to TagLib# exceptions. - File file = File.Create (args [0]); - - // Get or create the ID3v2 tag. - TagLib.Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, true) as TagLib.Id3v2.Tag; - if (tag == null) - throw new ApplicationException ("File does not support ID3v2 tags."); - - // Create a picture. Can throw file related exceptions. - TagLib.Picture picture = TagLib.Picture.CreateFromPath (path); - - // Add a new picture frame to the tag. - tag.AddFrame (new AttachedPictureFrame (picture)); - - // Save the file. - file.Save (); - } - } - - - - - - Constructs and initializes a new instance of by reading its raw data in - a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - This class extends , implementing support for - ID3v2 General Encapsulated Object (GEOB) Frames. - - - A should be - used for storing files and other objects relevant to the file but - not supported by other frames. - - - - - Constructs and initializes a new instance of with no - contents. - - - - - Constructs and initializes a new instance of by reading its - raw data in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its - raw data in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the file name of the object stored in the - current instance. - - - A containing the file name of the - object stored in the current instance. - - - - - Gets and sets the object data stored in the current - instance. - - - A containing the object data - stored in the current instance. - - - - - This class extends , implementing support for - ID3v2 Comments (COMM) Frames. - - - A should be used for storing - user readable comments on the media file. - When reading comments from a file, should be used as it gracefully falls back to comments that - you, as a developer, may not be expecting. When writing comments, - however, it is best to use as it forces it to - be written in the exact version you are expecting. - - - - - Contains the text encoding to use when rendering the - current instance. - - - Contains the ISO-639-2 language code of the current - instance. - - - - - Contains the description of the current instance. - - - - - Contains the comment text of the current instance. - - - - - Constructs and initializes a new instance of with a specified description, - ISO-639-2 language code, and text encoding. - - - A containing the description of the - new frame. - - - A containing the ISO-639-2 language - code of the new frame. - - - A containing the text encoding - to use when rendering the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified description and - ISO-639-2 language code. - - - A containing the description of the - new frame. - - - A containing the ISO-639-2 language - code of the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified description. - - - A containing the description of the - new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the text encoding to use when storing the - current instance. - - - A containing the text encoding to - use when storing the current instance. - - - This encoding is overridden when rendering if is or the render version does not support - it. - - - - - Gets and sets the ISO-639-2 language code stored in the - current instance. - - - A containing the ISO-639-2 language - code stored in the current instance. - - - There should only be one file with a matching description - and ISO-639-2 language code per tag. - - - - - Gets and sets the description stored in the current - instance. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description and ISO-639-2 language code per tag. - - - - - Gets and sets the comment text stored in the current - instance. - - - A containing the comment text - stored in the current instance. - - - - - Gets a string representation of the current instance. - - - A containing the comment text. - - - - - Gets a specified comments frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the ISO-639-2 language - code to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Gets a specified comments frame from the specified tag, - trying to to match the description and language but - accepting an incomplete match. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the ISO-639-2 language - code to match. - - - A object containing the - matching frame, or if a match - wasn't found. - - - The method tries matching with the following order - of precidence: - - The first frame with a matching - description and language. - The first frame with a matching - language. - The first frame with a matching - description. - The first frame. - - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Event Time Codes (ETCO) Frames. - - - Event time codes Frames should contain a list of events occurring - throughout the track such as the start of the main part and the end of it. - To see all available event types see . - - - Reading the Event Time Codes from a tag. - - using TagLib; - using TagLib.Id3v2; - - public static class LookupUtil - { - public static ByteVector GetTrackEvents(string filename) - { - File file = File.Create (filename, ReadStyle.None); - Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, false) as Id3v2.Tag; - if (tag == null) - return new ByteVector (); - - EventTimeCodesFrame frame = EventTimeCodesFrame.Get (tag, false); - if (frame == null) - return new ByteVector (); - - return frame.Data; - } - } - - - #using <System.dll> - #using <taglib-sharp.dll> - - using System; - using TagLib; - using TagLib::Id3v2; - - public ref class LookupUtil abstract sealed - { - public: - static ByteVector^ GetTrackEvents (String^ filename) - { - File^ file = File::Create (filename, ReadStyle::None); - Id3v2::Tag^ tag = dynamic_cast<Id3v2::Tag^> (file.GetTag (TagTypes::Id3v2, false)); - if (tag == null) - return gcnew ByteVector; - - EventTimeCodesFrame^ frame = EventTimeCodesFrame::Get (tag, false); - if (frame == null) - return gcnew ByteVector; - - return frame->Data; - } - } - - - Imports TagLib - Imports TagLib.Id3v2 - - Public Shared Class LookupUtil - Public Shared Sub GetTrackEvents (filename As String) As TagLib.ByteVector - Dim file As File = File.Create (filename, ReadStyle.None) - Dim tag As Id3v2.Tag = file.GetTag (TagTypes.Id3v2, False) - If tag Is Nothing Return New ByteVector () - - Dim frame As EventTimeCodesFrame = EventTimeCodesFrame.Get (tag, False) - If frame Is Nothing Return New ByteVector () - - Return frame.Data - End Sub - End Class - - - import TagLib - import TagLib.Id3v2 - - public static class LookupUtil: - static def GetTrackEvents (filename as string) as TagLib.ByteVector: - file as File = File.Create (filename, ReadStyle.None) - tag as Id3v2.Tag = file.GetTag (TagTypes.Id3v2, false) - if tag == null: - return ByteVector () - - frame as EventTimeCodesFrame = EventTimeCodesFrame.Get (tag, false) - if frame == null: - return ByteVector () - - return frame.Data - - - - - - Constructs and initializes a new instance of with empty - identifier data. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A Specifies the time unit to use in this frame. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A containing the header of the frame - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets or sets the timestamp format for this frame instance. - - - A that will be used in this frame instance. - - - - - Gets or sets the events this frame contains. - Each represents a single event at a certain point in time. - - - A that are stored in this frame instance. - - - - - Gets a play count frame from a specified tag, optionally - creating it if it does not exist. - - - A object to search in. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Music CD Identifier (MCDI) Frames. - - - Music CD Identifier Frames should contain the table of - contents data as stored on the physical CD. It is primarily used - for track information lookup by through web sources like CDDB. - - - Reading the music CD identifier from a tag. - - using TagLib; - using TagLib.Id3v2; - - public static class LookupUtil - { - public static ByteVector GetCdIdentifier (string filename) - { - File file = File.Create (filename, ReadStyle.None); - Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, false) as Id3v2.Tag; - if (tag == null) - return new ByteVector (); - - MusicCdIdentifierFrame frame = MusicCdIdentifierFrame.Get (tag, false); - if (frame == null) - return new ByteVector (); - - return frame.Data; - } - } - - - #using <System.dll> - #using <taglib-sharp.dll> - - using System; - using TagLib; - using TagLib::Id3v2; - - public ref class LookupUtil abstract sealed - { - public: - static ByteVector^ GetCdIdentifier (String^ filename) - { - File^ file = File::Create (filename, ReadStyle::None); - Id3v2::Tag^ tag = dynamic_cast<Id3v2::Tag^> (file.GetTag (TagTypes::Id3v2, false)); - if (tag == null) - return gcnew ByteVector; - - MusicCdIdentifierFrame^ frame = MusicCdIdentifierFrame::Get (tag, false); - if (frame == null) - return gcnew ByteVector; - - return frame->Data; - } - } - - - Imports TagLib - Imports TagLib.Id3v2 - - Public Shared Class LookupUtil - Public Shared Sub GetCdIdentifier (filename As String) As TagLib.ByteVector - Dim file As File = File.Create (filename, ReadStyle.None) - Dim tag As Id3v2.Tag = file.GetTag (TagTypes.Id3v2, False) - If tag Is Nothing Return New ByteVector () - - Dim frame As MusicCdIdentifierFrame = MusicCdIdentifierFrame.Get (tag, False) - If frame Is Nothing Return New ByteVector () - - Return frame.Data - End Sub - End Class - - - import TagLib - import TagLib.Id3v2 - - public static class LookupUtil: - static def GetCdIdentifier (filename as string) as TagLib.ByteVector: - file as File = File.Create (filename, ReadStyle.None) - tag as Id3v2.Tag = file.GetTag (TagTypes.Id3v2, false) - if tag == null: - return ByteVector () - - frame as MusicCdIdentifierFrame = MusicCdIdentifierFrame.Get (tag, false) - if frame == null: - return ByteVector () - - return frame.Data - - - - - - Constructs and initializes a new instance of with empty - identifier data. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the identifier data stored in the current - instance. - - - A containing the identifier - data stored in the current instance. - - - - - Gets a music CD identifier frame from a specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing - the matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Play Count (PCNT) Frames. - - - Getting and incrementing the play count of a file. - - using TagLib; - using TagLib.Id3v2; - - public static class TrackUtil - { - public static int GetPlayCount (string filename) - { - File file = File.Create (filename, ReadStyle.None); - Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, false) as Id3v2.Tag; - if (tag == null) - return 0; - - PlayCountFrame frame = PlayCountFrame.Get (tag, false); - if (frame == null) - return 0; - - return frame.PlayCount; - } - - public static void IncrementPlayCount (string filename) - { - File file = File.Create (filename, ReadStyle.None); - Id3v2.Tag tag = file.GetTag (TagTypes.Id3v2, true) as Id3v2.Tag; - if (tag == null) - return; - - PlayCountFrame.Get (tag, true).PlayCount ++; - file.Save (); - } - } - - - #using <System.dll> - #using <taglib-sharp.dll> - - using System; - using TagLib; - using TagLib::Id3v2; - - public ref class TrackUtil abstract sealed - { - public: - static int GetPlayCount (String^ filename) - { - File^ file = File.Create (filename, ReadStyle.None); - Id3v2::Tag^ tag = dynamic_cast<Id3v2::Tag^> (file.GetTag (TagTypes::Id3v2, false)); - if (tag == null) - return 0; - - PlayCountFrame^ frame = PlayCountFrame::Get (tag, false); - if (frame == null) - return 0; - - return frame->PlayCount; - } - - static void IncrementPlayCount (String^ filename) - { - File^ file = File::Create (filename, ReadStyle::None); - Id3v2.Tag^ tag = dynamic_cast<Id3v2::Tag^> (file.GetTag (TagTypes::Id3v2, true)); - if (tag == null) - return; - - PlayCountFrame::Get (tag, true)->PlayCount ++; - file->Save (); - } - } - - - Imports TagLib - Imports TagLib.Id3v2 - - Public Shared Class TrackUtil - Public Shared Sub GetPlayCount (filename As String) As Integer - Dim file As File = File.Create (filename, ReadStyle.None) - Dim tag As Id3v2.Tag = file.GetTag (TagTypes.Id3v2, False) - If tag Is Nothing Then Return 0 - - Dim frame As PlayCountFrame = PlayCountFrame.Get (tag, False) - If frame Is Nothing Then Return 0 - - Return frame.PlayCount - End Sub - - Public Shared Sub IncrementPlayCount (filename As String) - Dim file As File = File.Create (filename, ReadStyle.None) - Dim tag As Id3v2.Tag = file.GetTag (TagTypes.Id3v2, True) - If tag Is Nothing Then Exit Sub - - PlayCountFrame.Get (tag, True).PlayCount += 1 - file.Save () - End Sub - End Class - - - import TagLib - import TagLib.Id3v2 - - public static class TrackUtil: - static def GetPlayCount (filename as string) as int: - file As File = File.Create (filename, ReadStyle.None) - tag as Id3v2.Tag = file.GetTag (TagTypes.Id3v2, false) - if tag == null: - return 0 - - frame as PlayCountFrame = PlayCountFrame.Get (tag, false) - if frame == null: - return 0 - - return frame.PlayCount - - static def IncrementPlayCount (filename as string): - file as File = File.Create (filename, ReadStyle.None) - tag as Id3v2.Tag = file.GetTag (TagTypes.Id3v2, True) - if tag == null: - return - - PlayCountFrame.Get (tag, true).PlayCount ++ - file.Save () - - - - - - Constructs and initializes a new instance of with a count of zero. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the play count of the current instance. - - - A containing the play count of the - current instance. - - - - - Gets a play count frame from a specified tag, optionally - creating it if it does not exist. - - - A object to search in. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Popularimeter (POPM) Frames. - - - - - Contains the email of the user this frame belongs to. - - - - - Constructs and initializes a new instance of for a specified user with a - rating and play count of zero. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the user to whom the current instance - belongs. - - - A containing the user to whom the - current instance belongs. - - - - - Gets and sets the rating of the current instance. - - - A containing the rating of the - current instance. - - - - - Gets and sets the play count of the current instance. - - - A containing the play count of the - current instance. - - - - - Gets a popularimeter frame from a specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A containing the user to search for - in the current instance. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Private (PRIV) Frames. - - - A should be used for storing - values specific to the application that cannot or should not be - stored in another frame type. - - - Serializing a database entry and storing it in a private - field. - - using System; - using System.IO; - using System.Runtime.Serialization; - using System.Text; - using System.Xml.Serialization; - using TagLib.Id3v2; - - public static class DbUtil - { - public static void StoreDatabaseEntry (Tag tag, ISerializable dbEntry) - { - StringWriter data = new StringWriter (new StringBuilder ()); - XmlSerializer serializer = new XmlSerializer (dbEntry.GetType ()); - serializer.Serialize (data, dbEntry); - PrivateFrame frame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", true); - frame.PrivateData = Encoding.UTF8.GetBytes (data.ToString ()); - } - - public static object GetDatabaseEntry (Tag tag, Type type) - { - PrivateFrame frame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", false); - if (frame == null) - return null; - - XmlSerializer serializer = new XmlSerializer (type); - return serializer.Deserialize (new MemoryStream (frame.PrivateData)); - } - } - - - #using <System.dll> - #using <System.Xml.dll> - #using <taglib-sharp.dll> - - using System; - using System::IO; - using System::Runtime::Serialization; - using System::Text; - using System::Xml::Serialization; - using TagLib::Id3v2; - - public ref class DbUtil abstract sealed - { - public: - static void StoreDatabaseEntry (Tag^ tag, ISerializable^ dbEntry) - { - StringWriter^ data = gcnew StringWriter (gcnew StringBuilder); - XmlSerializer serializer = gcnew XmlSerializer (dbEntry->GetType ()); - serializer->Serialize (data, dbEntry); - PrivateFrame frame = PrivateFrame::Get (tag, L"org.MyProgram.DatabaseEntry", true); - frame.PrivateData = Encoding::UTF8->GetBytes (data->ToString ()); - } - - static Object^ GetDatabaseEntry (Tag^ tag, Type^ type) - { - PrivateFrame^ frame = PrivateFrame::Get (tag, L"org.MyProgram.DatabaseEntry", false); - if (frame == null) - return null; - - XmlSerializer serializer = gcnew XmlSerializer (type); - return serializer->Deserialize (gcnew MemoryStream (frame->PrivateData)); - } - } - - - Imports System - Imports System.IO - Imports System.Runtime.Serialization - Imports System.Text - Imports System.Xml.Serialization - Imports TagLib.Id3v2 - - Public Shared Class DbUtil - Public Shared Sub StoreDatabaseEntry (tag As Tag, dbEntry As ISerializable) - Dim data As New StringWriter (New StringBuilder ()) - Dim serializer As New XmlSerializer (dbEntry.GetType ()) - serializer.Serialize (data, dbEntry) - Dim frame As PrivateFrame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", True) - frame.PrivateData = Encoding.UTF8.GetBytes (data.ToString ()) - End Sub - - Public Shared Sub GetDatabaseEntry (tag As Tag, type As Type) - Dim frame As PrivateFrame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", False) - If frame Is Nothing Then Return Nothing - - Dim serializer As XmlSerializer = New XmlSerializer (type) - Return serializer.Deserialize (New MemoryStream (frame.PrivateData)) - End Sub - End Class - - - import System - import System.IO - import System.Runtime.Serialization - import System.Text - import System.Xml.Serialization - import TagLib.Id3v2 - - public static class DbUtil: - static def StoreDatabaseEntry (tag as Tag, dbEntry as ISerializable): - data as StringWriter = StringWriter (StringBuilder ()) - serializer as XmlSerializer = XmlSerializer (dbEntry.GetType ()) - serializer.Serialize (data, dbEntry) - frame as PrivateFrame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", true) - frame.PrivateData = Encoding.UTF8.GetBytes (data.ToString ()) - - static def GetDatabaseEntry (tag As Tag, type As Type): - frame as PrivateFrame = PrivateFrame.Get (tag, "org.MyProgram.DatabaseEntry", false) - if frame == null: - return null - - serializer as XmlSerializer = XmlSerializer (type) - return serializer.Deserialize (MemoryStream (frame.PrivateData)) - - - - - - Constructs and initializes a new instance of for a specified owner and data. - - - A containing the owner of the new - frame. - - - A object containing the data - for the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of without data for a specified - owner. - - - A containing the owner of the new - frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets the owner of the current instance. - - - A containing the owner of the - current instance. - - - There should only be one frame with a given owner per - tag. - - - - - Gets and sets the private data stored in the current - instance. - - - A containing the private data - stored in the current instance. - - - - - Gets a specified private frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the owner to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - is less than 3. ID3v2.2 does - not support this frame. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - Specified the type of channel data to get from or set to a - object. - - - - - The channel data is for some other speaker. - - - - - The channel data is for the master volume. - - - - - The channel data is for the front right speaker. - - - - - The channel data is for the front left speaker. - - - - - The channel data is for the back right speaker. - - - - - The channel data is for the back left speaker. - - - - - The channel data is for the front center speaker. - - - - - The channel data is for the back center speaker. - - - - - The channel data is for the subwoofer. - - - - - This class extends , implementing support for - ID3v2 Relative Volume (RVA2) Frames. - - - - - Contains the channel data. - - - - - Constructs and initializes a new instance of with a specified - identifier. - - - A object containing the - identification to use for the new frame. - - - - - Constructs and initializes a new instance of by reading its raw data in - a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in - a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets the identification used for the current instance. - - - A object containing the - identification used for the current instance. - - - - - Gets a list of the channels in the current instance that - contain a value. - - - A containing the channels - which have a value set in the current instance. - - - - - Creates a text description of the current instance. - - - A object containing a description - of the current instance. - - - - - Gets the volume adjustment index for a specified channel. - - - A value specifying which - channel to get the value for. - - - A value containing the volume - adjustment index. - - - The volume adjustment index is simply the volume - adjustment multiplied by 512. - - - - - - - Sets the volume adjustment index for a specified channel. - - - A value specifying which - channel to set the value for. - - - A value containing the volume - adjustment index. - - - - - - - Gets the volume adjustment for a specified channel. - - - A value specifying which - channel to get the value for. - - - A value containing the volume - adjustment in decibles. - - - The value can be between -64dB and +64dB. - - - - - - - Sets the volume adjustment for a specified channel. - - - A value specifying which - channel to set the value for. - - - A value containing the volume - adjustment in decibles. - - - The value can be between -64dB and +64dB. - - - - - - - Gets the peak volume index for a specified channel. - - - A value specifying which - channel to get the value for. - - - A value containing the peak volume - index. - - - The peak volume index is simply the peak volume - multiplied by 512. - - - - - - - Sets the peak volume index for a specified channel. - - - A value specifying which - channel to set the value for. - - - A value containing the peak volume - index. - - - The peak volume index is simply the peak volume - multiplied by 512. - - - - - - - Gets the peak volume for a specified channel. - - - A value specifying which - channel to get the value for. - - - A value containing the peak volume. - - - - - - - Sets the peak volume for a specified channel. - - - A value specifying which - channel to set the value for. - - - A value containing the peak volume. - - - - - - - Gets a specified volume adjustment frame from the - specified tag, optionally creating it if it does not - exist. - - - A object to search in. - - - A specifying the identification to - match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing - the matching frame, or if a match - wasn't found and is . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - contains less than 5 bytes. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends , implementing support for - ID3v2 Synchronised Lyrics and Text (SYLT) Frames. - - - - - Contains the ISO-639-2 language code. - - - - - Contains the text. - - - - - Constructs and initializes a new instance of with a specified - description, ISO-639-2 language code, text type, and text - encoding. - - - A object containing the description - of the new instnace. - - - A object containing the ISO-639-2 - language code of the new instance. - - - A containing the type of - text to be stored in the new instance. - - - A containing the text encoding - to use when rendering the new instance. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified - description, ISO-639-2 language code, and text type. - - - A object containing the description - of the new instnace. - - - A object containing the ISO-639-2 - language code of the new instance. - - - A containing the type of - text to be stored in the new instance. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object starting with the raw - representation of the new instance. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data - in a specified ID3v2 version. - - - A object containing the raw - representation of the new instance. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the text encoding to use when storing the - current instance. - - - A containing the text encoding to - use when storing the current instance. - - - This encoding is overridden when rendering if is or the render version does not support - it. - - - - - Gets and sets the ISO-639-2 language code stored in the - current instance. - - - A containing the ISO-639-2 language - code stored in the current instance. - - - There should only be one frame with a matching - description, type, and ISO-639-2 language code per tag. - - - - - Gets and sets the description stored in the current - instance. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description, type, and ISO-639-2 language code per tag. - - - - - Gets and sets the timestamp format used by the current - instance. - - - A value describing the - timestamp format used by the current instance. - - - - - Gets and sets the type of text contained in the current - instance. - - - A value describing the - type of text contained in the current instance. - - - - - Gets and sets the text contained in the current - instance. - - - A containing the text - contained in the current instance. - - - - - Gets a specified lyrics frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A object specifying the description - to match. - - - A object specifying the ISO-639-2 - language code to match. - - - A value specifying the - text type to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified lyrics frame from the specified tag, - trying to to match the description and language but - accepting an incomplete match. - - - A object to search in. - - - A object specifying the description - to match. - - - A object specifying the ISO-639-2 - language code to match. - - - A value specifying the - text type to match. - - - A object - containing the matching frame, or - if a match wasn't found. - - - The method tries matching with the following order - of precidence: - - The first frame with a matching - description, language, and type. - The first frame with a matching - description and language. - The first frame with a matching - language. - The first frame with a matching - description. - The first frame with a matching - type. - The first frame. - - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This structure contains a single entry in a object. - - - - - Constructs and initializes a new instance of with a specified time and text. - - - A value representing an amount of - time in a format define in the class using it. The - specific format is specified in . - - - A object containing the text - for the point in time. - - - - - Gets and sets the time offset of the current instance. - - - A value representing an amount of - time in a format define in the class using it. The - specific format is specified in . - - - - - Gets and sets the text for the point in time represented - by the current instance. - - - A object containing the text - for the point in time. - - - - - This class extends , implementing support for - ID3v2 Terms of Use (USER) Frames. - - - This frame contains license text or restrictions on the use of a - media file. - - - - - Contains the ISO-639-2 language code of the current - instance. - - - - - Constructs and intializes a new instance of with a specified language and - encoding. - - - A containing the ISO-639-2 language - code of the new frame. - - - A containing the text encoding - to use when rendering the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and intializes a new instance of with a specified language. - - - A containing the ISO-639-2 language - code of the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the text encoding to use when storing the - current instance. - - - A containing the text encoding to - use when storing the current instance. - - - This encoding is overridden when rendering if is or the render version does not support - it. - - - - - Gets and sets the ISO-639-2 language code stored in the - current instance. - - - A containing the ISO-639-2 language - code stored in the current instance. - - - There should only be one file with a matching - ISO-639-2 language code per tag. - - - - - Gets and sets the terms of use stored in the current - instance. - - - A object containing the terms of - use. - - - - - Gets a string representation of the current instance. - - - A containing the terms of use. - - - - - Gets a specified terms of use frame from the specified - tag, optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the ISO-639-2 language - code to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object containing the - matching frame, or if a match - wasn't found and is . - - - - - Gets a specified terms of use frame from the specified - tag, trying to to match the language but accepting one - with a different language if a match was not found. - - - A object to search in. - - - A specifying the ISO-639-2 language - code to match. - - - A object containing the - matching frame, or if a match - wasn't found. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends to provide support ID3v2 - Text Information Frames (Section 4.2), covering "T000" to - "TZZZ", excluding "TXXX". - - - Text Information Frames contain the most commonly used - values in tagging, including the artist, the track name, and just - about any value that can be expressed as text. - The following table contains types and descriptions as - found in the ID3 2.4.0 native frames specification. (Copyright - (C) Martin Nilsson 2000.) - - - - ID - Description - - - TIT1 - The 'Content group description' frame is used - if the sound belongs to a larger category of sounds/music. - For example, classical music is often sorted in different - musical sections (e.g. "Piano Concerto", "Weather - - Hurricane"). - - - TIT2 - The 'Title/Songname/Content description' frame - is the actual name of the piece (e.g. "Adagio", "Hurricane - Donna"). - - - TIT3 - The 'Subtitle/Description refinement' frame is - used for information directly related to the contents title - (e.g. "Op. 16" or "Performed live at - Wembley"). - - - TALB - The 'Album/Movie/Show title' frame is intended - for the title of the recording (or source of sound) from - which the audio in the file is taken. - - - TOAL - The 'Original album/movie/show title' frame is - intended for the title of the original recording (or source - of sound), if for example the music in the file should be a - cover of a previously released song. - - - TRCK - The 'Track number/Position in set' frame is a - numeric string containing the order number of the - audio-file on its original recording. This MAY be extended - with a "/" character and a numeric string containing the - total number of tracks/elements on the original recording. - E.g. "4/9". - - - TPOS - The 'Part of a set' frame is a numeric string - that describes which part of a set the audio came from. - This frame is used if the source described in the "TALB" - frame is divided into several mediums, e.g. a double CD. - The value MAY be extended with a "/" character and a - numeric string containing the total number of parts in the - set. E.g. "1/2". - - - TSST - The 'Set subtitle' frame is intended for the - subtitle of the part of a set this track belongs - to. - - - TSRC - The 'ISRC' frame should contain the - International Standard Recording Code [ISRC] (12 - characters). - - - TPE1 - The - 'Lead artist/Lead performer/Soloist/Performing group' is - used for the main artist. - - - TPE2 - The 'Band/Orchestra/Accompaniment' frame is - used for additional information about the performers in the - recording. - - - TPE3 - The 'Conductor' frame is used for the name of - the conductor. - - - TPE4 - The 'Interpreted, remixed, or otherwise - modified by' frame contains more information about the - people behind a remix and similar interpretations of - another existing piece. - - - TOPE - The 'Original artist/performer' frame is - intended for the performer of the original recording, if - for example the music in the file should be a cover of a - previously released song. - - - TEXT - The 'Lyricist/Text writer' frame is intended - for the writer of the text or lyrics in the - recording. - - - TOLY - The 'Original lyricist/text writer' frame is - intended for the text writer of the original recording, if - for example the music in the file should be a cover of a - previously released song. - - - TCOM - The 'Composer' frame is intended for the name - of the composer. - - - TMCL - The 'Musician credits list' is intended as a - mapping between instruments and the musician that played - it. Every odd field is an instrument and every even is an - artist or a comma delimited list of artists. - - - TIPL - The 'Involved people list' is very similar to - the musician credits list, but maps between functions, like - producer, and names. - - - TENC - The 'Encoded by' frame contains the name of - the person or organisation that encoded the audio file. - This field may contain a copyright message, if the audio - file also is copyrighted by the encoder. - - - TBPM - The 'BPM' frame contains the number of beats - per minute in the main part of the audio. The BPM is an - integer and represented as a numerical - string. - - - TLEN - The 'Length' frame contains the length of the - audio file in milliseconds, represented as a numeric - string. - - - TKEY - The 'Initial key' frame contains the musical - key in which the sound starts. It is represented as a - string with a maximum length of three characters. The - ground keys are represented with "A","B","C","D","E", "F" - and "G" and halfkeys represented with "b" and "#". Minor is - represented as "m", e.g. "Dbm". Off key is represented with - an "o" only. - - - TLAN - The 'Language' frame should contain the - languages of the text or lyrics spoken or sung in the - audio. The language is represented with three characters - according to ISO-639-2. If more than one language is used - in the text their language codes should follow according to - the amount of their usage. - - - TCON - The 'Content type', which ID3v1 was stored as - a one byte numeric value only, is now a string. You may use - one or several of the ID3v1 types as numerical strings, or, - since the category list would be impossible to maintain - with accurate and up to date categories, define your - own. - - - TFLT - The 'File type' frame indicates which type of - audio this tag defines. (See the specification for more - details.) - - - TMED - The 'Media type' frame describes from which - media the sound originated. (See the specification for more - details.) - - - TMOO - The 'Mood' frame is intended to reflect the - mood of the audio with a few keywords, e.g. "Romantic" or - "Sad". - - - TCOP - The 'Copyright message' frame, in which the - string must begin with a year and a space character (making - five characters), is intended for the copyright holder of - the original sound, not the audio file itself. The absence - of this frame means only that the copyright information is - unavailable or has been removed, and must not be - interpreted to mean that the audio is public domain. Every - time this field is displayed the field must be preceded - with "Copyright " (C) " ", where (C) is one character - showing a C in a circle. - - - TPRO - The 'Produced notice' frame, in which the - string must begin with a year and a space character (making - five characters), is intended for the production copyright - holder of the original sound, not the audio file itself. - The absence of this frame means only that the production - copyright information is unavailable or has been removed, - and must not be interpreted to mean that the audio is - public domain. Every time this field is displayed the field - must be preceded with "Produced " (P) " ", where (P) is one - character showing a P in a circle. - - - TPUB - The 'Publisher' frame simply contains the name - of the label or publisher. - - - TOWN - The 'File owner/licensee' frame contains the - name of the owner or licensee of the file and it's - contents. - - - TRSN - The 'Internet radio station name' frame - contains the name of the internet radio station from which - the audio is streamed. - - - TRSO - The 'Internet radio station owner' frame - contains the name of the owner of the internet radio - station from which the audio is streamed. - - - TOFN - The 'Original filename' frame contains the - preferred filename for the file, since some media doesn't - allow the desired length of the filename. The filename is - case sensitive and includes its suffix. - - - TDLY - The 'Playlist delay' defines the numbers of - milliseconds of silence that should be inserted before this - audio. The value zero indicates that this is a part of a - multifile audio track that should be played - continuously. - - - TDEN - The 'Encoding time' frame contains a timestamp - describing when the audio was encoded. Timestamp format is - described in the ID3v2 structure document. - - - TDOR - The 'Original release time' frame contains a - timestamp describing when the original recording of the - audio was released. Timestamp format is described in the - ID3v2 structure document. - - - TDRC - The 'Recording time' frame contains a - timestamp describing when the audio was recorded. Timestamp - format is described in the ID3v2 structure - document. - - - TDRL - The 'Release time' frame contains a timestamp - describing when the audio was first released. Timestamp - format is described in the ID3v2 structure - document. - - - TDTG - The 'Tagging time' frame contains a timestamp - describing then the audio was tagged. Timestamp format is - described in the ID3v2 structure document. - - - TSSE - The 'Software/Hardware and settings used for - encoding' frame includes the used audio encoder and its - settings when the file was encoded. Hardware refers to - hardware encoders, not the computer on which a program was - run. - - - TSOA - The 'Album sort order' frame defines a string - which should be used instead of the album name (TALB) for - sorting purposes. E.g. an album named "A Soundtrack" might - preferably be sorted as "Soundtrack". - - - TSOP - The 'Performer sort order' frame defines a - string which should be used instead of the performer (TPE2) - for sorting purposes. - - - TSOT - The 'Title sort order' frame defines a string - which should be used instead of the title (TIT2) for - sorting purposes. - - - - - - - Contains the encoding to use for the text. - - - - - Contains the text fields. - - - - - Contains the raw data from the frame, or if it has been processed. - - - Rather than processing the data when the frame is loaded, - it is parsed on demand, reducing the ammount of - unnecessary conversion. - - - - - Contains the ID3v2 version of . - - - - - Contains the Encoding of the raw_data - - - - - Constructs and initializes a new instance of with a specified - identifier and text encoding. - - - A object containing an ID3v2.4 - frame identifier. - - - A value specifying the encoding - to use for the new instance. - - - - - Constructs and initializes a new instance of with a specified - identifer. - - - A object containing an ID3v2.4 - frame identifier. - - - - - Constructs and initializes a new instance of by reading its raw - contents in a specified ID3v2 version. - - - A object starting with the - frame to read. - - - A value containing the ID3v2 version - in which is encoded. - - - - - Constructs and initializes a new instance of by reading its raw - contents from a specifed position in a object in a specified ID3v2 version. - - - A object containing the frame - to read. - - - A value specifying the offset in - at which the frame begins. - - - A value containing the header - that would be read in the frame. - - - A value containing the ID3v2 version - in which is encoded. - - - - - Gets the text contained in the current instance. - - - A object containing the - text contained in the current instance. - - - Modifying the contents of the returned value will not - modify the contents of the current instance. - - - - - Gets and sets the text contained in the current - instance. - - - A containing the text contained - in the current instance. - - - Modifying the contents of the returned value will - not modify the contents of the current instance. The - value must be reassigned for the value to change. - - - Modifying the values text values of a frame. - TextInformationFrame frame = TextInformationFrame.Get (myTag, "TPE1", true); - /* Upper casing all the text: */ - string[] text = frame.Text; - for (int i = 0; i < text.Length; i++) - text [i] = text [i].ToUpper (); - frame.Text = text; - - /* Replacing the value completely: */ - frame.Text = new string [] {"DJ Jazzy Jeff"}; - - - - - Gets and sets the text encoding to use when rendering - the current instance. - - - A value specifying the encoding - to use when rendering the current instance. - - - This value will be overwritten if is . - - - - - Sets the text contained in the current instance. - - - A object containing text - to store in the current instance. - - - - - Sets the text contained in the current instance. - - - A containing text to store in the - current instance. - - - - - Gets a string representation of the current instance. - - - A containing the joined text. - - - - - Renders the current instance, encoded in a specified - ID3v2 version. - - - A value specifying the version of - ID3v2 to use when encoding the current instance. - - - A object containing the - rendered version of the current instance. - - - - - Gets a object of a - specified type from a specified tag, optionally creating - and adding one with a specified encoding if none is - found. - - - A object to search for the specified - tag in. - - - A object containing the frame - identifer to search for. - - - A value specifying the encoding - to use if a new frame is created. - - - A value specifying whether or not to - create a new frame if an existing frame was not found. - - - A object containing - the frame found in or added to or - if no value was found is . - - - To create a frame without having to specify the encoding, - use . - - - or is - . - - - is not exactly four bytes long. - - - - - Gets a object of a - specified type from a specified tag, optionally creating - and adding one if none is found. - - - A object to search for the specified - tag in. - - - A object containing the frame - identifer to search for. - - - A value specifying whether or not to - create a new frame if an existing frame was not found. - - - A object containing - the frame found in or added to or - if no value was found is . - - - or is - . - - - is not exactly four bytes long. - - - - - Gets a object of a - specified type from a specified tag. - - - A object to search for the specified - tag in. - - - A object containing the frame - identifer to search for. - - - A object containing - the frame found in or if no value was found. - - - or is - . - - - is not exactly four bytes long. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Performs the actual parsing of the raw data. - - - Because of the high parsing cost and relatively low usage - of the class, only stores the - field data so it can be parsed on demand. Whenever a - property or method is called which requires the data, - this method is called, and only on the first call does it - actually parse the data. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends to provide - support for ID3v2 User Text Information (TXXX) Frames. - - - - - Constructs and initializes a new instance of with a specified - description and text encoding. - - - A containing the description of the - new frame. - - - A containing the text encoding - to use when rendering the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified - description. - - - A containing the description of the - new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more integrated frame - creation. - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the description stored in the current - instance. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description per tag. - - - - - Gets and sets the text contained in the current - instance. - - - A containing the text contained - in the current instance. - - - Modifying the contents of the returned value will - not modify the contents of the current instance. The - value must be reassigned for the value to change. - - - - - Gets a string representation of the current instance. - - - A containing the joined text. - - - - - Gets a specified user text frame from the specified tag, - optionally creating it if it does not exist and optionally - searching for the frame case-insensitive. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the encoding to - use if creating a new frame. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A specifying whether or not to search - for the frame case-sensitive. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified user text frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the encoding to - use if creating a new frame. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified user text frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified user text frame from the specified tag. - - - A object to search in. - - - A specifying the description to - match. - - - A object - containing the matching frame, or - if a match wasn't found. - - - - - This class extends , implementing support for - ID3v2 Unique File Identifier (UFID) Frames. - - - - - Constructs and initializes a new instance of with a specified - owner and identifier data. - - - A containing the owner of the new - frame. - - - A object containing the - identifier for the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more integrated frame - creation. - - - is . - - - - - Constructs and initializes a new instance of with a specified - owner. - - - A containing the owner of the new - frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more integrated frame - creation. - - - is . - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the owner of the current instance. - - - A containing the owner of the - current instance. - - - There should only be one frame with a matching owner per - tag. - - - - - Gets and sets the identifier data stored in the current - instance. - - - A object containiner the unique - file identifier frame. - - - - - Gets a specified unique file identifer frame from the - specified tag, optionally creating it if it does not - exist. - - - A object to search in. - - - A specifying the owner to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends to provide a fallback - type when no other frame class works for a given frame. - - - - - Constructs and initializes a new instance of with a specified type. - - - A object containing an ID3v2.4 - frame identifier. - - - A object containing the contents - of the frame. - - - - - Constructs and initializes a new instance of with a specified type. - - - A object containing an ID3v2.4 - frame identifier. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw data in a - specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the field data in the current instance. - - - A containing the field data. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - This class extends , implementing support for - ID3v2 Unsynchronised Lyrics (USLT) Frames. - - - - - Contains the ISO-639-2 language code of the current - instance. - - - - - Contains the description of the current instance. - - - - - Contains the lyrics text of the current instance. - - - - - Constructs and initializes a new instance of with a specified - description, ISO-639-2 language code, and text encoding. - - - A containing the description of the - new frame. - - - A containing the ISO-639-2 language - code of the new frame. - - - A containing the text encoding - to use when rendering the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified - description and ISO-639-2 language code. - - - A containing the description of the - new frame. - - - A containing the ISO-639-2 language - code of the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of with a specified - description. - - - A containing the description of the - new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using for more - integrated frame creation. - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of by reading its raw - data in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the text encoding to use when storing the - current instance. - - - A containing the text encoding to - use when storing the current instance. - - - This encoding is overridden when rendering if is or the render version does not support - it. - - - - - Gets and sets the ISO-639-2 language code stored in the - current instance. - - - A containing the ISO-639-2 language - code stored in the current instance. - - - There should only be one file with a matching description - and ISO-639-2 language code per tag. - - - - - Gets and sets the description stored in the current - instance. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description and ISO-639-2 language code per tag. - - - - - Gets and sets the lyrical text stored in the current - instance. - - - A containing the lyrical text - stored in the current instance. - - - - - Gets a string representation of the current instance. - - - A containing the lyrical text. - - - - - Gets a specified lyrics frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the ISO-639-2 language - code to match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified comments frame from the specified tag, - trying to to match the description and language but - accepting an incomplete match. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the ISO-639-2 language - code to match. - - - A object - containing the matching frame, or - if a match wasn't found. - - - The method tries matching with the following order - of precidence: - - The first frame with a matching - description and language. - The first frame with a matching - language. - The first frame with a matching - description. - The first frame. - - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends to provide support ID3v2 - Url Link Frames (Section 4.3.1), covering "W000" to - "WZZZ", excluding "WXXX". - - - With these frames dynamic data such as webpages with touring - information, price information or plain ordinary news can be added to - the tag. There may only be one URL [URL] link frame of its kind in an - tag, except when stated otherwise in the frame description. If the - text string is followed by a string termination, all the following - information should be ignored and not be displayed. - The following table contains types and descriptions as - found in the ID3 2.4.0 native frames specification. (Copyright - (C) Martin Nilsson 2000.) - - - - ID - Description - - - WCOM - The 'Commercial information' frame is a URL pointing at a webpage - with information such as where the album can be bought. There may be - more than one "WCOM" frame in a tag, but not with the same content. - - - - WCOP - The 'Copyright/Legal information' frame is a URL pointing at a - webpage where the terms of use and ownership of the file is described. - - - - WOAF - The 'Official audio file webpage' frame is a URL pointing at a file - specific webpage. - - - - WOAR - The 'Official artist/performer webpage' frame is a URL pointing at - the artists official webpage. There may be more than one "WOAR" frame - in a tag if the audio contains more than one performer, but not with - the same content. - - - - WOAS - The 'Official audio source webpage' frame is a URL pointing at the - official webpage for the source of the audio file, e.g. a movie. - - - - WORS - The 'Official Internet radio station homepage' contains a URL - pointing at the homepage of the internet radio station. - - - - WPAY - The 'Payment' frame is a URL pointing at a webpage that will handle - the process of paying for this file. - - - - WPUB - The 'Publishers official webpage' frame is a URL pointing at the - official webpage for the publisher. - - - - - - - - Contains the encoding to use for the text. - - - - - Contains the text fields. - - - - - Contains the raw data from the frame, or - if it has been processed. - - - Rather than processing the data when the frame is loaded, - it is parsed on demand, reducing the ammount of - unnecessary conversion. - - - - - Contains the ID3v2 version of . - - - - - Constructs and initializes a new instance of - with a specified - identifier and text encoding. - - - A object containing an ID3v2.4 - frame identifier. - - - - - Constructs and initializes a new instance of - by reading its raw - contents in a specified ID3v2 version. - - - A object starting with the - frame to read. - - - A value containing the ID3v2 version - in which is encoded. - - - - - Constructs and initializes a new instance of - by reading its raw - contents from a specifed position in a - object in a specified ID3v2 version. - - - A object containing the frame - to read. - - - A value specifying the offset in - at which the frame begins. - - - A value containing the header - that would be read in the frame. - - - A value containing the ID3v2 version - in which is encoded. - - - - - Gets and sets the text contained in the current - instance. - - - A containing the text contained - in the current instance. - - - Modifying the contents of the returned value will - not modify the contents of the current instance. The - value must be reassigned for the value to change. - - - Modifying the values text values of a frame. - UrlLinkFrame frame = UrlLinkFrame.Get (myTag, "WCOP", true); - /* Upper casing all the text: */ - string[] text = frame.Text; - for (int i = 0; i < text.Length; i++) - text [i] = text [i].ToUpper (); - frame.Text = text; - - /* Replacing the value completely: */ - frame.Text = new string [] {"http://www.somewhere.com"}; - - - - - Gets and sets the text encoding to use when rendering - the current instance. - - - A value specifying the encoding - to use when rendering the current instance. - - - This value will be overwritten if - is - . - - - - - Gets a string representation of the current instance. - - - A containing the joined text. - - - - - Gets a object of a - specified type from a specified tag, optionally creating - and adding one with a specified encoding if none is - found. - - - A object to search for the specified - tag in. - - - A object containing the frame - identifer to search for. - - - A value specifying whether or not to - create a new frame if an existing frame was not found. - - - A object containing - the frame found in or added to or - if no value was found - is . - - - To create a frame without having to specify the encoding, - use . - - - or is - . - - - is not exactly four bytes long. - - - - - Populates the values in the current instance by parsing - its field data in a specified version. - - - A object containing the - extracted field data. - - - A indicating the ID3v2 version the - field data is encoded in. - - - - - Performs the actual parsing of the raw data. - - - Because of the high parsing cost and relatively low usage - of the class, only stores the - field data so it can be parsed on demand. Whenever a - property or method is called which requires the data, - this method is called, and only on the first call does it - actually parse the data. - - - - - Renders the values in the current instance into field - data for a specified version. - - - A indicating the ID3v2 version the - field data is to be encoded in. - - - A object containing the - rendered field data. - - - - - Creates a deep copy of the current instance. - - - A new object identical to the - current instance. - - - - - This class extends to provide - support for ID3v2 User Url Link (WXXX) Frames. - - - - - Constructs and initializes a new instance of - with a specified - description and text encoding. - - - A containing the description of the - new frame. - - - A containing the text encoding - to use when rendering the new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using - for more - integrated frame creation. - - - - - Constructs and initializes a new instance of - with a specified - description. - - - A containing the description of the - new frame. - - - When a frame is created, it is not automatically added to - the tag. Consider using - for more integrated frame - creation. - - - - - Constructs and initializes a new instance of - by reading its raw - data in a specified ID3v2 version. - - - A object starting with the raw - representation of the new frame. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Constructs and initializes a new instance of - by reading its raw - data in a specified ID3v2 version. - - - A object containing the raw - representation of the new frame. - - - A indicating at what offset in - the frame actually begins. - - - A containing the header of the - frame found at in the data. - - - A indicating the ID3v2 version the - raw frame is encoded in. - - - - - Gets and sets the description stored in the current - instance. - - - A containing the description - stored in the current instance. - - - There should only be one frame with a matching - description per tag. - - - - - Gets and sets the text contained in the current - instance. - - - A containing the text contained - in the current instance. - - - Modifying the contents of the returned value will - not modify the contents of the current instance. The - value must be reassigned for the value to change. - - - - - Gets a string representation of the current instance. - - - A containing the joined text. - - - - - Gets a specified user text frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying the encoding to - use if creating a new frame. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - Gets a specified user text frame from the specified tag, - optionally creating it if it does not exist. - - - A object to search in. - - - A specifying the description to - match. - - - A specifying whether or not to create - and add a new frame to the tag if a match is not found. - - - A object - containing the matching frame, or - if a match wasn't found and is - . - - - - - provides references to different frame - types used by the library. - - - This class is used to severely reduce the number of times - these types are created in , - greatly improving the speed at which warm files are read. It is, - however, not necessary for external users to use this class. While - the library may use GetTextAsString (FrameType.TIT2); an - external user could use tag.GetTextAsString ("TIT2"); with - the same result. - - - - - Indicates the flags applied to a object. - - - - - The header contains no flags. - - - - - The tag described by the header has been unsynchronized. - - - - - The tag described by the header has contains an extended - header. - - - - - The tag described by the header is experimental. - - - - - The tag described by the header contains a footer. - - - - - This structure provides a representation of an ID3v2 tag header - which can be read from and written to disk. - - - - - Contains the tag's major version. - - - - - Contains tag's flags. - - - - - The size of a ID3v2 header. - - - - - The identifier used to recognize a ID3v2 headers. - - - "ID3" - - - - - Constructs and initializes a new instance of by reading it from raw header data. - - - A object containing the raw - data to build the new instance from. - - - is . - - - is smaller than , does not begin with , contains invalid flag data, - or contains invalid size data. - - - - - Gets and sets the major version of the tag described by - the current instance. - - - A value specifying the ID3v2 version - of tag described by the current instance. - - - When the version is set, unsupported header flags will - automatically be removed from the tag. - - - is less than 2 or more than 4. - - - - - Gets and sets the version revision number of the tag - represented by the current instance. - - - A value containing the version - revision number of the tag represented by the current - instance. - - - This value should always be zeroed. A non-zero value - indicates an experimental or new version of the format - which may not be completely understood by the current - implementation. Some software may refuse to read tags - with a non-zero value. - - - - - Gets and sets the flags applied to the current instance. - - - A bitwise combined value - containing the flags applied to the current instance. - - - contains a flag not supported - by the the ID3v2 version of the current instance. - - - - - Gets and sets the size of the tag described by the - current instance, minus the header and footer. - - - A value containing the size of the - tag described by the current instance. - - - - - Gets the complete size of the tag described by the - current instance, including the header and footer. - - - A value containing the complete size - of the tag described by the current instance. - - - - - Renders the current instance as a raw ID3v2 header. - - - A object containing the - rendered header. - - - - - This static class provides support for encoding and decoding - unsynchronized data and numbers. - - - Unsynchronization is designed so that portions of the tag won't - be misinterpreted as MPEG audio stream headers by removing the - possibility of the synch bytes occuring in the tag. - - - - - Decodes synchronized integer data into a value. - - - A object containing the number - to decode. Only the first 4 bytes of this value will be - used. - - - A value containing the decoded - number. - - - is . - - - - - Encodes a value as synchronized - integer data. - - - A value containing the number to - encode. - - - A object containing the encoded - number. - - - is greater than 268435455. - - - - - Unsynchronizes a object by - inserting empty bytes where necessary. - - - A object to unsynchronize. - - - is . - - - - - Resynchronizes a object by - removing the added bytes. - - - A object to resynchronize. - - - is . - - - - - Specifies the type of text contained in a . - - - - - The text is some other type of text. - - - - - The text contains lyrical data. - - - - - The text contains a transcription. - - - - - The text lists the movements in the piece. - - - - - The text describes events that occur. - - - - - The text contains chord changes that occur in the music. - - - - - The text contains trivia or "pop up" information about - the media. - - - - - The text contains URL's for relevant webpages. - - - - - The text contains URL's for relevant images. - - - - - This class extends and implements to provide support for reading and - writing ID3v2 tags. - - - - - Contains the language to use for language specific fields. - - - - - Contains the field to use for new tags. - - - - - Contains the tag's header. - - - - - Contains the tag's extended header. - - - - - Contains the tag's frames. - - - - - Store the PerformersRole property - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - position in a specified file. - - - A object containing the file from - which the contents of the new instance is to be read. - - - A value specify at what position to - read the tag. - - - A value specifying how the media - data is to be read into the current instance. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Constructs and initializes a new instance of by reading the contents from a specified - object. - - - A object to read the tag from. - - - is . - - - does not contain enough data. - - - - - Gets the text value from a specified Text Information - Frame. - - - A object containing the frame - identifier of the Text Information Frame to get the value - from. - - - A object containing the text of the - specified frame, or if no value - was found. - - - - - Gets all frames contained in the current instance. - - - A object enumerating - through the frames. - - - - - Gets all frames with a specified identifier contained in - the current instance. - - - A object containing the - identifier of the frames to return. - - - A object enumerating - through the frames. - - - is . - - - is not exactly four bytes long. - - - - - Gets all frames with of a specified type contained in - the current instance. - - - The type of object, derived from , - to return from in the current instance. - - - A object enumerating - through the frames. - - - - - Gets all frames with a of type - with a specified identifier contained in the current - instance. - - - The type of object, derived from , - to return from in the current instance. - - - A object containing the - identifier of the frames to return. - - - A object enumerating - through the frames. - - - is . - - - is not exactly four bytes long. - - - - - Adds a frame to the current instance. - - - A object to add to the current - instance. - - - is . - - - - - Replaces an existing frame with a new one in the list - contained in the current instance, or adds a new one if - the existing one is not contained. - - - A object to be replaced. - - - A object to add to the current - instance. - - - or is . - - - - - Removes a specified frame from the current instance. - - - A object to remove from the current - instance. - - - is . - - - - - Removes all frames with a specified identifier from the - current instance. - - - A object containing the - identifier of the frames to remove. - - - is . - - - is not exactly four bytes long. - - - - - Sets the text for a specified Text Information Frame. - - - A object containing the - identifier of the frame to set the data for. - - - A containing the text to set for - the specified frame, or to unset - the value. - - - is . - - - is not exactly four bytes long. - - - - - Sets the text for a specified Text Information Frame. - - - A object containing the - identifier of the frame to set the data for. - - - A object containing the - text to set for the specified frame, or to unset the value. - - - is . - - - is not exactly four bytes long. - - - - - Sets the numeric values for a specified Text Information - Frame. - - - A object containing the - identifier of the frame to set the data for. - - - A value containing the number to - store. - - - A value representing a total which - is a part of, or zero if - is not part of a set. - - - A value representing the format - to be used to repreesent the . - Default: simple decimal number ("0"). - - - If both and are equal to zero, the value will be - cleared. If is zero, by itself will be stored. Otherwise, the - values will be stored as "/". - - - is . - - - is not exactly four bytes long. - - - - - Renders the current instance as a raw ID3v2 tag. - - - A object containing the - rendered tag. - - - By default, tags will be rendered in the version they - were loaded in, and new tags using the version specified - by . If is , - all tags will be rendered in using the version specified - by , except for tags with - footers, which must be in version 4. - - - - - Gets and sets the header flags applied to the current - instance. - - - A bitwise combined value - containing flags applied to the current instance. - - - - - Gets and sets the ID3v2 version of the current instance. - - - A value specifying the ID3v2 version - of the current instance. - - - is less than 2 or more than 4. - - - - - Gets and sets the ISO-639-2 language code to use when - searching for and storing language specific values. - - - A object containing an ISO-639-2 - language code fto use when searching for and storing - language specific values. - - - If the language is unknown, " " is the appropriate - filler. - - - - - Gets and sets the the default version to use when - creating new tags. - - - A value specifying the default ID3v2 - version. The default version for this library is 3. - - - If is , all tags will be rendered with this - version. - - - is less than 2 or more than 4. - - - - - Gets and sets whether or not to save all tags in the - default version rather than their original version. - - - If , tags will be saved in - rather than their original - format, with the exception of tags with footers, which - will be saved in version 4. - - - - - Gets and sets the encoding to use when creating new - frames. - - - A value specifying the encoding - to use when creating new frames. - - - - - Gets and sets whether or not to render all frames with - the default encoding rather than their original encoding. - - - If , fames will be rendered in - rather than their original - encoding. - - - - - Gets and sets whether or not to use ID3v1 style numeric - genres when possible. - - - A value specifying whether or not to - use genres with numeric values when possible. - - - If , TagLib# will try looking up - the numeric genre code when storing the value. For - ID3v2.2 and ID3v2.3, "Rock" would be stored as "(17)" and - for ID3v2.4 it would be stored as "17". - - - - - Populates the current instance be reading in a tag from - a specified position in a specified file. - - - A object to read the tag from. - - - A value specifying the seek position - at which to read the tag. - - - A value specifying how the media - data is to be read into the current instance. - - - is . - - - is less than 0 or greater - than the size of the file. - - - - - Populates the current instance by parsing the contents of - a raw ID3v2 tag, minus the header. - - - A object containing the content - of an ID3v2 tag, minus the header. - - - A object containing - abstraction of the file to read. - Ignored if is not null. - - - A value reference specifying at what - index in - at which the frame begins. - - - A value specifying how the media - data is to be read into the current instance. - - - This method must only be called after the internal - header has been read from the file, otherwise the data - cannot be parsed correctly. - - - - - Gets the text values from a specified Text Information - Frame. - - - A object containing the frame - identifier of the Text Information Frame to get the value - from. - - - A containing the text of the - specified frame, or an empty array if no values were - found. - - - - - Gets an integer value from a "/" delimited list in a - specified Text Information Frame. - - - A object containing the frame - identifier of the Text Information Frame to read from. - - - A value specifying the index in the - integer list of the value to return. - - - A value read from the list in the - frame, or 0 if the value wasn't found. - - - - - Gets a TXXX frame via reference of the description field, optionally searching for the - frame in a case-sensitive manner. - - String containing the description field - case-sensitive search if true. - UserTextInformationFrame (TXXX) that corresponds to the description - - - - Gets a TXXX frame via reference of the description field. - - String containing the description field - UserTextInformationFrame (TXXX) that corresponds to the description - - - - Creates and/or sets a UserTextInformationFrame (TXXX) with the given - description and text, optionally searching for the frame in a case-sensitive manner. - - String containing the Description field for the - TXXX frame - String containing the Text field for the TXXX frame - case-sensitive search if true. - - - - Creates and/or sets a UserTextInformationFrame (TXXX) with the given - description and text. - - String containing the Description field for the - TXXX frame - String containing the Text field for the TXXX frame - - - - Gets the text from a particular UFID frame, referenced by the owner field - - String containing the "Owner" data - String containing the text from the UFID frame, or null - - - - Creates and/or sets the text for a UFID frame, referenced by owner - - String containing the Owner field - String containing the text to set for the frame - - - - Moves a specified frame so it is the first of its type in - the tag. - - - A object to make the first of its - type. - - - - - Gets an enumerator for enumerating through the frames. - - - A for - enumerating through the frames. - - - - - Возвращает типы тегов, содержащиеся в текущем экземпляре. - - - Always . - - - - - Возвращает и задает заголовок носителя, описываемого текущим экземпляром. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "TIT2" Text - Information Frame. - - - - - Возвращает и задает имена сортировки заголовка носителя, представленного текущим экземпляром. - - - A containing the sort names for - the Title of the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "TSOT" Text - Information Frame. - - - - - Получает и задает краткое описание, one-liner. - Он представляет собой слоган video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - This property is implemented using the "TIT3" Text - Information Frame. - - - - - Возвращает и задает краткое описание носителя. - Для музыки это может быть комментарий, который художник сделал из своего произведения. Для видео это должно быть краткое изложение истории / сюжета, но спойлер. - Это должно дать представление о том, чего ожидать в средствах массовой информации. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This is especially relevant for a movie. - For example, for "Back to the Future 2", this could be - "After visiting 2015, Marty McFly must repeat his visit - to 1955 to prevent disastrous changes to 1985...without - interfering with his first trip". - - - - - - Возвращает и задает исполнителей или исполнителей, которые выполнялись на носителе, описанном текущим экземпляром. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "TPE1" Text - Information Frame. - - - - - Возвращает и задает имена сортировки исполнителей или исполнителей, выполненных на носителе, описанном текущим экземпляром. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "TSOP" Text - Information Frame. http://www.id3.org/id3v2.4.0-frames - - - - - Получает и задает символы для видео, или инструментов для музыкальных носителей. - Это должно соответствовать массиву (для каждого человека соответствует одна/несколько ролей). Несколько ролей для одного и того же автора/актера с запятой. - Например, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This is typically usefull for movies, although the - instrument played by each artist in a music may be of - relevance. - - It is highly important to match each role to the - performers. This means that a role may be to keep the match between a - Performers[i] and PerformersRole[i]. - - - - This property is implemented using the "TMCL" Text - Information Frame: The 'Musician credits list' is - intended as a mapping between instruments and the - musician that played it.Every odd field is an - instrument and every even is an artist or a comma - delimited list of artists. - - - - - Возвращает и задает имена сортировки группы или исполнителя, которому приписывается создание всего альбома или коллекции, содержащей носитель, описанный текущим экземпляром. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "TSO2" Text - Information Frame. http://www.id3.org/iTunes - - - - - Возвращает и задает группу или исполнителя, которому приписывается создание всего альбома или коллекции, содержащей носитель, описанный текущим экземпляром. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "TPE2" Text - Information Frame. - - - - - Возвращает и задает композиторы носителей, представленных текущим экземпляром. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "TCOM" Text - Information Frame. - - - - - Возвращает и задает имена сортировки композиторов носителей, представленных текущим экземпляром. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "TSOC" Text - Information Frame. http://www.id3.org/id3v2.4.0-frames - - - - - Возвращает и задает альбом носителей, представленных текущим экземпляром. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "TALB" Text - Information Frame. - - - - - Возвращает и задает имена сортировки заголовка альбома носителя, представленного текущим экземпляром. - - - A containing the sort names for - the Title in the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "TSOA" Text - Information Frame. http://www.id3.org/id3v2.4.0-frames - - - - - Возвращает и задает комментарий пользователя на носителе, представленном текущим экземпляром. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "COMM" Comments - Frame with an empty description and the language - specified by . - - - - - Возвращает и задает жанры носителей, представленных текущим экземпляром. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "TCON" Text - Information Frame. - - - - - Возвращает и задает год записи носителя, представленного текущим экземпляром. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "TDRC" Text - Information Frame. If a value greater than 9999 is set, - this property will be cleared. - - - - - Возвращает и задает положение носителя, представленного текущим экземпляром в содержащем его альбоме. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "TRCK" Text - Information Frame. - - - - - Возвращает и задает количество треков в альбоме, содержащем носитель, представленный текущим экземпляром. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "TRCK" Text - Information Frame. - - - - - Возвращает и задает номер диска, содержащего носитель, представленный текущим экземпляром в коробочном наборе. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "TPOS" Text - Information Frame. - - - - - Возвращает и задает количество дисков в коробочном наборе, содержащем носитель, представленный текущим экземпляром. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "TPOS" Text - Information Frame. - - - - - Возвращает и задает текст или сценарий носителя, представленного текущим экземпляром. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This property is implemented using the "USLT" - Unsynchronized Lyrics Frame with an empty description and - the language specified by . - - - - - Возвращает и задает группировку в альбоме, к которому принадлежит носитель в текущем экземпляре. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This property is implemented using the "TIT1" Text - Information Frame. - - - - - Возвращает и задает число ударов в минуту в аудио носителя, представленного текущим экземпляром. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This property is implemented using the "TBPM" Text - Information Frame. - - - - - Возвращает и задает проводника или директора носителя, представленного текущим экземпляром. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "TPE3" Text - Information Frame. - - - - - Возвращает и задает сведения об авторских правах для носителя, представленного текущим экземпляром. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "TCOP" Text - Information Frame. - - - - - Возвращает и задает дату, в которую был записан тег. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - This property is implemented using the "TDTG" Timestamp - Information Frame. - - - - - Получает и задает MusicBrainz ArtistID - - - A containing the MusicBrainz - ArtistID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Artist Id" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает ReleaseGroupID группы выпуска MusicBrainz - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Release Group Id" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Получает и задает ReleaseID MusicBrainz - - - A containing the MusicBrainz - ReleaseID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Album Id" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Получает и задает MusicBrainz ReleaseArtistID - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Album Artist Id" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает MusicBrainz TrackID - - - A containing the MusicBrainz - TrackID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "UFID:http://musicbrainz.org" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Получает и задает идентификационный номер диска в MusicBrainz - - - A containing the MusicBrainz - DiscID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Disc Id" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Получает и задает MusicIP PUID - - - A containing the MusicIP PUID - for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicIP PUID" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает идентификатор AmazonID (ASIN) - - - A containing the Amazon Id - for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:ASIN" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает MusicBrainz ReleaseStatus - - - A containing the MusicBrainz - ReleaseStatus for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Album Status" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает MusicBrainz ReleaseType - - - A containing the MusicBrainz - ReleaseType for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Album Type" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает MusicBrainz ReleaseCountry - - - A containing the MusicBrainz - ReleaseCountry for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "TXXX:MusicBrainz Album Release Country" frame. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Возвращает и задает усиление дорожки ReplayGain (в dB). - - - A value in dB for the track gain as - per the ReplayGain specification. - - - This property is implemented using the "TXXX:REPLAYGAIN_TRACK_GAIN" frame. - http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#ID3v2 - - - - - Возвращает и задает образец пиковой дорожки ReplayGain. - - - A value for the track peak as per the - ReplayGain specification. - - - This property is implemented using the "TXXX:REPLAYGAIN_TRACK_PEAK" frame. - http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#ID3v2 - - - - - Возвращает и задает усиление альбома ReplayGain (в dB). - - - A value in dB for the album gain as - per the ReplayGain specification. - - - This property is implemented using the "TXXX:REPLAYGAIN_ALBUM_GAIN" frame. - http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#ID3v2 - - - - - Возвращает и задает образец максимума альбома ReplayGain. - - - A value for the album peak as per the - ReplayGain specification. - - - This property is implemented using the "TXXX:REPLAYGAIN_ALBUM_PEAK" frame. - http://wiki.hydrogenaudio.org/index.php?title=ReplayGain_specification#ID3v2 - - - - - Возвращает и задает начальный ключ песни. - - - A object containing the initial key of the song. - - - This property is implemented using the "TKEY" field. - - - - - Возвращает и задает ремиксы песни. - - - A object containing the remixer of the song. - - - This property is implemented using the "TPE4" field. - - - - - Возвращает и задает издателя песни. - - - A object containing the publisher of the song. - - - This property is implemented using the "TPUB" field. - - - - - Возвращает и задает ISRC (Международный стандартный код записи) песни. - - - A object containing the ISRC of the song. - - - This property is implemented using the "TSRC" field. - - - - - Возвращает и задает коллекцию изображений, связанных с носителем, представленным текущим экземпляром. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - This property is implemented using the "APIC" Attached - Picture Frame. - - - - - Возвращает, является ли текущий экземпляр пустым. - - - if the current instance does not - any values. Otherwise . - - - - - Очищает значения, хранящиеся в текущем экземпляре. - - - - - Возвращает и задает, является ли альбом, описанный текущим экземпляром, компиляцией. - - - A value indicating whether or not the - album described by the current instance is a compilation. - - - This property is implemented using the "TCMP" Text - Information Frame to provide support for a feature of the - Apple iPod and iTunes products. - - - - - Копирует значения из текущего экземпляра в другой , необязательно перезаписывая существующие значения. - - - A object containing the target - tag to copy values to. - - - A specifying whether or not to copy - values over existing one. - - - If is of type a complete copy of all values - will be performed. Otherwise, only standard values will - be copied. - - - is . - - - - - Creates a deep copy of the current instance. - - - A new object identical to the current - instance. - - - - - Specifies the timestamp format used by a and . - - - - - The timestamp is of unknown format. - - - - - The timestamp represents the number of MPEG frames since - the beginning of the audio stream. - - - - - The timestamp represents the number of milliseconds since - the beginning of the audio stream. - - - - - Contains a byte value - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains an BYTE value with a count > 1 (byte sequence). - - - - - The ID of the tag, the current instance belongs to - - - - - The data which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a LONG value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a LONG value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - An enum to represent the manufactor of the makernote - The information of the makernote types is from: - http://exiv2.org/makernote.html - - - - - The manufactor could not be determined - - - - - Canon makernote. - Standard IFD without a special prefix. - - - - - Panasonic makernote. - "Panasonic\0\0\0" prefix and IFD starting at offset 12. - The next-IFD pointer is missing - - - - - Leica makernote. - "LEICA\0\0\0" prefix and IFD starting at offset 10. - - - - - Pentax makernote. - "AOC\0" + 2 unknown bytes as prefix. The IFD starts at - offset 6. - - - - - Nikon makernote (type 1). - Standard IFD without a special prefix. - - - - - Nikon makernote (type 2). - "Nikon\0" + 2 unknown bytes prefix. The IFD starts at - offset 8. - - - - - Nikon makernote (type 3). - "Nikon\0" + 4 bytes with verison code + Tiff header. - The IFD starts usually at offset 18. The offsets of the IFD - are relative to start of the Tiff header (byte 10) - - - - - Olympus makernote (type 1). - "OLYMP\0" + 2 unknown bytes as prefix. The IFD starts at - offset 8. - - - - - Olympus makernote (type 2) - "OLYMPUS\0II" + 2 unknown bytes as prefix. The IFD starts at - offset 12. The offsets of the IFD are relative to the - beginning of the makernote. - - - - - Sony makernote (type 1). - "SONY DSC \0\0\0" as prefix. The IFD starts at offset 12. A - next-IFD pointer is missing. - - - - - Contains a Makernote IFD. - - - Makernote IFDs are mostly of the same form. They start with and - Manufactor specific prefix indicating the type and contain then - a IFD structure. - It must be distinguished, where the offsets in the IFD belongs to. - For some makernotes the offset refers to the beginning of the - surrounding metadata IFD structure, for others they refer to the - start of the makernote. - In addition the endianess of the makernote can be different to the - endianess of the surrounding metadata. - This class takes care about all those things. - - - - - Stores the prefix of the makernote - - - - - Stores the offset of the IFD contained in makernote - - - - - Indicates, if the offsets are relative to the current makernote - or absolut to the base_offset of the surrounding IFD. - - - - - Stores, if the makernote is encoded in big- or little endian. - If the field is , the endianess of the - surrounding IFD is used. - - - - - The ID of the tag, the current instance belongs to - - - - - The type of the makernote the current instance represents - - - - - The pure which is stored by the - makernote. - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A with the IFD structure, which is stored by this - instance - - - A with the type of the makernote. - - - A containing the prefix, which should be rendered - before the real IFD. - - - A with the offset in addition to the relative - offsets in the IFD - - - A indicating if the offsets of the IFD are relative - to the , or absolut to the base offset of the - surrounding IFD. - - - A indicating if the current IFD is encoded in - big- or little endian. It it is , the endianess of the - surrounding IFD is used. - - - - - Constructor. Creates a makernote instance just containing an IFD and - without any special prefix or offset behavior. - - - A with the tag ID of the entry this instance - represents - - - A with the IFD structure, which is stored by this - instance - - - A with the type of the makernote. - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Representation of an unsigned rational value - - - - - The denominator of the rational value - - - - - Creates a new Rational value - - - A with the numerator of the - rational value - - - A with the denominator of the - rational value. It must be not 0. - - - - - Returns a rational value with reduced nominator and denominator - - - A - - - - - Formatprovider to allow formatting of a value. - - - A . - - - A . - - - A formated according to the given parameter - - - - - Converts the value to a . - - - A with the current value. - - - - - The numerator of the rational value - - - - - The denominator of the rational value - - - Cannot be 0. - - - - - Cast the value to a . - - - A with the value to cast. - - - A with the double. - - - - - Contains a RATIONAL value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a RATIONAL value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a signed byte value - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a SHORT value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a SHORT value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a SLONG value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a signed LONG value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Representation of a signed rational value - - - - - The denominator of the rational value - - - - - Creates a new Rational value - - - A with the numerator of the - rational value - - - A with the denominator of the - rational value. It must be not 0. - - - - - Returns a rational value with reduced nominator and denominator - - - A - - - - - Formatprovider to allow formatting of a value. - - - A . - - - A . - - - A formated according to the given parameter - - - - - Converts the value to a . - - - A with the current value. - - - - - The numerator of the rational value - - - - - The denominator of the rational value - - - Cannot be 0. - - - - - Cast the value to a . - - - A with the value to cast. - - - A with the double. - - - - - Contains a SRATIONAL value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a SRATIONAL value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a SSHORT value with a count > 1 - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a Signed SHORT value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains an ASCII STRING value. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains the offsets to the image data strips. - - - - - Store the strip length to read them before writing. - - - - - The file the offsets belong to - - - - - Constructor. - - - A with the tag ID of the entry this instance - represents - - - A with the strip offsets. - - - The length of the strips. - - - The file from which the strips will be read. - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains the SubIFDs IFD entry. - - - - - The ID of the tag, the current instance belongs to - - - - - The structures of the IFDs to which this entry points. - - - - - Constructor. - - - A with the tag ID of the entry this instance - represents - - - A set of ifd structures. - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains a Sub IFD. - - - - - The ID of the tag, the current instance belongs to - - - - - The type of the IFD entry. - - - - - The count of the IFD entry. - - - - - The structure of the sub-ifd which is stored by the current - instance - - - - - The number of entries in the entire IFD. - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A with the type of the IFD entry. - - - A with the count of the IFD entry. - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains the data of a Thumbnail. Since the thumbnail is - referenced by two long entries (offset to the data and length) - we need to take care of this special case. - This entry acts as the offset-entry but holds also the - thumbail data. When rendering the entry, we have to render the - data but write a long entry. - - - - - The ID of the tag, the current instance belongs to - - - - - The data of the thumbnail which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A with the thumbnail data to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains an Undefined value type, represented by a byte vector - - - - - The ID of the tag, the current instance belongs to - - - - - The data which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains an ASCII STRING value. - - - - - Marker for an ASCII-encoded UserComment tag. - - - - - Marker for a JIS-encoded UserComment tag. - - - - - Marker for a UNICODE-encoded UserComment tag. - - - - - Corrupt marker that seems to be resembling unicode. - - - - - Marker for a UserComment tag with undefined encoding. - - - - - The ID of the tag, the current instance belongs to - - - - - The value which is stored by the current instance - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - - - Construcor. - - - A with the tag ID of the entry this instance - represents - - - A to be stored - - - The file that's currently being parsed, used for reporting corruptions. - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - Contains the entries in this IFD. - - - - - An IFD entry, which is a key/value pair inside an IFD. - - - - - The ID of the tag, the current instance belongs to - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - This class abstracts common stuff for array IFD entries - - - - - The ID of the tag, the current instance belongs to - - - - - The values stored by the current instance. - - - - - Constructor. - - - A with the tag ID of the entry this instance - represents - - - - - Renders the current instance to a - - - A indicating the endianess for rendering. - - - A with the offset, the data is stored. - - - A the ID of the type, which is rendered - - - A with the count of the values which are - rendered. - - - A with the rendered data. - - - - - A type indicator, which identifies how the corresponding value - field should be interpreted. - - - - - Unknown (shouldn't occur) - - - - - 8-bit unsigned integer. - - - - - 8-bit byte that contains a 7-bit ASCII code; the last byte - must be NUL (binary zero). - - - - - 16-bit (2-byte) unsigned integer. - - - - - 32-bit (4-byte) unsigned integer. - - - - - Two LONGs: the first represents the numerator of a - fraction; the second, the denominator. - - - - - An 8-bit signed (twos-complement) integer. - - - - - An 8-bit byte that may contain anything, depending on - the definition of the field. - - - - - A 16-bit (2-byte) signed (twos-complement) integer. - - - - - A 32-bit (4-byte) signed (twos-complement) integer. - - - - - Two SLONG’s: the first represents the numerator of a - fraction, the second the denominator. - - - - - Single precision (4-byte) IEEE format. - - - - - Double precision (8-byte) IEEE format. - - - - - IFD - - - - - This class contains all the IFD reading and parsing code. - - - - - The where this IFD is found in. - - - - - If IFD is encoded in BigEndian or not - - - - - The IFD structure that will be populated - - - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So base_offset must - contain the beginning of the segment. - - - - - A value with the beginning of the IFD relative to - base_offset. - - - - - A with the maximal offset, which should occur in the - IFD. Greater offsets, would reference beyond the considered data. - - - - - Whether or not the makernote should be parsed. - - - - - Whether or not the makernote should be parsed. - - - - - Constructor. Reads an IFD from given file, using the given endianness. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So must contain the beginning of the segment. - - - A value with the beginning of the IFD relative to - . - - - A value with maximal possible offset. This is to limit - the size of the possible data; - - - - - Read all IFD segments from the file. - - - - - Read IFD segments from the file. - - - The number of IFDs that may be read can be restricted using the count - parameter. This might be needed for fiels that have invalid next-ifd - pointers (such as some IFDs in the Nikon Makernote). This condition is - tested in the Nikon2 unit test, which contains such a file. - - - A with the maximal number of IFDs to read. - Passing -1 means unlimited. - - - - - Add to the reference count for the IFD loop detection. - - - - - Attempts to detect whether or not this file has an endless IFD loop. - - - A with the offset at which the next IFD - can be found. - - - True if we have gone into a loop, false otherwise. - - - - - End the IFD loop detection, cleanup if we're the last. - - - - - Reads an IFD from file at position relative - to . - - - A with the base offset which every offset - in IFD is relative to. - - - A with the offset of the IFD relative to - - - - A with the maximal offset to consider for - the IFD. - - - A with the offset of the next IFD, the - offset is also relative to - - - - - Creates an IFDEntry from the given values. This method is used for - every entry. Custom parsing can be hooked in by overriding the - method. - - - A with the tag of the entry. - - - A with the type of the entry. - - - A with the data count of the entry. - - - A with the base offset which every - offsets in the IFD are relative to. - - - A containing exactly 4 byte with the data - of the offset of the entry. Since this field isn't interpreted as - an offset if the data can be directly stored in the 4 byte, we - pass the to easier interpret it. - - - A with the maximal offset to consider for - the IFD. - - - A with the given parameter. - - - - - Reads a 2-byte signed short from the current file. - - - A value containing the short read - from the current instance. - - - - - Reads a 2-byte unsigned short from the current file. - - - A value containing the short read - from the current instance. - - - - - Reads a 4-byte int from the current file. - - - A value containing the int read - from the current instance. - - - - - Reads a 4-byte unsigned int from the current file. - - - A value containing the int read - from the current instance. - - - - - Reads a by two following unsigned - int from the current file. - - - A value created by the read values. - - - - - Reads a by two following unsigned - int from the current file. - - - A value created by the read values. - - - - - Reads an array of 2-byte shorts from the current file. - - - An array of values containing the - shorts read from the current instance. - - - - - Reads an array of 2-byte signed shorts from the current file. - - - An array of values containing the - shorts read from the current instance. - - - - - Reads an array of 4-byte int from the current file. - - - An array of values containing the - shorts read from the current instance. - - - - - Reads an array of 4-byte unsigned int from the current file. - - - An array of values containing the - shorts read from the current instance. - - - - - Reads an ASCII string from the current file. - - - A read from the current instance. - - - The exif standard allows to store multiple string separated - by '\0' in one ASCII-field. On the other hand some programs - (e.g. CanonZoomBrowser) fill some ASCII fields by trailing - '\0's. - We follow the Adobe practice as described in XMP Specification - Part 3 (Storeage in Files), and process the ASCII string only - to the first '\0'. - - - - - Performs some fixups to a read . For some - special cases multiple instances contained - in the directory are needed. Therfore, we do the fixups after reading the - whole directory to be sure, all entries are present. - - - A value with the base offset, all offsets in the - directory refers to. - - - A instance which was read and needs fixes. - - - - - Try to parse the given IFD entry, used to discover format-specific entries. - - - A with the tag of the entry. - - - A with the type of the entry. - - - A with the data count of the entry. - - - A with the base offset which every offsets in the - IFD are relative to. - - - A with the offset of the entry. - - - A with the given parameters, or null if none was parsed, after - which the normal TIFF parsing is used. - - - - - Create a reader for Sub IFD entries. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A with the base offset which every offsets in the - IFD are relative to. - - - A with the offset of the entry. - - - A with the maximal offset to consider for - the IFD. - - - A which can be used to read the specified sub IFD. - - - - - This class contains all the IFD rendering code. - - - - - The IFD structure that will be rendered. - - - - - If IFD should be encoded in BigEndian or not. - - - - - A value with the offset of the - current IFD. All offsets inside the IFD must be adjusted - according to this given offset. - - - - - Constructor. Will render the given IFD structure. - - - If IFD should be encoded in BigEndian or not. - - - The IFD structure that will be rendered. - - - A value with the offset of the - current IFD. All offsets inside the IFD must be adjusted - according to this given offset. - - - - - Renders the current instance to a . - - - A containing the rendered IFD. - - - - - Renders the IFD to an ByteVector where the offset of the IFD - itself is and all offsets - contained in the IFD are adjusted accroding it. - - - A with the directory to render. - - - A with the offset of the IFD - - - A which is true, if the IFD is - the last one, i.e. the offset to the next IFD, which is - stored inside the IFD, is 0. If the value is false, the - offset to the next IFD is set that it starts directly after - the current one. - - - A with the rendered IFD. - - - - - Adds the data of a single entry to . - - - A to add the entry to. - - - A with the tag of the entry. - - - A with the type of the entry. - - - A with the data count of the entry, - - - A with the offset field of the entry. - - - - - Renders a complete entry together with the data. The entry itself - is stored in and the data of the - entry is stored in if it cannot be - stored in the offset. This method is called for every of this IFD and can be overwritten in subclasses - to provide special behavior. - - - A with the entry to render. - - - A to add the entry to. - - - A to add the entry data to if it cannot be - stored in the offset field. - - - A with the offset, were the data of the - entries starts. It is needed to adjust the offsets of the entries - itself. - - - - - Constructs a new IFD Renderer used to render a . - - - If IFD should be encoded in BigEndian or not. - - - The IFD structure that will be rendered. - - - A value with the offset of the - current IFD. All offsets inside the IFD must be adjusted - according to this given offset. - - - - - This class resembles the structure of a TIFF file. It can either be a - top-level IFD, or a nested IFD (in the case of Exif). - - - - - Contains the IFD directories in this tag. - - - - - Gets the IFD directories contained in the current instance. - - - An array of instances. - - - - - Checks, if a value for the given tag is contained in the IFD. - - - A value with the directory index that - contains the tag. - - - A value with the tag. - - - A , which is true, if the tag is already - contained in the IFD, otherwise false. - - - - - Removes a given tag from the IFD. - - - A value with the directory index that - contains the tag to remove. - - - A value with the tag to remove. - - - - - Removes a given tag from the IFD. - - - A value with the directory index that - contains the tag to remove. - - - A value with the tag to remove. - - - - - Adds an to the IFD, if it is not already - contained in, it fails otherwise. - - - A value with the directory index that - should contain the tag that will be added. - - - A to add to the IFD. - - - - - Adds an to the IFD. If it is already contained - in the IFD, it is overwritten. - - - A value with the directory index that - contains the tag that will be set. - - - A to add to the IFD. - - - - - Returns the belonging to the given tag. - - - A with the directory that contains - the wanted tag. - - - A with the tag to get. - - - A belonging to the given tag, or - null, if no such tag is contained in the IFD. - - - - - Returns the belonging to the given tag. - - - A with the directory that contains - the wanted tag. - - - A with the tag to get. - - - A belonging to the given tag, or - null, if no such tag is contained in the IFD. - - - - - Returns the stored in the - entry defined by . - - - A with the number of the directory - to search for the entry. - - - A with the tag of the entry - - - A with the value stored in the entry - or if no such entry is contained or it - does not contain a value. - - - - - Returns a containing the - stored in the entry defined - by . - - - A with the number of the directory - to search for the entry. - - - A with the tag of the entry - - - A containing the - stored in the entry, or - if no such entry is contained or it - does not contain a value. - - - - - Returns a containing the - stored in the entry defined - by . - - - A with the number of the directory - to search for the entry. - - - A with the tag of the entry - - - A containing the - stored in the entry, or - if no such entry is contained or it - does not contain a value. - - - - - Returns a containing the - stored in the entry defined - by . The entry can be of type - or - - - - A with the number of the directory - to search for the entry. - - - A with the tag of the entry - - - A containing the - stored in the entry, or - if no such entry is contained. - - - - - Returns a containing the - stored in the entry defined - by . The entry must be of type - and contain an datestring - according to the Exif specification. - - - A with the number of the directory - to search for the entry. - - - A with the tag of the entry - - - A containing the - stored in the entry, or - if no such entry is contained or it - does not contain a valid value. - - - - - Adds a to the directory with tag - given by and value given by - - - A with the number of the directory - to add the entry to. - - - A with the tag of the entry - - - A with the value to add. If it is - an possibly already contained entry is removed for given tag. - - - - - Adds a to the directory with tag - given by and value given by - - - A with the number of the directory - to add the entry to. - - - A with the tag of the entry - - - A with the value to add. - - - - - Adds a to the directory with tag - given by and value given by - - - A with the number of the directory - to add the entry to. - - - A with the tag of the entry - - - A with the value to add. - - - - - Adds a to the directory with tag - given by and value given by - - - A with the number of the directory - to add the entry to. - - - A with the tag of the entry - - - A with the value to add. It must be possible to - represent the value by a . - - - - - Adds a to the directory with tag - given by and value given by . - The value is stored as a date string according to the Exif specification. - - - A with the number of the directory - to add the entry to. - - - A with the tag of the entry - - - A with the value to add. - - - - - Contains the metadata for one IFD (Image File Directory). - - - - - A reference to the Exif IFD (which can be found by following the - pointer in IFD0, ExifIFD tag). This variable should not be used - directly, use the property instead. - - - - - A reference to the GPS IFD (which can be found by following the - pointer in IFD0, GPSIFD tag). This variable should not be used - directly, use the property instead. - - - - - The IFD structure referenced by the current instance - - - - - The Exif IFD. Will create one if the file doesn't alread have it. - - - Note how this also creates an empty IFD for exif, even if - you don't set a value. That's okay, empty nested IFDs get ignored - when rendering. - - - - - The GPS IFD. Will create one if the file doesn't alread have it. - - - Note how this also creates an empty IFD for GPS, even if - you don't set a value. That's okay, empty nested IFDs get ignored - when rendering. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Constructor. Creates an empty IFD tag. Can be populated manually, or via - . - - - - - Clears the values stored in the current instance. - - - - - Gets or sets the comment for the image described - by the current instance. - - - A containing the comment of the - current instace. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - - - Gets or sets the creator of the image. - - - A with the name of the creator. - - - - - Gets or sets the software the image, the current instance - belongs to, was created with. - - - A containing the name of the - software the current instace was created with. - - - - - Gets or sets the time when the image, the current instance - belongs to, was taken. - - - A with the time the image was taken. - - - - - The time of capturing. - - - A with the time of capturing. - - - - - The time of digitization. - - - A with the time of digitization. - - - - - Gets or sets the latitude of the GPS coordinate the current - image was taken. - - - A with the latitude ranging from -90.0 - to +90.0 degrees. - - - - - Gets or sets the longitude of the GPS coordinate the current - image was taken. - - - A with the longitude ranging from -180.0 - to +180.0 degrees. - - - - - Gets or sets the altitude of the GPS coordinate the current - image was taken. The unit is meter. - - - A with the altitude. A positive value - is above sea level, a negative one below sea level. The unit is meter. - - - - - Gets the exposure time the image, the current instance belongs - to, was taken with. - - - A with the exposure time in seconds. - - - - - Gets the FNumber the image, the current instance belongs - to, was taken with. - - - A with the FNumber. - - - - - Gets the ISO speed the image, the current instance belongs - to, was taken with. - - - A with the ISO speed as defined in ISO 12232. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with. - - - A with the focal length in millimeters. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with, assuming a 35mm film camera. - - - A with the focal length in 35mm equivalent in millimeters. - - - - - Gets or sets the orientation of the image described - by the current instance. - - - A containing the orientation of the - image - - - - - Gets the manufacture of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the manufacture name. - - - - - Gets the model name of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the model name. - - - - - Initilazies the GPS IFD with some basic entries. - - - - - Converts a given (positive) angle value to three rationals like they - are used to store an angle for GPS data. - - - A between 0.0d and 180.0d with the angle - in degrees - - - A representing the same angle by degree, minutes - and seconds of the angle. - - - - - This class contains Nikon3 makernote specific reading logic. - - - - - Constructor. Reads an IFD from given file, using the given endianness. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So must contain the beginning of the segment. - - - A value with the beginning of the IFD relative to - . - - - A value with maximal possible offset. This is to limit - the size of the possible data; - - - - - Try to parse the given IFD entry, used to discover format-specific entries. - - - A with the tag of the entry. - - - A with the type of the entry. - - - A with the data count of the entry. - - - A with the base offset which every offsets in the - IFD are relative to. - - - A with the offset of the entry. - - - A with the given parameters, or null if none was parsed, after - which the normal TIFF parsing is used. - - - - - Label tags for Canon File Info. - Based on http://www.exiv2.org/tags-canon.html - - - - - File Number. (Hex: 0X0001) - - - - - Bracket Mode. (Hex: 0X0003) - - - - - Bracket Value. (Hex: 0X0004) - - - - - Bracket Shot Number. (Hex: 0X0005) - - - - - Raw Jpg Quality. (Hex: 0X0006) - - - - - Raw Jpg Size. (Hex: 0X0007) - - - - - Noise Reduction. (Hex: 0X0008) - - - - - WB Bracket Mode. (Hex: 0X0009) - - - - - WB Bracket Value AB. (Hex: 0X000C) - - - - - WB Bracket Value GM. (Hex: 0X000D) - - - - - Filter Effect. (Hex: 0X000E) - - - - - Toning Effect. (Hex: 0X000F) - - - - - Label tags for Canon Makernote. - Based on http://www.burren.cx/david/canon.html and http://www.exiv2.org/tags-canon.html - - - - - Unknown field at tag 0x0000. (Hex: 0x0000) - - - - - Camera Settings. (Hex: 0x0001) - - - - - Focal Length. (Hex: 0x0002) - - - - - Unknown field at tag 0x0000. (Hex: 0x0003) - - - - - Shot Information. (Hex: 0x0004) - - - - - Panorama. (Hex: 0x0005) - - - - - Image Type. (Hex: 0x0006) - - - - - Firmware Version. (Hex: 0x0007) - - - - - Image Number. (Hex: 0x0008) - - - - - Owner Name. (Hex: 0x0009) - - - - - Serial Number. (Hex: 0x000C) - - - - - Unknown field at tag 0x0000. (Hex: 0x000D) - - - - - Custom Functions. (Hex: 0x000F) - - - - - Model ID. (Hex: 0x0010) - - - - - Picture Info. (Hex: 0x0012) - - - - - Serial Number Format. (Hex: 0x0015) - - - - - Canon File Info. (Hex: 0x0093) - - - - - Lens Model. (Hex: 0x0095) - - - - - Serial Info. (Hex: 0x0096) - - - - - Processing Info. (Hex: 0x00A0) - - - - - White Balance Table. (Hex: 0x00A9) - - - - - Measured Color. (Hex: 0x00AA) - - - - - Color Space. (Hex: 0x00B4) - - - - - Sensor Info. (Hex: 0x00E0) - - - - - Black Level. (Hex: 0x4008) - - - - - Label tags for Canon Picture Info. - Based on http://www.exiv2.org/tags-canon.html - - - - - Image width. (Hex: 0X0002) - - - - - Image height. (Hex: 0X0003) - - - - - Image width (as shot). (Hex: 0X0004) - - - - - Image height (as shot). (Hex: 0X0005) - - - - - AF points used. (Hex: 0X0016) - - - - - AF points used (20D). (Hex: 0X001A) - - - - - Entry tags occuring in the Exif IFD - The complete overview can be obtained at: - http://www.awaresystems.be/imaging/tiff.html - - - - - Contains two values representing the minimum rows and columns - to define the repeating patterns of the color filter array. - (Hex: 0x828D) - - - - - Contains two values representing the minimum rows and columns - to define the repeating patterns of the color filter array. - (Hex: 0x828E) - - - - - Exposure time, given in seconds. (Hex: 0x829A) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposuretime.html - - - - - The F number. (Hex: 0x829D) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/fnumber.html - - - - - The class of the program used by the camera to set exposure when the picture is taken. (Hex: 0x8822) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposureprogram.html - - - - - Indicates the spectral sensitivity of each channel of the camera used. (Hex: 0x8824) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/spectralsensitivity.html - - - - - Indicates the ISO Speed and ISO Latitude of the camera or input device as specified in ISO 12232. (Hex: 0x8827) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/isospeedratings.html - - - - - Indicates the Opto-Electric Conversion Function (OECF) specified in ISO 14524. (Hex: 0x8828) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/oecf.html - - - - - The version of the supported Exif standard. (Hex: 0x9000) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exifversion.html - - - - - The date and time when the original image data was generated. (Hex: 0x9003) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/datetimeoriginal.html - - - - - The date and time when the image was stored as digital data. (Hex: 0x9004) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/datetimedigitized.html - - - - - Specific to compressed data; specifies the channels and complements PhotometricInterpretation (Hex: 0x9101) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/componentsconfiguration.html - - - - - Specific to compressed data; states the compressed bits per pixel. (Hex: 0x9102) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/compressedbitsperpixel.html - - - - - Shutter speed. (Hex: 0x9201) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/shutterspeedvalue.html - - - - - The lens aperture. (Hex: 0x9202) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/aperturevalue.html - - - - - The value of brightness. (Hex: 0x9203) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/brightnessvalue.html - - - - - The exposure bias. (Hex: 0x9204) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposurebiasvalue.html - - - - - The smallest F number of the lens. (Hex: 0x9205) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/maxaperturevalue.html - - - - - The distance to the subject, given in meters. (Hex: 0x9206) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subjectdistance.html - - - - - The metering mode. (Hex: 0x9207) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/meteringmode.html - - - - - The kind of light source. (Hex: 0x9208) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/lightsource.html - - - - - Indicates the status of flash when the image was shot. (Hex: 0x9209) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/flash.html - - - - - The actual focal length of the lens, in mm. (Hex: 0x920A) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/focallength.html - - - - - Indicates the location and area of the main subject in the overall scene. (Hex: 0x9214) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subjectarea.html - - - - - Manufacturer specific information. (Hex: 0x927C) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/makernote.html - - - - - Keywords or comments on the image; complements ImageDescription. (Hex: 0x9286) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/usercomment.html - - - - - A tag used to record fractions of seconds for the DateTime tag. (Hex: 0x9290) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subsectime.html - - - - - A tag used to record fractions of seconds for the DateTimeOriginal tag. (Hex: 0x9291) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subsectimeoriginal.html - - - - - A tag used to record fractions of seconds for the DateTimeDigitized tag. (Hex: 0x9292) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subsectimedigitized.html - - - - - The Flashpix format version supported by a FPXR file. (Hex: 0xA000) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/flashpixversion.html - - - - - The color space information tag is always recorded as the color space specifier. (Hex: 0xA001) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/colorspace.html - - - - - Specific to compressed data; the valid width of the meaningful image. (Hex: 0xA002) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/pixelxdimension.html - - - - - Specific to compressed data; the valid height of the meaningful image. (Hex: 0xA003) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/pixelydimension.html - - - - - Used to record the name of an audio file related to the image data. (Hex: 0xA004) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/relatedsoundfile.html - - - - - Indicates the strobe energy at the time the image is captured, as measured in Beam Candle Power Seconds (Hex: 0xA20B) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/flashenergy.html - - - - - Records the camera or input device spatial frequency table and SFR values in the direction of image width, image height, and diagonal direction, as specified in ISO 12233. (Hex: 0xA20C) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/spatialfrequencyresponse.html - - - - - Indicates the number of pixels in the image width (X) direction per FocalPlaneResolutionUnit on the camera focal plane. (Hex: 0xA20E) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/focalplanexresolution.html - - - - - Indicates the number of pixels in the image height (Y) direction per FocalPlaneResolutionUnit on the camera focal plane. (Hex: 0xA20F) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/focalplaneyresolution.html - - - - - Indicates the unit for measuring FocalPlaneXResolution and FocalPlaneYResolution. (Hex: 0xA210) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/focalplaneresolutionunit.html - - - - - Indicates the location of the main subject in the scene. (Hex: 0xA214) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subjectlocation.html - - - - - Indicates the exposure index selected on the camera or input device at the time the image is captured. (Hex: 0xA215) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposureindex.html - - - - - Indicates the image sensor type on the camera or input device. (Hex: 0xA217) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/sensingmethod.html - - - - - Indicates the image source. (Hex: 0xA300) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/filesource.html - - - - - Indicates the type of scene. (Hex: 0xA301) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/scenetype.html - - - - - Indicates the color filter array (CFA) geometric pattern of the image sensor when a one-chip color area sensor is used. (Hex: 0xA302) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/cfapattern.html - - - - - Indicates the use of special processing on image data, such as rendering geared to output. (Hex: 0xA401) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/customrendered.html - - - - - Indicates the exposure mode set when the image was shot. (Hex: 0xA402) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/exposuremode.html - - - - - Indicates the white balance mode set when the image was shot. (Hex: 0xA403) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/whitebalance.html - - - - - Indicates the digital zoom ratio when the image was shot. (Hex: 0xA404) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/digitalzoomratio.html - - - - - Indicates the equivalent focal length assuming a 35mm film camera, in mm. (Hex: 0xA405) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/focallengthin35mmfilm.html - - - - - Indicates the type of scene that was shot. (Hex: 0xA406) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/scenecapturetype.html - - - - - Indicates the degree of overall image gain adjustment. (Hex: 0xA407) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/gaincontrol.html - - - - - Indicates the direction of contrast processing applied by the camera when the image was shot. (Hex: 0xA408) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/contrast.html - - - - - Indicates the direction of saturation processing applied by the camera when the image was shot. (Hex: 0xA409) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/saturation.html - - - - - Indicates the direction of sharpness processing applied by the camera when the image was shot. (Hex: 0xA40A) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/sharpness.html - - - - - This tag indicates information on the picture-taking conditions of a particular camera model. (Hex: 0xA40B) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/devicesettingdescription.html - - - - - Indicates the distance to the subject. (Hex: 0xA40C) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/subjectdistancerange.html - - - - - Indicates an identifier assigned uniquely to each image. (Hex: 0xA420) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/imageuniqueid.html - - - - - Entry tags occuring in the GPS IFD - The complete overview can be obtained at: - http://www.awaresystems.be/imaging/tiff.html - - - - - Indicates the version of GPSInfoIFD. (Hex: 0x0000) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsversionid.html - - - - - Indicates whether the latitude is north or south latitude. (Hex: 0x0001) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpslatituderef.html - - - - - Indicates the latitude. (Hex: 0x0002) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpslatitude.html - - - - - Indicates whether the longitude is east or west longitude. (Hex: 0x0003) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpslongituderef.html - - - - - Indicates the longitude. (Hex: 0x0004) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpslongitude.html - - - - - Indicates the altitude used as the reference altitude. (Hex: 0x0005) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsaltituderef.html - - - - - Indicates the altitude based on the reference in GPSAltitudeRef. (Hex: 0x0006) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsaltitude.html - - - - - Indicates the time as UTC (Coordinated Universal Time). (Hex: 0x0007) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpstimestamp.html - - - - - Indicates the GPS satellites used for measurements. (Hex: 0x0008) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpssatellites.html - - - - - Indicates the status of the GPS receiver when the image is recorded. (Hex: 0x0009) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsstatus.html - - - - - Indicates the GPS measurement mode. (Hex: 0x000A) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsmeasuremode.html - - - - - Indicates the GPS DOP (data degree of precision). (Hex: 0x000B) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdop.html - - - - - Indicates the unit used to express the GPS receiver speed of movement. (Hex: 0x000C) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsspeedref.html - - - - - Indicates the speed of GPS receiver movement. (Hex: 0x000D) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsspeed.html - - - - - Indicates the reference for giving the direction of GPS receiver movement. (Hex: 0x000E) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpstrackref.html - - - - - Indicates the direction of GPS receiver movement. (Hex: 0x000F) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpstrack.html - - - - - Indicates the reference for giving the direction of the image when it is captured. (Hex: 0x0010) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsimgdirectionref.html - - - - - Indicates the direction of the image when it was captured. (Hex: 0x0011) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsimgdirection.html - - - - - Indicates the geodetic survey data used by the GPS receiver. (Hex: 0x0012) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsmapdatum.html - - - - - Indicates whether the latitude of the destination point is north or south latitude. (Hex: 0x0013) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestlatituderef.html - - - - - Indicates the latitude of the destination point. (Hex: 0x0014) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestlatitude.html - - - - - Indicates whether the longitude of the destination point is east or west longitude. (Hex: 0x0015) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestlongituderef.html - - - - - Indicates the longitude of the destination point. (Hex: 0x0016) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestlongitude.html - - - - - Indicates the reference used for giving the bearing to the destination point. (Hex: 0x0017) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestbearingref.html - - - - - Indicates the bearing to the destination point. (Hex: 0x0018) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestbearing.html - - - - - Indicates the unit used to express the distance to the destination point. (Hex: 0x0019) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestdistanceref.html - - - - - Indicates the distance to the destination point. (Hex: 0x001A) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdestdistance.html - - - - - A character string recording the name of the method used for location finding. (Hex: 0x001B) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsprocessingmethod.html - - - - - A character string recording the name of the GPS area. (Hex: 0x001C) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsareainformation.html - - - - - A character string recording date and time information relative to UTC (Coordinated Universal Time). (Hex: 0x001D) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdatestamp.html - - - - - Indicates whether differential correction is applied to the GPS receiver. (Hex: 0x001E) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/gps/gpsdifferential.html - - - - - Entry tags occuring in a Tiff IFD, or IFD0 for Jpegs. They are mostly - defined by the TIFF specification: - http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf - The complete overview can be obtained at: - http://www.awaresystems.be/imaging/tiff.html - - - - - A general indication of the kind of data contained in this subfile. (Hex: 0x00FE) - http://www.awaresystems.be/imaging/tiff/tifftags/newsubfiletype.html - - - - - A general indication of the kind of data contained in this subfile. (Hex: 0x00FF) - http://www.awaresystems.be/imaging/tiff/tifftags/subfiletype.html - - - - - The number of columns in the image, i.e., the number of pixels per row. (Hex: 0x0100) - http://www.awaresystems.be/imaging/tiff/tifftags/imagewidth.html - - - - - The number of rows of pixels in the image. (Hex: 0x0101) - http://www.awaresystems.be/imaging/tiff/tifftags/imagelength.html - - - - - Number of bits per component. (Hex: 0x0102) - http://www.awaresystems.be/imaging/tiff/tifftags/bitspersample.html - - - - - Compression scheme used on the image data. (Hex: 0x0103) - http://www.awaresystems.be/imaging/tiff/tifftags/compression.html - - - - - The color space of the image data. (Hex: 0x0106) - http://www.awaresystems.be/imaging/tiff/tifftags/photometricinterpretation.html - - - - - For black and white TIFF files that represent shades of gray, the technique used to convert from gray to black and white pixels. (Hex: 0x0107) - http://www.awaresystems.be/imaging/tiff/tifftags/threshholding.html - - - - - The width of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file. (Hex: 0x0108) - http://www.awaresystems.be/imaging/tiff/tifftags/cellwidth.html - - - - - The length of the dithering or halftoning matrix used to create a dithered or halftoned bilevel file. (Hex: 0x0109) - http://www.awaresystems.be/imaging/tiff/tifftags/celllength.html - - - - - The logical order of bits within a byte. (Hex: 0x010A) - http://www.awaresystems.be/imaging/tiff/tifftags/fillorder.html - - - - - The name of the document from which this image was scanned. (Hex: 0x010D) - http://www.awaresystems.be/imaging/tiff/tifftags/documentname.html - - - - - A string that describes the subject of the image. (Hex: 0x010E) - http://www.awaresystems.be/imaging/tiff/tifftags/imagedescription.html - - - - - The scanner manufacturer. (Hex: 0x010F) - http://www.awaresystems.be/imaging/tiff/tifftags/make.html - - - - - The scanner model name or number. (Hex: 0x0110) - http://www.awaresystems.be/imaging/tiff/tifftags/model.html - - - - - For each strip, the byte offset of that strip. (Hex: 0x0111) - http://www.awaresystems.be/imaging/tiff/tifftags/stripoffsets.html - - - - - The orientation of the image with respect to the rows and columns. (Hex: 0x0112) - http://www.awaresystems.be/imaging/tiff/tifftags/orientation.html - - - - - The number of components per pixel. (Hex: 0x0115) - http://www.awaresystems.be/imaging/tiff/tifftags/samplesperpixel.html - - - - - The number of rows per strip. (Hex: 0x0116) - http://www.awaresystems.be/imaging/tiff/tifftags/rowsperstrip.html - - - - - For each strip, the number of bytes in the strip after compression. (Hex: 0x0117) - http://www.awaresystems.be/imaging/tiff/tifftags/stripbytecounts.html - - - - - The minimum component value used. (Hex: 0x0118) - http://www.awaresystems.be/imaging/tiff/tifftags/minsamplevalue.html - - - - - The maximum component value used. (Hex: 0x0119) - http://www.awaresystems.be/imaging/tiff/tifftags/maxsamplevalue.html - - - - - The number of pixels per ResolutionUnit in the ImageWidth direction. (Hex: 0x011A) - http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html - - - - - The number of pixels per ResolutionUnit in the ImageLength direction. (Hex: 0x011B) - http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html - - - - - How the components of each pixel are stored. (Hex: 0x011C) - http://www.awaresystems.be/imaging/tiff/tifftags/planarconfiguration.html - - - - - The name of the page from which this image was scanned. (Hex: 0x011D) - http://www.awaresystems.be/imaging/tiff/tifftags/pagename.html - - - - - X position of the image. (Hex: 0x011E) - http://www.awaresystems.be/imaging/tiff/tifftags/xposition.html - - - - - Y position of the image. (Hex: 0x011F) - http://www.awaresystems.be/imaging/tiff/tifftags/yposition.html - - - - - For each string of contiguous unused bytes in a TIFF file, the byte offset of the string. (Hex: 0x0120) - http://www.awaresystems.be/imaging/tiff/tifftags/freeoffsets.html - - - - - For each string of contiguous unused bytes in a TIFF file, the number of bytes in the string. (Hex: 0x0121) - http://www.awaresystems.be/imaging/tiff/tifftags/freebytecounts.html - - - - - The precision of the information contained in the GrayResponseCurve. (Hex: 0x0122) - http://www.awaresystems.be/imaging/tiff/tifftags/grayresponseunit.html - - - - - For grayscale data, the optical density of each possible pixel value. (Hex: 0x0123) - http://www.awaresystems.be/imaging/tiff/tifftags/grayresponsecurve.html - - - - - Options for Group 3 Fax compression (Hex: 0x0124) - http://www.awaresystems.be/imaging/tiff/tifftags/t4options.html - - - - - Options for Group 4 Fax compression (Hex: 0x0125) - http://www.awaresystems.be/imaging/tiff/tifftags/t6options.html - - - - - The unit of measurement for XResolution and YResolution. (Hex: 0x0128) - http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html - - - - - The page number of the page from which this image was scanned. (Hex: 0x0129) - http://www.awaresystems.be/imaging/tiff/tifftags/pagenumber.html - - - - - Describes a transfer function for the image in tabular style. (Hex: 0x012D) - http://www.awaresystems.be/imaging/tiff/tifftags/transferfunction.html - - - - - Name and version number of the software package(s) used to create the image. (Hex: 0x0131) - http://www.awaresystems.be/imaging/tiff/tifftags/software.html - - - - - Date and time of image creation. (Hex: 0x0132) - http://www.awaresystems.be/imaging/tiff/tifftags/datetime.html - - - - - Person who created the image. (Hex: 0x013B) - http://www.awaresystems.be/imaging/tiff/tifftags/artist.html - - - - - The computer and/or operating system in use at the time of image creation. (Hex: 0x013C) - http://www.awaresystems.be/imaging/tiff/tifftags/hostcomputer.html - - - - - A mathematical operator that is applied to the image data before an encoding scheme is applied. (Hex: 0x013D) - http://www.awaresystems.be/imaging/tiff/tifftags/predictor.html - - - - - The chromaticity of the white point of the image. (Hex: 0x013E) - http://www.awaresystems.be/imaging/tiff/tifftags/whitepoint.html - - - - - The chromaticities of the primaries of the image. (Hex: 0x013F) - http://www.awaresystems.be/imaging/tiff/tifftags/primarychromaticities.html - - - - - A color map for palette color images. (Hex: 0x0140) - http://www.awaresystems.be/imaging/tiff/tifftags/colormap.html - - - - - Conveys to the halftone function the range of gray levels within a colorimetrically-specified image that should retain tonal detail. (Hex: 0x0141) - http://www.awaresystems.be/imaging/tiff/tifftags/halftonehints.html - - - - - The tile width in pixels. This is the number of columns in each tile. (Hex: 0x0142) - http://www.awaresystems.be/imaging/tiff/tifftags/tilewidth.html - - - - - The tile length (height) in pixels. This is the number of rows in each tile. (Hex: 0x0143) - http://www.awaresystems.be/imaging/tiff/tifftags/tilelength.html - - - - - For each tile, the byte offset of that tile, as compressed and stored on disk. (Hex: 0x0144) - http://www.awaresystems.be/imaging/tiff/tifftags/tileoffsets.html - - - - - For each tile, the number of (compressed) bytes in that tile. (Hex: 0x0145) - http://www.awaresystems.be/imaging/tiff/tifftags/tilebytecounts.html - - - - - Used in the TIFF-F standard, denotes the number of 'bad' scan lines encountered by the facsimile device. (Hex: 0x0146) - http://www.awaresystems.be/imaging/tiff/tifftags/badfaxlines.html - - - - - Used in the TIFF-F standard, indicates if 'bad' lines encountered during reception are stored in the data, or if 'bad' lines have been replaced by the receiver. (Hex: 0x0147) - http://www.awaresystems.be/imaging/tiff/tifftags/cleanfaxdata.html - - - - - Used in the TIFF-F standard, denotes the maximum number of consecutive 'bad' scanlines received. (Hex: 0x0148) - http://www.awaresystems.be/imaging/tiff/tifftags/consecutivebadfaxlines.html - - - - - Offset to child IFDs. (Hex: 0x014A) - http://www.awaresystems.be/imaging/tiff/tifftags/subifds.html - - - - - The set of inks used in a separated (PhotometricInterpretation=5) image. (Hex: 0x014C) - http://www.awaresystems.be/imaging/tiff/tifftags/inkset.html - - - - - The name of each ink used in a separated image. (Hex: 0x014D) - http://www.awaresystems.be/imaging/tiff/tifftags/inknames.html - - - - - The number of inks. (Hex: 0x014E) - http://www.awaresystems.be/imaging/tiff/tifftags/numberofinks.html - - - - - The component values that correspond to a 0% dot and 100% dot. (Hex: 0x0150) - http://www.awaresystems.be/imaging/tiff/tifftags/dotrange.html - - - - - A description of the printing environment for which this separation is intended. (Hex: 0x0151) - http://www.awaresystems.be/imaging/tiff/tifftags/targetprinter.html - - - - - Description of extra components. (Hex: 0x0152) - http://www.awaresystems.be/imaging/tiff/tifftags/extrasamples.html - - - - - Specifies how to interpret each data sample in a pixel. (Hex: 0x0153) - http://www.awaresystems.be/imaging/tiff/tifftags/sampleformat.html - - - - - Specifies the minimum sample value. (Hex: 0x0154) - http://www.awaresystems.be/imaging/tiff/tifftags/sminsamplevalue.html - - - - - Specifies the maximum sample value. (Hex: 0x0155) - http://www.awaresystems.be/imaging/tiff/tifftags/smaxsamplevalue.html - - - - - Expands the range of the TransferFunction. (Hex: 0x0156) - http://www.awaresystems.be/imaging/tiff/tifftags/transferrange.html - - - - - Mirrors the essentials of PostScript's path creation functionality. (Hex: 0x0157) - http://www.awaresystems.be/imaging/tiff/tifftags/clippath.html - - - - - The number of units that span the width of the image, in terms of integer ClipPath coordinates. (Hex: 0x0158) - http://www.awaresystems.be/imaging/tiff/tifftags/xclippathunits.html - - - - - The number of units that span the height of the image, in terms of integer ClipPath coordinates. (Hex: 0x0159) - http://www.awaresystems.be/imaging/tiff/tifftags/yclippathunits.html - - - - - Aims to broaden the support for indexed images to include support for any color space. (Hex: 0x015A) - http://www.awaresystems.be/imaging/tiff/tifftags/indexed.html - - - - - JPEG quantization and/or Huffman tables. (Hex: 0x015B) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegtables.html - - - - - OPI-related. (Hex: 0x015F) - http://www.awaresystems.be/imaging/tiff/tifftags/opiproxy.html - - - - - Used in the TIFF-FX standard to point to an IFD containing tags that are globally applicable to the complete TIFF file. (Hex: 0x0190) - http://www.awaresystems.be/imaging/tiff/tifftags/globalparametersifd.html - - - - - Used in the TIFF-FX standard, denotes the type of data stored in this file or IFD. (Hex: 0x0191) - http://www.awaresystems.be/imaging/tiff/tifftags/profiletype.html - - - - - Used in the TIFF-FX standard, denotes the 'profile' that applies to this file. (Hex: 0x0192) - http://www.awaresystems.be/imaging/tiff/tifftags/faxprofile.html - - - - - Used in the TIFF-FX standard, indicates which coding methods are used in the file. (Hex: 0x0193) - http://www.awaresystems.be/imaging/tiff/tifftags/codingmethods.html - - - - - Used in the TIFF-FX standard, denotes the year of the standard specified by the FaxProfile field. (Hex: 0x0194) - http://www.awaresystems.be/imaging/tiff/tifftags/versionyear.html - - - - - Used in the TIFF-FX standard, denotes the mode of the standard specified by the FaxProfile field. (Hex: 0x0195) - http://www.awaresystems.be/imaging/tiff/tifftags/modenumber.html - - - - - Used in the TIFF-F and TIFF-FX standards, holds information about the ITULAB (PhotometricInterpretation = 10) encoding. (Hex: 0x01B1) - http://www.awaresystems.be/imaging/tiff/tifftags/decode.html - - - - - Defined in the Mixed Raster Content part of RFC 2301, is the default color needed in areas where no image is available. (Hex: 0x01B2) - http://www.awaresystems.be/imaging/tiff/tifftags/defaultimagecolor.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0200) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegproc.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0201) - http://www.awaresystems.be/imaging/tiff/tifftags/jpeginterchangeformat.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0202) - http://www.awaresystems.be/imaging/tiff/tifftags/jpeginterchangeformatlength.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0203) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegrestartinterval.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0205) - http://www.awaresystems.be/imaging/tiff/tifftags/jpeglosslesspredictors.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0206) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegpointtransforms.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0207) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegqtables.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0208) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegdctables.html - - - - - Old-style JPEG compression field. TechNote2 invalidates this part of the specification. (Hex: 0x0209) - http://www.awaresystems.be/imaging/tiff/tifftags/jpegactables.html - - - - - The transformation from RGB to YCbCr image data. (Hex: 0x0211) - http://www.awaresystems.be/imaging/tiff/tifftags/ycbcrcoefficients.html - - - - - Specifies the subsampling factors used for the chrominance components of a YCbCr image. (Hex: 0x0212) - http://www.awaresystems.be/imaging/tiff/tifftags/ycbcrsubsampling.html - - - - - Specifies the positioning of subsampled chrominance components relative to luminance samples. (Hex: 0x0213) - http://www.awaresystems.be/imaging/tiff/tifftags/ycbcrpositioning.html - - - - - Specifies a pair of headroom and footroom image data values (codes) for each pixel component. (Hex: 0x0214) - http://www.awaresystems.be/imaging/tiff/tifftags/referenceblackwhite.html - - - - - Defined in the Mixed Raster Content part of RFC 2301, used to replace RowsPerStrip for IFDs with variable-sized strips. (Hex: 0x022F) - http://www.awaresystems.be/imaging/tiff/tifftags/striprowcounts.html - - - - - XML packet containing XMP metadata (Hex: 0x02BC) - http://www.awaresystems.be/imaging/tiff/tifftags/xmp.html - - - - - Rating tag used by Windows (Hex: 0x4746) - - - - - Rating tag used by Windows, value in percent (Hex: 0x4749) - - - - - OPI-related. (Hex: 0x800D) - http://www.awaresystems.be/imaging/tiff/tifftags/imageid.html - - - - - Annotation data, as used in 'Imaging for Windows'. (Hex: 0x80A4) - http://www.awaresystems.be/imaging/tiff/tifftags/wangannotation.html - - - - - Copyright notice. (Hex: 0x8298) - http://www.awaresystems.be/imaging/tiff/tifftags/copyright.html - - - - - Specifies the pixel data format encoding in the Molecular Dynamics GEL file format. (Hex: 0x82A5) - http://www.awaresystems.be/imaging/tiff/tifftags/mdfiletag.html - - - - - Specifies a scale factor in the Molecular Dynamics GEL file format. (Hex: 0x82A6) - http://www.awaresystems.be/imaging/tiff/tifftags/mdscalepixel.html - - - - - Used to specify the conversion from 16bit to 8bit in the Molecular Dynamics GEL file format. (Hex: 0x82A7) - http://www.awaresystems.be/imaging/tiff/tifftags/mdcolortable.html - - - - - Name of the lab that scanned this file, as used in the Molecular Dynamics GEL file format. (Hex: 0x82A8) - http://www.awaresystems.be/imaging/tiff/tifftags/mdlabname.html - - - - - Information about the sample, as used in the Molecular Dynamics GEL file format. (Hex: 0x82A9) - http://www.awaresystems.be/imaging/tiff/tifftags/mdsampleinfo.html - - - - - Date the sample was prepared, as used in the Molecular Dynamics GEL file format. (Hex: 0x82AA) - http://www.awaresystems.be/imaging/tiff/tifftags/mdprepdate.html - - - - - Time the sample was prepared, as used in the Molecular Dynamics GEL file format. (Hex: 0x82AB) - http://www.awaresystems.be/imaging/tiff/tifftags/mdpreptime.html - - - - - Units for data in this file, as used in the Molecular Dynamics GEL file format. (Hex: 0x82AC) - http://www.awaresystems.be/imaging/tiff/tifftags/mdfileunits.html - - - - - Used in interchangeable GeoTIFF files. (Hex: 0x830E) - http://www.awaresystems.be/imaging/tiff/tifftags/modelpixelscaletag.html - - - - - IPTC (International Press Telecommunications Council) metadata. (Hex: 0x83BB) - http://www.awaresystems.be/imaging/tiff/tifftags/iptc.html - - - - - Intergraph Application specific storage. (Hex: 0x847E) - http://www.awaresystems.be/imaging/tiff/tifftags/ingrpacketdatatag.html - - - - - Intergraph Application specific flags. (Hex: 0x847F) - http://www.awaresystems.be/imaging/tiff/tifftags/ingrflagregisters.html - - - - - Originally part of Intergraph's GeoTIFF tags, but likely understood by IrasB only. (Hex: 0x8480) - http://www.awaresystems.be/imaging/tiff/tifftags/irasbtransformationmatrix.html - - - - - Originally part of Intergraph's GeoTIFF tags, but now used in interchangeable GeoTIFF files. (Hex: 0x8482) - http://www.awaresystems.be/imaging/tiff/tifftags/modeltiepointtag.html - - - - - Used in interchangeable GeoTIFF files. (Hex: 0x85D8) - http://www.awaresystems.be/imaging/tiff/tifftags/modeltransformationtag.html - - - - - Collection of Photoshop 'Image Resource Blocks'. (Hex: 0x8649) - http://www.awaresystems.be/imaging/tiff/tifftags/photoshop.html - - - - - A pointer to the Exif IFD. (Hex: 0x8769) - http://www.awaresystems.be/imaging/tiff/tifftags/exififd.html - - - - - ICC profile data. (Hex: 0x8773) - http://www.awaresystems.be/imaging/tiff/tifftags/iccprofile.html - - - - - Defined in the Mixed Raster Content part of RFC 2301, used to denote the particular function of this Image in the mixed raster scheme. (Hex: 0x87AC) - http://www.awaresystems.be/imaging/tiff/tifftags/imagelayer.html - - - - - Used in interchangeable GeoTIFF files. (Hex: 0x87AF) - http://www.awaresystems.be/imaging/tiff/tifftags/geokeydirectorytag.html - - - - - Used in interchangeable GeoTIFF files. (Hex: 0x87B0) - http://www.awaresystems.be/imaging/tiff/tifftags/geodoubleparamstag.html - - - - - Used in interchangeable GeoTIFF files. (Hex: 0x87B1) - http://www.awaresystems.be/imaging/tiff/tifftags/geoasciiparamstag.html - - - - - A pointer to the Exif-related GPS Info IFD. (Hex: 0x8825) - http://www.awaresystems.be/imaging/tiff/tifftags/gpsifd.html - - - - - Used by HylaFAX. (Hex: 0x885C) - http://www.awaresystems.be/imaging/tiff/tifftags/hylafaxfaxrecvparams.html - - - - - Used by HylaFAX. (Hex: 0x885D) - http://www.awaresystems.be/imaging/tiff/tifftags/hylafaxfaxsubaddress.html - - - - - Used by HylaFAX. (Hex: 0x885E) - http://www.awaresystems.be/imaging/tiff/tifftags/hylafaxfaxrecvtime.html - - - - - Used by Adobe Photoshop. (Hex: 0x935C) - http://www.awaresystems.be/imaging/tiff/tifftags/imagesourcedata.html - - - - - A pointer to the Exif-related Interoperability IFD. (Hex: 0xA005) - http://www.awaresystems.be/imaging/tiff/tifftags/interoperabilityifd.html - - - - - Used by the GDAL library, holds an XML list of name=value 'metadata' values about the image as a whole, and about specific samples. (Hex: 0xA480) - http://www.awaresystems.be/imaging/tiff/tifftags/gdal_metadata.html - - - - - Used by the GDAL library, contains an ASCII encoded nodata or background pixel value. (Hex: 0xA481) - http://www.awaresystems.be/imaging/tiff/tifftags/gdal_nodata.html - - - - - Used in the Oce scanning process. (Hex: 0xC427) - http://www.awaresystems.be/imaging/tiff/tifftags/ocescanjobdescription.html - - - - - Used in the Oce scanning process. (Hex: 0xC428) - http://www.awaresystems.be/imaging/tiff/tifftags/oceapplicationselector.html - - - - - Used in the Oce scanning process. (Hex: 0xC429) - http://www.awaresystems.be/imaging/tiff/tifftags/oceidentificationnumber.html - - - - - Used in the Oce scanning process. (Hex: 0xC42A) - http://www.awaresystems.be/imaging/tiff/tifftags/oceimagelogiccharacteristics.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC612) - http://www.awaresystems.be/imaging/tiff/tifftags/dngversion.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC613) - http://www.awaresystems.be/imaging/tiff/tifftags/dngbackwardversion.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC614) - http://www.awaresystems.be/imaging/tiff/tifftags/uniquecameramodel.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC615) - http://www.awaresystems.be/imaging/tiff/tifftags/localizedcameramodel.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC616) - http://www.awaresystems.be/imaging/tiff/tifftags/cfaplanecolor.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC617) - http://www.awaresystems.be/imaging/tiff/tifftags/cfalayout.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC618) - http://www.awaresystems.be/imaging/tiff/tifftags/linearizationtable.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC619) - http://www.awaresystems.be/imaging/tiff/tifftags/blacklevelrepeatdim.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61A) - http://www.awaresystems.be/imaging/tiff/tifftags/blacklevel.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61B) - http://www.awaresystems.be/imaging/tiff/tifftags/blackleveldeltah.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61C) - http://www.awaresystems.be/imaging/tiff/tifftags/blackleveldeltav.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61D) - http://www.awaresystems.be/imaging/tiff/tifftags/whitelevel.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61E) - http://www.awaresystems.be/imaging/tiff/tifftags/defaultscale.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC61F) - http://www.awaresystems.be/imaging/tiff/tifftags/defaultcroporigin.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC620) - http://www.awaresystems.be/imaging/tiff/tifftags/defaultcropsize.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC621) - http://www.awaresystems.be/imaging/tiff/tifftags/colormatrix1.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC622) - http://www.awaresystems.be/imaging/tiff/tifftags/colormatrix2.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC623) - http://www.awaresystems.be/imaging/tiff/tifftags/cameracalibration1.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC624) - http://www.awaresystems.be/imaging/tiff/tifftags/cameracalibration2.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC625) - http://www.awaresystems.be/imaging/tiff/tifftags/reductionmatrix1.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC626) - http://www.awaresystems.be/imaging/tiff/tifftags/reductionmatrix2.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC627) - http://www.awaresystems.be/imaging/tiff/tifftags/analogbalance.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC628) - http://www.awaresystems.be/imaging/tiff/tifftags/asshotneutral.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC629) - http://www.awaresystems.be/imaging/tiff/tifftags/asshotwhitexy.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC62A) - http://www.awaresystems.be/imaging/tiff/tifftags/baselineexposure.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC62B) - http://www.awaresystems.be/imaging/tiff/tifftags/baselinenoise.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC62C) - http://www.awaresystems.be/imaging/tiff/tifftags/baselinesharpness.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC62D) - http://www.awaresystems.be/imaging/tiff/tifftags/bayergreensplit.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC62E) - http://www.awaresystems.be/imaging/tiff/tifftags/linearresponselimit.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC62F) - http://www.awaresystems.be/imaging/tiff/tifftags/cameraserialnumber.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC630) - http://www.awaresystems.be/imaging/tiff/tifftags/lensinfo.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC631) - http://www.awaresystems.be/imaging/tiff/tifftags/chromablurradius.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC632) - http://www.awaresystems.be/imaging/tiff/tifftags/antialiasstrength.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC634) - http://www.awaresystems.be/imaging/tiff/tifftags/dngprivatedata.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC635) - http://www.awaresystems.be/imaging/tiff/tifftags/makernotesafety.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC65A) - http://www.awaresystems.be/imaging/tiff/tifftags/calibrationilluminant1.html - - - - - Used in IFD 0 of DNG files. (Hex: 0xC65B) - http://www.awaresystems.be/imaging/tiff/tifftags/calibrationilluminant2.html - - - - - Used in Raw IFD of DNG files. (Hex: 0xC65C) - http://www.awaresystems.be/imaging/tiff/tifftags/bestqualityscale.html - - - - - Alias Sketchbook Pro layer usage description. (Hex: 0xC660) - http://www.awaresystems.be/imaging/tiff/tifftags/aliaslayermetadata.html - - - - - Entry tags occuring in the Interoperability IFD - The complete overview can be obtained at: - http://www.awaresystems.be/imaging/tiff.html - - - - - Indicates the identification of the Interoperability rule. (Hex: 0x0001) - http://www.awaresystems.be/imaging/tiff/tifftags/privateifd/interoperability/interoperabilityindex.html - - - - - Interoperability version. (Hex: 0x0002) - - - - - File format of image file. (Hex: 0x1000) - - - - - Image Width. (Hex: 0x1001) - - - - - Image Height. (Hex: 0x1002) - - - - - Nikon format 3 makernote tags. - Based on http://www.exiv2.org/tags-nikon.html and - http://park2.wakwak.com/~tsuruzoh/Computer/Digicams/exif-e.html - - - - - Makernote version. (Hex: 0x0001) - - - - - ISO speed setting. (Hex: 0X0002) - - - - - Color mode. (Hex: 0X0003) - - - - - Image quality setting. (Hex: 0X0004) - - - - - White balance. (Hex: 0X0005) - - - - - Image sharpening setting. (Hex: 0X0006) - - - - - Focus mode. (Hex: 0X0007) - - - - - Flash setting. (Hex: 0X0008) - - - - - Flash device. (Hex: 0X0009) - - - - - Unknown. (Hex: 0X000A) - - - - - White balance bias. (Hex: 0X000B) - - - - - WB RB levels. (Hex: 0X000C) - - - - - Program shift. (Hex: 0X000D) - - - - - Exposure difference. (Hex: 0X000E) - - - - - ISO selection. (Hex: 0X000F) - - - - - Data dump. (Hex: 0X0010) - - - - - Offset to an IFD containing a preview image. (Hex: 0x0011) - - - - - Flash compensation setting. (Hex: 0X0012) - - - - - ISO setting. (Hex: 0X0013) - - - - - Image boundary. (Hex: 0X0016) - - - - - Unknown. (Hex: 0X0017) - - - - - Flash bracket compensation applied. (Hex: 0X0018) - - - - - AE bracket compensation applied. (Hex: 0X0019) - - - - - Image processing. (Hex: 0X001A) - - - - - Crop high speed. (Hex: 0X001B) - - - - - Serial Number. (Hex: 0X001D) - - - - - Color space. (Hex: 0X001E) - - - - - VR info. (Hex: 0X001F) - - - - - Image authentication. (Hex: 0X0020) - - - - - ActiveD-lighting. (Hex: 0X0022) - - - - - Picture control. (Hex: 0X0023) - - - - - World time. (Hex: 0X0024) - - - - - ISO info. (Hex: 0X0025) - - - - - Vignette control. (Hex: 0X002A) - - - - - Image adjustment setting. (Hex: 0X0080) - - - - - Tone compensation. (Hex: 0X0081) - - - - - Auxiliary lens (adapter). (Hex: 0X0082) - - - - - Lens type. (Hex: 0X0083) - - - - - Lens. (Hex: 0X0084) - - - - - Manual focus distance. (Hex: 0X0085) - - - - - Digital zoom setting. (Hex: 0X0086) - - - - - Mode of flash used. (Hex: 0X0087) - - - - - AF info. (Hex: 0X0088) - - - - - Shooting mode. (Hex: 0X0089) - - - - - Auto bracket release. (Hex: 0X008A) - - - - - Lens FStops. (Hex: 0X008B) - - - - - Contrast curve. (Hex: 0X008C) - - - - - Color hue. (Hex: 0X008D) - - - - - Scene mode. (Hex: 0X008F) - - - - - Light source. (Hex: 0X0090) - - - - - Shot info. (Hex: 0X0091) - - - - - Hue adjustment. (Hex: 0X0092) - - - - - NEF compression. (Hex: 0X0093) - - - - - Saturation. (Hex: 0X0094) - - - - - Noise reduction. (Hex: 0X0095) - - - - - Linearization table. (Hex: 0X0096) - - - - - Color balance. (Hex: 0X0097) - - - - - Lens data settings. (Hex: 0X0098) - - - - - Raw image center. (Hex: 0X0099) - - - - - Sensor pixel size. (Hex: 0X009A) - - - - - Unknown. (Hex: 0X009B) - - - - - Scene assist. (Hex: 0X009C) - - - - - Retouch history. (Hex: 0X009E) - - - - - Unknown. (Hex: 0X009F) - - - - - Camera serial number, usually starts with "NO= ". (Hex: 0X00A0) - - - - - Image data size. (Hex: 0X00A2) - - - - - Unknown. (Hex: 0X00A3) - - - - - Image count. (Hex: 0X00A5) - - - - - Deleted image count. (Hex: 0X00A6) - - - - - Number of shots taken by camera. (Hex: 0X00A7) - - - - - Flash info. (Hex: 0X00A8) - - - - - Image optimization. (Hex: 0X00A9) - - - - - Saturation. (Hex: 0X00AA) - - - - - Program variation. (Hex: 0X00AB) - - - - - Image stabilization. (Hex: 0X00AC) - - - - - AF response. (Hex: 0X00AD) - - - - - Multi exposure. (Hex: 0X00B0) - - - - - High ISO Noise Reduction. (Hex: 0X00B1) - - - - - Toning effect. (Hex: 0X00B3) - - - - - AF info 2. (Hex: 0X00B7) - - - - - File info. (Hex: 0X00B8) - - - - - PrintIM information. (Hex: 0X0E00) - - - - - Capture data. (Hex: 0X0E01) - - - - - Capture version. (Hex: 0X0E09) - - - - - Capture offsets. (Hex: 0X0E0E) - - - - - Scan IFD. (Hex: 0X0E10) - - - - - ICC profile. (Hex: 0X0E1D) - - - - - Capture output. (Hex: 0X0E1E) - - - - - Nikon Iso Info entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - ISO. (Hex: 0X0000) - - - - - ISO expansion. (Hex: 0X0004) - - - - - ISO 2. (Hex: 0X0006) - - - - - ISO expansion 2. (Hex: 0X000A) - - - - - Nikon lens data entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - Version. (Hex: 0X0000) - - - - - Exit pupil position. (Hex: 0X0004) - - - - - AF aperture. (Hex: 0X0005) - - - - - Focus position. (Hex: 0X0008) - - - - - Focus distance. (Hex: 0X000A) - - - - - Focal length. (Hex: 0X000B) - - - - - Lens ID number. (Hex: 0X000C) - - - - - Lens F-stops. (Hex: 0X000D) - - - - - Min focal length. (Hex: 0X000E) - - - - - Max focal length. (Hex: 0X000F) - - - - - Max aperture at min focal length. (Hex: 0X0010) - - - - - Max aperture at max focal length. (Hex: 0X0011) - - - - - MCU version. (Hex: 0X0012) - - - - - Effective max aperture. (Hex: 0X0013) - - - - - Nikon picture control entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - Version. (Hex: 0X0000) - - - - - Name. (Hex: 0X0004) - - - - - Base. (Hex: 0X0018) - - - - - Adjust. (Hex: 0X0030) - - - - - Quick adjust. (Hex: 0X0031) - - - - - Sharpness. (Hex: 0X0032) - - - - - Contrast. (Hex: 0X0033) - - - - - Brightness. (Hex: 0X0034) - - - - - Saturation. (Hex: 0X0035) - - - - - Hue adjustment. (Hex: 0X0036) - - - - - Filter effect. (Hex: 0X0037) - - - - - Toning effect. (Hex: 0X0038) - - - - - Toning saturation. (Hex: 0X0039) - - - - - Nikon makernote preview image tags - The preview image is contained in a sub-IFD stored by the tag - Nikon3MakerNoteEntryTag.Preview. - Based on: - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html#PreviewImage - - - - - Compression scheme used on the image data. (Hex: 0x0103) - http://www.awaresystems.be/imaging/tiff/tifftags/compression.html - - - - - The number of pixels per ResolutionUnit in the ImageWidth direction. (Hex: 0x011A) - http://www.awaresystems.be/imaging/tiff/tifftags/xresolution.html - - - - - The number of pixels per ResolutionUnit in the ImageLength direction. (Hex: 0x011B) - http://www.awaresystems.be/imaging/tiff/tifftags/yresolution.html - - - - - The unit of measurement for XResolution and YResolution. (Hex: 0x0128) - http://www.awaresystems.be/imaging/tiff/tifftags/resolutionunit.html - - - - - Start of the preview image data. (Hex: 0x0201) - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html#PreviewImage - - - - - Length of the preview image data. (Hex: 0x0202) - http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html#PreviewImage - - - - - Specifies the positioning of subsampled chrominance components relative to luminance samples. (Hex: 0x0213) - http://www.awaresystems.be/imaging/tiff/tifftags/ycbcrpositioning.html - - - - - Nikon shot info entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - Version. (Hex: 0X0000) - - - - - Shutter count 1. (Hex: 0X006A) - - - - - Deleted image count. (Hex: 0X006E) - - - - - Vibration reduction. (Hex: 0X0075) - - - - - . (Hex: 0X0082) - - - - - Shutter count 2. (Hex: 0X0157) - - - - - Vibration reduction 2. (Hex: 0X01AE) - - - - - ISO. (Hex: 0X0256) - - - - - Shutter count. (Hex: 0X0276) - - - - - Nikon vibration reduction entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - Version. (Hex: 0X0000) - - - - - Vibration reduction. (Hex: 0X0004) - - - - - Nikon world time entry tags. - Based on: - http://exiv2.org/tags-nikon.html - - - - - Timezone. (Hex: 0X0000) - - - - - Daylight savings. (Hex: 0X0002) - - - - - Date display format. (Hex: 0X0003) - - - - - Olympus makernote tags. - Based on http://www.exiv2.org/tags-olympus.html - - - - - Thumbnail image. (Hex: 0X0100) - - - - - Picture taking mode. (Hex: 0X0200) - - - - - Image quality setting. (Hex: 0X0201) - - - - - Macro mode. (Hex: 0X0202) - - - - - Black and white mode. (Hex: 0X0203) - - - - - Digital zoom ratio. (Hex: 0X0204) - - - - - Focal plane diagonal. (Hex: 0X0205) - - - - - Lens distortion parameters. (Hex: 0X0206) - - - - - Software firmware version. (Hex: 0X0207) - - - - - ASCII format data such as [PictureInfo]. (Hex: 0X0208) - - - - - Camera ID data. (Hex: 0X0209) - - - - - Pre-capture frames. (Hex: 0X0300) - - - - - One touch white balance. (Hex: 0X0302) - - - - - Serial number. (Hex: 0X0404) - - - - - PrintIM information. (Hex: 0X0E00) - - - - - Various camera settings 1. (Hex: 0X0F00) - - - - - Various camera settings 2. (Hex: 0X0F01) - - - - - Shutter speed value. (Hex: 0X1000) - - - - - ISO speed value. (Hex: 0X1001) - - - - - Aperture value. (Hex: 0X1002) - - - - - Brightness value. (Hex: 0X1003) - - - - - Flash mode. (Hex: 0X1004) - - - - - Flash device. (Hex: 0X1005) - - - - - Exposure compensation value. (Hex: 0X1006) - - - - - Sensor temperature. (Hex: 0X1007) - - - - - Lens temperature. (Hex: 0X1008) - - - - - Focus mode. (Hex: 0X100B) - - - - - Manual focus distance. (Hex: 0X100C) - - - - - Zoom step count. (Hex: 0X100D) - - - - - Macro focus step count. (Hex: 0X100E) - - - - - Sharpness factor. (Hex: 0X100F) - - - - - Flash charge level. (Hex: 0X1010) - - - - - Color matrix. (Hex: 0X1011) - - - - - Black level. (Hex: 0X1012) - - - - - White balance mode. (Hex: 0X1015) - - - - - Red balance. (Hex: 0X1017) - - - - - Blue balance. (Hex: 0X1018) - - - - - Serial number 2. (Hex: 0X101A) - - - - - Flash exposure compensation. (Hex: 0X1023) - - - - - External flash bounce. (Hex: 0X1026) - - - - - External flash zoom. (Hex: 0X1027) - - - - - External flash mode. (Hex: 0X1028) - - - - - Contrast setting. (Hex: 0X1029) - - - - - Sharpness factor. (Hex: 0X102A) - - - - - Color control. (Hex: 0X102B) - - - - - Valid bits. (Hex: 0X102C) - - - - - Coring filter. (Hex: 0X102D) - - - - - Image width. (Hex: 0X102E) - - - - - Image height. (Hex: 0X102F) - - - - - Compression ratio. (Hex: 0X1034) - - - - - Preview image embedded. (Hex: 0X1035) - - - - - Offset of the preview image. (Hex: 0X1036) - - - - - Size of the preview image. (Hex: 0X1037) - - - - - CCD scan mode. (Hex: 0X1039) - - - - - Noise reduction. (Hex: 0X103A) - - - - - Infinity lens step. (Hex: 0X103B) - - - - - Near lens step. (Hex: 0X103C) - - - - - Camera equipment sub-IFD. (Hex: 0X2010) - - - - - Camera Settings sub-IFD. (Hex: 0X2020) - - - - - Raw development sub-IFD. (Hex: 0X2030) - - - - - Raw development 2 sub-IFD. (Hex: 0X2031) - - - - - Image processing sub-IFD. (Hex: 0X2040) - - - - - Focus sub-IFD. (Hex: 0X2050) - - - - - Raw sub-IFD. (Hex: 0X3000) - - - - - Panasonic makernote tags. - Based on http://www.exiv2.org/tags-panasonic.html - - - - - Image Quality. (Hex: 0x0001) - - - - - Firmware version. (Hex: 0X0002) - - - - - White balance setting. (Hex: 0X0003) - - - - - Unknown. (Hex: 0X0004) - - - - - Focus mode. (Hex: 0X0007) - - - - - AF mode. (Hex: 0X000F) - - - - - ISO Speed. (Hex: 0X0017) - - - - - Image stabilization. (Hex: 0X001A) - - - - - Macro mode. (Hex: 0X001C) - - - - - Shooting mode. (Hex: 0X001F) - - - - - Audio. (Hex: 0X0020) - - - - - Data dump. (Hex: 0X0021) - - - - - Unknown. (Hex: 0X0022) - - - - - White balance adjustment. (Hex: 0X0023) - - - - - Flash bias. (Hex: 0X0024) - - - - - This number is unique, and contains the date of manufacture, but - is not the same as the number printed on the camera body. - (Hex: 0X0025) - - - - - Exif version. (Hex: 0X0026) - - - - - Unknown. (Hex: 0X0027) - - - - - Color effect. (Hex: 0X0028) - - - - - Time in 1/100s from when the camera was powered on to when the - image is written to memory card. (Hex: 0X0029) - - - - - Burst mode. (Hex: 0X002A) - - - - - Sequence number. (Hex: 0X002B) - - - - - Contrast setting. (Hex: 0X002C) - - - - - Noise reduction. (Hex: 0X002D) - - - - - Self timer. (Hex: 0X002E) - - - - - Unknown. (Hex: 0X002F) - - - - - Rotation. (Hex: 0X0030) - - - - - Unknown. (Hex: 0X0031) - - - - - Color mode. (Hex: 0X0032) - - - - - Baby (or pet) age. (Hex: 0X0033) - - - - - Optical zoom mode. (Hex: 0X0034) - - - - - Conversion lens. (Hex: 0X0035) - - - - - Travel day. (Hex: 0X0036) - - - - - Contrast. (Hex: 0X0039) - - - - - World time location. (Hex: 0X003A) - - - - - Program ISO. (Hex: 0X003C) - - - - - Saturation. (Hex: 0X0040) - - - - - Sharpness. (Hex: 0X0041) - - - - - Film mode. (Hex: 0X0042) - - - - - WB adjust AB. Positive is a shift toward blue. (Hex: 0X0046) - - - - - WBAdjustGM. Positive is a shift toward green. (Hex: 0X0047) - - - - - Lens type. (Hex: 0X0051) - - - - - Lens serial number. (Hex: 0X0052) - - - - - Accessory type. (Hex: 0X0053) - - - - - PrintIM information. (Hex: 0X0E00) - - - - - Unknown. (Hex: 0X4449) - - - - - MakerNote version. (Hex: 0X8000) - - - - - Scene mode. (Hex: 0X8001) - - - - - WB red level. (Hex: 0X8004) - - - - - WB green level. (Hex: 0X8005) - - - - - WB blue level. (Hex: 0X8006) - - - - - Baby (or pet) age. (Hex: 0X8010) - - - - - Pentax makernote tags. - Based on http://www.exiv2.org/tags-pentax.html - - - - - Pentax Makernote version. (Hex: 0X0000) - - - - - Camera shooting mode. (Hex: 0X0001) - - - - - Resolution of a preview image. (Hex: 0X0002) - - - - - Size of an IFD containing a preview image. (Hex: 0X0003) - - - - - Offset to an IFD containing a preview image. (Hex: 0X0004) - - - - - Pentax model idenfication. (Hex: 0X0005) - - - - - Date. (Hex: 0X0006) - - - - - Time. (Hex: 0X0007) - - - - - Image quality settings. (Hex: 0X0008) - - - - - Image size settings. (Hex: 0X0009) - - - - - Flash mode settings. (Hex: 0X000C) - - - - - Focus mode settings. (Hex: 0X000D) - - - - - Selected AF point. (Hex: 0X000E) - - - - - AF point in focus. (Hex: 0X000F) - - - - - Exposure time. (Hex: 0X0012) - - - - - F-Number. (Hex: 0X0013) - - - - - ISO sensitivity settings. (Hex: 0X0014) - - - - - Exposure compensation. (Hex: 0X0016) - - - - - MeteringMode. (Hex: 0X0017) - - - - - AutoBracketing. (Hex: 0X0018) - - - - - White ballance. (Hex: 0X0019) - - - - - White ballance mode. (Hex: 0X001A) - - - - - Blue color balance. (Hex: 0X001B) - - - - - Red color balance. (Hex: 0X001C) - - - - - FocalLength. (Hex: 0X001D) - - - - - Digital zoom. (Hex: 0X001E) - - - - - Saturation. (Hex: 0X001F) - - - - - Contrast. (Hex: 0X0020) - - - - - Sharpness. (Hex: 0X0021) - - - - - Location. (Hex: 0X0022) - - - - - Home town. (Hex: 0X0023) - - - - - Destination. (Hex: 0X0024) - - - - - Whether day saving time is active in home town. (Hex: 0X0025) - - - - - Whether day saving time is active in destination. (Hex: 0X0026) - - - - - DSPFirmwareVersion. (Hex: 0X0027) - - - - - CPUFirmwareVersion. (Hex: 0X0028) - - - - - Frame number. (Hex: 0X0029) - - - - - Camera calculated light value, includes exposure compensation. (Hex: 0X002D) - - - - - Image processing. (Hex: 0X0032) - - - - - Picture mode. (Hex: 0X0033) - - - - - Drive mode. (Hex: 0X0034) - - - - - Color space. (Hex: 0X0037) - - - - - Image area offset. (Hex: 0X0038) - - - - - Raw image size. (Hex: 0X0039) - - - - - Preview image borders. (Hex: 0X003E) - - - - - Lens type. (Hex: 0X003F) - - - - - Sensitivity adjust. (Hex: 0X0040) - - - - - Digital filter. (Hex: 0X0041) - - - - - Camera temperature. (Hex: 0X0047) - - - - - AE lock. (Hex: 0X0048) - - - - - Noise reduction. (Hex: 0X0049) - - - - - Flash exposure compensation. (Hex: 0X004D) - - - - - Image tone. (Hex: 0X004F) - - - - - Colort temperature. (Hex: 0X0050) - - - - - Shake reduction information. (Hex: 0X005C) - - - - - Shutter count. (Hex: 0X005D) - - - - - Dynamic range expansion. (Hex: 0X0069) - - - - - High ISO noise reduction. (Hex: 0X0071) - - - - - AF Adjustment. (Hex: 0X0072) - - - - - Black point. (Hex: 0X0200) - - - - - White point. (Hex: 0X0201) - - - - - ShotInfo. (Hex: 0X0205) - - - - - AEInfo. (Hex: 0X0206) - - - - - LensInfo. (Hex: 0X0207) - - - - - FlashInfo. (Hex: 0X0208) - - - - - AEMeteringSegments. (Hex: 0X0209) - - - - - FlashADump. (Hex: 0X020A) - - - - - FlashBDump. (Hex: 0X020B) - - - - - WB_RGGBLevelsDaylight. (Hex: 0X020D) - - - - - WB_RGGBLevelsShade. (Hex: 0X020E) - - - - - WB_RGGBLevelsCloudy. (Hex: 0X020F) - - - - - WB_RGGBLevelsTungsten. (Hex: 0X0210) - - - - - WB_RGGBLevelsFluorescentD. (Hex: 0X0211) - - - - - WB_RGGBLevelsFluorescentN. (Hex: 0X0212) - - - - - WB_RGGBLevelsFluorescentW. (Hex: 0X0213) - - - - - WB_RGGBLevelsFlash. (Hex: 0X0214) - - - - - CameraInfo. (Hex: 0X0215) - - - - - BatteryInfo. (Hex: 0X0216) - - - - - AFInfo. (Hex: 0X021F) - - - - - ColorInfo. (Hex: 0X0222) - - - - - Serial Number. (Hex: 0X0229) - - - - - Label tags for Sony Makernote. - Based on http://www.exiv2.org/tags-sony.html - - - - - Image quality. (Hex: 0X0102) - - - - - Flash exposure compensation in EV. (Hex: 0X0104) - - - - - Teleconverter Model. (Hex: 0X0105) - - - - - White Balance Fine Tune Value. (Hex: 0X0112) - - - - - Camera Settings. (Hex: 0X0114) - - - - - White balance. (Hex: 0X0115) - - - - - PrintIM information. (Hex: 0X0E00) - - - - - Multi Burst Mode. (Hex: 0X1000) - - - - - Multi Burst Image Width. (Hex: 0X1001) - - - - - Multi Burst Image Height. (Hex: 0X1002) - - - - - Panorama. (Hex: 0X1003) - - - - - Preview Image. (Hex: 0X2001) - - - - - Auto High Definition Range. (Hex: 0X200A) - - - - - Shot Information. (Hex: 0X3000) - - - - - File Format. (Hex: 0XB000) - - - - - Sony Model ID. (Hex: 0XB001) - - - - - Color Reproduction. (Hex: 0XB020) - - - - - Color Temperature. (Hex: 0XB021) - - - - - Color Compensation Filter: negative is green, positive is magenta. (Hex: 0XB022) - - - - - Scene Mode. (Hex: 0XB023) - - - - - Zone Matching. (Hex: 0XB024) - - - - - Dynamic Range Optimizer. (Hex: 0XB025) - - - - - Image stabilization. (Hex: 0XB026) - - - - - Lens identifier. (Hex: 0XB027) - - - - - Minolta MakerNote. (Hex: 0XB028) - - - - - Color Mode. (Hex: 0XB029) - - - - - Full Image Size. (Hex: 0XB02B) - - - - - Preview Image Size. (Hex: 0XB02C) - - - - - Macro. (Hex: 0XB040) - - - - - Exposure Mode. (Hex: 0XB041) - - - - - Focus mode. (Hex: 0XB042) - - - - - AF Mode. (Hex: 0XB043) - - - - - AF Illuminator. (Hex: 0XB044) - - - - - Quality. (Hex: 0XB047) - - - - - Flash Level. (Hex: 0XB048) - - - - - Release Mode. (Hex: 0XB049) - - - - - Shot number in continous burst mode. (Hex: 0XB04A) - - - - - Anti-Blur. (Hex: 0XB04B) - - - - - Long Exposure Noise Reduction. (Hex: 0XB04E) - - - - - Dynamic Range Optimizer. (Hex: 0XB04F) - - - - - Intelligent Auto. (Hex: 0XB052) - - - - - White Balance. (Hex: 0XB054) - - - - - Processes all IPTC-IIM segments - - - - - The magic bytes that start a new IPTC-IIM segment - - - - - Constructor - - Bytes contained in the reader - - - - Proceed with the reading of the IIM - - - - - - Represents an IIM Tag - - - - - Constructor - - - - - Defines the supported TagType - - - - - Clear IIM content - - - - - Get or Set the Title Tag - - - - - Get or Set the Creator Tag - - - - - Get or Set the Copyright Tag - - - - - Get or Set the comment Tag - - - - - Get or Set the Keywords Tag - - - - - This interface provides generic information about ab object, - from which the content can be load only on demand. - - - - - Gets an indication whether the object is loaded. - - - - - Load the object data if not done yet. - - - - - A photo codec. Contains basic photo details. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - A bitwise combined containing - the types of media represented by the current instance. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the width of the photo represented by the current - instance. - - - A value containing the width of the - photo represented by the current instance. - - - - - Gets the height of the photo represented by the current - instance. - - - A value containing the height of the - photo represented by the current instance. - - - - - Gets the (format specific) quality indicator of the photo - represented by the current instance. - - - A value indicating the quality. A value - 0 means that there was no quality indicator for the format - or the file. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - A new instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - The quality indicator for the photo, if the format supports it. - - - A new instance. - - - - - Combines some instance to behave as one. - - - - - Direct access to the Exif (IFD) tag (if any) - - - - - Direct access to the Xmp tag (if any) - - - - - Other image tags available in this tag. - - - - - Stores the types of the tags, which are allowed for - the current instance. - - - - - Returns all image tags in this tag, with XMP - and Exif first. - - - - - Constructs and initializes a new instance of with a restriction on the - allowed tag types contained in this combined tag. - - - A value, which restricts the - types of metadata that can be contained in this - combined tag. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined - containing the tag types contained in the current - instance. - - - - - Clears all of the child tags. - - - - - Gets or sets the keywords for the image described - by the current instance. - - - A containing the keywords of the - current instace. - - - - - Gets or sets the rating for the image described - by the current instance. - - - A containing the rating of the - current instace. - - - - - Gets or sets the time when the image, the current instance - belongs to, was taken. - - - A with the time the image was taken. - - - - - Gets or sets the orientation of the image described - by the current instance. - - - A containing the orienatation of the - image - - - - - Gets or sets the software the image, the current instance - belongs to, was created with. - - - A containing the name of the - software the current instace was created with. - - - - - Gets or sets the latitude of the GPS coordinate the current - image was taken. - - - A with the latitude ranging from -90.0 - to +90.0 degrees. - - - - - Gets or sets the longitude of the GPS coordinate the current - image was taken. - - - A with the longitude ranging from -180.0 - to +180.0 degrees. - - - - - Gets or sets the altitude of the GPS coordinate the current - image was taken. The unit is meter. - - - A with the altitude. A positive value - is above sea level, a negative one below sea level. The unit is meter. - - - - - Gets the exposure time the image, the current instance belongs - to, was taken with. - - - A with the exposure time in seconds. - - - - - Gets the FNumber the image, the current instance belongs - to, was taken with. - - - A with the FNumber. - - - - - Gets the ISO speed the image, the current instance belongs - to, was taken with. - - - A with the ISO speed as defined in ISO 12232. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with. - - - A with the focal length in millimeters. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with, assuming a 35mm film camera. - - - A with the focal length in 35mm equivalent in millimeters. - - - - - Gets the manufacture of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the manufacture name. - - - - - Gets the model name of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the model name. - - - - - Gets or sets the creator of the image. - - - A with the name of the creator. - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - - - This class extends to provide basic - functionality common to all image types. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object - representing all image tags stored in the current instance. - - - - - The method creates all tags which are allowed for the current - instance of the image file. This method can be used to ensure, - that all tags are in place and properties can be safely used - to set values. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Copies metadata from the given file.. - - - File to copy metadata from. - - - - - Some image file formats are organized as a sequence of mostly - independent data blocks whose order can be changed. Metadata is - stored in some of those blocks and when metadata is saved, often the - same task remains: Delete some blocks which contain metadata and - overwrite some blocks with other metadata. - This class extends to provide this - functionality. Blocks can be marked as metadata and when metadata is - saved their space is used or they are deleted. - - - - - This class represents a metadata block to overwrite. - - - - - The start index - - - - - The length of the block - - - - - Constructor - - - A with the start of the block - - - A with the length of the block - - - - - Constructor. Creates a new instance with an empty block - - - - - Checks if the given block overlaps with this instance. - - - A with the block to check - overlapping. - - - A which is true, if the given - block overlapps with the current instance. - - - Overlapping means here also that blocks directly follow. - - - - - Adds the given block to the current instance, if this is possible. - - - A with the block to add. - - - - - Checks, if the one block is before the other. That means, - if the current instance ends before the given block starts. - - - A to compare with. - - - A which is true if the current - instance is before the given block. - - - - - Provides a readable for - the current instance. - - - A representing the current - instance. - - - - - An odered list of the metadata blocks. The blocks do not overlap. - - - - - Adds a range to be treated as metadata. - - - A with the start index of the metadata block - - - A with the length of the metadata block - - - - - Saves the given data at the given position. All metadata blocks are - either deleted or overwritten. - - - A with the metadata to write. - - - A with the index to save the metadata at. - - - - - Constructs and initializes a new instance for a specified - path in the local file system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance for a specified - file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - 1 2 3 4 5 6 7 8 - - 888888 888888 88 88 8888888888 88 88 8888888888 - 88 88 88 88 88 88 88 88 88 88 88 88 - 8888 8888 8888 8888 88 8888888888 8888888888 88 - 88 88 88 88 - 88 88 888888 888888 - - t-l t-r b-r b-l l-t r-t r-b l-b - - * - - Describes the orientation of an image. - Values are viewed in terms of rows and columns. - - - - - No value is known. - - - - - No need to do any transformations. - - - - - Mirror image vertically. - - - - - Rotate image 180 degrees. - - - - - Mirror image horizontally - - - - - Mirror image horizontally and rotate 90 degrees clockwise. - - - - - Rotate image 90 degrees clockwise. - - - - - Mirror image vertically and rotate 90 degrees clockwise. - - - - - Rotate image 270 degrees clockwise. - - - - - A class to abstract the image tags. It extends the - class and adds some image specific propties. - - - - - Gets or sets the keywords for the image described - by the current instance. - - - A containing the keywords of the - current instace. - - - - - Gets or sets the rating for the image described - by the current instance. - - - A containing the rating of the - current instace. - - - - - Gets or sets the time when the image, the current instance - belongs to, was taken. - - - A with the time the image was taken. - - - - - Gets or sets the orientation of the image described - by the current instance. - - - A containing the orientation of the - image - - - - - Gets or sets the software the image, the current instance - belongs to, was created with. - - - A containing the name of the - software the current instace was created with. - - - - - Gets or sets the latitude of the GPS coordinate the current - image was taken. - - - A with the latitude ranging from -90.0 - to +90.0 degrees. - - - - - Gets or sets the longitude of the GPS coordinate the current - image was taken. - - - A with the longitude ranging from -180.0 - to +180.0 degrees. - - - - - Gets or sets the altitude of the GPS coordinate the current - image was taken. The unit is meter. - - - A with the altitude. A positive value - is above sea level, a negative one below sea level. The unit is meter. - - - - - Gets the exposure time the image, the current instance belongs - to, was taken with. - - - A with the exposure time in seconds. - - - - - Gets the FNumber the image, the current instance belongs - to, was taken with. - - - A with the FNumber. - - - - - Gets the ISO speed the image, the current instance belongs - to, was taken with. - - - A with the ISO speed as defined in ISO 12232. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with. - - - A with the focal length in millimeters. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with, assuming a 35mm film camera. - - - A with the focal length in 35mm equivalent in millimeters. - - - - - Gets the manufacture of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the manufacture name. - - - - - Gets the model name of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the model name. - - - - - Gets or sets the creator of the image. - - - A with the name of the creator. - - - - - This class extends to provide tagging - some sort of support for files that don't support metadata. You - obviously can't write to them, but you can populate an XMP tag, for - sidecar purposes. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - A Jpeg photo codec. Contains basic photo details. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - The quality of the photo. - - - A new instance. - - - - - This class extends to provide tagging - and properties support for Jpeg files. - - - - - The magic bits used to recognize an Exif segment - - - - - The magic strings used to identifiy an IPTC-IIM section - - - - - Standard (empty) JFIF header to add, if no one is contained - - - - - Contains the media properties. - - - - - For now, we do not allow to change the jfif header. As long as this is - the case, the header is kept as it is. - - - - - The image width, as parsed from the Frame - - - - - The image height, as parsed from the Frame - - - - - Quality of the image, stored as we parse the file - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Gets a tag of a specified type from the current instance, optionally creating a - new tag if possible. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Reads the information from file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Validates if the opened file is actually a JPEG. - - - - - Reads a segment marker for a segment starting at current position. - The second byte of the marker is returned, since the first is equal - to 0xFF in every case. - - - A with the second byte of the segment marker. - - - - - Reads the size of a segment at the current position. - - - A with the size of the current segment. - - - - - Extracts the metadata from the current file by reading every segment in file. - Method should be called with read position at first segment marker. - - - - - Reads a JFIF header at current position - - - - - Reads an APP1 segment to find EXIF or XMP metadata. - - - The length of the segment that will be read. - - - - - Reads an APP13 segment to find IPTC-IIM metadata. - - - The length of the segment that will be read. - - More info and specs for IPTC-IIM: - - Guidelines for Handling Image Metadata (http://www.metadataworkinggroup.org/specs/) - - IPTC Standard Photo Metadata (July 2010) (http://www.iptc.org/std/photometadata/specification/IPTC-PhotoMetadata-201007_1.pdf) - - Extracting IPTC header information from JPEG images (http://www.codeproject.com/KB/graphics/iptc.aspx?fid=2301&df=90&mpp=25&noise=3&prof=False&sort=Position&view=Quick&fr=51#xx0xx) - - Reading IPTC APP14 Segment Header Information from JPEG Images (http://www.codeproject.com/KB/graphics/ReadingIPTCAPP14.aspx?q=iptc) - - - - - Writes the metadata back to file. All metadata is stored in the first segments - of the file. - - - - - Creates a for the Exif segment of this file - - - A with the whole Exif segment, if exif tags - exists, otherwise null. - - - - - Creates a for the Xmp segment of this file - - - A with the whole Xmp segment, if xmp tags - exists, otherwise null. - - - - - Reads a COM segment to find the JPEG comment. - - - The length of the segment that will be read. - - - - - Creates a for the comment segment of this file - - - A with the whole comment segment, if a comment tag - exists, otherwise null. - - - - - Reads and parse a SOF segment - - - The length of the segment that will be read. - - - The SOFx marker. - - - - - Reads the DQT Segment, and Guesstimate the image quality from it - - - The length of the segment that will be read - - - - - Contains the JPEG comment. - - - - - Constructor. - - - The value of the comment. - - - - - Constructor. Creates a new empty comment. - - - - - The value of the comment represented by the current instance. - - - - - Gets or sets the comment for the image described - by the current instance. - - - A containing the comment of the - current instace. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Clears the values stored in the current instance. - - - - - This enum defines the different markers used in JPEG segments. - - See CCITT Rec. T.81 (1992 E), Table B.1 (p.32) - - - - - Start Of Frame marker, non-differential, Huffman coding, Baseline DCT - - - - - Start Of Frame marker, non-differential, Huffman coding, Extended Sequential DCT - - - - - Start Of Frame marker, non-differential, Huffman coding, Progressive DCT - - - - - Start Of Frame marker, non-differential, Huffman coding, Lossless (sequential) - - - - - Start Of Frame marker, differential, Huffman coding, Differential Sequential DCT - - - - - Start Of Frame marker, differential, Huffman coding, Differential Progressive DCT - - - - - Start Of Frame marker, differential, Huffman coding, Differential Lossless (sequential) - - - - - Reserved for JPG extensions - - - - - Start Of Frame marker, non-differential, arithmetic coding, Extended Sequential DCT - - - - - Start Of Frame marker, non-differential, arithmetic coding, Progressive DCT - - - - - Start Of Frame marker, non-differential, arithmetic coding, Lossless (sequential) - - - - - Start Of Frame marker, differential, arithmetic coding, Differential Sequential DCT - - - - - Start Of Frame marker, differential, arithmetic coding, Differential Progressive DCT - - - - - Start Of Frame marker, differential, arithmetic coding, Differential Lossless (sequential) - - - - - Define Huffman table(s) - - - - - Define arithmetic coding conditioning(s) - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Restart - - - - - Start of Image - - - - - End of Image - - - - - Start of scan - - - - - Define quantization table (s) - - - - - Define number of lines - - - - - Define restart interval - - - - - Define hierarchical progression - - - - - Define reference component - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for application segment - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Reserved for JPEG extension - - - - - Comment - - - - - Contains static predefined tables and helpers - - - - - Standard Luminance Quantization table - - See CCIT Rec. T.81 (1992 E), K.1 (p143) - - - - - Standard Chrominance Quantization table - - See CCIT Rec. T.81 (1992 E), K.1 (p143) - - - - - This class implements - for objects that implement , - providing extra features used in lists in TagLib#. - - - - - Contains the internal list. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of with specified contents. - - - A containing objects to add to the current instance. - - - - - Constructs and initializes a new instance of with specified contents. - - - A containing objects to add to - the current instance. - - - - - Gets whether or not the current instance is empty. - - - if the current instance is empty; - otherwise . - - - - - Adds a collection of elements to the current instance. - - - A object containing - elements to add to the current instance. - - - - - Adds a collection of elements to the current instance. - - - A object containing - elements to add to the current instance. - - - - - Adds a collection of elements to the current instance. - - - An array containing elements to add to the current - instance. - - - - - Performs a sorted insert of an object into the current - instance, optionally only adding if the item is unique. - - - An object to add to the current instance. - - - If , the object will only be added - if an identical value is not already contained in the - current instance. - - - is . - - - - - Performs a sorted insert of an object into the current - instance. - - - An object to add to the current instance. - - - is . - - - - - Converts the current instance to an array. - - - A containing the contents of - the current instance. - - - - - Gets whether or not the current instance is read-only. - - - Always . - - - - - Gets whether or not the current instance has a fixed - size. - - - Always . - - - - - Gets and sets the value as a specified index. - - - - - Adds a single item to end of the current instance. - - - An object to add to the end of the current instance. - - - - - Clears the contents of the current instance. - - - - - Gets whether or not the current instance contains a - specified object. - - - An object to look for in the current instance. - - - if the item could be found; - otherwise . - - - - - Gets the index of the first occurance of a value. - - - A object to find in the current instance. - - - A value containing the first index - at which the value was found, or -1 if it was not found. - - - - - Inserts a single value into the current instance at a - specified index. - - - A value specifying the position at - which to insert the value. - - - An object to insert into the current instance. - - - - - Removes the first occurance of an object from the current - instance. - - - An object to remove from the current instance. - - - if the value was removed; - otherwise the value did not appear in the current - instance and is returned. - - - - - Removes the item at the specified index. - - - A value specifying the position at - which to remove an item. - - - - - Gets a string representation of the contents of the - current instance, joined by a separator. - - - A object to separate the items - with. - - - A object containing the contents - of the current instance. - - - - - Gets a string representation of the contents of the - current instance, joined by commas. - - - A object containing the contents - of the current instance. - - - - - Gets the number of elements in the current instance. - - - A value containing the number of - elements in the current instance. - - - - - Gets whether or not the current instance is synchronized. - - - Always . - - - - - Gets the object that can be used to synchronize the - current instance. - - - A that can be used to synchronize - the current instance. - - - - - Copies the current instance to an array, starting at a - specified index. - - - An array to copy to. - - - A value indicating the index in - at which to start copying. - - - - - Gets an enumerator for enumerating through the elements - in the current instance. - - - A for - enumerating through the tag's data boxes. - - - - - Describes a Matroska Attachment. - Attachments may be pictures, but also any other content type. - - - - - Constructs and initializes a new instance of with no data or values. - - - - - Constructs and initializes a new instance of by reading in the contents of a - specified file. - - - A object containing the path of the - file to read. - - - is . - - - - - Constructs and initializes a new instance of by reading in the contents of a - specified file abstraction. - - - A object containing - abstraction of the file to read. - - - The position in bytes where the picture is located in the - . - - - The size in bytes of the picture in the - (default: read all). - - - is . - - - - - Constructs and initializes a new instance of by using the contents of a object. - - - A object containing picture data - to use. - - - is . - - - - - Constructs and initializes a new instance of by doing a shallow copy of . - - - A object containing picture data - to convert to an Attachment. - - - - - Derive the Picture-type from the the file-name. - It change the from the . - - - - - Derive thefile-name from the the Piture type. - It change the from the if required, - but not if the filename already matches the type. - - true if changed - - - - Unique ID representing the element, as random as possible (setting zero will generate automatically a new one). - - - - - Get the Tag type the UID should be represented by, or 0 if undefined - - - - - Describes a Matroska Audio track. - - - - - Construct a reading information from - provided file data. - Parsing will be done reading from _file at position references by - parent element's data section. - - instance to read from. - Parent . - - - - List of unknown elements encountered while parsing. - - - - - This type of track only has audio media type. - - - - - Audio track bitrate. - - - - - Audio track sampling rate. - - - - - Number of audio channels in this track. - - - - - Represent a generic EBML Element and its content. - - - - - Constructs an empty . - - - - - Construct a to contain children elements. - - EBML ID of the element to be created. - - - - Construct a to contain data. - - EBML ID of the element to be created. - EBML data of the element to be created. - - - - Construct to contain data. - - EBML ID of the element to be created. - EBML data as an value. - - - - EBML Element Identifier. - - - - - Get or set the data represented by the EBML - - - - - Get or set the element embedded in the EBML - - - - - Get or set whether the EBML should have a size of one byte more - than the optimal size. - - - - - EBML Element size in bytes. - - - - - Get the size of the EBML ID, in bytes - - - - - Get the size of the EBML data-size, in bytes - - - - - EBML Element data/content size in bytes. - - - - - Try to increase the size of the EBML by 1 byte. - - True if successfully increased size, false if failed. - - - - Get the EBML ID and data-size as a vector of bytes. - - - - - Get the byte-size required to encode an EBML value with the leading 1. - - Encoded value - size in bytes - - - - Get a string from EBML Element's data section (UTF-8). - Handle null-termination. - - a string object containing the parsed value. - - - - Get a boolean from EBML Element's data section. - - a bool containing the parsed value. - - - - Get a double from EBML Element's data section. - - a double containing the parsed value. - - - - Get an unsigned integer (any size from 1 to 8 bytes) from EBML Element's data section. - - a ulong containing the parsed value. - - - - Get a bytes vector from EBML Element's data section. - - a containing the parsed value. - - - - Set data content as to the EBML file - - data as - - - - Set data content as to the EBML file - - unsigned long number to write - - - - Write the EMBL (and all its data/content) to a file. - - A representing the file to write to. - The byte-position in the file to write the EBML to. - The reserved size in bytes that the EBML may overwrite from the given position. (Default: 0, insert) - - - - Public enumeration listing the possible EBML element identifiers. - - - - - Indicates an EBML Header element. - - - - - Indicates an EBML Version element. - - - - - Indicates an EBML Read Version element. - - - - - Indicates an EBML Max ID Length element. - - - - - Indicates an EBML Max Size Length element. - - - - - Indicates an EBML Doc Type element. - - - - - Indicates an EBML Doc Type Version element. - - - - - Indicates an EBML Doc Type Read Version element. - - - - - Indicates an EBML Void element. - - - - - Read a Matroska EBML element from a file, but also provides basic modifications to an - EBML element directly on the file (write). This can also represent an abstract EBML - on the file (placeholder). - - - This was intitialy called , but this was in fact a file-reader. - The name correspond more to the class which has been created to - represent an EBML structure (regardless of file-issues) to support the EBML writing to file. - - - - - Constructs a root instance, by reading from - the provided file position. - - File instance to read from. - Position in the file to start reading from. - - - - Constructs a child reading the data from the - EBML parent at the provided file position. - - The that contains the instance to be created. - Position in the file to start reading from. - - - - Create a new abstract with arbitrary attributes, - without reading its information on the file. - - The that contains the instance to be described. - Position in the file. - EBML ID of the element - Total size of the EBML, in bytes - - - - EBML Element Identifier. - - - - - EBML Parent instance. - - - - - EBML Element size in bytes. - - - - - EBML Element data size in bytes. - - - - - EBML Element data offset position in file in bytes. - - - - - EBML Element offset position in file in bytes. - - - - - Defines that the EBML element is not read-out from file, - but is an abstract representation of an element on the disk. - - - - - Read EBML header and data-size if it is an abstract one. - It then becomes a non abstract EBML. - - Throw exception on invalid EBML read if true (Default: false). - True if successful. - - - - Reads a vector of bytes (raw data) from EBML Element's data section. - - a containing the parsed value. - - - - Reads a string from EBML Element's data section (UTF-8). - - a string object containing the parsed value. - - - - Reads a boolean from EBML Element's data section. - - a bool containing the parsed value. - - - - Reads a double from EBML Element's data section. - - a double containing the parsed value. - - - - Reads an unsigned integer (any size from 1 to 8 bytes) from EBML Element's data section. - - a ulong containing the parsed value. - - - - Write the to the EBML file. - Resize the data-size length to 8 bytes. - This will *not* insert extra bytes, but overwrite next contiguous bytes. - It will claim the size added on the value of the data-size. - - Offset created in Writing the new data-size - - - - Change an EBML element to a Abstract Void element, but do not write to the file. - - - To do a real conversion to Void EBML element on the file, use . - - - - - Change an EBML element to a Void element directly on the file. - - - - - Remove the EBML element from the file - - Size difference compare to previous EBML size - - - - Enumeration listing supported Matroska track types. - - - - - Video track type. - - - - - Audio track type. - - - - - Complex track type. - - - - - Logo track type. - - - - - Subtitle track type. - - - - - Buttons track type. - - - - - Control track type. - - - - - This class extends to provide tagging - and properties support for Matroska files. - - - - - Contains the tags for the file. - - - - - Contains the media properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Reads (and Write, if file Mode is Write) the file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Central point for the Writing, after the master elements of the EBML Segment have been referenced. - - EBML Segment containing the EBML to be written - EBML SegmentInfo - description of the mapping of EBML level 1 in the EBML Segment, ordered - - - - Make sure there is a Void at the begining of a Segment EBML, big enough to contain the reserved (leading) space. - This is the longest part of the Write if space must be reserved. - - EBML Segment containing the EBML to be written - description of the mapping of EBML level 1 in the EBML Segment, ordered - Size to be reserved. A Margin will be added to it. - - - - - Write an EMBL in an existing Void or at the end of the - - EBML to write - EBML Segment containing the EBML to be written - description of the mapping of EBML level 1 in the EBML Segment, ordered - Reserved space at the Segment, do not write there - - - - This tries to create a sensible map of the Voids between the other master element of the Segment. - It will try to identify Voids hidden after a meaningful EBML. It will merge contiguous Voids as one. - - EBML Segment containing the EBML to be written - description of the mapping of EBML level 1 in the EBML Segment, ordered - - - - Represent a Matroska element that has an Unique Identifier, and can be tagged. - - - - - Unique ID representing the file, as random as possible (setting zero will generate automatically a new one). - - - - - Get the Tag type the UID should be represented by, or 0 if undefined - - - - - Represent a basic Matroska UID element - - - - - Create a UIDElement Stub - - Tag-type the UID represents - UID of the element - - - - Generate a new random UID - - Value of the UID to be generated. A zero value will randomize it. - Generated UID. - - - - Unique ID representing the element, as random as possible (setting zero will generate automatically a new one). - - - - - Get the Tag type the UID should be represented by, or 0 if undefined - - - - - Public enumeration listing Matroska specific EBML Identifiers. - - - - - Indicates a Matroska Segment EBML element. - - - - - Indicates a Matroska Segment Info EBML element. - - - - - Indicates a Matroska Tracks EBML Element. - - - - - Indicates a Matroska Cues EBML element. - - - - - Indicates a Matroska Tags EBML element. - - - - - Indicates a Matroska Seek Head EBML element. - - - - - Indicates a Matroska Cluster EBML element. - - - - - Indicates a Matroska Attachments EBML element. - - - - - Indicates a Matroska Chapters EBML element. - - - - - Indicate a Matroska Code Scale EBML element. - - - - - Indicates a Matroska Duration EBML element. - - - - - Indicates a Matroska Writing App EBML element. - - - - - Indicates a Matroska Muxing App EBML element. - - - - - Indicate a Matroska Date UTC EBML element. - - - - - Indicate a Matroska Segment UID EBML element. - - - - - Indicate a Matroska Segment File Name EBML element. - - - - - Indicate a Matroska Prev UID EBML element. - - - - - Indicate a Matroska Prev File Name EBML element. - - - - - Indicate a Matroska Nex UID EBML element. - - - - - Indicate a Matroska Nex File Name EBML element. - - - - - Indicate a Matroska Title EBML element. - - - - - Indicate a Matroska Segment Family EBML element. - - - - - Indicate a Matroska Chapter Translate EBML element. - - - - - Indicate a Matroska Track Entry EBML element. - - - - - Indicate a Matroska Track Number EBML element. - - - - - Indicate a Matroska Track UID EBML element. - - - - - Indicate a Matroska Track Type EBML element. - - - - - Indicate a Matroska Track Audio EBML element. - - - - - Indicate a Matroska Track Video EBML element. - - - - - Indicate a Matroska Void EBML element. - - - - - Indicate a Matroska CRC-32 EBML element. - - - The CRC is computed on all the data of the Master-element it's in. - The CRC Element should be the first in it's parent master for easier reading. - All level 1 Elements should include a CRC-32. The CRC in use is the IEEE CRC32 Little Endian. - - - - - Indicate a Matroska Track Encoding EBML element. - - - - - Indicate a Matroska Codec ID EBML element. - - - - - Indicate a Matroska Codec Private EBML element. - - - - - Indicate a Matroska Codec Name EBML element. - - - - - Indicate a Matroska Track Name EBML element. - - - - - Indicate a Matroska Track Language EBML element. - - - - - Indicate a Matroska Track Enabled EBML element. - - - - - Indicate a Matroska Track Flag Default EBML element. - - - - - Indicate a Matroska Track Flag Forced EBML element. - - - - - Indicate a Matroska Track Flag Lacing EBML element. - - - - - Indicate a Matroska Track Min Cache EBML element. - - - - - Indicate a Matroska Track Max Cache EBML element. - - - - - Indicate a Matroska Track Default Duration EBML element. - - - - - Indicate a Matroska Track Time Code Scale EBML element. - - - - - Indicate a Matroska Track Max Block Addition EBML element. - - - - - Indicate a Matroska Track Attachment Link EBML element. - - - - - Indicate a Matroska Track Overlay EBML element. - - - - - Indicate a Matroska Track Translate EBML element. - - - - - Indicate a Matroska Track Offset element. - - - - - Indicate a Matroska Codec Settings EBML element. - - - - - Indicate a Matroska Codec Info URL EBML element. - - - - - Indicate a Matroska Codec Download URL EBML element. - - - - - Indicate a Matroska Codec Decode All EBML element. - - - - - Indicate a Matroska Video Frame Rate EBML element. - - - - - Indicate a Matroska Video Display Width EBML element. - - - - - Indicate a Matroska Video Display Height EBML element. - - - - - Indicate a Matroska Video Display Unit EBML element. - - - - - Indicate a Matroska Video Pixel Width EBML element. - - - - - Indicate a Matroska Video Pixel Height EBML element. - - - - - Indicate a Matroska Video Pixel Crop Bottom EBML element. - - - - - Indicate a Matroska Video Pixel Crop Top EBML element. - - - - - Indicate a Matroska Video Pixel Crop Left EBML element. - - - - - Indicate a Matroska Video Pixel Crop Right EBML element. - - - - - Indicate a Matroska Video Flag Interlaced EBML element. - - - - - Indicate a Matroska Video Stereo Mode EBML element. - - - - - Indicate a Matroska Video Aspect Ratio Type EBML element. - - - - - Indicate a Matroska Video Colour Space EBML element. - - - - - Indicate a Matroska Video Gamma Value EBML element. - - - - - Indicate a Matroska Seek Entry (Master). - - - - - Indicate a Matroska Seek ID (Binary). - - - - - Indicate a Matroska Seek Position (uint). - - - - - Indicate a Matroska Audio Sampling Freq EBML element. - - - - - Indicate a Matroska Audio Bit Depth EBML element. - - - - - Indicate a Matroska Audio Channels EBML element. - - - - - Indicate a Matroska Audio Channels Position EBML element. - - - - - Indicate a Matroska Audio Output Sampling Freq EBML element. - - - - - Indicate a Matroska Tag EBML element. - - - - - Indicate a Matroska Simple Tag EBML element. - - - - - Indicate a Matroska Targets EBML element. - - - - - Indicate a Matroska Tag Name EBML element. - - - - - Indicate a Matroska Tag String EBML element. - - - - - Indicate a Matroska Tag Language EBML element. - - - - - Indicate a Matroska Tag Default EBML element. - - - - - Indicate a Matroska Tag Binary EBML element. - - - - - Indicate a Matroska Target Type Value EBML element (UINT). - - - - - Indicate a Matroska Target Type EBML element (string). - - - - - Indicate a Matroska Target Tag Track UID EBML element (UINT). - - - - - Indicate a Matroska Target Tag Edition UID EBML element (UINT). - - - - - Indicate a Matroska Target Tag Chapter UID EBML element (UINT). - - - - - Indicate a Matroska Target Tag Attachment UID EBML element (UINT). - - - - - Indicate a Matroska attached file. - - - - - Indicate a Matroska human-friendly name for the attached file. - - - - - Indicate a Matroska Filename of the attached file. - - - - - Indicate a Matroska MIME type of the file. - - - - - Indicate a Matroska data of the file. - - - - - Indicate a Matroska Unique ID representing the file, as random as possible. - - - - - Describes a SimpleTag content. The TagName property is not part of the SimpleTag. - A object may contain several . - A object may contains several . - - - - - Constructor - - - - - Construct from value - - - - - Indicate if the content of the SimpleTag is in binary (true) or as a string (false). - - - - - Indication to know if this is the default/original language to use for the given tag. - - - - - Specifies the language of the tag, as a string. - - - - - Specifies the language of the tag. - - - - - Get/Set the data contained in the SimpleTag - - - - - Children SimpleTag nested inside this SimpleTag - - - - - Convert a SimpleTag to a String in the Default encoding - - - - - - Describes a Matroska Subtitle Track. - - - - - Constructs a parsing from provided - file data. - Parsing will be done reading from _file at position references by - parent element's data section. - - instance to read from. - Parent . - - - - List of unknown elements encountered while parsing. - - - - - This type of track only has text media type. - - - - - Describes a Matroska Tag. - A object may contain several . - - - - - Define if this represent a video content (true), or an audio content (false) - - - - - Constructor - - The Tags object this Tag should be added to. - the Target Type ValueTags this Tag represents. - The UID element that should be represented by this tag. - - - - Create a TargetType from a given TargetTypeValue, depending on the media-type - - TargetTypeValue to be converted to TargetType (text) - Representation of the TargetTypeValue - - - - Return a Tag of a certain Target type. - - Create one if it doesn't exist yet. - Target Type Value. - the Tag representing the collection - - - - Return the Tag representing the Album the medium belongs to. - - Create one if it doesn't exist yet. - the Tag representing the collection - - - - Remove a Tag - - Tag Name - Nested SimpleTag to find (if non null) Tag name - - - - Set a Tag value. A null value removes the Tag. - - Tag Name - Nested SimpleTag to find (if non null) Tag name - value to be set. A list can be passed for a subtag by separating the values by ';' - - - - Set a Tag value as unsigned integer. Please note that a value zero removes the Tag. - - Tag Name - Nested SimpleTag to find (if non null) Tag name - unsigned integer value to be set - Format for string convertion to be used (default: null) - - - - Create or overwrite the actual tags of a given name/sub-name by new values. - - Tag Name - Nested SimpleTag to find (if non null) Tag name - Array of values. for each subtag value, a list can be passed by separating the values by ';' - - - - Retrieve a Tag list. If there are multiple tag inside a SimpleTag (when - accessing a sub-key), these sub-list are represented as semicolon-separated - values. - - Tag name - Nested SimpleTag to find (if non null) Tag name - Also search in parent Tag if true (default: true) - Array of values. Nested sub-list are represented by a semicolon- - separated string - - - - - Retrieve a Tag value as string - - Tag name - Nested SimpleTag to find (if non null) Tag name - Also search in parent Tag if true (default: true) - Tag value - - - - Retrieve a Tag value as unsigned integer - - Tag name - Nested SimpleTag to find (if non null) Tag name - Also search in parent Tag if true (default: false) - Tag value as unsigned integer - - - - Retrieve a list of Matroska Tags - - - - - Retrieve the parent Tag, of higher TargetTypeValue (if any, null if none). - This will only match the tag applying to the same target as the current tag, or to more elements. - - - - - Gets the Matroska Target Type Value of this Tag. - This value can be change with the property. - - - - - Get or set the Matroska Target Type of this Tag. - - - - - Array of UID elements the tag applies to. If null, the tag apply to all elements. - - - - - List SimpleTag contained in the current Tag (must never be null) - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the TITLE tag and the Segment Title. - - - - - Gets and sets the sort names for the Track Title of - the media described by the current instance. - - - A containing the sort name of - the Track Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the nested Matroska - SimpleTag "SORT_WITH" inside the "TITLE" SimpleTag. - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the Matroska - SimpleTag "SUBTITLE". - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the Matroska - SimpleTag "SUMMARY" (note that this is not the - "DESCRIPTION" tag). - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the ACTOR/PERFORMER stored in - the MKV Tag element. - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the nested Matroska - SimpleTag "SORT_WITH" inside the "ACTOR" or "PERFORMER" SimpleTag. - - - - - Gets and sets the role of the performers or artists - who performed in the media described by the current instance. - For an movie, this represents a character of an actor. - For a music, this may represent the instrument of the artist. - - - A containing the roles for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the nested Matroska - SimpleTag "CHARACTER" or "INSTRUMENTS" inside the - "ACTOR" or "PERFORMER" SimpleTag. - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "ARTIST" Tag. - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This property is implemented using the nested Matroska - SimpleTag "SORT_WITH" inside the "ARTIST" SimpleTag. - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "COMPOSER" Tag. - - - - - Gets and sets the sort names for the composers of the - media represented by the current instance. - - - A containing the sort names - for the composers of the media represented by the - current instance or an empty array if no value is present. - - - This field is typically optional but aids in the - sorting of compilations or albums with multiple Composers. - - As this value is to be used as a sorting key, it - should be used with less variation than . Where performers can be broken into - muliple artist it is best to stick with a single composer. - For example, "McCartney, Paul". - - - This property is implemented using the nested Matroska - SimpleTag "SORT_WITH" inside the "COMPOSER" SimpleTag. - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "TITLE" Tag in the Collection Tags. - - - - - Gets and sets the sort names for the Album Title of - the media described by the current instance. - - - A containing the sort name of - the Album Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the nested Matroska - SimpleTag "SORT_WITH" inside the "TITLE" SimpleTag. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "COMMENT" Tag. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "GENRE" Tag. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - - - Gets and sets the position of the media represented by - the current instance in its containing item (album, disc, episode, collection...). - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "PART_NUMBER" Tag. - - - - - Gets and sets the number of items contained in the parent Tag (album, disc, episode, collection...) - the media represented by the current instance belongs to. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "TOTAL_PARTS" Tag - in the parent tag (one level up). - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "PART_NUMBER" Tag in - a parent tag (VOLUME for video, PART for audio). - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "TOTAL_PARTS" Tag in - a parent tag (COLLECTION for video, ALBUM for audio). - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "COPYRIGHT" Tag. - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - This property is implemented using the "DATE_TAGGED" Tag. - - - - - Gets and sets the MusicBrainz Artist ID of - the media described by the current instance. - - - A containing the MusicBrainz - ArtistID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Release Group ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Release ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Release Artist ID of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Track ID of - the media described by the current instance. - - - A containing the MusicBrainz - TrackID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Disc ID of - the media described by the current instance. - - - A containing the MusicBrainz - DiscID for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicIP PUID of - the media described by the current instance. - - - A containing the MusicIPPUID - for the media described by the current instance or - null if no value is present. - - - - - Gets and sets the MusicBrainz Release Status of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseStatus for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Release Type of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseType for the media described by the current - instance or null if no value is present. - - - - - Gets and sets the MusicBrainz Release Country of - the media described by the current instance. - - - A containing the MusicBrainz - ReleaseCountry for the media described by the current - instance or null if no value is present. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - Describes all the Matroska Tags in a file as a list, ordered from higher TargetTypeValue to lower. - A object contains several - - - - - Constructor - - List of Matroska tracks - - - - Try to Insert an element to the Tag list at a given index, but can insert it at another index if the - index doesn't keep this list sorted by descending TargetTypeValue - - index at which the Tag element should be preferably inserted - Tag element to be inserted in the Tag list - - - - Replace a tag in the list. - - Index of the lement to be replaced - tag to replace the older one - - - - Clears the values stored in the current Tags and Children. - - - - - Find the first Tag of a given TargetTypeValue - - TargetTypeValue to find - null: any kind, true: represent the current medium, false: represent a sub-element - the Tag if match found, null otherwise - - - - Find the first Tag applying to an object (Matroska UID), matching a TargetTypeValue - - Matroska Track, Edition, Chapter or Attachment (element having an UID) - TargetTypeValue to match (default: match any) - the first matching Tag representing the UID, or null if not found. - - - - Define if this represent a video content (true), or an audio content (false) - - - - - Title of the medium, from the Segment - - - - - Get/set the Tag that represents the current medium (file) - - - - - Get/set the Tag that represents the Collection the current medium (file) belongs to. - For Audio, this should be an Album, type 50 (itself if the mka file represents an album). - For Video, this should be a Collection, type 70. - - - - - Gets and sets a collection of Attachments associated with - the media represented by the current instance. - - - A containing a collection of - attachments associated with the media represented by the - current instance or an empty array if none are present. - - - - - Get direct access to the Matroska Tracks. - - - - - Represents a Matroska TargetType. - The TargetType element allows tagging of different parts that are inside or outside a given file. - For example in an audio file with one song you could have information about the album it comes - from and even the CD set even if it's not found in the file. - - - - - Audio/Video: The high hierarchy consisting of many different lower items - - - - - Audio/Video: a list of lower levels grouped together - - - - - Audio: a list of lower levels grouped together - - - - - - Audio: a list of lower levels grouped together - - - - - Audio: a list of lower levels grouped together - - - - - Video: a list of lower levels grouped together - - - - - Video: a list of lower levels grouped together - - - - - Audio: the most common grouping level of music and video (equals to an episode for TV series) - - - - - Audio: the most common grouping level of music and video (equals to an episode for TV series) - - - - - Audio/Video: the most common grouping level of music and video (equals to an episode for TV series) - - - - - Video: the most common grouping level of music and video (equals to an episode for TV series) - - - - - Video: the most common grouping level of music and video (equals to an episode for TV series) - - - - - Represent the default TargetType (an empty Targets), i.e. targets everything in the segment. - - - - - Audio/Video: when an album or episode has different logical parts - - - - - Audio/Video: when an album or episode has different logical parts - - - - - Audio: the common parts of an album or a movie - - - - - Audio: the common parts of an album or a movie - - - - - Video: the common parts of an album or a movie - - - - - Audio: corresponds to parts of a track for audio (like a movement) - - - - - Audio: corresponds to parts of a track for audio (like a movement) - - - - - Video: corresponds to parts of a track for audio (like a movement) - - - - - Video: the lowest hierarchy found in music or movies - - - - - Describes a Matroska Track. - - - - - Constructs a parsing from provided - file data. - Parsing will be done reading from _file at position references by - parent element's data section. - - instance to read from. - Parent . - - - - List of unknown elements encountered while parsing. - - - - - Describes track duration. - - - - - Describes track media types. - - - - - Track description. - - - - - Unique ID representing the element, as random as possible (setting zero will generate automatically a new one). - - - - - Get the Tag type the UID should be represented by, or 0 if undefined - - - - - Enumeration describing supported Video Aspect Ratio types. - - - - - Free Aspect Ratio. - - - - - Keep Aspect Ratio. - - - - - Fixed Aspect Ratio. - - - - - Describes a Matroska Video Track. - - - - - Constructs a parsing from provided - file data. - Parsing will be done reading from _file at position references by - parent element's data section. - - instance to read from. - Parent . - - - - List of unknown elements encountered while parsing. - - - - - This type of track only has video media type. - - - - - Describes video track width in pixels. - - - - - Describes video track height in pixels. - - - - - This class extends to - provide tagging and properties support for MusePack files. - - - A will be added automatically to - any file that doesn't contain one. This change does not effect - the file and can be reversed using the following method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - This struct implements to provide - support for reading MusePack audio properties. - - - - - Contains the number of bytes in the stream. - - - - - Contains the MusePack version. - - - - - Contains additional header information. - - - - - Contains the sample rate of the stream. - - - - - Contains the number of frames in the stream. - - - - - Contains the number of channels in the stream. - - - - - Contains the count of frames in the stream. - - - - - The size of a MusePack SV7 header. - - - - - The identifier used to recognize a Musepack SV7 file. - - - "MP+" - - - - - The identifier used to recognize a Musepack SV8 file. - - - "MPCK" - - - - - Constructs and initializes a new instance of for a specified header block and - stream length. - - - A object containing the stream - header data. - - - A value containing the length of the - MusePAck stream in bytes. - - - is . - - - does not begin with or with or is less than - bytes long. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the WavPack version of the audio represented by the - current instance. - - - A value containing the WavPack version - of the audio represented by the current instance. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to the - current instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - A object to compare. - - - A object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of differ. - - - A object to compare. - - - A object to compare. - - - if is - unequal to . Otherwise, . - - - - - This class extends to provide support - for processing Apple "ilst" tags. - - - - - Contains the ISO meta box in which that tag will be - stored. - - - - - Contains the ILST box which holds all the values. - - - - - Constructs and initializes a new instance of for a specified ISO user data box. - - - A from which the tag is to - be read. - - - - - Gets and sets whether or not the album described by the - current instance is a compilation. - - - A value indicating whether or not the - album described by the current instance is a compilation. - - - This property is implemented using the "cpil" data box. - - - - - Gets all data boxes that match any of the provided types. - - - A object enumerating a list - of box types to match. - - - A object enumerating the - matching boxes. - - - - - Gets all data boxes that match any of the provided types. - - - A containing list of box - types to match. - - - A object enumerating the - matching boxes. - - - - - Gets all custom data boxes that match the specified mean - and name pair. - - - A object containing the "mean" to - match. - - - A object containing the name to - match. - - - A object enumerating the - matching boxes. - - - - - Gets all text values contained in a specified box type. - - - A object containing the box - type to match. - - - A containing text from all - matching boxes. - - - - - Sets the data for a specified box type to a collection of - boxes. - - - A object containing the type to - add to the new instance. - - - A containing boxes to add - for the specified type. - - - - - Sets the data for a specified box type using values from - a object. - - - A object containing the type to - add to the new instance. - - - A object containing - data to add for the specified type. - - - A value containing flags to use for - the added boxes. - - - - - Sets the data for a specified box type using a single - object. - - - A object containing the type to - add to the new instance. - - - A object containing data to add - for the specified type. - - - A value containing flags to use for - the added box. - - - - - Sets the text for a specified box type. - - - A object containing the type to - add to the new instance. - - - A containing text to store. - - - - - Sets the text for a specified box type. - - - A object containing the type to - add to the new instance. - - - A object containing text to store. - - - - - Clears all data for a specified box type. - - - A object containing the type of - box to remove from the current instance. - - - - - Detaches the internal "ilst" box from its parent element. - - - - - Gets the text string from a specific data box in a Dash (----) atom - - String specifying text from mean box - String specifying text from name box - Text string from data box - - - - Sets a specific strings in Dash (----) atom. This method updates - and existing atom, or creates a new one. If an empty datastring is - specified, the Dash box and its children are removed. - - String specifying text for mean box - String specifying text for name box - String specifying text for data box - - - - Gets the AppleDataBox that corresponds to the specified mean and name values. - - String specifying text for mean box - String specifying text for name box - Existing AppleDataBox or null if one does not exist - - - - Returns the Parent Dash box object for a given mean/name combination - - String specifying text for mean box - String specifying text for name box - AppleAnnotationBox object that is the parent for the mean/name combination - - - - Converts the provided ID into a readonly ID and fixes a - 3 byte ID. - - - A object containing an ID to - fix. - - - A fixed or if the ID could not be fixed. - - - - - Gets an enumerator for enumerating through the tag's data - boxes. - - - A for - enumerating through the tag's data boxes. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "@nam" data box. - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the "Subt" data box. - Should be: ----:com.apple.iTunes:SUBTITLE - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the "Desc" data box. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "@ART" data box. - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This property is implemented using the "role" data box. - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "aART" data box. - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "@wrt" data box. - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "@alb" data box. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "@cmt" data box. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "@gen" and "gnre" - data boxes. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "@day" data box. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "trkn" data box. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "trkn" data box. - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "disk" data box. - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "disk" data box. - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This property is implemented using the "@lyr" data box. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This property is implemented using the "@grp" data box. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This property is implemented using the "tmpo" data box. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "cond" data box. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "cprt" data box. - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - This property is implemented using the "dtag" data box. - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This property is implemented using the "soaa" - Box type. - http://musicbrainz.org/doc/PicardTagMapping - http://code.google.com/p/mp4v2/wiki/iTunesMetadata - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "soar" box type. - http://musicbrainz.org/doc/PicardTagMapping - http://code.google.com/p/mp4v2/wiki/iTunesMetadata - - - - - Gets and sets the sort names of the Composer credited - in the media described by the current instance. - - - A containing the sort names for - the Composers in the media described by the current instance, - or an empty array if no value is present. - - - This property is implemented using the "soar" box type. - http://musicbrainz.org/doc/PicardTagMapping - http://code.google.com/p/mp4v2/wiki/iTunesMetadata - - - - - Gets and sets the sort names of the Album Title of - the media described by the current instance. - - - A containing the sort names for - the Album Title in the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "soal" box type. - http://musicbrainz.org/doc/PicardTagMapping - http://code.google.com/p/mp4v2/wiki/iTunesMetadata - - - - - Gets and sets the sort names of the Track Title in the - media described by the current instance. - - - A containing the sort names for - the Track Title in the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "sonm" box type. - http://musicbrainz.org/doc/PicardTagMapping - http://code.google.com/p/mp4v2/wiki/iTunesMetadata - - - - - Gets and sets the MusicBrainz ArtistID - - - A containing the MusicBrainz - ArtistID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseGroupID - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseID - - - A containing the MusicBrainz - ReleaseID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseArtistID - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz TrackID - - - A containing the MusicBrainz - TrackID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz DiscID - - - A containing the MusicBrainz - DiscID for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicIP PUID - - - A containing the MusicIP Puid - for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the AmazonID - - - A containing the AmazonID - for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseStatus - - - A containing the MusicBrainz - ReleaseStatus for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz ReleaseType - - - A containing the MusicBrainz - ReleaseType for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the MusicBrainz Release Country - - - A containing the MusicBrainz - ReleaseCountry for the media described by the current - instance, or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the ReplayGain Track Value of the media represented by - the current instance. - - - A containing the ReplayGain Track Value of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the ReplayGain Peak Value of the media represented by - the current instance. - - - A containing the ReplayGain Peak Value of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the ReplayGain Album Value of the media represented by - the current instance. - - - A containing the ReplayGain Album Value of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the ReplayGain Album Peak Value of the media represented by - the current instance. - - - A containing the ReplayGain Album Peak Value of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the InitialKey - - - A containing the InitialKey - for the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the ISRC - - - A containing the ISRC - for the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the Publisher - - - A containing the Publisher - for the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets the Remixer - - - A containing the Remixer - for the media described by the current instance, - or null if no value is present. - - - This property is implemented using the "dash"/"----" box type. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - This property is implemented using the "covr" data box. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - This abstract class provides a generic implementation of a - ISO/IEC 14496-12 box. - - - - - Contains the box header. - - - - - Contains the position of the box data. - - - - - Constructs and initializes a new instance of with a specified header and handler. - - - A object describing the new - instance. - - - A object containing the - handler that applies to the new instance, or if no handler applies. - - - - - Constructs and initializes a new instance of with a specified header. - - - A object describing the new - instance. - - - - - Constructs and initializes a new instance of with a specified box type. - - - A object containing the box - type to use for the new instance. - - - - - Gets the MPEG-4 box type of the current instance. - - - A object containing the four - byte box type of the current instance. - - - - - Gets the total size of the current instance as it last - appeared on disk. - - - A value containing the total size of - the current instance as it last appeared on disk. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - Gets the handler box that applies to the current - instance. - - - A object containing the - handler that applies to the current instance, or if no handler applies. - - - - - Renders the current instance, including its children, to - a new object. - - - A object containing the - rendered version of the current instance. - - - - - Gets a child box from the current instance by finding - a matching box type. - - - A object containing the box - type to match. - - - A object containing the matched box, - or if no matching box was found. - - - - - Gets a child box from the current instance by finding - a matching box type, searching recursively. - - - A object containing the box - type to match. - - - A object containing the matched box, - or if no matching box was found. - - - - - Removes all children with a specified box type from the - current instance. - - - A object containing the box - type to remove. - - - - - Removes a specified box from the current instance. - - - A object to remove from the current - instance. - - - - - Adds a specified box to the current instance. - - - A object to add to the current - instance. - - - - - Removes all children from the current instance. - - - - - Gets whether or not the current instance has children. - - - A value indicating whether or not the - current instance has any children. - - - - - Gets the size of the data contained in the current - instance, minux the size of any box specific headers. - - - A value containing the size of - the data contained in the current instance. - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets the header of the current instance. - - - A object containing the header - of the current instance. - - - - - Loads the children of the current instance from a - specified file using the internal data position and size. - - - The from which the current - instance was read and from which to read the children. - - - A object enumerating the - boxes read from the file. - - - is . - - - - - Loads the data of the current instance from a specified - file using the internal data position and size. - - - The from which the current - instance was read and from which to read the data. - - - A object containing the data - read from the file. - - - is . - - - - - Renders the current instance, including its children, to - a new object, preceeding the - contents with a specified block of data. - - - A object containing box - specific header data to preceed the content. - - - A object containing the - rendered version of the current instance. - - - - - This class extends to provide an - implementation of an Apple AdditionalInfoBox. - - - - - Contains the box data. - - - - - Constructs and initializes a new instance of with a provided header - and handler by reading the contents from a specified - file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of using specified header, version and flags - - defines the header data - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets and sets the text contained in the current instance. - - - A object containing the text - contained in the current instance. - - - - - This class extends to provide an - implementation of an Apple AnnotationBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of of specified type with no - children. - - - A object containing a 4-byte - box type. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - This class extends to provide an - implementation of an Apple DataBox. - - - - - Specifies the type of data contained in a box. - - - - - The box contains UTF-8 text. - - - - - The box contains binary data. - - - - - The box contains data for a tempo box. - - - - - The box contains a raw JPEG image. - - - - - The box contains a raw PNG image. - - - - - The box contains a raw BMP image. - - - - - Contains the box data. - - - - - Constructs and initializes a new instance of with a provided header and handler - by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with specified data and flags. - - - A object containing the data to - store in the new instance. - - - A value containing flags to use for - the new instance. - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets and sets the text contained in the current instance. - - - A object containing the text - contained in the current instance, or if the box is not flagged as - containing text. - - - - - Renders the current instance, including its children, to - a new object, preceeding the - contents with a specified block of data. - - - A object containing box - specific header data to preceed the content. - - - A object containing the - rendered version of the current instance. - - - - - This class extends to provide an - implementation of an Apple ElementaryStreamDescriptor. - - - This box may appear as a child of a and provided further information - about an audio stream. - - - - - Contains the maximum bitrate. - - - - - Contains the average bitrate. - - - - - Constructs and initializes a new instance of with a provided - header and handler by reading the contents from a - specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - Valid data could not be read. - - - - - Gets the ID of the stream described by the current - instance. - - - A value containing the ID of the - stream described by the current instance. - - - - - Gets the priority of the stream described by the current - instance. - - - A value containing the priority of - the stream described by the current instance. - - - - - Gets the object type ID of the stream described by the - current instance. - - - A value containing the object type ID - of the stream described by the current instance. - - - - - Gets the type the stream described by the current - instance. - - - A value containing the type the - stream described by the current instance. - - - - - Gets the buffer size DB value the stream described by the - current instance. - - - A value containing the buffer size DB - value the stream described by the current instance. - - - - - Gets the maximum bitrate the stream described by the - current instance. - - - A value containing the maximum - bitrate the stream described by the current instance. - - - - - Gets the maximum average the stream described by the - current instance. - - - A value containing the average - bitrate the stream described by the current instance. - - - - - Gets the decoder config data of stream described by the - current instance. - - - A object containing the decoder - config data of the stream described by the current - instance. - - - - - Reads a section length and updates the offset to the end - of of the length block. - - - A object to read from. - - - A value reference specifying the - offset at which to read. This value gets updated to the - position following the size data. - - - A value containing the length that - was read. - - - - - This class extends to provide an - implementation of an Apple ItemListBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with no children. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 FullBox. - - - - - Contains the box version. - - - - - Constructs and initializes a new instance of with a provided header and handler by - reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with a provided header, version, and - flags. - - - A object containing the header - to use for the new instance. - - - A value containing the version of the - new instance. - - - A value containing the flags for the - new instance. - - - - - Constructs and initializes a new instance of with a provided header, version, and - flags. - - - A object containing the four - byte box type. - - - A value containing the version of the - new instance. - - - A value containing the flags for the - new instance. - - - is of - equal to "uuid". - - - isn't exactly 4 bytes long. - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets and sets the version number of the current instance. - - - A value containing the version - number of the current instance. - - - - - Gets and sets the flags that apply to the current - instance. - - - A value containing the flags that - apply to the current instance. - - - - - Renders the current instance, including its children, to - a new object, preceeding the - contents with a specified block of data. - - - A object containing box - specific header data to preceed the content. - - - A object containing the - rendered version of the current instance. - - - - - This class extends and implements - to provide an implementation of a - ISO/IEC 14496-12 AudioSampleEntry and support for reading MPEG-4 - video properties. - - - - - Contains the channel count. - - - - - Contains the sample size. - - - - - Contains the sample rate. - - - - - Contains the children of the box. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the sample size of the audio represented by the - current instance. - - - A value containing the sample size of - the audio represented by the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 ChunkLargeOffsetBox. - - - and contain offsets of media data - within the file. As such, if the file changes by even one byte, - these values are devalidatated and the box will have to be - overwritten to maintain playability. - - - - - Constructs and initializes a new instance of with a provided header - and handler by reading the contents from a specified - file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets the offset table contained in the current instance. - - - A containing the offset table - contained in the current instance. - - - - - Overwrites the existing box in the file after updating - the table for a size change. - - - A object containing the file to which - the current instance belongs and wo which modifications - must be applied. - - - A value containing the size - change that occurred in the file. - - - A value containing the position in - the file after which offsets will be invalidated. If an - offset is before this point, it won't be updated. - - - is . - - - - - Renders the current instance after updating the table for - a size change. - - - A value containing the size - change that occurred in the file. - - - A value containing the position in - the file after which offsets will be invalidated. If an - offset is before this point, it won't be updated. - - - A object containing the - rendered version of the file. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 ChunkOffsetBox. - - - and contain offsets of media data - within the file. As such, if the file changes by even one byte, - these values are devalidatated and the box will have to be - overwritten to maintain playability. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets the offset table contained in the current instance. - - - A containing the offset table - contained in the current instance. - - - - - Overwrites the existing box in the file after updating - the table for a size change. - - - A object containing the file to which - the current instance belongs and wo which modifications - must be applied. - - - A value containing the size - change that occurred in the file. - - - A value containing the position in - the file after which offsets will be invalidated. If an - offset is before this point, it won't be updated. - - - is . - - - - - Renders the current instance after updating the table for - a size change. - - - A value containing the size - change that occurred in the file. - - - A value containing the position in - the file after which offsets will be invalidated. If an - offset is before this point, it won't be updated. - - - A object containing the - rendered version of the file. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 FreeSpaceBox. - - - - - Contains the size of the padding. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - - - Constructs and initializes a new instance of to occupy a specified number of - bytes. - - - A value specifying the number of - bytes the new instance should occupy when rendered. - - - - - Gets and sets the data contained in the current instance. - - - A object containing the data - contained in the current instance. - - - - - Gets and sets the size the current instance will occupy - when rendered. - - - A value containing the size the - current instance will occupy when rendered. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 FullBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with a specified type and name. - - - A object specifying a 4 byte - handler type. - - - A object specifying the handler - name. - - - is . - - - is less than 4 bytes - long. - - - - - Gets the data contained in the current instance. - - - A object containing the - rendered version of the data contained in the current - instance. - - - - - Gets the handler type of the current instance. - - - A object containing the - handler type of the current instance. - - - - - Gets the name of the current instance. - - - A object containing the name of the - current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 MetaBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with a specified handler. - - - A object specifying a 4 byte - handler type. - - - A object specifying the handler - name. - - - is . - - - is less than 4 bytes - long. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 MovieHeaderBox. - - - - - Contains the creation time of the movie. - - - - - Contains the modification time of the movie. - - - - - Contains the timescale. - - - - - Contains the duration. - - - - - Contains the rate. - - - - - Contains the volume. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the creation time of movie represented by the - current instance. - - - A value containing the creation - time of the movie represented by the current instance. - - - - - Gets the modification time of movie represented by the - current instance. - - - A value containing the - modification time of the movie represented by the current - instance. - - - - - Gets the duration of the movie represented by the current - instance. - - - A value containing the duration - of the movie represented by the current instance. - - - - - Gets the playback rate of the movie represented by the - current instance. - - - A value containing the playback - rate of the movie represented by the current instance. - - - - - Gets the playback volume of the movie represented by the - current instance. - - - A value containing the playback - volume of the movie represented by the current instance. - - - - - Gets the ID of the next track in the movie represented by - the current instance. - - - A value containing the ID of the next - track in the movie represented by the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 SampleDescriptionBox. - - - - - Constructs and initializes a new instance of with a provided header - and handler by reading the contents from a specified - file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets the number of boxes at the begining of the children - that will be stored as - of objects, depending - on the handler. - - - A value containing the number of - children that will appear as sample entries. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 SampleEntry. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets the data reference index of the current instance. - - - A value containing the data - reference index of the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 SampleTableBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - This class extends to provide an - implementation of a ISO/IEC 14496-12 UserDataBox. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Constructs and initializes a new instance of with no children. - - - - - Gets the children of the current instance. - - - A object enumerating the - children of the current instance. - - - - - Gets the box headers for the current "udta" box and - all parent boxes up to the top of the file. - - - A containing the headers for - the current "udta" box and its parent boxes up to - the top of the file, in the order they appear, or if none is present. - - - - - This class extends and implements - to provide an implementation of a - ISO/IEC 14496-12 VisualSampleEntry and support for reading MPEG-4 - video properties. - - - - - Contains the width of the visual. - - - - - Contains the height of the visual. - - - - - Constructs and initializes a new instance of with a provided header and - handler by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets the position of the data contained in the current - instance, after any box specific headers. - - - A value containing the position of - the data contained in the current instance. - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the width of the video represented by the current - instance. - - - A containing the width of the video - represented by the current instance. - - - - - Gets the height of the video represented by the current - instance. - - - A containing the height of the video - represented by the current instance. - - - - - This class extends to provide a simple - implementation of a box of unknown type. - - - - - Contains the box's data. - - - - - Constructs and initializes a new instance of with a provided header and handler - by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets and sets the box data contained in the current - instance. - - - A object containing the box - data contained in the current instance. - - - - - This static class provides support for reading boxes from a file. - - - - - Creates a box by reading it from a file given its header, - parent header, handler, and index in its parent. - - - A object containing the file - to read from. - - - A object containing the header - of the box to create. - - - A object containing the header - of the parent box. - - - A object containing the - handler that applies to the new box. - - - A value containing the index of the - new box in its parent. - - - A newly created object. - - - - - Creates a box by reading it from a file given its - position in the file, parent header, handler, and index - in its parent. - - - A object containing the file - to read from. - - - A value specifying at what seek - position in to start reading. - - - A object containing the header - of the parent box. - - - A object containing the - handler that applies to the new box. - - - A value containing the index of the - new box in its parent. - - - A newly created object. - - - - - Creates a box by reading it from a file given its - position in the file and handler. - - - A object containing the file - to read from. - - - A value specifying at what seek - position in to start reading. - - - A object containing the - handler that applies to the new box. - - - A newly created object. - - - - - Creates a box by reading it from a file given its - position in the file. - - - A object containing the file - to read from. - - - A value specifying at what seek - position in to start reading. - - - A newly created object. - - - - - Creates a box by reading it from a file given its header - and handler. - - - A object containing the file - to read from. - - - A object containing the header - of the box to create. - - - A object containing the - handler that applies to the new box. - - - A newly created object. - - - - - Creates a box by reading it from a file given its header - and handler. - - - A object containing the file - to read from. - - - A object containing the header - of the box to create. - - - A newly created object. - - - - - This structure provides support for reading and writing headers - for ISO/IEC 14496-12 boxes. - - - - - Contains the box size. - - - - - Contains the header size. - - - - - Contains the position of the header. - - - - - Indicated that the header was read from a file. - - - - - An empty box header. - - - - - Constructs and initializes a new instance of by reading it from a specified seek - position in a specified file. - - - A object to read the new - instance from. - - - A value specifiying the seek position - in at which to start reading. - - - is . - - - There isn't enough data in the file to read the complete - header. - - - - - Constructs and initializes a new instance of with a specified box type. - - - A object containing the four - byte box type. - - - must be - used to create a header of type "uuid". - - - is or is - equal to "uuid". - - - isn't exactly 4 bytes long. - - - - - Constructs and initializes a new instance of with a specified box type and - optionally extended type. - - - A object containing the four - byte box type. - - - A object containing the four - byte box type. - - - is - or - - is equal to "uuid" and - is . - - - isn't exactly 4 bytes long - or - - isn't "uuid" but - isn't - or - paramref name="type" /> is - "uuid" but isn't - exactly 16 bytes long. - - - - - Gets the type of box represented by the current instance. - - - A object containing the 4 byte - box type. - - - - - Gets the extended type of the box represented by the - current instance. - - - A object containing the 16 byte - extended type, or if is not "uuid". - - - - - Gets the size of the header represented by the current - instance. - - - A value containing the size of the - header represented by the current instance. - - - - - Gets and sets the size of the data in the box described - by the current instance. - - - A value containing the size of the - data in the box described by the current instance. - - - - - Gets the offset of the box data from the position of the - header. - - - A value containing the offset of the - box data from the position of the header. - - - - - Gets the total size of the box described by the current - instance. - - - A value containing the total size of - the box described by the current instance. - - - - - Gets the position box represented by the current instance - in the file it comes from. - - - A value containing the position box - represented by the current instance in the file it comes - from. - - - - - Overwrites the header on disk, updating it to include a - change in the size of the box. - - - A object containing the file - from which the box originates. - - - A value indicating the change in the - size of the box described by the current instance. - - - The size change encountered by the box that parents the - box described the the current instance, equal to the - size change of the box plus any size change that should - happen in the header. - - - - - Renders the header represented by the current instance. - - - A object containing the - rendered version of the current instance. - - - - - Gets and sets the box represented by the current instance - as a means of temporary storage for internal uses. - - - - - provides references to different box types - used by the library. - - - This class is used to severely reduce the number of times - these types are created in , greatly - improving the speed at which warm files are read. - The reason it is marked as internal is because I'm not sure - I like the way the fields are named, and it is really - unneccessary for external uses. While the library may use - DataBoxes (BoxType.Gen, BoxType.Gnre);, an external user - could use tag.DataBoxes ("gen", "gnre"); with the same - result. - - - - - - This class extends to provide tagging - and properties support for MPEG-4 files. - - - - - Contains the Apple tag. - - - - - Contains the combined tag. - - - - - - Contains the media properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Get the UDTA Boxes - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - At the time of this writing, only - is supported. All other tag types will be ignored. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Reads the file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Find the udta box within our collection that contains the Apple ILST data. - - - If there is a single udta in a file, we return that. - If there are multiple udtas, we search for the one that contains the ILST box. - - - - - Returns true if there is a udta with ILST present in our collection - - - - - This class provides methods for reading important information - from an MPEG-4 file. - - - - - Contains the file to read from. - - - - - Contains the first header found in the file. - - - - - Contains the ISO movie header box. - - - - - Contains the ISO user data boxes. - - - - - Contains the box headers from the top of the file to the - "moov" box. - - - - - Contains the box headers from the top of the file to the - "udta" box. - - - - - Contains the "stco" boxes found in the file. - - - - - Contains the "stsd" boxes found in the file. - - - - - Contains the position at which the "mdat" box starts. - - - - - Contains the position at which the "mdat" box ends. - - - - - Constructs and initializes a new instance of for a specified file. - - - A object to perform operations - on. - - - is . - - - does not start with a - "ftyp" box. - - - - - Gets the movie header box read by the current instance. - - - A object read by the - current instance, or if not found. - - - This value will only be set by calling . - - - - - Gets all user data boxes read by the current instance. - - - A array read by the - current instance. - - - This value will only be set by calling and . - - - - - Get the User Data Box - - - - - Gets the audio sample entry read by the current instance. - - - A object read by the - current instance, or if not found. - - - This value will only be set by calling . - - - - - Gets the visual sample entry read by the current - instance. - - - A object read by the - current instance, or if not found. - - - This value will only be set by calling . - - - - - Gets the box headers for the first "moov" box and - all parent boxes up to the top of the file as read by the - current instance. - - - A containing the headers for - the first "moov" box and its parent boxes up to - the top of the file, in the order they appear, or if none is present. - - - This value is useful for overwriting box headers, and is - only be set by calling . - - - - - Gets the box headers for the first "udta" box and - all parent boxes up to the top of the file as read by the - current instance. - - - A containing the headers for - the first "udta" box and its parent boxes up to - the top of the file, in the order they appear, or if none is present. - - - This value is useful for overwriting box headers, and is - only be set by calling . - - - - - Gets all chunk offset boxes read by the current instance. - - - A containing all chunk offset boxes - read by the current instance. - - - These boxes contain offset information for media data in - the current instance and can be devalidated by size - change operations, in which case they need to be - corrected. This value will only be set by calling . - - - - - Gets the position at which the "mdat" box starts. - - - A value containing the seek position - at which the "mdat" box starts. - - - The "mdat" box contains the media data for the - file and is used for estimating the invariant data - portion of the file. - - - - - Gets the position at which the "mdat" box ends. - - - A value containing the seek position - at which the "mdat" box ends. - - - The "mdat" box contains the media data for the - file and is used for estimating the invariant data - portion of the file. - - - - - Parses the file referenced by the current instance, - searching for box headers that will be useful in saving - the file. - - - - - Parses the file referenced by the current instance, - searching for tags. - - - - - Parses the file referenced by the current instance, - searching for tags and properties. - - - - - Parses the file referenced by the current instance, - searching for chunk offset boxes. - - - - - Parses boxes for a specified range, looking for headers. - - - A value specifying the seek position - at which to start reading. - - - A value specifying the seek position - at which to stop reading. - - - A object containing all the parent - handlers that apply to the range. - - - - - Parses boxes for a specified range, looking for tags. - - - A value specifying the seek position - at which to start reading. - - - A value specifying the seek position - at which to stop reading. - - - A of parents. - - - - - Parses boxes for a specified range, looking for tags and - properties. - - - A value specifying the seek position - at which to start reading. - - - A value specifying the seek position - at which to stop reading. - - - A object that applied to the - range being searched. - - - A of parents. - - - - - Parses boxes for a specified range, looking for chunk - offset boxes. - - - A value specifying the seek position - at which to start reading. - - - A value specifying the seek position - at which to stop reading. - - - - - Resets all internal fields. - - - - - Adds a parent to the end of an existing list of parents. - - - A object containing an existing - list of parents. - - - A object to add to the list. - - - A new object containing the list - of parents, including the added header. - - - - - Represent an MP4 text box - - - - - Contains the box's data. - - - - - Constructs and initializes a new instance of with a provided header and handler - by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets and sets the box data contained in the current - instance. - - - A object containing the box - data contained in the current instance. - - - - - Represent a MP4 URL box - - - - - Contains the box's data. - - - - - Constructs and initializes a new instance of with a provided header and handler - by reading the contents from a specified file. - - - A object containing the header - to use for the new instance. - - - A object to read the contents - of the box from. - - - A object containing the - handler that applies to the new instance. - - - is . - - - - - Gets and sets the box data contained in the current - instance. - - - A object containing the box - data contained in the current instance. - - - - - This class extends to - provide tagging and properties support for MPEG-1, MPEG-2, and - MPEG-2.5 audio files. - - - A and will be added automatically to any - file that doesn't contain one. This change does not effect the - file until it is saved and can be reversed using the following - method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the first audio header. - - - - - Constructs and initializes a new instance of for a specified path in the local - file system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local - file system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with - an average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - This method only searches for an audio header in the - first 16384 bytes of code to avoid searching forever in - corrupt files. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - Indicates the MPEG version of a file or stream. - - - - - Unknown version. - - - - - MPEG-1 - - - - - MPEG-2 - - - - - MPEG-2.5 - - - - - Indicates the MPEG audio channel mode of a file or stream. - - - - - Stereo - - - - - Joint Stereo - - - - - Dual Channel Mono - - - - - Single Channel Mono - - - - - This structure implements and provides - information about an MPEG audio stream. - - - - - Contains a sample rate table for MPEG audio. - - - - - Contains a block size table for MPEG audio. - - - - - Contains a bitrate table for MPEG audio. - - - - - Contains the header flags. - - - - - Contains the audio stream length. - - - - - Contains the associated Xing header. - - - - - Contains the associated VBRI header. - - - - - Contains the audio stream duration. - - - - - An empty and unset header. - - - - - Constructs and initializes a new instance of by populating it with specified - values. - - - A value specifying flags for the new - instance. - - - A value specifying the stream length - of the new instance. - - - A object representing the Xing - header associated with the new instance. - - - A object representing the VBRI - header associated with the new instance. - - - - - Constructs and initializes a new instance of by reading its contents from a - object and its Xing Header from - the appropriate location in the specified file. - - - A object containing the header - to read. - - - A object to read the Xing - header from. - - - A value indicating the position in - at which the header begins. - - - is less than 4 bytes long, - does not begin with a MPEG audio synch, has a negative - bitrate, or has a sample rate of zero. - - - - - Gets the MPEG version used to encode the audio - represented by the current instance. - - - A value indicating the MPEG - version used to encode the audio represented by the - current instance. - - - - - Gets the MPEG audio layer used to encode the audio - represented by the current instance. - - - A value indicating the MPEG audio - layer used to encode the audio represented by the current - instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the length of the frames in the audio represented by - the current instance. - - - A value containing the length of the - frames in the audio represented by the current instance. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - If is equal to and has not been called, this value - will not be correct. - If is equal to and has not been called, this value - will not be correct. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets whether or not the audio represented by the current - instance is protected. - - - A value indicating whether or not the - audio represented by the current instance is protected. - - - - - Gets whether or not the audio represented by the current - instance is padded. - - - A value indicating whether or not the - audio represented by the current instance is padded. - - - - - Gets whether or not the audio represented by the current - instance is copyrighted. - - - A value indicating whether or not the - audio represented by the current instance is copyrighted. - - - - - Gets whether or not the audio represented by the current - instance is original. - - - A value indicating whether or not the - audio represented by the current instance is original. - - - - - Gets the MPEG audio channel mode of the audio represented - by the current instance. - - - A value indicating the MPEG - audio channel mode of the audio represented by the - current instance. - - - - - Gets the Xing header found in the audio represented by - the current instance. - - - A object containing the Xing - header found in the audio represented by the current - instance, or if no - header was found. - - - - - Gets the VBRI header found in the audio represented by - the current instance. - - - A object containing the VBRI - header found in the audio represented by the current - instance, or if no - header was found. - - - - - Sets the length of the audio stream represented by the - current instance. - - - A value specifying the length in - bytes of the audio stream represented by the current - instance. - - - The this value has been set, will - return an incorrect value. - - - - - Searches for an audio header in a starting at a specified position and searching through - a specified number of bytes. - - - A object in which the found - header will be stored. - - - A object to search. - - - A value specifying the seek position - in at which to start searching. - - - A value specifying the maximum number - of bytes to search before aborting. - - - A value indicating whether or not a - header was found. - - - is . - - - - - Searches for an audio header in a starting at a specified position and searching to the - end of the file. - - - A object in which the found - header will be stored. - - - A object to search. - - - A value specifying the seek position - in at which to start searching. - - - A value indicating whether or not a - header was found. - - - Searching to the end of the file can be very, very slow - especially for corrupt or non-MPEG files. It is - recommended to use - instead. - - - - - Indicates the type of marker found in a MPEG file. - - - - - An invalid marker. - - - - - A zero value marker. - - - - - A marker indicating a system sync packet. - - - - - A marker indicating a video sync packet. - - - - - A marker indicating a system packet. - - - - - A marker indicating a padding packet. - - - - - A marker indicating a audio packet. - - - - - A marker indicating a video packet. - - - - - A marker indicating the end of a stream. - - - - - This class extends to - provide tagging and properties support for MPEG-1, MPEG-2, and - MPEG-2.5 video files. - - - A and will be added automatically to any - file that doesn't contain one. This change does not effect the - file until it is saved and can be reversed using the following - method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the MPEG version. - - - - - Contains the first audio header. - - - - - Contains the first video header. - - - - - Indicates whether or not audio was found. - - - - - Indicates whether or not video was found. - - - - - Contains the start time of the file. - - - - - Contains the end time of the file. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - Gets the marker at a specified position. - - - A value specifying the postion in the - file represented by the current instance at which to - read. - - - A value containing the type of - marker found at the specified position. - - - A valid marker does not exist at the specified position. - - - - - Finds the next marker starting at a specified position. - - - A value reference specifying the - position at which to start searching. This value - is updated to the position of the found marker. - - - A value containing the type of - marker found at the specified position. - - - A valid marker could not be found. - - - - - Finds the next marker of a specified type, starting at a - specified position. - - - A value reference specifying the - position at which to start searching. This value - is updated to the position of the found marker. - - - A value specifying the type of - marker to search for. - - - A valid marker could not be found. - - - - - Finds the previous marker of a specified type, starting - at a specified position. - - - A value reference specifying the - position at which to start searching. This value - is updated to the position of the found marker. - - - A value specifying the type of - marker to search for. - - - A valid marker could not be found. - - - - - Reads the contents of the file as a system file, starting - at a specified position. - - - A value specifying the postion in the - file represented by the current instance at which to - start reading. - - - This method will stop when it has read both an audio and - a video header, or once it's read 100 packets. This is to - prevent the entire file from being read if it lacks one - type of stream. - - - - - Reads an audio packet, assigning the audio header and - advancing the position to the next packet position. - - - A value reference specifying the - position at which to start reading the packet. This value - is updated to the position of the next packet. - - - - - Reads a video packet, assigning the video header and - advancing the position to the next packet position. - - - A value reference specifying the - position at which to start reading the packet. This value - is updated to the position of the next packet. - - - - - Reads a system sync packet, filling in version - information and the first timestamp value, advancing the - position to the next packet position. - - - A value reference specifying the - position at which to start reading the packet. If the - method is called without exception, this is updated to - the position of the next packet. - - - The MPEG version contained in the packet is unknown. - - - - - Reads an MPEG timestamp from a specified position in the - file represented by the current instance. - - - A value containing the position in - the file at which to read. This should be immediately - following a system sync packet marker. - - - A value containing the read time in - seconds. - - - - - This structure provides information about a variable bitrate MPEG - audio stream encoded by the Fraunhofer Encoder. - - - - - Contains te VBRI identifier. - - - "VBRI" - - - - - An empty and unset VBRI header. - - - - - Constructs and initializes a new instance of with a specified frame count and - size. - - - A value specifying the frame count of - the audio represented by the new instance. - - - A value specifying the stream size of - the audio represented by the new instance. - - - - - Constructs and initializes a new instance of by reading its raw contents. - - - A object containing the raw - VBRI header. - - - is . - - - does not start with . - - - - - Gets the total number of frames in the file, as indicated - by the current instance. - - - A value containing the number of - frames in the file, or 0 if not specified. - - - - - Gets the total size of the file, as indicated by the - current instance. - - - A value containing the total size of - the file, or 0 if not specified. - - - - - Gets whether or not a physical VBRI header is present in - the file. - - - A value indicating whether or not the - current instance represents a physical VBRI header. - - - - - Gets the offset at which a VBRI header would appear in an - MPEG audio packet. - Always 32 bytes after the end of the first MPEG Header. - - - A value indicating the offset in an - MPEG audio packet at which the VBRI header would appear. - - - - - This structure implements and provides - information about an MPEG video stream. - - - - - Contains frame rate values. - - - - - Contains the index in of the - video frame rate. - - - - - Constructs and initializes a new instance of by reading it from a specified - location in a specified file. - - - A object to read from. - - - A value indicating the position in - at which the header begins. - - - is . - - - Insufficient data could be read for the header. - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the width of the video represented by the current - instance. - - - A value containing the width of the - video represented by the current instance. - - - - - Gets the height of the video represented by the current - instance. - - - A value containing the height of the - video represented by the current instance. - - - - - Gets the frame rate of the video represented by the - current instance. - - - A value containing the frame rate - of the video represented by the current instance. - - - - - Gets the bitrate of the video represented by the current - instance. - - - A value containing a bitrate of the - video represented by the current instance. - - - - - This structure provides information about a variable bitrate MPEG - audio stream. - - - - - Contains te Xing identifier. - - - "Xing" - - - - - An empty and unset Xing header. - - - - - Constructs and initializes a new instance of with a specified frame count and - size. - - - A value specifying the frame count of - the audio represented by the new instance. - - - A value specifying the stream size of - the audio represented by the new instance. - - - - - Constructs and initializes a new instance of by reading its raw contents. - - - A object containing the raw - Xing header. - - - is . - - - does not start with . - - - - - Gets the total number of frames in the file, as indicated - by the current instance. - - - A value containing the number of - frames in the file, or 0 if not specified. - - - - - Gets the total size of the file, as indicated by the - current instance. - - - A value containing the total size of - the file, or 0 if not specified. - - - - - Gets whether or not a physical Xing header is present in - the file. - - - A value indicating whether or not the - current instance represents a physical Xing header. - - - - - Gets the offset at which a Xing header would appear in an - MPEG audio packet based on the version and channel mode. - - - A value specifying the version of - the MPEG audio packet. - - - A value specifying the channel - mode of the MPEG audio packet. - - - A value indicating the offset in an - MPEG audio packet at which the Xing header would appear. - - - - - This class extends , providing support - for accessing and modifying a collection of tags appearing at the - end of a file. - - - This class is used by to read all the tags appearing at the end of the file but - could be used by other classes. It currently supports ID3v1, - ID3v2, and APE tags. - - - - - Contains the file to operate on. - - - - - Contains the number of bytes that must be read to - hold all applicable indicators. - - - - - Constructs and initializes a new instance of for a specified . - - - A object on which the new - instance will perform its operations. - - - Constructing a new instance does not automatically read - the contents from the disk. must be - called to read the tags. - - - - - Gets the total size of the tags located at the end of the - file by reading from the file. - - - - - Reads the tags stored at the end of the file into the - current instance. - - - A value indicating the seek position - in the file at which the read tags begin. This also - marks the seek position at which the media ends. - - - - - Renders the tags contained in the current instance. - - - A object containing the - physical representation of the tags stored in the current - instance. - - - The tags are rendered in the order that they are stored - in the current instance. - - - - - Writes the tags contained in the current instance to the - end of the file that created it, overwriting the existing - tags. - - - A value indicating the seek position - in the file at which the written tags begin. This also - marks the seek position at which the media ends. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Adds a tag of a specified type to the current instance, - optionally copying values from an existing type. - - - A value specifying the type of - tag to add to the current instance. At the time of this - writing, this is limited to , - , and . - - - A to copy values from using - , or if no tag is to be copied. - - - The object added to the current - instance, or if it couldn't be - created. - - - ID3v2 tags are added at the end of the current instance, - while other tags are added to the beginning. - - - - - Reads a tag ending at a specified position and moves the - cursor to its start position. - - - A value reference specifying at what - position the potential tag ends at. If a tag is found, - this value will be updated to the position at which the - found tag starts. - - - A value specifying how the media - data is to be read into the current instance. - - - A object representing the tag - found at the specified position, or if no tag was found. - - - - - Looks for a tag ending at a specified position and moves - the cursor to its start position. - - - A value reference specifying at what - position the potential tag ends. If a tag is found, - this value will be updated to the position at which the - found tag starts. - - - A value specifying the - type of tag found at the specified position, or if no tag was found. - - - - - This abstract class extends to provide - tagging and properties for files that contain an indeterminite - number of tags at their beginning or end. - - - When extending this class, , , and should be - overrided methods that read the format specific information from - the file. - The file is read upon construction in the following - manner: - - The file is opened for reading. - The tags at the start of the file are - read. - is called. - The tags at the end of the file are - read. - is called. - If reading with a style other than , is - called. - The file is closed. - - - - - - Contains the tags. - - - - - Contains the media properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets the collection of tags appearing at the start of the - file. - - - A storing the - tags for the start of the file. - - - - - Gets the collection of tags appearing at the end of the - file. - - - A storing the - tags for the end of the file. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - This method is called by the constructor immediately - after the tags at the start of the file have been read - and as such (so the internal seek mechanism is close to - the start). It should be used for reading any content - specific information, such as an audio header from the - start of the file. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - This method is called by the constructor immediately - after the tags at the end of the file have been read - and as such (so the internal seek mechanism is close to - the end). It should be used for reading any content - specific information, such as an audio header from the - end of the file. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - This method is called ONLY IF the file is constructed - with a read style other than , and as such MUST NOT return . - It is guaranteed that and will have been called first and this - method should be strictly used to perform final - processing on already read data. - - - - - Reads the file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - This class extends , providing support - for accessing and modifying a collection of tags appearing at the - start of a file. - - - This class is used by to read all the tags appearing at the start of the file but - could be used by other classes. It currently supports ID3v2 - and APE tags. - - - - - Contains the file to operate on. - - - - - Contains the number of bytes that must be read to - hold all applicable indicators. - - - - - Constructs and initializes a new instance of for a specified . - - - A object on which the new - instance will perform its operations. - - - Constructing a new instance does not automatically read - the contents from the disk. must be - called to read the tags. - - - - - Gets the total size of the tags located at the end of the - file by reading from the file. - - - - - Reads the tags stored at the start of the file into the - current instance. - - - A value indicating the seek position - in the file at which the read tags end. This also - marks the seek position at which the media begins. - - - - - Renders the tags contained in the current instance. - - - A object containing the - physical representation of the tags stored in the current - instance. - - - The tags are rendered in the order that they are stored - in the current instance. - - - - - Writes the tags contained in the current instance to the - beginning of the file that created it, overwriting the - existing tags. - - - A value indicating the seek position - in the file at which the written tags end. This also - marks the seek position at which the media begins. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Adds a tag of a specified type to the current instance, - optionally copying values from an existing type. - - - A value specifying the type of - tag to add to the current instance. At the time of this - writing, this is limited to - and . - - - A to copy values from using - , or if no tag is to be copied. - - - The object added to the current - instance, or if it couldn't be - created. - - - ID3v2 tags are added at the end of the current instance, - while other tags are added to the beginning. - - - - - Reads a tag starting at a specified position and moves the - cursor to its start position. - - - A value reference specifying at what - position the potential tag starts. If a tag is found, - this value will be updated to the position at which the - found tag ends. - - - A value specifying how the media - data is to be read into the current instance. - - - A object representing the tag - found at the specified position, or if no tag was found. - - - - - Looks for a tag starting at a specified position and moves - the cursor to its start position. - - - A value reference specifying at what - position the potential tag starts. If a tag is found, - this value will be updated to the position at which the - found tag ends. - - - A value specifying the - type of tag found at the specified position, or if no tag was found. - - - - - This class extends , combining and in such a way as - their children appear as its children. - - - - - Constructs and initializes a new instance of for a specified . - - - A object on which the new - instance will perform its operations. - - - Constructing a new instance does not automatically read - the contents from the disk. must be - called to read the tags. - - - - - Gets the collection of tags appearing at the start of the - file. - - - A storing the - tags for the start of the file. - - - - - Gets the collection of tags appearing at the end of the - file. - - - A storing the - tags for the end of the file. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined - containing the tag types contained in the current - instance. - - - - - Gets the tags combined in the current instance. - - - A containing the tags combined in - the current instance. - - - This contains the combined children of and . - - - - - Gets a tag of a specified type from the current instance. - - - A value indicating the - type of tag to read. - - - A object containing the tag that was - found in the current instance. If no - matching tag was found and none was created, is returned. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Reads the tags at the start and end of the file. - - - A value reference which will be set - to contain the seek position in the file at which the - tags at the start end. This also marks the seek position - at which the media begins. - - - A value reference which will be set - to contain the seek position in the file at which the - tags at the end begin. This also marks the seek position - at which the media ends. - - - - - Reads the tags stored at the start of the file into the - current instance. - - - A value indicating the seek position - in the file at which the read tags end. This also - marks the seek position at which the media begins. - - - - - Reads the tags stored at the end of the file into the - current instance. - - - A value indicating the seek position - in the file at which the read tags begin. This also - marks the seek position at which the media ends. - - - - - Writes the tags to the start and end of the file. - - - A value reference which will be set - to contain the new seek position in the file at which the - tags at the start end. This also marks the seek position - at which the media begins. - - - A value reference which will be set - to contain the new seek position in the file at which the - tags at the end begin. This also marks the seek position - at which the media ends. - - - - - This class accepts a sequence of pages belonging to a single - logical bitstream, processes them, and extracts the tagging and - media information. - - - - - Contains the last packet of the previous page in case it - is continued in the next frame. - - - - - Contains the index of the next packet to be processed. - - - - - Contains the absolute granular position of the first - page. - - - - - Constructs and initializes a new instance of capable of processing a specified - page. - - - The first object of the stream to be - processed by the new instance. - - - The constructor only sets the new instance up to read the - packet, but doesn't actually read it. - - - is . - - - No registered codec capable of processing could be found. - - - - - Reads the next logical page in the stream. - - - The next logical object in the - stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - is . - - - - - Gets the duration of the stream represented by the - current instance. - - - A value containing the absolute - granular position of the last page in the bitstream. - - - A object containing the duration - of the stream represented by the current instance. - - - - - Gets the codec object used to interpret the stream - represented by the current instance. - - - The object used by the current - instance. - - - - - Sents a packet to the codec processor to read it. - - - A object containing the next - packet in the stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - - - This abstract class implements to provide - support for processing packets from an Ogg logical bitstream. - - - Unsupported Ogg codecs can be added by creating child classes and - registering them using . - - - - - - - Represents a method capable of checking an Ogg header - packet to see it is matches a given codec. - - - A object containing an Ogg - header packet. - - - A object capable of processing the - stream from which the packet was generated; otherwise - . - - - In order to add support for a new Ogg codec in - TagLib#, a derivative class of needs - to be created. The class then needs to be added to the - codec detection system by creating a and registering it with . - A method implementing - should read to determine if - it's subclass can handle the data. If it can, it should - return a new instance of that class, but in no way act - upon the data. If the class cannot be used to read the - packet, indicates to the system - that it needs to try anther codec provider. - - - The following example would check for a Speex - packet and return a Speex codec: - - Codec.AddCodecProvider (delegate (ByteVector packet) { - return packet.StartsWith ("Speex ") ? new MySpeexCodec () : null; - }); - - - - - - Contains registered codec providers. - - - - - Determines the correct codec to use for a stream header - packet. - - - A object containing the first - packet of an Ogg logical bitstream. - - - A object capable of handling - and subsequent packets from - the same stream. - - - No registered codec capable of processing could be found. - - - This method will first use - delegates registered with - and then attempt to use the built-in codecs. - - - - - Adds a codec - - - A - - - A delegate is used to add - support for new subclasses in . - - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - A bitwise combined containing - the types of media represented by the current instance. - - - - - Gets the raw Xiph comment data contained in the codec. - - - A object containing a raw Xiph - comment or if none was found. - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - In order to determine the duration of an Ogg stream, the - first and last granular positions will be passed to . - - - - - Reads a Ogg packet that has been encountered in the - stream. - - - A object containing a packet to - be read by the current instance. - - - A value containing the index of the - packet in the stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - is . - - - is less than zero. - - - The data does not conform to the specificiation for the - codec represented by the current instance. - - - - - Computes the duration of the stream using the first and - last granular positions of the stream. - - - A value containing the first granular - position of the stream. - - - A value containing the last granular - position of the stream. - - - A value containing the duration - of the stream. - - - - - Replaces the comment packet in a collection of packets - with the rendered version of a Xiph comment or inserts a - comment packet if the stream lacks one. - - - A object containing - a collection of packets. - - - A object to store the rendered - version of in . - - - or is . - - - - - This class extends and implements to provide support for processing Ogg - Opus bitstreams. - - - - - Contains the file identifier. - - - - - Contains the header packet. - - - - - Contains the comment data. - - - - - Constructs and initializes a new instance of . - - - - - Reads a Ogg packet that has been encountered in the - stream. - - - A object containing a packet to - be read by the current instance. - - - A value containing the index of the - packet in the stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - is . - - - is less than zero. - - - The data does not conform to the specificiation for the - codec represented by the current instance. - - - - - Computes the duration of the stream using the first and - last granular positions of the stream. - - - A value containing the first granular - position of the stream. - - - A value containing the last granular - position of the stream. - - - A value containing the duration - of the stream. - - - - - Replaces the comment packet in a collection of packets - with the rendered version of a Xiph comment or inserts a - comment packet if the stream lacks one. - - - A object containing - a collection of packets. - - - A object to store the rendered - version of in . - - - or is . - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - Always returns zero, since bitrate is variable and no - information is stored in the Ogg header (unlike e.g. Vorbis). - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the original - sample rate of the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the raw Xiph comment data contained in the codec. - - - A object containing a raw Xiph - comment or if none was found. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Implements the delegate to - provide support for recognizing a Opus stream from the - header packet. - - - A object containing the stream - header packet. - - - A object containing a codec capable - of parsing the stream of if the - stream is not a Opus stream. - - - - - Gets the magic signature for a specified Opus packet. - - - A object containing a Opus - packet. - - - A value containing the magic - signature or null if the packet is invalid. - - - - - This structure represents a Opus header packet. - - - - - This class extends and implements to provide support for processing Ogg - Theora bitstreams. - - - - - Contains the file identifier. - - - - - Contains the header packet. - - - - - Contains the comment data. - - - - - Constructs and initializes a new instance of . - - - - - Reads a Ogg packet that has been encountered in the - stream. - - - A object containing a packet to - be read by the current instance. - - - A value containing the index of the - packet in the stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - is . - - - is less than zero. - - - The data does not conform to the specificiation for the - codec represented by the current instance. - - - - - Computes the duration of the stream using the first and - last granular positions of the stream. - - - A value containing the first granular - position of the stream. - - - A value containing the last granular - position of the stream. - - - A value containing the duration - of the stream. - - - - - Replaces the comment packet in a collection of packets - with the rendered version of a Xiph comment or inserts a - comment packet if the stream lacks one. - - - A object containing - a collection of packets. - - - A object to store the rendered - version of in . - - - or is . - - - - - Gets the width of the video represented by the current - instance. - - - A value containing the width of the - video represented by the current instance. - - - - - Gets the height of the video represented by the current - instance. - - - A value containing the height of the - video represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the raw Xiph comment data contained in the codec. - - - A object containing a raw Xiph - comment or if none was found. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Implements the delegate to - provide support for recognizing a Theora stream from the - header packet. - - - A object containing the stream - header packet. - - - A object containing a codec capable - of parsing the stream of if the - stream is not a Theora stream. - - - - - Gets the packet type for a specified Theora packet. - - - A object containing a Theora - packet. - - - A value containing the packet type or - -1 if the packet is invalid. - - - - - This structure represents a Theora header packet. - - - - - Converts an absolute granular position into a - seconds. - - - A value containing the - absolute granular position. - - - A value containing the time - at in - seconds. - - Many thanks to the good people at - irc://irc.freenode.net#theora for making this - code a reality. - - - - - This class extends and implements to provide support for processing Ogg - Vorbis bitstreams. - - - - - Contains the file identifier. - - - - - Contains the header packet. - - - - - Contains the comment data. - - - - - Constructs and initializes a new instance of . - - - - - Reads a Ogg packet that has been encountered in the - stream. - - - A object containing a packet to - be read by the current instance. - - - A value containing the index of the - packet in the stream. - - - if the codec has read all the - necessary packets for the stream and does not need to be - called again, typically once the Xiph comment has been - found. Otherwise . - - - is . - - - is less than zero. - - - The data does not conform to the specificiation for the - codec represented by the current instance. - - - - - Computes the duration of the stream using the first and - last granular positions of the stream. - - - A value containing the first granular - position of the stream. - - - A value containing the last granular - position of the stream. - - - A value containing the duration - of the stream. - - - - - Replaces the comment packet in a collection of packets - with the rendered version of a Xiph comment or inserts a - comment packet if the stream lacks one. - - - A object containing - a collection of packets. - - - A object to store the rendered - version of in . - - - or is . - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the raw Xiph comment data contained in the codec. - - - A object containing a raw Xiph - comment or if none was found. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Implements the delegate to - provide support for recognizing a Vorbis stream from the - header packet. - - - A object containing the stream - header packet. - - - A object containing a codec capable - of parsing the stream of if the - stream is not a Vorbis stream. - - - - - Gets the packet type for a specified Vorbis packet. - - - A object containing a Vorbis - packet. - - - A value containing the packet type or - -1 if the packet is invalid. - - - - - This structure represents a Vorbis header packet. - - - - - This class extends to provide tagging - and properties support for Ogg files. - - - - - Contains the tags for the file. - - - - - Contains the media properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Reads the file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the file until all streams have finished their - property and tagging data. - - - A - object to be filled with objects as - they are read, or if the pages - are not to be stored. - - - A value reference to be updated to - the postion of the first page not read by the current - instance. - - - A object containing stream serial numbers as the keys - objects as the values. - - - - - Gets the last page header in the file. - - - A object containing the last - page header in the file. - - - The last page header is used to determine the last - absolute granular position of a stream so the duration - can be calculated. - - - - - This class combines a collection of - objects so that properties can be read from each but are only set - to the first comment of the file. - - - - - Contains a mapping between stream serial numbers and - comments. - - - - - Contains comments in the order they are added. - - - - - Constructs and initializes a new instance of with now contents. - - - - - Gets an enumeration of the comments in the current - instance, in the order they were added. - - - A object enumerating through the objects contained in the current instance. - - - - - Gets a comment in the current instance for a specified - stream. - - - A value containing the serial number - of the stream of the comment to get. - - - A with the matching serial - number. - - - - - Adds a Xiph comment to the current instance. - - - A value containing the serial number - of the stream containing the comment. - - - A object to add to the current - instance. - - - - - Adds a Xiph comment to the current instance. - - - A value containing the serial number - of the stream containing the comment. - - - A object containing the raw Xiph - comment to add to the current instance. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined - containing the tag types contained in the current - instance. - - - This value contains a bitwise combined value from all the - child tags. - - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the sort names for the individual track title of - the media described by the current instance. - - - A containing the sort name - for the track title of the media described by the current - instance or null if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A array containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A array containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A array containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the sort names for the composer of - the media described by the current instance. - - - A containing the sort names - for the composer of the media described by the current - instance or an empty array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the sort names for the album title of - the media described by the current instance. - - - A containing the sort names - for the album title of the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A array containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - When getting the value, the child comments are - looped through in order and the first non-zero value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - When getting the value, the child comments are - looped through in order and the first non-zero value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - When getting the value, the child comments are - looped through in order and the first non-zero value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - When getting the value, the child comments are - looped through in order and the first non-zero value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - When getting the value, the child comments are - looped through in order and the first non-zero value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - When getting the value, the child comments are - looped through in order and the first non- value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Artist ID. - - - A containing the MusicBrainz - ArtistID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release Group ID. - - - A containing the MusicBrainz - ReleaseGroupID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release ID. - - - A containing the MusicBrainz - ReleaseID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release Artist ID. - - - A containing the MusicBrainz - ReleaseArtistID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Track ID. - - - A containing the MusicBrainz - TrackID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Disc ID. - - - A containing the MusicBrainz - DiscID for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicIP PUID. - - - A containing the MusicIP PUID - for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the Amazon ID. - - - A containing the Amazon ID - for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release Status. - - - A containing the MusicBrainz - Release Status for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release Type. - - - A containing the MusicBrainz - Release Type for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the MusicBrainz Release Country. - - - A containing the MusicBrainz - Release Country for the media described by the - current instance or null if no value is present. - - - When getting the value, the child comments are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the ReplayGain Track Value of the media represented by - the current instance. - - - A containing the ReplayGain Track Value of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the ReplayGain Peak Value of the media represented by - the current instance. - - - A containing the ReplayGain Peak Value of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the ReplayGain Album Value of the media represented by - the current instance. - - - A containing the ReplayGain Album Value of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets the ReplayGain Album Peak Value of the media represented by - the current instance. - - - A containing the ReplayGain Album Peak Value of the - media represented by the current instance or an empty - array if no value is present. - - - When getting the value, the child tags are looped - through in order and the first non- - and non-empty value is returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - When getting the value, the child comments are - looped through in order and the first non-empty value is - returned. - When setting the value, it is stored in the first - comment. - - - - - - Gets whether or not the current instance is empty. - - - if all the comments tags are - empty; otherwise . - - - - - - Clears all of the child tags. - - - - - This class provides a representation of an Ogg page. - - - - - Contains the packets. - - - - - Constructs and intializes a new instance of with a specified header and no packets. - - - A object to use as the header of - the new instance. - - - - - Constructs and initializes a new instance of by reading a raw Ogg page from a specified - position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read. - - - is . - - - is less than zero or greater - than the size of the file. - - - The Ogg identifier could not be found at the correct - location. - - - - - Constructs and initializes a new instance of with a specified header and packets. - - - A object containing - packets to use for the new instance. - - - A object to use as the header of - the new instance. - - - is . - - - - - Renders the current instance as a raw Ogg page. - - - A object containing the - rendered version of the current instance. - - - - - Gets the header of the current instance. - - - A object that applies to the - current instance. - - - - - Gets the packets contained in the current instance. - - - A containing the packets - contained in the current instance. - - - - - Gets the total size of the current instance as it - appeared on disk. - - - A value containing the size of the - page, including the header, as it appeared on disk. - - - - - Overwrites all page headers in a file starting at a - specified position, shifting the page sequence numbers - a set amount. - - - A object containing the file to - update. - - - A value specify at what position to - start updating. - - - A object where the key is the serial number of the - stream to update and the value is the amount to offset - the page sequence numbers in the stream. - - - or is . - - - When the number of pages in a stream changes, all - subsequent pages in the stream need to have their page - sequence number update in order to remain valid. - Additionally, when the page sequence number changes, the - page needs to have its checksum recomputed. This makes - for a costly recalculation if large comment data is - added. - - - - - Indicates the special properties of a . - - - - - The page is a normal page. - - - - - The first packet of the page is continued from the - previous page. - - - - - The page is the first page of the stream. - - - - - The page is the last page of the stream. - - - - - This structure provides a representation of an Ogg page header. - - - - - Contains the sizes of the packets contained in the - current instance. - - - - - Contains the OGG version. - - - - - Contains the page absolute granular postion. - - - - - Constructs and initializes a new instance of with a given serial number, page - number, and flags. - - - A value containing the serial number - for the stream containing the page described by the new - instance. - - - A value containing the index of the - page described by the new instance in the stream. - - - A object containing the flags - that apply to the page described by the new instance. - - - - - Constructs and initializes a new instance of by reading a raw Ogg page header - from a specified position in a specified file. - - - A object containing the file from - which the contents of the new instance are to be read. - - - A value specify at what position to - read. - - - is . - - - is less than zero or greater - than the size of the file. - - - The Ogg identifier could not be found at the correct - location. - - - - - Constructs and initializes a new instance of by copying the values from another - instance, offsetting the page number and applying new - flags. - - - A object to copy the values - from. - - - A value specifying how much to offset - the page sequence number in the new instance. - - - A value specifying the flags to - use in the new instance. - - - - - Gets and sets the sizes for the packets in the page - described by the current instance. - - - A containing the packet sizes. - - - - - Gets the flags for the page described by the current - instance. - - - A value containing the page - flags. - - - - - Gets the absolute granular position of the page described - by the current instance. - - - A value containing the absolute - granular position of the page. - - - - - Gets the sequence number of the page described by the - current instance. - - - A value containing the sequence - number of the page. - - - - - Gets the serial number of stream that the page described - by the current instance belongs to. - - - A value containing the stream serial - number. - - - - - Gets the size of the header as it appeared on disk. - - - A value containing the header size. - - - - - Gets the size of the data portion of the page described - by the current instance as it appeared on disk. - - - A value containing the data size. - - - - - Renders the current instance as a raw Ogg page header. - - - A object containing the - rendered version of the current instance. - - - - - Gets the rendered lacing values for the current instance. - - - A object containing the - rendered lacing values. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to the - current instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - A object to compare. - - - A object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of differ. - - - A object to compare. - - - A object to compare. - - - if is - unequal to . Otherwise, . - - - - - This class accepts a sequence of pages for a single Ogg stream, - accepts changes, and produces a new sequence of pages to write to - disk. - - - - - Contains the packets to paginate. - - - - - Contains the first page header. - - - - - Contains the codec to use. - - - - - contains the number of pages read. - - - - - Constructs and initializes a new instance of for a given - object. - - - A object to use when processing - packets. - - - - - Adds the next page to the current instance. - - - The next object found in the stream. - - - - - Stores a Xiph comment in the codec-specific comment - packet. - - - A object to store in the - comment packet. - - - - - Repaginates the pages passed into the current instance to - handle changes made to the Xiph comment. - - - A containing the new page - collection. - - - - - Repaginates the pages passed into the current instance to - handle changes made to the Xiph comment. - - - A value reference containing the - the difference between the number of pages returned and - the number of pages that were added to the class. - - - A containing the new page - collection. - - - - - Gets the number of lacing value bytes that would be - required for a given packet. - - - A object containing - the packet. - - - A value containing the index of the - packet to compute. - - - A value containing the number of bytes - needed to store the length. - - - - - This class extends and implements to provide - support for reading and writing Xiph comments. - - - - - Contains the comment fields. - - - - - Contains the vendor ID. - - - - - Saves BeatsPerMinute tag as either "Tempo" or "BPM" - based on which was last read. - - - - - Picture instances parsed from the fields. - - - - - true if the picture fields in - should be updated from the array. - - - - - Name of picture fields as defined in the norm. - - - - - Cached empty pictures array. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents of a raw - Xiph Comment from a object. - - - A object containing a raw Xiph - comment. - - - is . - - - - - Gets the field data for a given field identifier. - - - A object containing the field - identifier. - - - A containing the field data or an - empty array if the field was not found. - - - is . - - - - - Gets the first field for a given field identifier. - - - A object containing the field - identifier. - - - A containing the field data or if the field was not found. - - - is . - - - - - Sets the contents of a specified field to a number. - - - A object containing the field - identifier. - - - A value to set the field to. - - - A value representing the format - to be used to repreesent the . - Default: simple decimal number ("0"). - - - is . - - - - - Sets the contents of a specified field to the contents of - a . - - - A object containing the field - identifier. - - - A containing the values to store - in the current instance. - - - is . - - - - - Removes a field and all its values from the current - instance. - - - A object containing the field - identifier. - - - is . - - - - - Renders the current instance as a raw Xiph comment, - optionally adding a framing bit. - - - If , a framing bit will be added to - the end of the content. - - - A object containing the rendered - version of the current instance. - - - - - Gets the number of fields contained in the current - instance. - - - A value containing the number of - fields in the current instance. - - - - - Gets the vendor ID for the current instance. - - - A object containing the vendor ID - for current instance. - - - - - Populates and initializes a new instance of by reading the contents of a raw - Xiph Comment from a object. - - - A object containing a raw Xiph - comment. - - - is . - - - - - If needed, update the pictures field from the value of the - pictures array. - - - Name of the field being queried by the user. - If the field name is not a picture field name, no update will take place. - - - - - Parses the pictures from the COVERART and METADATA_BLOCK_PICTURE - fields contained in the variable. - - - - - Stores the pictures in the pictures array in the - METADATA_BLOCK_PICTURE field. Conversion to Flac.Picture is done - as needed. - - - - - If the given parameter represents a Xiph field containing - picture information, clear the currently parsed pictures - array, so it will be loaded from the field value again - when the Pictures property is accessed. - - Name of the Xiph field being changed - - - - Returns a value indicating if a field name is a picture field. - - Name of the field - - true if the field represents a field that contains picture art data, - false otherwise. - - - - - Gets an enumerator for enumerating through the the field - identifiers. - - - A for - enumerating through the field identifiers. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "TITLE" field. - - - - - Gets and sets the sort names for the Track Title of - the media described by the current instance. - - - A containing the sort name of - the Track Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the "TITLESORT" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - This property is implemented using the "SUBTITLE" - non-standard field. - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the "DESCRIPTION" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "ARTIST" field. - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This property is implemented using the "ARTISTSORT" field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This is typically usefull for movies, although the - instrument played by each artist in a music may be of - relevance. - - It is highly important to match each role to the - performers. This means that a role may be to keep the match between a - Performers[i] and PerformersRole[i]. - - - - This property is implemented using the "ARTISTROLE" - non-standard field. - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "ALBUMARTIST" - field. - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This property is implemented using the "ALBUMARTISTSORT" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "COMPOSER" field. - - - - - Gets and sets the sort names for the composers of - the media described by the current instance. - - - A containing the sort names - for the composer of the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "COMPOSERSORT" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the "ALBUM" field. - - - - - Gets and sets the sort names for the Album Title of - the media described by the current instance. - - - A containing the sort name of - the Album Title of the media described by the current - instance or null if no value is present. - - - This property is implemented using the "ALBUMSORT" - field. - http://musicbrainz.org/doc/PicardTagMapping - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "COMMENT" field. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "GENRE" field. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "DATE" field. If a - value greater than 9999 is set, this property will be - cleared. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "TRACKNUMER" - field. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "TRACKTOTAL" field - but is capable of reading from "TRACKNUMBER" if the total - is stored in {track}/{count} format. - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. - - - A containing the number of the disc - containing the media represented by the current instance - in the boxed set. - - - This property is implemented using the "DISCNUMBER" - field. - - - - - Gets and sets the number of discs in the boxed set - containing the media represented by the current instance. - - - A containing the number of discs in - the boxed set containing the media represented by the - current instance or zero if not specified. - - - This property is implemented using the "DISCTOTAL" field - but is capable of reading from "DISCNUMBER" if the total - is stored in {disc}/{count} format. - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This property is implemented using the "LYRICS" field. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This property is implemented using the "GROUPING" field. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This property is implemented using the "TEMPO" field. - Since there is no official definition, this property is - also implemented using the "BPM" field. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "CONDUCTOR" field. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "COPYRIGHT" field. - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - This property is implemented using the "DATETAGGED" - non-standard field. It used the the ISO 8601 standard: - YYYY-MM-DDTHH:MM:SS - - - - - - Gets and sets the MusicBrainz Artist ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - ArtistID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_ARTISTID" field. - - - - - Gets and sets the MusicBrainz Release Group ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseGroupID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_RELEASEGROUPID" field. - - - - - Gets and sets the MusicBrainz Release ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMID" field. - - - - - Gets and sets the MusicBrainz Release Artist ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseArtistID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMARTISTID" field. - - - - - Gets and sets the MusicBrainz Track ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - TrackID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_TRACKID" field. - - - - - Gets and sets the MusicBrainz Disc ID for the media - represented by the current instance. - - - A object containing the MusicBrainz - DiscID for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_DISCID" field. - - - - - Gets and sets the MusicIP PUID for the media - represented by the current instance. - - - A object containing the MusicIP PUID - for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICIP_PUID" field. - - - - - Gets and sets the Amazon ID for the media - represented by the current instance. - - - A object containing the AmazonID - for the media represented by the current - instance or if no value present. - - - This property is implemented using the "ASIN" field. - - - - - Gets and sets the MusicBrainz Release Status for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseStatus for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMSTATUS" field. - - - - - Gets and sets the MusicBrainz Release Type for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseType for the media represented by the current - instance or if no value present. - - - This property is implemented using the "MUSICBRAINZ_ALBUMTYPE" field. - - - - - Gets and sets the MusicBrainz Release Country for the media - represented by the current instance. - - - A object containing the MusicBrainz - ReleaseCountry for the media represented by the current - instance or if no value present. - - - This property is implemented using the "RELEASECOUNTRY" field. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - This property is implemented using the COVERART - field. - - - - - Gets and sets whether or not the album described by the - current instance is a compilation. - - - A value indicating whether or not the - album described by the current instance is a compilation. - - - This property is implemented using the "COMPILATION" field. - - - - - Gets and sets the ReplayGain track gain in dB. - - - A value in dB for the track gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain track peak sample. - - - A value for the track peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_TRACK_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album gain in dB. - - - A value in dB for the album gain as - per the ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_GAIN" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the ReplayGain album peak sample. - - - A value for the album peak as per the - ReplayGain specification. - - - This property is implemented using the - "REPLAYGAIN_ALBUM_PEAK" field. Set the value to double.NaN - to clear the field. - - - - - Gets and sets the initial key of the song. - - - A object containing the initial key of the song. - - - This property is implemented using the "INITIALKEY" field. - - - - - Gets and sets the remixer of the song. - - - A object containing the remixer of the song. - - - This property is implemented using the "REMIXEDBY" field. - - - - - Gets and sets the publisher of the song. - - - A object containing the publisher of the song. - - - This property is implemented using the "ORGANIZATION" field. - - - - - Gets and sets the ISRC (International Standard Recording Code) of the song. - - - A object containing the ISRC of the song. - - - This property is implemented using the "ISRC" field. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - Указывает тип содержимого, отображаемого на рисунке. - - - - - The picture is of a type other than those specified. - - - - - The picture is a 32x32 PNG image that should be used when - displaying the file in a browser. - - - - - The picture is of an icon different from . - - - - - The picture is of the front cover of the album. - - - - - The picture is of the back cover of the album. - - - - - The picture is of a leaflet page including with the - album. - - - - - The picture is of the album or disc itself. - - - - - The picture is of the lead artist or soloist. - - - - - The picture is of the artist or performer. - - - - - The picture is of the conductor. - - - - - The picture is of the band or orchestra. - - - - - The picture is of the composer. - - - - - The picture is of the lyricist or text writer. - - - - - The picture is of the recording location or studio. - - - - - The picture is one taken during the track's recording. - - - - - The picture is one taken during the track's performance. - - - - - The picture is a capture from a movie screen. - - - - - The picture is of a large, colored fish. - - - - - The picture is an illustration related to the track. - - - - - The picture contains the logo of the band or performer. - - - - - The picture is the logo of the publisher or record - company. - - - - - In fact, this is not a Picture, but another file-type. - - - - - Этот интерфейс предоставляет общие сведения о картине, включая ее содержимое, используемые различными форматами. - - - - - Gets and sets the mime-type of the picture data - stored in the current instance. - - - A object containing the mime-type - of the picture data stored in the current instance. - - - - - Gets and sets the type of content visible in the picture - stored in the current instance. - - - A containing the type of - content visible in the picture stored in the current - instance. - - - - - Gets and sets a filename of the picture stored in the - current instance. - - - A object containing the filename, - with its extension, of the picture stored in the current - instance. - - - - - Gets and sets a description of the picture stored in the - current instance. - - - A object containing a description - of the picture stored in the current instance. - - - - - Gets and sets the picture data stored in the current - instance. - - - A object containing the picture - data stored in the current instance. - - - - - Этот класс реализует и предоставляет механизмы загрузки изображений из файлов. - - - - - Look-Up-Table associating a file-extension to - a Mime-Type - - - - - Constructs and initializes a new instance of with no data or values. - - - - - Constructs and initializes a new instance of by reading in the contents of a - specified file. - - - A object containing the path of the - file to read. - - - is . - - - - - Constructs and initializes a new instance of by reading in the contents of a - specified file abstraction. - - - A object containing - abstraction of the file to read. - - - is . - - - - - Constructs and initializes a new instance of by using the contents of a object. - - - A object containing picture data - to use. - - - is . - - - - - Constructs and initializes a new instance of by doing a shallow copy of . - - - A object containing picture data - to convert to an Picture. - - - - - Creates a new , populating it with - the contents of a file. - - - A object containing the path to a - file to read the picture from. - - - A new object containing the - contents of the file and with a mime-type guessed from - the file's contents. - - - - - Creates a new , populating it with - the contents of a file. - - - A object containing - the file abstraction to read the picture from. - - - A new object containing the - contents of the file and with a mime-type guessed from - the file's contents. - - - - - Gets and sets the mime-type of the picture data - stored in the current instance. - - - A object containing the mime-type - of the picture data stored in the current instance. - - - - - Gets and sets the type of content visible in the picture - stored in the current instance. - - - A containing the type of - content visible in the picture stored in the current - instance. - - - - - Gets and sets a filename of the picture stored in the - current instance. - - - A object containing a fielname, with - extension, of the picture stored in the current instance. - - - - - Gets and sets a description of the picture stored in the - current instance. - - - A object containing a description - of the picture stored in the current instance. - - - - - Gets and sets the picture data stored in the current - instance. - - - A object containing the picture - data stored in the current instance. - - - - - Retrieve a mime type from raw file data by reading - the first few bytes of the file. - Less accurate than . - - - file name with extension, or just extension of a file - - File-extension as , or null if - not identified - - - - Gets the file-extension that fits a mime-type. - More accurate than . - - - Mime-type as . - - File-extension as , or null if - not identified - - - - Gets the mime type of from a file-name (it's extensions). - If the format cannot be identified, it assumed to be a Binary file. - - - file name with extension, or just extension of a file - - Mime-type as - - - - This class implements and provides - mechanisms for loading pictures from files. - Contrary to , a reference to a file - where the picture is located can be given and the picture - is lazily loaded from the file, meaning that it will be - read from the file only when needed. This saves time and - memory if the picture loading is not required. - - - - - Contains the mime-type. - - - - - Contains the content type. - - - - - Contains the filename. - - - - - Contains the picture data. - - - - - Stream where the picture is located - - - - - Offset from where the picture start in the - - - - - Size of the picture in the (-1 = until end of Stream) - - - - - Constructs and initializes a new instance of with no data or values. - - - - - Constructs and initializes a new instance of from a file. - The content will be lazily loaded. - - - A object containing the path of the - file to read. - - - is . - - - - - Constructs and initializes a new instance of from a file abstraction. - The content will be lazily loaded. - - - A object containing - abstraction of the file to read. - - - The position in bytes where the picture is located in the - . - - - The size in bytes of the picture in the - (default: read all). - - - is . - - - - - Constructs and initializes a new instance of by using the contents of a object. - The content will not be lazily loaded. - - - A object containing picture data - to use. - - - is . - - - - - Constructs and initializes a new instance of by doing a shallow copy of . - The content will not be lazily loaded. - - - A object containing picture data - to convert to an Picture. - - - - - Load the picture data from the file, - if not done yet. - - - - - Gets and sets the mime-type of the picture data - stored in the current instance. - - - A object containing the mime-type - of the picture data stored in the current instance. - - - - - Gets and sets the type of content visible in the picture - stored in the current instance. - - - A containing the type of - content visible in the picture stored in the current - instance. - - - - - Gets and sets a filename of the picture stored in the - current instance. - - - A object containing a fielname, with - extension, of the picture stored in the current instance. - - - - - Gets and sets a description of the picture stored in the - current instance. - - - A object containing a description - of the picture stored in the current instance. - - - - - Gets and sets the picture data stored in the current - instance. - - - A object containing the picture - data stored in the current instance. - - - - - Gets an indication whether the picture is loaded. - - - - - A Png photo codec. Contains basic photo details. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - A new instance. - - - - - This class extends to provide tagging - for PNG image files. - - - This implementation is based on http://www.w3.org/TR/PNG - - - - - The PNG Header every png file starts with. - - - - - byte sequence to indicate a IHDR Chunk - - - - - byte sequence to indicate a IEND Chunk - - - - - byte sequence to indicate a iTXt Chunk - - - - - byte sequence to indicate a tEXt Chunk - - - - - byte sequence to indicate a zTXt Chunk - - - - - header of a iTXt which contains XMP data. - - - - - The height of the image - - - - - The width of the image - - - - - The Properties of the image - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Reads the information from file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Validates the header of a PNG file. Therfore, the current position to - read must be the start of the file. - - - - - Reads the length of data of a chunk from the current position - - - A with the length of data. - - - The length is stored in a 4-byte unsigned integer in the file, - but due to the PNG specification this value does not exceed - 2^31-1 and can therfore be safely returned as an signed integer. - This prevents unsafe casts for using the length as parameter - for other methods. - - - - - Reads the type of a chunk from the current position. - - - A with 4 bytes containing the type of - the Chunk. - - - - - Reads the CRC value for a chunk from the current position. - - - A with 4 bytes with the CRC value. - - - - - Reads the whole Chunk data starting from the current position. - - - A with the length of the Chunk Data. - - - A with the Chunk Data which is read. - - - - - Reads a null terminated string from the given data from given position. - - - A with teh data to read the string from - - - A with the index to start reading - - - A with the index of the null byte - - - A with the read string. The null byte - is not included. - - - - - Reads a null terminated keyword from he given data from given position. - - - A with teh data to read the string from - - - A with the index to start reading - - - A with the index of the null byte - - - A with the read keyword. The null byte - is not included. - - - - - Skips the Chunk Data and CRC Data. The read position must be at the - beginning of the Chunk data. - - - A with the length of the chunk data read - before. - - - - - Reads the whole metadata from file. The current position must be set to - the first Chunk which is contained in the file. - - - - - Reads the IHDR Chunk from file and extracts some image information - like width and height. The current position must be set to the start - of the Chunk Data. - - - A with the length of the Chunk Data. - - - - - Reads an iTXt Chunk from file. The current position must be set - to the start of the Chunk Data. Such a Chunk may contain XMP data - or translated keywords. - - - A with the length of the Chunk Data. - - - - - Reads an tEXt Chunk from file. The current position must be set - to the start of the Chunk Data. Such a Chunk contains plain - keywords. - - - A with the length of the Chunk Data. - - - - - Reads an zTXt Chunk from file. The current position must be set - to the start of the Chunk Data. Such a Chunk contains compressed - keywords. - - - A with the length of the Chunk Data. - - - The Chunk may also contain compressed Exif data which is written - by other tools. But, since the PNG specification does not support - Exif data, we ignore it here. - - - - - Save the metadata to file. - - - - - Creates a Chunk containing the XMP data. - - - A with the XMP data chunk - or if no XMP data is contained. - - - - - Creates a list of Chunks containing the PNG keywords - - - A with the list of chunks, or - or if no PNG Keywords are contained. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Checks the CRC for a Chunk. - - - A whith the Chunk type - - - A with the Chunk data. - - - A with the read CRC data. - - - - - Computes a 32bit CRC for the given data. - - - A with data to compute - the CRC for. - - - A with 4 bytes (32bit) containing the CRC. - - - - - Table for faster computation of CRC. - - - - - Initializes the CRC Table. - - - - - Native Png Keywords - - - - - Short (one line) title or caption for image - - - - - Name of image's creator - - - - - Description of image (possibly long) - - - - - Copyright notice - - - - - Time of original image creation - - - - - Software used to create the image - - - - - Legal disclaimer - - - - - Warning of nature of content - - - - - Device used to create the image - - - - - Miscellaneous comment - - - - - Store the keywords with their values - - - - - Constructor. - - - - - Gets or sets the comment for the image described - by the current instance. - - - A containing the comment of the - current instace. - - - We use here both keywords Description and Comment of the - PNG specification to store the comment. - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - - - Gets or sets the creator of the image. - - - A with the name of the creator. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - - - Gets or sets the software the image, the current instance - belongs to, was created with. - - - A containing the name of the - software the current instace was created with. - - - - - Gets or sets the time when the image, the current instance - belongs to, was taken. - - - A with the time the image was taken. - - - - - Sets a keyword of to the given value. - - - A with the keyword to set. - - - A with the value. - - - - - Gets a value of a keyword. - - - A with the keyword to get the value for. - - - A with the value or - if the keyword is not contained. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Clears the values stored in the current instance. - - - - - Returns an enumerator to enumerate all keywords. - - - A to enumerate - the keywords. - - - - - This class implements , and - and combines codecs to create generic media properties - for a file. - - - - - Contains the codecs. - - - - - Contains the duration. - - - - - Constructs and initializes a new instance of with no codecs or duration. - - - This constructor is used when media properties are - not read. - - - - - Constructs and initializes a new instance of with a specified duration and array - of codecs. - - - A containing the duration of the - media, or if the duration is - to be read from the codecs. - - - A containing the codecs to be - used in the new instance. - - - - - Constructs and initializes a new instance of with a specified duration and - enumaration of codecs. - - - A containing the duration of the - media, or if the duration is - to be read from the codecs. - - - A object containing the - codec to be used in the new instance. - - - - - Gets the codecs contained in the current instance. - - - A object containing the - objects contained in the current - instance. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - If the duration was set in the constructor, that value is - returned. Otherwise, the longest codec duration is used. - - - - - Gets the types of media represented by the current - instance. - - - A bitwise combined containing - the types of media represented by the current instance. - - - - - Gets a string description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - The value contains the descriptions of the codecs joined - by colons. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A containing the bitrate of the audio - represented by the current instance. - - - This value is equal to the first non-zero audio bitrate. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A containing the sample rate of the - audio represented by the current instance. - - - This value is equal to the first non-zero audio sample - rate. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - This value is equal to the first non-zero quantization. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A object containing the number of - channels in the audio represented by the current - instance. - - - This value is equal to the first non-zero audio channel - count. - - - - - Gets the width of the video represented by the current - instance. - - - A containing the width of the video - represented by the current instance. - - - This value is equal to the first non-zero video width. - - - - - Gets the height of the video represented by the current - instance. - - - A containing the height of the video - represented by the current instance. - - - This value is equal to the first non-zero video height. - - - - - Gets the width of the photo represented by the current - instance. - - - A value containing the width of the - photo represented by the current instance. - - - - - Gets the height of the photo represented by the current - instance. - - - A value containing the height of the - photo represented by the current instance. - - - - - Gets the (format specific) quality indicator of the photo - represented by the current instance. - - - A value indicating the quality. A value - 0 means that there was no quality indicator for the format - or the file. - - - - - This class extends to provide an - immutable version. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of of a specified length filled - with bytes of a specified value. - - - A specifying the number of bytes to - add to the new instance. - - - A specifying the value to use for the - bytes added to the new instance. - - - - - Constructs and initializes a new instance of of a specified length filled - with bytes with a value of zero. - - - A specifying the number of bytes to - add to the new instance. - - - To specify the value to fill the new instance with, - use . - - - - - Constructs and initializes a new instance of by copying the contents from - another instance. - - - A object to copy the values - from. - - - - - Constructs and initializes a new instance of by copying a specified - number of bytes from an array. - - - A to copy values from. - - - A specifying the number of bytes to - copy. - - - If copying the entire contents of an array, use - . - - - - - Constructs and initializes a new instance of by copying the contents of a - specified array. - - - A to copy values from. - - - To copy only part of the array, use . - - - - - Implicitly converts a to a new - . - - - A object to convert. - - - A equivalent to - . - - - - - Implicitly converts a to a new - . - - - A object to convert. - - - A equivalent to - . - - - - - Implicitly converts a object to a - new using the UTF-8 - encoding. - - - A object to convert. - - - A equivalent to - . - - - - - Gets whether or not the current instance is read-only. - - - Always . - - - - - Gets whether or not the current instance is fixed size. - - - Always . - - - - - This class provides support for reading an AVI header list to - extract stream information. - - - - - Contains the AVI codec information. - - - - - Constructs and initializes a new instance of by reading the contents of a raw - RIFF list from a specified position in a . - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the list. - - - A value specifying the number of bytes - to read. - - - is . - - - is less than zero or greater - than the size of the file. - - - The list does not contain an AVI header or the AVI header - is the wrong length. - - - - - Gets the header for the current instance. - - - A object containing the header - for the current instance. - - - - - Gets the codecs contained in the current instance. - - - A containing the codecs contained - in the current instance. - - - - - This structure provides a representation of a Microsoft - AviMainHeader structure, minus the first 8 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure from the - beginning of a object. - - - A object containing the raw - data structure. - - - is . - - - contains less than 40 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure - from a specified position in a - object. - - - A object containing the raw - data structure. - - - A value specifying the index in - at which the structure begins. - - - is . - - - is less than zero. - - - contains less than 40 bytes at - . - - - - - Gets the number of microseconds per frame. - - - A value specifying number of - microseconds per frame. - - - - - Gets the maximum number of bytes per second. - - - A value specifying maximum number of - bytes per second. - - - - - Gets the file flags. - - - A value specifying file flags. - - - - - Gets the number of frames in the file. - - - A value specifying the number of - frames in the file. - - - - - Gets how far ahead audio is from video. - - - A value specifying how far ahead - audio is from video. - - - - - Gets the number of streams in the file. - - - A value specifying the number of - streams in the file. - - - - - Gets the suggested buffer size for the file. - - - A value specifying the buffer size. - - - - - Gets the width of the video in the file. - - - A value containing the width of the - video. - - - - - Gets the height of the video in the file. - - - A value containing the height of the - video. - - - - - Gets the duration of the media in the file. - - - A value containing the duration - of the file. - - - - - This abstract class provides basic support for parsing a raw AVI - stream list. - - - - - Constructs and intializes a new instance of with a specified stream header. - - - A object containing the - stream's header. - - - - - Parses a stream list item. - - - A object containing the item's - ID. - - - A object containing the item's - data. - - - A value specifying the index in - at which the item data begins. - - - A value specifying the length of the - item. - - - - - Gets the stream header. - - - A object containing the - header information for the stream. - - - - - Gets the codec information. - - - A object containing the codec - information for the stream. - - - - - Parses a raw AVI stream list and returns the stream - information. - - - A object containing raw stream - list. - - - A object containing stream - information. - - - - - This class extends to provide support - for reading audio stream data. - - - - - Constructs and intializes a new instance of with a specified stream header. - - - A object containing the - stream's header. - - - - - Parses a stream list item. - - - A object containing the item's - ID. - - - A object containing the item's - data. - - - A value specifying the index in - at which the item data begins. - - - A value specifying the length of the - item. - - - - - This class extends to provide support - for reading video stream data. - - - - - Constructs and intializes a new instance of with a specified stream header. - - - A object containing the - stream's header. - - - - - Parses a stream list item. - - - A object containing the item's - ID. - - - A object containing the item's - data. - - - A value specifying the index in - at which the item data begins. - - - A value specifying the length of the - item. - - - - - This structure provides a representation of a Microsoft - AviStreamHeader structure, minus the first 8 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure - from the beginning of a object. - - - A object containing the raw - data structure. - - - is . - - - contains less than 56 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure - from a specified position in a - object. - - - A object containing the raw - data structure. - - - A value specifying the index in - at which the structure begins. - - - is . - - - is less than zero. - - - contains less than 56 bytes at - . - - - - - Gets the stream type. - - - A four-byte object specifying - stream type. - - - - - Gets the stream handler (codec) ID. - - - A four-byte object specifying - stream handler ID. - - - - - Gets the stream flags. - - - A value specifying stream flags. - - - - - Gets the stream priority. - - - A value specifying stream priority. - - - - - Gets how far ahead audio is from video. - - - A value specifying how far ahead - audio is from video. - - - - - Gets the scale of the stream. - - - A value specifying the scale of the - stream. - - - Dividing by gives - the number of samples per second. - - - - - Gets the rate of the stream. - - - A value specifying the rate of the - stream. - - - Dividing by gives - the number of samples per second. - - - - - Gets the start delay of the stream. - - - A value specifying the start delay of - the stream. - - - - - Gets the length of the stream. - - - A value specifying the length of the - stream. - - - - - Gets the suggested buffer size for the stream. - - - A value specifying the buffer size. - - - - - Gets the quality of the stream data. - - - A value specifying the quality of the - stream data between 0 and 10,000. - - - - - Gets the sample size of the stream data. - - - A value specifying the sample size. - - - - - Gets the position at which the left of the video is to - be displayed in the rectangle whose width is given in the - the file's . - - - A value specifying the left - position. - - - - - Gets the position at which the top of the video is to be - displayed in the rectangle whose height is given in the - the file's . - - - A value specifying the top - position. - - - - - Gets the position at which the right of the video is to - be displayed in the rectangle whose width is given in the - the file's . - - - A value specifying the right - position. - - - - - Gets the position at which the bottom of the video is - to be displayed in the rectangle whose height is given in - the file's . - - - A value specifying the bottom - position. - - - - - This structure provides a representation of a Microsoft - BitmapInfoHeader structure. - - - - - Contains the video width. - - - - - Contains the video height. - - - - - Constructs and initializes a new instance of by reading the raw structure - from the beginning of a object. - - - A object containing the raw - data structure. - - - is . - - - contains less than 40 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure - from a specified position in a - object. - - - A object containing the raw - data structure. - - - A value specifying the index in - at which the structure begins. - - - is . - - - is less than zero. - - - contains less than 16 bytes at - . - - - - - Gets the size of the structure in bytes. - - - A value containing the number of - bytes in the structure. - - - - - Gets the number of planes in the image. - - - A value containing the number of - planes. - - - - - Gets the number of bits per pixel. - - - A value containing the number of - bits per pixel, equivalent to the log base 2 of the - maximum number of colors. - - - - - Gets the compression ID for image. - - - A four-byte object containing - the ID of the compression system (codec) used by the - image. - - - - - Gets the size of the image in bytes. - - - A value containing the number of - bytes in the image. - - - - - Gets the horizontal resolution of the target device. - - - A value containing the number of - pixels-per-meter in the hoizontal direction for the - target device. - - - - - Gets the vertical resolution of the target device. - - - A value containing the number of - pixels-per-meter in the vertical direction for the - target device. - - - - - Gets the number of colors in the image. - - - A value containing the number of - colors. - - - - - Gets the number of colors important in displaying the - image. - - - A value containing the number of - important colors. - - - - - Gets the width of the video represented by the current - instance. - - - A value containing the width of the - video represented by the current instance. - - - - - Gets the height of the video represented by the current - instance. - - - A value containing the height of the - video represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to - the current instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - A object to compare. - - - A object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of differ. - - - A object to compare. - - - A object to compare. - - - if is - unequal to . Otherwise, . - - - - - This class extends to provide support for - reading and writing tags stored in the DivX format. - - - - - Contains the title. - - - - - Contains the semicolon separated performers. - - - - - Contains the 4 digit year. - - - - - Contains a comment on track. - - - - - Contains the genre index. - - - - - Contains the extra 6 bytes at the end of the tag. - - - - - The size of a DivX tag. - - - - - The identifier used to recognize a DivX tags. - - - "DIVXTAG" - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents from a - specified position in a specified file. - - - A object containing the file from - which the contents of the new instance is to be read. - - - A value specify at what position to - read the tag. - - - is . - - - is less than zero or greater - than the size of the file. - - - The file does not contain the file identifier at the - correct offset from the given position. - - - - - Constructs and initializes a new instance of by reading the contents raw tag data - stored in a specified object. - - - A containing a raw DivX tag to - read into the new instance. - - - is . - - - The file does not contain the file identifier at the - correct offset from the given position. - - - - - Renders the current instance as a raw DivX tag. - - - A object containing the - rendered tag. - - - - - Populates the current instance by parsing the contents of - a raw DivX tag. - - - A object containing the - starting with an DivX tag. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - When stored on disk, only the first 32 bytes of the - Latin-1 encoded value will be stored. This may result in - lost data. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - When stored on disk, only the first 28 bytes of the - Latin-1 encoded value will be stored, minus a byte for - each additionial performer (i.e. two performers will only - have 27 bytes and three performers will only have 26 - bytes).This may result in lost data. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - When stored on disk, only the first 48 bytes of the - Latin-1 encoded value will be stored. This may result in - lost data. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - Only first genre will be stored and only if it is an - exact match for a value appearing in . All other values will - result in the property being cleared. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - Only values between 1 and 9999 will be stored, all other - values will result in the property being zeroed. - - - - - Clears the values stored in the current instance. - - - - - This class extends to provide - support for reading and writing tags and properties for files - using the RIFF file format such as AVI and Wave files. - - - - - Contains all the tags of the file. - - - - - Contains the INFO tag. - - - - - Contains the MovieID tag. - - - - - Contains the DivX tag. - - - - - Contains the Id3v2 tag. - - - - - Contains the media properties. - - - - - The identifier used to recognize a RIFF files. - - - "RIFF" - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a abstract representation of all tags stored in the - current instance. - - - A object representing all tags - stored in the current instance. - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Removes a set of tag types from the current instance. - - - A bitwise combined value - containing tag types to be removed from the file. - - - In order to remove all tags from a file, pass as . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Reads the contents of the current instance determining - the size of the riff data, the area the tagging is in, - and optionally reading in the tags and media properties. - - - If , any tags found will be read - into the current instance. - - - A value specifying how the media - data is to be read into the current instance. - - - A value reference to be filled with - the size of the RIFF data as read from the file. - - - A value reference to be filled with - the absolute seek position at which the tagging data - starts. - - - A value reference to be filled with - the absolute seek position at which the tagging data - ends. - - - The file does not begin with . - - - - - This class extends to provide support for - reading and writing standard INFO tags. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents of a raw - RIFF list stored in a object. - - - A containing a raw RIFF list to - read into the new instance. - - - - - Constructs and initializes a new instance of by reading the contents of a raw RIFF - list from a specified position in a . - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the list. - - - A value specifying the number of bytes - to read. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Renders the current instance enclosed in a "INFO" item. - - - A object containing the rendered - version of the current instance. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "INAM" item. - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This property is implemented using the "ISBJ" item. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "ISTR" item. - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This property is implemented using the "IART" item. - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "IWRI" item. - - - - - Gets and sets the album of the media represented by the - current instance. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This property is implemented using the non-standard - "DIRC" (Directory) item. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This property is implemented using the "ICNM" - (Cinematographer) non-standard item. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "ICMT" item. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "IGNR" item. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - This property is implemented using the "ICRD" item. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "IPRT" item. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "IFRM" item. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This property is implemented using the "ICOP" item. - - - - - This class extends to provide - support for reading and writing RIFF lists. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents of a raw RIFF - list stored in a object. - - - A containing a raw RIFF list to - read into the new instance. - - - - - Constructs and initializes a new instance of by reading the contents of a raw RIFF list - from a specified position in a . - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the list. - - - A value specifying the number of bytes - to read. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Constructs and initializes a new instance of from a specified serialization info and - streaming context. - - - A object containing the - serialized data to be used for the new instance. - - - A object containing the - streaming context information for the new instance. - - - This constructor is implemented because implements the interface. - - - - - Renders the current instance as a raw RIFF list. - - - A object containing the rendered - version of the current instance. - - - - - Renders the current instance enclosed in an item with a - specified ID. - - - A object containing the ID of - the item to enclose the current instance in. - - - A object containing the rendered - version of the current instance. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A object containing - the values of the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A containing the values of the - specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A object containing the - values of the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the value for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A value containing the first value - with the specified ID that could be converted to an - integer, or zero if none could be found. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the objects to - store in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the values to - store in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the value of a . - - - A object containing the ID of - the item to set. - - - A value to store in the specified - item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the objects to store - in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the values to store - in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Removes the item with the specified ID from the current - instance. - - - A object containing the ID of - the item to remove from the current instance. - - - is . - - - isn't exactly four bytes long. - - - - - Populates the current instance by reading in the contents - of a raw RIFF list stored in a - object. - - - A containing a raw RIFF list to - read into the current instance. - - - - - This abstract class extends to provide support - for reading and writing tags stored in the RIFF list format. - - - - - Contains the object. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of using a specified RIFF list. - - - A object to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of by reading the contents of a raw - RIFF list stored in a object. - - - A containing a raw RIFF list to - read into the new instance. - - - - - Constructs and initializes a new instance of by reading the contents of a raw RIFF - list from a specified position in a . - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the list. - - - A value specifying the number of bytes - to read. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Renders the current instance enclosed in the appropriate - item. - - - A object containing the rendered - version of the current instance. - - - - - Renders the current instance enclosed in an item with a - specified ID. - - - A object containing the ID of - the item to enclose the current instance in. - - - A object containing the rendered - version of the current instance. - - - is . - - - isn't exactly four bytes long. - - - - - Renders the current instance as a raw RIFF list. - - - A object containing the rendered - version of the current instance. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A object containing - the values of the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A containing the values of the - specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the values for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A object containing the - values of the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Gets the value for a specified item in the current - instance as a . - - - A object containing the ID of - the item to set. - - - A value containing the first value - with the specified ID that could be converted to an - integer, or zero if none could be found. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the values to - store in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A object containing - the values to store in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the value of a . - - - A object containing the ID of - the item to set. - - - A value to store in the specified - item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A object containing the - values to store in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Sets the value for a specified item in the current - instance to the contents of a . - - - A object containing the ID of - the item to set. - - - A containing the values to store - in the specified item. - - - is . - - - isn't exactly four bytes long. - - - - - Removes the item with the specified ID from the current - instance. - - - A object containing the ID of - the item to remove from the current instance. - - - is . - - - isn't exactly four bytes long. - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - - - Clears the values stored in the current instance. - - - - - This class extends to provide support for - reading and writing MovieID tags. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of by reading the contents of a raw - RIFF list stored in a object. - - - A containing a raw RIFF list to - read into the new instance. - - - - - Constructs and initializes a new instance of by reading the contents of a raw - RIFF list from a specified position in a . - - - A object containing the file - from which the contents of the new instance is to be - read. - - - A value specify at what position to - read the list. - - - A value specifying the number of bytes - to read. - - - is . - - - is less than zero or greater - than the size of the file. - - - - - Renders the current instance enclosed in a "MID " item. - - - A object containing the rendered - version of the current instance. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - This property is implemented using the "TITL" item. - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This property is implemented using the "IART" item. - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This property is implemented using the "COMM" item. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This property is implemented using the "GENR" item. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album. - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This property is implemented using the "PRT1" item. - - - - - Gets and sets the number of tracks in the album - containing the media represented by the current instance. - - - A containing the number of tracks in - the album containing the media represented by the current - instance or zero if not specified. - - - This property is implemented using the "PRT2" item. - - - - - This structure provides a representation of a Microsoft - WaveFormatEx structure. - - - - - Contains the number of audio channels. - - - - - Contains the number of samples per second. - - - - - Constructs and initializes a new instance of by reading the raw structure from - the beginning of a object. - - - A object containing the raw - data structure. - - - is . - - - contains less than 16 bytes. - - - - - Constructs and initializes a new instance of by reading the raw structure from - a specified position in a - object. - - - A object containing the raw - data structure. - - - A value specifying the index in - at which the structure begins. - - - is . - - - is less than zero. - - - contains less than 16 bytes at - . - - - - - Gets the format tag of the audio described by the - current instance. - - - A value containing the format tag - of the audio. - - - Format tags indicate the codec of the audio contained in - the file and are contained in a Microsoft registry. For - a description of the format, use . - - - - - Gets the average bytes per second of the audio described - by the current instance. - - - A value containing the average - bytes per second of the audio. - - - - - Gets the bits per sample of the audio described by the - current instance. - - - A value containing the bits per - sample of the audio. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets the duration of the media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to the - current instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - A object to compare. - - - A object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of differ. - - - A object to compare. - - - A object to compare. - - - if is - unequal to . Otherwise, . - - - - - This class extends for a collection of - objects. - - - - - Constructs and initializes a new instance of with no contents. - - - - - Constructs and initializes a new instance of with the contents of another - instance. - - - A object whose values are - to be added to the new instance. - - - - - Constructs and initializes a new instance of with the contents of a - specified array. - - - A whose values are to be added to - the new instance. - - - - - Constructs and initializes a new instance of by converting a collection of - objects to strings with a - specified encoding. - - - A object containing - values to convert and add to the new instance. - - - A specifying what encoding to - use when converting the data to strings. - - - - - Constructs and initializes a new instance of by converting a collection of - objects to strings using the - UTF-8 encoding. - - - A object containing - values to convert and add to the new instance. - - - - - Splits a single into a using a pattern. - - - A object to split. - - - A object containing a pattern to - use to split . - - - A object containing the - split values. - - - or - is . - - - - - This class provides an attribute for listing supported mime-types - for classes that extend . - - - When classes that extend are registered with - , its attributes are read. - - - using TagLib; - - [SupportedMimeType("taglib/wv", "wv")] - [SupportedMimeType("audio/x-wavpack")] - public class MyFile : File { - ... - } - - - - - Contains the registered - objects. - - - - - Constructs and initializes the class by initializing the - class. - - - - - Constructs and initializes a new instance of the attribute for a specified - mime-type. - - - A object containing a standard - mime-type. - - - Standard practice is to use to register standard - mime-types, like "audio/mp3" and "video/mpeg" and to use - strictly - to register extensions, using "taglib/ext" for the mime - type. Eg. SupportedMimeType("taglib/mp3", - "mp3"). - - - - - Constructs and initializes a new instance of the attribute for a specified - mime-type and extension. - - - A object containing a standard - mime-type. - - - A object containing a file - extension. - - - Standard practice is to use to register standard - mime-types, like "audio/mp3" and "video/mpeg" and to use - strictly - to register extensions, using "taglib/ext" for the mime - type. Eg. SupportedMimeType("taglib/mp3", - "mp3"). - - - - - Gets the mime-type registered by the current instance. - - - A object containing the mime-type - registered by the current instance. - - - The value is in the format "generic/specific". For - example, "video/mp4". - - - - - Gets the extension registered by the current instance. - - - A object containing the extension - registered by the current instance, or if not specified. - - - The value is the file extension minus the preceding - ".". For example, "m4v". - - - - - Gets all the mime-types that have been registered with - . - - - A object containing all the - mime-types that have been registered with . - - - These values are used by to - match file types. - - - - - Gets all the extensions that have been registered with - . - - - A object containing all the - extensions that have been registered with . - - - These values are currently not used in file type - recognition. - - - - - Indicates the tag types used by a file. - - - - - No tag types. - - - - - Xiph's Vorbis Comment - - - - - ID3v1 Tag - - - - - ID3v2 Tag - - - - - APE Tag - - - - - Apple's ILST Tag Format - - - - - ASF Tag - - - - - Standard RIFF INFO List Tag - - - - - RIFF Movie ID List Tag - - - - - DivX Tag - - - - - FLAC Metadata Blocks Tag - - - - - TIFF IFD Tag - - - - - XMP Tag - - - - - Jpeg Comment Tag - - - - - Gif Comment Tag - - - - - native PNG keywords - - - - - IPTC-IIM tag - - - - - Audible Metadata Blocks Tag - - - - - Matroska native tag - - - - - All tag types. - - - - - This abstract class provides generic access to standard tag - features. All tag types will extend this class. - - - Because not every tag type supports the same features, it may be - useful to check that the value is stored by re-reading the - property after it is stored. - - - - - Gets the tag types contained in the current instance. - - - A bitwise combined - containing the tag types contained in the current - instance. - - - For a standard tag, the value should be intuitive. For - example, objects have a - value of . However, - for tags of type may - contain multiple or no types. - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - The title is most commonly the name of the song or - episode or a movie title. For example, "Daydream - Believer" (a song by the Monkies), "Space Seed" (an - episode of Star Trek), or "Harold and Kumar Go To White - Castle" (a movie). - - - - - Gets and sets the sort name for the title of the media - described by the current instance. - - - A object containing the sort name for - the title of the media described by the current instance or if no value is present. - - - Possibly used to sort compilations, or episodic content. - - - - - Gets and sets a short description, one-liner. - It represents the tagline of the Video/music. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This field gives a nice/short precision to - the title, which is typically below the title on the - front cover of a media. - For example, for "Back to the future", this would be - "It's About Time". - - - - - - Gets and sets a short description of the media. - For a music, this could be the comment that the artist - made of its artwork. For a video, this should be a - short summary of the story/plot, but a spoiler. This - should give the impression of what to expect in the - media. - - - A containing the subtitle - the media represented by the current instance - or an empty array if no value is present. - - - This is especially relevant for a movie. - For example, for "Back to the Future 2", this could be - "After visiting 2015, Marty McFly must repeat his visit - to 1955 to prevent disastrous changes to 1985...without - interfering with his first trip". - - - - - - Gets and sets the performers or artists who performed in - the media described by the current instance. - - - A containing the performers or - artists who performed in the media described by the - current instance or an empty array if no value is - present. - - - This field is most commonly called "Artists" in - Audio media, or "Actor" in Video media, and should be - used to represent each artist/actor appearing in the - media. It can be simple in the form of "The Beatles" - or more complicated in the form of "John Lennon, - Paul McCartney, George Harrison, Pete Best", depending - on the preferences of the listener/spectator - and the degree to which they organize their media - collection. - As the preference of the user may vary, - applications should not try to limit the user in what - choice they may make. - - - - - Gets and sets the sort names of the performers or artists - who performed in the media described by the current instance. - - - A containing the sort names for - the performers or artists who performed in the media - described by the current instance, or an empty array if - no value is present. - - - This is used to provide more control over how tracks - are sorted. Typical uses are to skip common prefixes or - sort by last name. For example, "The Beatles" might be - sorted as "Beatles, The". - - - - - - Gets and sets the Charaters for a video media, or - instruments played for music media. - This should match the array (for - each person correspond one/more role). Several roles for - the same artist/actor can be made up with semicolons. - For example, "Marty McFly; Marty McFly Jr.; Marlene McFly". - - - This is typically usefull for movies, although the - instrument played by each artist in a music may be of - relevance. - - It is highly important to match each role to the - performers. This means that a role may be to keep the match between a - Performers[i] and PerformersRole[i]. - - - - - - Gets and sets the band or artist who is credited in the - creation of the entire album or collection containing the - media described by the current instance. - - - A containing the band or artist - who is credited in the creation of the entire album or - collection containing the media described by the current - instance or an empty array if no value is present. - - - This field is typically optional but aids in the - sorting of compilations or albums with multiple artists. - For example, if an album has several artists, sorting by - artist will split up the album and sorting by album will - split up albums by the same artist. Having a single album - artist for an entire album will solve this - problem. - As this value is to be used as a sorting key, it - should be used with less variation than . Where performers can be broken into - muliple artist it is best to stick with a single band - name. For example, "The Beatles". - - - - - Gets and sets the sort names for the band or artist who - is credited in the creation of the entire album or - collection containing the media described by the - current instance. - - - A containing the sort names - for the band or artist who is credited in the creation - of the entire album or collection containing the media - described by the current instance or an empty array if - no value is present. - - - This field is typically optional but aids in the - sorting of compilations or albums with multiple artists. - For example, if an album has several artists, sorting by - artist will split up the album and sorting by album will - split up albums by the same artist. Having a single album - artist for an entire album will solve this - problem. - As this value is to be used as a sorting key, it - should be used with less variation than . Where performers can be broken into - muliple artist it is best to stick with a single band - name. For example, "Beatles, The". - - - - - Gets and sets the composers of the media represented by - the current instance. - - - A containing the composers of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the composers, song writers, - script writers, or persons who claim authorship of the - media. - - - - - Gets and sets the sort names for the composers of the - media represented by the current instance. - - - A containing the sort names - for the composers of the media represented by the - current instance or an empty array if no value is present. - - - This field is typically optional but aids in the - sorting of compilations or albums with multiple Composers. - - As this value is to be used as a sorting key, it - should be used with less variation than . Where performers can be broken into - muliple artist it is best to stick with a single composer. - For example, "McCartney, Paul". - - - - - Gets and sets the album of the media represented by the - current instance. For a video media, this represent the - collection the video belongs to. - - - A object containing the album of - the media represented by the current instance or if no value is present. - - - This field represents the name of the album the - media belongs to. In the case of a boxed set, it should - be the name of the entire set rather than the individual - disc. In case of a Serie, this should be name of the serie, - rather than the season of a serie. - For example, "Rubber Soul" (an album by the - Beatles), "The Sopranos: Complete First Season" (a boxed - set of TV episodes), "Back To The Future" (a - serie of movies/sequels), or "Game of Thrones" (a serie - with several seasons). - - - - - Gets and sets the sort names for the Album Title of the - media represented by the current instance. - - - A containing the sort names - for the Album Title of the media represented by the - current instance or an empty array if no value is present. - - - This field is typically optional but aids in the - sorting of compilations or albums with Similar Titles. - - - - - - Gets and sets a user comment on the media represented by - the current instance. - - - A object containing user comments - on the media represented by the current instance or if no value is present. - - - This field should be used to store user notes and - comments. There is no constraint on what text can be - stored here, but it should not contain program - information. - Because this field contains notes that the user - might think of while listening to the media, it may be - useful for an application to make this field easily - accessible, perhaps even including it in the main - interface. - - - - - Gets and sets the genres of the media represented by the - current instance. - - - A containing the genres of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents genres that apply to the song, - album or video. This is often used for filtering media. - - A list of common audio genres as popularized by - ID3v1, are stored in . - Additionally, contains video - genres as used by DivX. - - - - - Gets and sets the year that the media represented by the - current instance was recorded. - - - A containing the year that the media - represented by the current instance was created or zero - if no value is present. - - - Years greater than 9999 cannot be stored by most - tagging formats and will be cleared if a higher value is - set. - Some tagging formats store higher precision dates - which will be truncated when this property is set. Format - specific implementations are necessary access the higher - precision values. - - - - - Gets and sets the position of the media represented by - the current instance in its containing album, or season - (for series). - - - A containing the position of the - media represented by the current instance in its - containing album or zero if not specified. - - - This value should be the same as is listed on the - album cover and no more than if is non-zero. - Most tagging formats store this as a string. To - help sorting, a two-digit zero-filled value is used - in the resulting tag. - For a serie, this property represents the episode - in a season of the serie. - - - - - - Gets and sets the number of tracks in the album, or the - number of episodes in a serie, of the media represented - by the current instance. - - - A containing the number of tracks in - the album, or the number of episodes in a serie, of the - media represented by the current instance or zero if not - specified. - - - If non-zero, this value should be at least equal to - . If is zero, - this value should also be zero. - - - - - Gets and sets the number of the disc containing the media - represented by the current instance in the boxed set. For - a serie, this represents the season number. - - - A containing the number of the disc - or season of the media represented by the current instance - in the boxed set. - - - This value should be the same as is number that - appears on the disc. For example, if the disc is the - first of three, the value should be 1. It should - be no more than if is non-zero. - - - - - Gets and sets the number of discs or seasons in the - boxed set containing the media represented by the - current instance. - - - A containing the number of discs - or seasons in the boxed set containing the media - represented by the current instance or zero if not - specified. - - - If non-zero, this value should be at least equal to - . If is zero, - this value should also be zero. - - - - - Gets and sets the lyrics or script of the media - represented by the current instance. - - - A object containing the lyrics or - script of the media represented by the current instance - or if no value is present. - - - This field contains a plain text representation of - the lyrics or scripts with line breaks and whitespace - being the only formatting marks. - Some formats support more advances lyrics, like - synchronized lyrics, but those must be accessed using - format specific implementations. - - - - - Gets and sets the grouping on the album which the media - in the current instance belongs to. - - - A object containing the grouping on - the album which the media in the current instance belongs - to or if no value is present. - - - This field contains a non-physical grouping to - which the track belongs. In classical music, this could - be a movement. It could also be parts of a series like - "Introduction", "Closing Remarks", etc. - - - - - Gets and sets the number of beats per minute in the audio - of the media represented by the current instance. - - - A containing the number of beats per - minute in the audio of the media represented by the - current instance, or zero if not specified. - - - This field is useful for DJ's who are trying to - match songs. It should be calculated from the audio or - pulled from a database. - - - - - Gets and sets the conductor or director of the media - represented by the current instance. - - - A object containing the conductor - or director of the media represented by the current - instance or if no value present. - - - This field is most useful for organizing classical - music and movies. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - - This field should be used for storing copyright - information. It may be useful to show this information - somewhere in the program while the media is - playing. - Players should not support editing this field, but - media creation tools should definitely allow - modification. - - - - - Gets and sets the date at which the tag has been written. - - - A nullable object containing the - date at which the tag has been written, or if no value present. - - - - - Gets and sets the MusicBrainz Artist ID of the media represented by - the current instance. - - - A containing the MusicBrainz ArtistID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ArtistID, and is used - to uniquely identify a particular Artist of the track. - - - - - Gets and sets the MusicBrainz Release Group ID of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseGroupID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ReleaseGroupID, and is used - to uniquely identify a particular Release Group to which this track belongs. - - - - - Gets and sets the MusicBrainz Release ID of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ReleaseID, and is used - to uniquely identify a particular Release to which this track belongs. - - - - - Gets and sets the MusicBrainz Release Artist ID of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseArtistID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz Release ArtistID, and is used - to uniquely identify a particular Album Artist credited with the Album. - - - - - Gets and sets the MusicBrainz Track ID of the media represented by - the current instance. - - - A containing the MusicBrainz TrackID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz TrackID, and is used - to uniquely identify a particular track. - - - - - Gets and sets the MusicBrainz Disc ID of the media represented by - the current instance. - - - A containing the MusicBrainz DiscID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz DiscID, and is used - to uniquely identify the particular Released Media associated with - this track. - - - - - Gets and sets the MusicIP PUID of the media represented by - the current instance. - - - A containing the MusicIP PUID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicIP PUID, and is an acoustic - fingerprint identifier. It Identifies what this track "Sounds Like". - - - - - Gets and sets the Amazon ID of the media represented by - the current instance. - - - A containing the AmazonID of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the AmazonID, and is used - to identify the particular track or album in the Amazon Catalog. - - - - - Gets and sets the MusicBrainz Release Status of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseStatus of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ReleaseStatus, and is used - to describes how 'official' a Release is. Common Status are: Official, Promotion, - Bootleg, Pseudo-release. - - - - - Gets and sets the MusicBrainz Release Type of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseType of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ReleaseType, that describes - what kind of release a Release is.. Common Status are: Single, Album, - EP, Compilation, Soundtrack, SpokenWord, Interview, Audiobook, Live, Remix, - and Other. Careful thought must be given when using this field to decide if - a particular track "Is a Compilation". - - - - - Gets and sets the MusicBrainz Release Country of the media represented by - the current instance. - - - A containing the MusicBrainz ReleaseCountry of the - media represented by the current instance or an empty - array if no value is present. - - - This field represents the MusicBrainz ReleaseCountry, that describes - the country in which an album was released. Note that the ReleaseCountry - of an album is not necessarily the country in which it was produced. The - label itself will typically be more relevant. eg, a release on "Foo Records UK" - that has "Made in Austria" printed on it, will likely be a UK release. - - - - - Gets and sets the ReplayGain track gain in dB. - - - A value in dB for the track gain as - per the ReplayGain specification. - - - - - Gets and sets the ReplayGain track peak sample. - - - A value for the track peak as per the - ReplayGain specification. - - - - - Gets and sets the ReplayGain album gain in dB. - - - A value in dB for the album gain as - per the ReplayGain specification. - - - - - Gets and sets the ReplayGain album peak sample. - - - A value for the album peak as per the - ReplayGain specification. - - - - - Gets and sets the initial key of the song. - - - A value for the initial key - of the song. - - - - - Gets and sets the remixer of the song. - - - A value for the remixer - of the song. - - - - - Gets and sets the publisher of the song. - - - A value for the publisher - of the song. - - - - - Gets and sets the ISRC (International Standard Recording Code) of the song. - - - A value containing the ISRC of the song. - - - - - Gets and sets a collection of pictures associated with - the media represented by the current instance. - - - A containing a collection of - pictures associated with the media represented by the - current instance or an empty array if none are present. - - - Typically, this value is used to store an album - cover or icon to use for the file, but it is capable of - holding any type of image, including pictures of the - band, the recording studio, the concert, etc. - - - - - Gets and sets the same value as . - - - The same value as . - - - This property exists to aleviate confusion. Use for track artists and for album artists. - - - - - Gets the same value as . - - - The same value as . - - - This property exists to aleviate confusion. Use for track artists and for album artists. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first value contained in . - - - The first object in , or is it - contains no values. - - - This property is provided for convenience. Use to set the value. - - - - - Gets the same value as . - - - The same value as . - - - This property exists to aleviate confusion. Use for track artists and for album artists. - - - - - Gets a semicolon separated string containing the values - in . - - - A semicolon separated object - containing the values in . - - - This property is provided for convenience. Use to set the value. - - - - - Gets a semicolon separated string containing the values - in . - - - A semicolon separated object - containing the values in . - - - This property is provided for convenience. Use to set the value. - - - - - Gets a semicolon separated string containing the values - in . - - - A semicolon separated object - containing the values in . - - - This property is provided for convenience. Use to set the value. - - - - - Gets a semicolon separated string containing the values - in . - - - A semicolon separated object - containing the values in . - - - This property is provided for convenience. Use to set the value. - - - - - Gets a semicolon separated string containing the values - in . - - - A semicolon separated object - containing the values in . - - - This property is provided for convenience. Use to set the value. - - - - - Gets the first string in an array. - - - A to get the first string from. - - - The first object contained in - , or if - the array is or empty. - - - - - Joins a array of strings into a single, semicolon - separated, string. - - - A containing values to combine. - - - A semicolon separated object - containing the values from . - - - - - Gets whether or not the current instance is empty. - - - if the current instance does not - any values. Otherwise . - - - In the default implementation, this checks the values - supported by , but it may be extended - by child classes to support other values. - - - - - Clears the values stored in the current instance. - - - The clearing procedure is format specific and should - clear all values. - - - - - Set the Tags that represent the Tagger software - (TagLib#) itself. - - - This is typically a method to call just before - saving a tag. - - - - - Copies all standard values from one tag to another, - optionally overwriting existing values. - - - A object containing the source tag to - copy the values from. - - - A object containing the target tag to - copy values to. - - - A specifying whether or not to copy - values over existing one. - - - This method only copies the most basic values, - those contained in this class, between tags. To copy - format specific tags, or additional details, additional - implementations need to be applied. For example, copying - from one to another: - foreach (TagLib.Id3v2.Frame frame in old_tag) - new_tag.AddFrame (frame); - - - or - is . - - - - - Copies the values from the current instance to another - , optionally overwriting - existing values. - - - A object containing the target tag to - copy values to. - - - A specifying whether or not to copy - values over existing one. - - - This method only copies the most basic values when - copying between different tag formats, however, if - is of the same type as the - current instance, more advanced copying may be done. - For example, will copy - all of its frames to another tag. - - - is . - - - - - Checks if a is or contains only whitespace characters. - - - A object to check. - - - if the string is or contains only whitespace - characters. Otherwise . - - - - - Checks if all the strings in the array return with or if the array is - or is empty. - - - A to check the contents of. - - - if the array is or empty, or all elements return for . Otherwise . - - - - - This class extends to provide tagging - for ARW image files. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Create a codec that describes the photo properties. - - - A object. - - - - - This class extends to provide some basic behavior - for Tiff based file formats. - - - - - Indicates if the current file is in big endian or little endian format. - - - The method must be called from a subclass to - properly initialize this property. - - - - - The identifier used to recognize the file. This is 42 for most TIFF files. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Reads and validates the TIFF header at the current position. - - - A with the offset value to the first - IFD contained in the file. - - - This method should only be called, when the current read position is - the beginning of the file. - - - - - Reads IFDs starting from the given offset. - - - A with the IFD offset to start - reading from. - - - - - Reads a certain number of IFDs starting from the given offset. - - - A with the IFD offset to start - reading from. - - - A with the number of IFDs to read. - - - - - Creates an IFD reader to parse the file. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So must contain the beginning of the segment. - - - A value with the beginning of the IFD relative to - . - - - A value with maximal possible offset. This is to limit - the size of the possible data; - - - - - Renders a TIFF header with the given offset to the first IFD. - The returned data has length 8. - - - A with the offset to the first IFD - to be included in the header. - - - A with the rendered header of length 8. - - - - - A TIFF photo codec. Contains basic photo details. - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - A new instance. - - - - - Constructs a new with the given width - and height. - - - The width of the photo. - - - The height of the photo. - - - The description of the photo type. - - - A new instance. - - - - - This class extends to provide tagging - for CR2 image files. - - - - - The Properties of the image - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Reads the information from file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Parses the CR2 file - - - - - Reads and validates the CR2 header started at the current position. - - - A with the offset to the IFD with the RAW data. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - This class extends to provide tagging - for DNG image files. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Create a codec that describes the photo properties. - - - A object. - - - - - This class extends to provide tagging - and properties support for Tiff files. - - - - - Contains the media properties. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Render the whole file and write it back. - - - - - Update the XMP stored in the Tiff IFD - - - A The Tiff IFD to update the entries - - - - - Reads the file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Create a codec that describes the photo properties. - - - A object. - - - - - This class extends to provide tagging - for NEF image files. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Create a codec that describes the photo properties. - - - A object. - - - - - This class extends to provide tagging - for PEF image files. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Create a codec that describes the photo properties. - - - A object. - - - - - This class extends to provide tagging - for RW2 image files. - - - - - The Properties of the image - - - - - Gets the media properties of the file represented by the - current instance. - - - A object containing the - media properties of the file represented by the current - instance. - - - - - Indicates if tags can be written back to the current file or not - - - A which is true if tags can be written to the - current file, otherwise false. - - - - - The JPEG file that's embedded in the RAW file. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Saves the changes made in the current instance to the - file it represents. - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - - - Reads the information from file with a specified read style. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Parses the RW2 file - - - - - Reads and validates the RW2 header started at the current position. - - - A with the offset to the IFD with the RAW data. - - - - - Attempts to extract the media properties of the main - photo. - - - A object with a best effort guess - at the right values. When no guess at all can be made, - is returned. - - - - - Creates an IFD reader to parse the file. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So must contain the beginning of the segment. - - - A value with the beginning of the IFD relative to - . - - - A value with maximal possible offset. This is to limit - the size of the possible data; - - - - - Panasonic Rw2-specific IFD reader - - - - - Constructor. Reads an IFD from given file, using the given endianness. - - - A to read from. - - - A , it must be true, if the data of the IFD should be - read as bigendian, otherwise false. - - - A that will be populated. - - - A value describing the base were the IFD offsets - refer to. E.g. in Jpegs the IFD are located in an Segment and the offsets - inside the IFD refer from the beginning of this segment. So must contain the beginning of the segment. - - - A value with the beginning of the IFD relative to - . - - - A value with maximal possible offset. This is to limit - the size of the possible data; - - - - - Try to parse the given IFD entry, used to discover format-specific entries. - - - A with the tag of the entry. - - - A with the type of the entry. - - - A with the data count of the entry. - - - A with the base offset which every offsets in the - IFD are relative to. - - - A with the offset of the entry. - - - A with the given parameters, or null if none was parsed, after - which the normal TIFF parsing is used. - - - - - Handles the weird structure of Panasonic metadata. - - - - - Gets the ISO speed the image, the current instance belongs - to, was taken with. - - - A with the ISO speed as defined in ISO 12232. - - - Panasonic stores these in a somewhat unstandard location. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with, assuming a 35mm film camera. - - - A with the focal length in 35mm equivalent in millimeters. - - - Panasonic stores these in a somewhat unstandard location. - - - - - This class extends and is used to - indicate that a file or tag is stored in an unsupported format - and cannot be read or written by the current implementation. - - - Catching an exception when creating a . - - using System; - using TagLib; - - public class ExceptionTest - { - public static void Main () - { - try { - File file = File.Create ("myfile.flv"); // Not supported, YET! - } catch (UnsupportedFormatException e) { - Console.WriteLine ("That file format is not supported: {0}", e.ToString ()); - } - } - } - - - #using <System.dll> - #using <taglib-sharp.dll> - - using System; - using TagLib; - - void main () - { - try { - File file = File::Create ("myfile.flv"); // Not supported, YET! - } catch (UnsupportedFormatException^ e) { - Console::WriteLine ("That file format is not supported: {0}", e); - } - } - - - Imports System - Imports TagLib - - Public Class ExceptionTest - Public Shared Sub Main () - Try - file As File = File.Create ("myfile.flv") ' Not supported, YET! - Catch e As UnsupportedFormatException - Console.WriteLine ("That file format is not supported: {0}", e.ToString ()); - End Try - End Sub - End Class - - - import System - import TagLib - - try: - file As File = File.Create ("myfile.flv") # Not supported, YET! - catch e as UnsupportedFormatException: - Console.WriteLine ("That file format is not supported: {0}", e.ToString ()); - - - - - - Constructs and initializes a new instance of with a specified - message. - - - A containing a message explaining - the reason for the exception. - - - - - Constructs and initializes a new instance of with the default - values. - - - - - Constructs and initializes a new instance of with a specified - message containing a specified exception. - - - A containing a message explaining - the reason for the exception. - - - A object to be contained in the - new exception. For example, previously caught exception. - - - - - Constructs and initializes a new instance of from a specified - serialization info and streaming context. - - - A object containing the - serialized data to be used for the new instance. - - - A object containing the - streaming context information for the new instance. - - - This constructor is implemented because implements the interface. - - - - - This class extends to - provide tagging and properties support for WavPack files. - - - A will be added automatically to - any file that doesn't contain one. This change does not effect - the file and can be reversed using the following method: - file.RemoveTags (file.TagTypes & ~file.TagTypesOnDisk); - - - - - Contains the block with the audio header. - - - - - Constructs and initializes a new instance of for a specified path in the local file - system and specified read style. - - - A object containing the path of the - file to use in the new instance. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified path in the local file - system with an average read style. - - - A object containing the path of the - file to use in the new instance. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction and - specified read style. - - - A object to use when - reading from and writing to the file. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - is . - - - - - Constructs and initializes a new instance of for a specified file abstraction with an - average read style. - - - A object to use when - reading from and writing to the file. - - - is . - - - - - Gets a tag of a specified type from the current instance, - optionally creating a new tag if possible. - - - A value indicating the - type of tag to read. - - - A value specifying whether or not to - try and create the tag if one is not found. - - - A object containing the tag that was - found in or added to the current instance. If no - matching tag was found and none was created, is returned. - - - If a is added to the - current instance, it will be placed at the start of the - file. On the other hand, - will be added to the end of - the file. All other tag types will be ignored. - - - - - Reads format specific information at the start of the - file. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads format specific information at the end of the - file. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - - - Reads the audio properties from the file represented by - the current instance. - - - A value containing the seek position - at which the tags end and the media data begins. - - - A value containing the seek position - at which the media data ends and the tags begin. - - - A value specifying at what level - of accuracy to read the media properties, or to ignore the properties. - - - A object describing the - media properties of the file represented by the current - instance. - - - - - This struct implements to provide - support for reading WavPack audio properties. - - - - - Contains the number of bytes in the stream. - - - - - Contains the WavPack version. - - - - - Contains the flags. - - - - - Contains the sample count. - - - - - The size of a WavPack header. - - - - - The identifier used to recognize a WavPack file. - - - "wvpk" - - - - - Constructs and initializes a new instance of for a specified header block and - stream length. - - - A object containing the stream - header data. - - - A value containing the length of the - WavPack stream in bytes. - - - is . - - - does not begin with or is less than bytes long. - - - - - Gets the duration of the media represented by the current - instance. - - - A containing the duration of the - media represented by the current instance. - - - - - Gets the types of media represented by the current - instance. - - - Always . - - - - - Gets a text description of the media represented by the - current instance. - - - A object containing a description - of the media represented by the current instance. - - - - - Gets the bitrate of the audio represented by the current - instance. - - - A value containing a bitrate of the - audio represented by the current instance. - - - - - Gets the sample rate of the audio represented by the - current instance. - - - A value containing the sample rate of - the audio represented by the current instance. - - - - - Gets the number of channels in the audio represented by - the current instance. - - - A value containing the number of - channels in the audio represented by the current - instance. - - - - - Gets the WavPack version of the audio represented by the - current instance. - - - A value containing the WavPack version - of the audio represented by the current instance. - - - - - Gets the number of bits per sample in the audio - represented by the current instance. - - - A value containing the number of bits - per sample in the audio represented by the current - instance. - - - - - Generates a hash code for the current instance. - - - A value containing the hash code for - the current instance. - - - - - Checks whether or not the current instance is equal to - another object. - - - A to compare to the current - instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Checks whether or not the current instance is equal to - another instance of . - - - A object to compare to the - current instance. - - - A value indicating whether or not the - current instance is equal to . - - - - - - Gets whether or not two instances of are equal to eachother. - - - The first object to compare. - - - The second object to compare. - - - if is - equal to . Otherwise, . - - - - - Gets whether or not two instances of are unequal to eachother. - - - The first object to compare. - - - The second object to compare. - - - if is - unequal to . Otherwise, . - - - - - An represents a node in the XMP document. - This is any valid XMP element. - - - - - The children of the current node - - - - - The qualifiers of the current node - - - - - The name of the current node - - - - - The namespace the current instance belongs to - - - - - The name of the current node instance - - - - - The text value of the current node - - - - - The type of the current node - - - - - The number of qualifiers of the current instance - - - - - The children of the current instance. - - - - - Constructor. - - - A with the namespace of the new instance. - - - A with the name of the new instance. - - - - - Constructor. - - - A with the namespace of the new instance. - - - A with the name of the new instance. - - - A with the txt value of the new instance. - - - - - Adds a node as child of the current node - - - A to be add as child - - - - - Removes the given node as child of the current instance - - - A to remove as child - - - - - Get a named child from the current node - - - The namespace of the child node. - - - The name of the child node. - - - A with the given name and namespace. - - - - - Adds a node as qualifier of the current instance - - - A to add as qualifier - - - - - Returns the qualifier associated with the given namespace - and name - - - A with the namespace of the qualifier - - - A with the name of the qualifier - - - A with the qualifier - - - - - Print a debug output of the node. - - - - - Calls the Visitor for this node and every child node. - - - A to access the node and the children. - - - - - Renders the current instance as child of the given node to the - given - - - A to render the current instance as child of. - - - - - Is this a node that we can transform into an attribute of the - parent node? Yes if it has no qualifiers or children, nor is - it part of a list. - - - - - Is this the root node of the tree? - - - - - Denotes the type of a node. - - - - - Unstructured (simple) value node. - - - - - Structured value node. - - - - - Ordered array. - - - - - Language alternative. - - - - - Unordered structured value. - - - - - A visitor that walks the XMP node tree. This can be used to - perform cleanups of XMP data. See the Visitor pattern for - more info if you don't know how to use this. - - - - - Visit an . - - - The that is being visited. - - - - - Holds XMP (Extensible Metadata Platform) metadata. - - - - - Adobe namespace - - - - - Camera Raw Settings namespace - - - - - Dublin Core namespace - - - - - Exif namespace - - - - - Exif aux namespace - - - - - JOB namespace - - - - - Microsoft Photo namespace - - - - - Photoshop namespace - - - - - Prism namespace - - - - - RDF namespace - - - - - STDIM namespace - - - - - TIFF namespace - - - - - XAP (XMP's previous name) namespace - - - - - XAP bj namespace - - - - - XAP mm namespace - - - - - XAP rights namespace - - - - - XML namespace - - - - - XMLNS namespace - - - - - XMP TPg (XMP Paged-Text) namespace - - - - - Mapping between full namespaces and their short prefix. Needs to be public for the unit test generator. - - - - - Construct a new empty . - - - - - Construct a new , using the data parsed from the given string. - - - A containing an XMP packet. This should be a valid - XMP block. - - - The file that's currently being parsed, used for reporting corruptions. - - - - - Accept visitors to touch up the node tree. - - - - - Gets the tag types contained in the current instance. - - - Always . - - - - - Get the tree of nodes. These contain the values - parsed from the XMP file. - - - - - Replace the current tag with the given one. - - - The tag from which the data should be copied. - - - - - Clears the values stored in the current instance. - - - - - Finds the node associated with the namespace and the name - . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the found node, or - if no node was found. - - - - - Returns the text of the node associated with the namespace - and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the text of the node, or - if no such node exists, or if it is not - a text node. - - - - - Creates a new text node associated with the namespace - and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the value for the new node. - If is given, a possibly existing node will - be deleted. - - - - - Searches for a node holding language alternatives. The return value - is the value of the default language stored by the node. The node is - identified by the namespace and the name - . If the default language is not set, an arbitrary - one is chosen. - It is also tried to return the value a simple text node, if no - associated alt-node exists. - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the value stored as default language - for the referenced node. - - - - - Stores a the given as the default language - value for the alt-node associated with the namespace - and the name . - All other alternatives set, are deleted by this method. - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the value for the default language - to set. If is given, a possibly existing node - will be deleted. - - - - - The method returns an array of values - which are the stored text of the child nodes of the node associated - with the namespace and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the text stored in the child nodes. - - - - - Sets a as texts to the children of the - node associated with the namespace and the name - . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the values to set for the children. - - - A with the type of the parent node. - - - - - Returns the rational value of the node associated with the namespace - and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A double? with the read value, or - if no such node exists, or if it is in wrong - format. - - - Rational nodes only used in EXIF schema. - - - - - Creates a new rational node with the namespace - and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A with the value of the node. - - - - - Returns the unsigned integer value of the node associated with the - namespace and the name . - - - A with the namespace of the node. - - - A with the name of the node. - - - A uint? with the read value, or - if no such node exists, or if it is in wrong - format. - - - - - Renders the current instance to an XMP . - - - A with the XMP structure. - - - - - Make sure there's a suitable prefix mapped for the given namespace URI. - - - A with the namespace that will be rendered. - - - - - Gets or sets the comment for the image described - by the current instance. - - - A containing the comment of the - current instace. - - - - - Gets or sets the keywords for the image described - by the current instance. - - - A containing the keywords of the - current instace. - - - - - Gets or sets the rating for the image described - by the current instance. - - - A containing the rating of the - current instace. - - - - - Gets or sets the time when the image, the current instance - belongs to, was taken. - - - A with the time the image was taken. - - - - - Gets or sets the orientation of the image described - by the current instance. - - - A containing the orientation of the - image - - - - - Gets or sets the software the image, the current instance - belongs to, was created with. - - - A containing the name of the - software the current instace was created with. - - - - - Gets or sets the latitude of the GPS coordinate the current - image was taken. - - - A with the latitude ranging from -90.0 - to +90.0 degrees. - - - - - Gets or sets the longitude of the GPS coordinate the current - image was taken. - - - A with the longitude ranging from -180.0 - to +180.0 degrees. - - - - - Gets or sets the altitude of the GPS coordinate the current - image was taken. The unit is meter. - - - A with the altitude. A positive value - is above sea level, a negative one below sea level. The unit is meter. - - - - - Gets the exposure time the image, the current instance belongs - to, was taken with. - - - A with the exposure time in seconds. - - - - - Gets the FNumber the image, the current instance belongs - to, was taken with. - - - A with the FNumber. - - - Bibble wrongly tends to put this into tiff:FNumber so we - use that as a fallback and correct it if needed. - - - - - Gets the ISO speed the image, the current instance belongs - to, was taken with. - - - A with the ISO speed as defined in ISO 12232. - - - Bibble writes ISOSpeedRating instead of ISOSpeedRatings. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with. - - - A with the focal length in millimeters. - - - - - Gets the focal length the image, the current instance belongs - to, was taken with, assuming a 35mm film camera. - - - A with the focal length in 35mm equivalent in millimeters. - - - - - Gets the manufacture of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the manufacture name. - - - - - Gets the model name of the recording equipment the image, the - current instance belongs to, was taken with. - - - A with the model name. - - - - - Gets or sets the creator of the image. - - - A with the name of the creator. - - - - - Gets and sets the title for the media described by the - current instance. - - - A object containing the title for - the media described by the current instance or if no value is present. - - - - - Gets and sets the copyright information for the media - represented by the current instance. - - - A object containing the copyright - information for the media represented by the current - instance or if no value present. - - -
-
diff --git a/Questionnaire/bin/Release/Questionnaire.dll b/Questionnaire/bin/Release/Questionnaire.dll deleted file mode 100644 index 8ad9f4e..0000000 Binary files a/Questionnaire/bin/Release/Questionnaire.dll and /dev/null differ diff --git a/Questionnaire/bin/Release/Questionnaire.pdb b/Questionnaire/bin/Release/Questionnaire.pdb deleted file mode 100644 index 7b18b35..0000000 Binary files a/Questionnaire/bin/Release/Questionnaire.pdb and /dev/null differ diff --git a/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index 1bc0585..0000000 Binary files a/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferences.cache and /dev/null differ diff --git a/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 7d9f0d7..0000000 Binary files a/Questionnaire/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Questionnaire/obj/Debug/Questionnaire.csproj.CoreCompileInputs.cache b/Questionnaire/obj/Debug/Questionnaire.csproj.CoreCompileInputs.cache deleted file mode 100644 index c51982f..0000000 --- a/Questionnaire/obj/Debug/Questionnaire.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -ab2bca75dccc1911c225865c0f9161073827908f diff --git a/Questionnaire/obj/Debug/Questionnaire.csprojAssemblyReference.cache b/Questionnaire/obj/Debug/Questionnaire.csprojAssemblyReference.cache deleted file mode 100644 index b56133f..0000000 Binary files a/Questionnaire/obj/Debug/Questionnaire.csprojAssemblyReference.cache and /dev/null differ diff --git a/Questionnaire/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Questionnaire/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Questionnaire/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Questionnaire/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index 880c7f1..0000000 Binary files a/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferences.cache and /dev/null differ diff --git a/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index fb1c156..0000000 Binary files a/Questionnaire/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.Controls.FormAbout.resources b/Questionnaire/obj/Release/Questionnaire.Controls.FormAbout.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.Controls.FormAbout.resources and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.Controls.ViewAnswer.resources b/Questionnaire/obj/Release/Questionnaire.Controls.ViewAnswer.resources deleted file mode 100644 index 6c05a97..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.Controls.ViewAnswer.resources and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.Properties.Resources.resources b/Questionnaire/obj/Release/Questionnaire.Properties.Resources.resources deleted file mode 100644 index e1d6bec..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.Properties.Resources.resources and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.csproj.CopyComplete b/Questionnaire/obj/Release/Questionnaire.csproj.CopyComplete deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Release/Questionnaire.csproj.CoreCompileInputs.cache b/Questionnaire/obj/Release/Questionnaire.csproj.CoreCompileInputs.cache deleted file mode 100644 index 8bad176..0000000 --- a/Questionnaire/obj/Release/Questionnaire.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -ff53ab72e4e4e8997d77b8436c32c3370b0de1bf diff --git a/Questionnaire/obj/Release/Questionnaire.csproj.FileListAbsolute.txt b/Questionnaire/obj/Release/Questionnaire.csproj.FileListAbsolute.txt deleted file mode 100644 index 17d93e5..0000000 --- a/Questionnaire/obj/Release/Questionnaire.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,14 +0,0 @@ -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\bin\Release\Questionnaire.dll -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\bin\Release\Questionnaire.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.csprojAssemblyReference.cache -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.csproj.CoreCompileInputs.cache -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.csproj.CopyComplete -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.dll -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.Properties.Resources.resources -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.csproj.GenerateResource.cache -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\bin\Release\ProgLib.dll -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\bin\Release\ProgLib.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.Controls.ViewAnswer.resources -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\bin\Release\ProgLib.xml -C:\Users\Александр Макаров\source\repos\Опросник\Questionnaire\obj\Release\Questionnaire.Controls.FormAbout.resources diff --git a/Questionnaire/obj/Release/Questionnaire.csproj.GenerateResource.cache b/Questionnaire/obj/Release/Questionnaire.csproj.GenerateResource.cache deleted file mode 100644 index b967a9e..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.csproj.GenerateResource.cache and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.csprojAssemblyReference.cache b/Questionnaire/obj/Release/Questionnaire.csprojAssemblyReference.cache deleted file mode 100644 index 173ad05..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.csprojAssemblyReference.cache and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.dll b/Questionnaire/obj/Release/Questionnaire.dll deleted file mode 100644 index 8ad9f4e..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.dll and /dev/null differ diff --git a/Questionnaire/obj/Release/Questionnaire.pdb b/Questionnaire/obj/Release/Questionnaire.pdb deleted file mode 100644 index 7b18b35..0000000 Binary files a/Questionnaire/obj/Release/Questionnaire.pdb and /dev/null differ diff --git a/Questionnaire/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Questionnaire/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index 0a080b9..0000000 Binary files a/Questionnaire/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/Questionnaire/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Questionnaire/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Questionnaire/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Questionnaire/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Questionnaire/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Student/bin/Release/CoreAudioApi.dll b/Student/bin/Release/CoreAudioApi.dll deleted file mode 100644 index 2869247..0000000 Binary files a/Student/bin/Release/CoreAudioApi.dll and /dev/null differ diff --git a/Student/bin/Release/Ionic.Zip.dll b/Student/bin/Release/Ionic.Zip.dll deleted file mode 100644 index fa87f6d..0000000 Binary files a/Student/bin/Release/Ionic.Zip.dll and /dev/null differ diff --git a/Student/bin/Release/ProgLib.dll b/Student/bin/Release/ProgLib.dll deleted file mode 100644 index 67da779..0000000 Binary files a/Student/bin/Release/ProgLib.dll and /dev/null differ diff --git a/Student/bin/Release/ProgLib.pdb b/Student/bin/Release/ProgLib.pdb deleted file mode 100644 index 44eb16d..0000000 Binary files a/Student/bin/Release/ProgLib.pdb and /dev/null differ diff --git a/Student/bin/Release/Questionnaire.dll b/Student/bin/Release/Questionnaire.dll deleted file mode 100644 index 43f6450..0000000 Binary files a/Student/bin/Release/Questionnaire.dll and /dev/null differ diff --git a/Student/bin/Release/Questionnaire.pdb b/Student/bin/Release/Questionnaire.pdb deleted file mode 100644 index 82b2c16..0000000 Binary files a/Student/bin/Release/Questionnaire.pdb and /dev/null differ diff --git a/Student/bin/Release/Student.exe b/Student/bin/Release/Student.exe deleted file mode 100644 index 203a0b5..0000000 Binary files a/Student/bin/Release/Student.exe and /dev/null differ diff --git a/Student/bin/Release/Student.exe.config b/Student/bin/Release/Student.exe.config deleted file mode 100644 index 8e15646..0000000 --- a/Student/bin/Release/Student.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Student/bin/Release/Student.pdb b/Student/bin/Release/Student.pdb deleted file mode 100644 index c987def..0000000 Binary files a/Student/bin/Release/Student.pdb and /dev/null differ diff --git a/Student/bin/Release/config.ini b/Student/bin/Release/config.ini deleted file mode 100644 index 68917b4..0000000 --- a/Student/bin/Release/config.ini +++ /dev/null @@ -1,11 +0,0 @@ -[SettingForm1] -Height=Хурма какая то -Width=Хурма какая то - -[test] -Height=Хурма какая то -Width=Хурма какая то - -[tddsn] -Height=Хурма какая то -Width=Хурма какая то \ No newline at end of file diff --git a/Student/bin/Release/taglib-sharp.dll b/Student/bin/Release/taglib-sharp.dll deleted file mode 100644 index 502b377..0000000 Binary files a/Student/bin/Release/taglib-sharp.dll and /dev/null differ diff --git a/Student/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Student/obj/Release/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index f69b234..0000000 Binary files a/Student/obj/Release/DesignTimeResolveAssemblyReferences.cache and /dev/null differ diff --git a/Student/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Student/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index 8e0c297..0000000 Binary files a/Student/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Student/obj/Release/Student.FormAbout.resources b/Student/obj/Release/Student.FormAbout.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Student/obj/Release/Student.FormAbout.resources and /dev/null differ diff --git a/Student/obj/Release/Student.FormMain.resources b/Student/obj/Release/Student.FormMain.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Student/obj/Release/Student.FormMain.resources and /dev/null differ diff --git a/Student/obj/Release/Student.Properties.Resources.resources b/Student/obj/Release/Student.Properties.Resources.resources deleted file mode 100644 index 3503a9f..0000000 Binary files a/Student/obj/Release/Student.Properties.Resources.resources and /dev/null differ diff --git a/Student/obj/Release/Student.csproj.CopyComplete b/Student/obj/Release/Student.csproj.CopyComplete deleted file mode 100644 index e69de29..0000000 diff --git a/Student/obj/Release/Student.csproj.CoreCompileInputs.cache b/Student/obj/Release/Student.csproj.CoreCompileInputs.cache deleted file mode 100644 index e7951cc..0000000 --- a/Student/obj/Release/Student.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -a5513ef5a7e15e05a8fd8e58b3c90ba8cbe35add diff --git a/Student/obj/Release/Student.csproj.FileListAbsolute.txt b/Student/obj/Release/Student.csproj.FileListAbsolute.txt deleted file mode 100644 index 1d826ef..0000000 --- a/Student/obj/Release/Student.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,22 +0,0 @@ -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Student.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Student.exe -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Student.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\ProgLib.dll -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Questionnaire.dll -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Ionic.Zip.dll -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\taglib-sharp.dll -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\CoreAudioApi.dll -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\Questionnaire.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Student\bin\Release\ProgLib.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.csprojAssemblyReference.cache -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.FormMain.resources -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.Properties.Resources.resources -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.csproj.GenerateResource.cache -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.csproj.CoreCompileInputs.cache -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.csproj.CopyComplete -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.exe -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Student\obj\Release\Student.FormAbout.resources -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Student.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Student.exe -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Student.pdb diff --git a/Student/obj/Release/Student.csproj.GenerateResource.cache b/Student/obj/Release/Student.csproj.GenerateResource.cache deleted file mode 100644 index 5475797..0000000 Binary files a/Student/obj/Release/Student.csproj.GenerateResource.cache and /dev/null differ diff --git a/Student/obj/Release/Student.csprojAssemblyReference.cache b/Student/obj/Release/Student.csprojAssemblyReference.cache deleted file mode 100644 index 3dc65a3..0000000 Binary files a/Student/obj/Release/Student.csprojAssemblyReference.cache and /dev/null differ diff --git a/Student/obj/Release/Student.exe b/Student/obj/Release/Student.exe deleted file mode 100644 index 7286415..0000000 Binary files a/Student/obj/Release/Student.exe and /dev/null differ diff --git a/Student/obj/Release/Student.pdb b/Student/obj/Release/Student.pdb deleted file mode 100644 index 93b7d36..0000000 Binary files a/Student/obj/Release/Student.pdb and /dev/null differ diff --git a/Student/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Student/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index d0998aa..0000000 Binary files a/Student/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/Student/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Student/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Student/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Student/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Student/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Student/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Teacher/bin/Release/CoreAudioApi.dll b/Teacher/bin/Release/CoreAudioApi.dll deleted file mode 100644 index 2869247..0000000 Binary files a/Teacher/bin/Release/CoreAudioApi.dll and /dev/null differ diff --git a/Teacher/bin/Release/Designer.exe b/Teacher/bin/Release/Designer.exe deleted file mode 100644 index e9dad8f..0000000 Binary files a/Teacher/bin/Release/Designer.exe and /dev/null differ diff --git a/Teacher/bin/Release/Ionic.Zip.dll b/Teacher/bin/Release/Ionic.Zip.dll deleted file mode 100644 index fa87f6d..0000000 Binary files a/Teacher/bin/Release/Ionic.Zip.dll and /dev/null differ diff --git a/Teacher/bin/Release/ProgLib.dll b/Teacher/bin/Release/ProgLib.dll deleted file mode 100644 index 67da779..0000000 Binary files a/Teacher/bin/Release/ProgLib.dll and /dev/null differ diff --git a/Teacher/bin/Release/ProgLib.pdb b/Teacher/bin/Release/ProgLib.pdb deleted file mode 100644 index 44eb16d..0000000 Binary files a/Teacher/bin/Release/ProgLib.pdb and /dev/null differ diff --git a/Teacher/bin/Release/Questionnaire.dll b/Teacher/bin/Release/Questionnaire.dll deleted file mode 100644 index 43f6450..0000000 Binary files a/Teacher/bin/Release/Questionnaire.dll and /dev/null differ diff --git a/Teacher/bin/Release/Questionnaire.pdb b/Teacher/bin/Release/Questionnaire.pdb deleted file mode 100644 index 82b2c16..0000000 Binary files a/Teacher/bin/Release/Questionnaire.pdb and /dev/null differ diff --git a/Teacher/bin/Release/Teacher.exe b/Teacher/bin/Release/Teacher.exe deleted file mode 100644 index 1f46b22..0000000 Binary files a/Teacher/bin/Release/Teacher.exe and /dev/null differ diff --git a/Teacher/bin/Release/Teacher.exe.config b/Teacher/bin/Release/Teacher.exe.config deleted file mode 100644 index 8e15646..0000000 --- a/Teacher/bin/Release/Teacher.exe.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Teacher/bin/Release/Teacher.pdb b/Teacher/bin/Release/Teacher.pdb deleted file mode 100644 index 557819b..0000000 Binary files a/Teacher/bin/Release/Teacher.pdb and /dev/null differ diff --git a/Teacher/bin/Release/taglib-sharp.dll b/Teacher/bin/Release/taglib-sharp.dll deleted file mode 100644 index 502b377..0000000 Binary files a/Teacher/bin/Release/taglib-sharp.dll and /dev/null differ diff --git a/Teacher/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Teacher/obj/Release/DesignTimeResolveAssemblyReferences.cache deleted file mode 100644 index 9c2979d..0000000 Binary files a/Teacher/obj/Release/DesignTimeResolveAssemblyReferences.cache and /dev/null differ diff --git a/Teacher/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Teacher/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache deleted file mode 100644 index a4ed085..0000000 Binary files a/Teacher/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormAbout.resources b/Teacher/obj/Release/Teacher.FormAbout.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Teacher/obj/Release/Teacher.FormAbout.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormConnect.resources b/Teacher/obj/Release/Teacher.FormConnect.resources deleted file mode 100644 index 6c05a97..0000000 Binary files a/Teacher/obj/Release/Teacher.FormConnect.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormGeneralStatistics.resources b/Teacher/obj/Release/Teacher.FormGeneralStatistics.resources deleted file mode 100644 index 6c05a97..0000000 Binary files a/Teacher/obj/Release/Teacher.FormGeneralStatistics.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormMain.resources b/Teacher/obj/Release/Teacher.FormMain.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Teacher/obj/Release/Teacher.FormMain.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormMoreDetailed.resources b/Teacher/obj/Release/Teacher.FormMoreDetailed.resources deleted file mode 100644 index 6c05a97..0000000 Binary files a/Teacher/obj/Release/Teacher.FormMoreDetailed.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.FormSettings.resources b/Teacher/obj/Release/Teacher.FormSettings.resources deleted file mode 100644 index bd62413..0000000 Binary files a/Teacher/obj/Release/Teacher.FormSettings.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.Properties.Resources.resources b/Teacher/obj/Release/Teacher.Properties.Resources.resources deleted file mode 100644 index 3722276..0000000 Binary files a/Teacher/obj/Release/Teacher.Properties.Resources.resources and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.csproj.CopyComplete b/Teacher/obj/Release/Teacher.csproj.CopyComplete deleted file mode 100644 index e69de29..0000000 diff --git a/Teacher/obj/Release/Teacher.csproj.CoreCompileInputs.cache b/Teacher/obj/Release/Teacher.csproj.CoreCompileInputs.cache deleted file mode 100644 index ce3d5bb..0000000 --- a/Teacher/obj/Release/Teacher.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -87439d309cc4f117d0372d4c9fd58555d25b84af diff --git a/Teacher/obj/Release/Teacher.csproj.FileListAbsolute.txt b/Teacher/obj/Release/Teacher.csproj.FileListAbsolute.txt deleted file mode 100644 index 2d4f6a0..0000000 --- a/Teacher/obj/Release/Teacher.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,26 +0,0 @@ -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Teacher.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Teacher.exe -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Teacher.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\ProgLib.dll -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Questionnaire.dll -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Ionic.Zip.dll -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\taglib-sharp.dll -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\CoreAudioApi.dll -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\Questionnaire.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\bin\Release\ProgLib.pdb -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Teacher.exe.config -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Teacher.exe -C:\Users\Александр Макаров\source\repos\Опросник\bin\Release\Teacher.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.csprojAssemblyReference.cache -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormAbout.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.Properties.Resources.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.csproj.GenerateResource.cache -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.csproj.CoreCompileInputs.cache -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.csproj.CopyComplete -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.exe -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.pdb -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormConnect.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormSettings.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormMain.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormMoreDetailed.resources -C:\Users\Александр Макаров\source\repos\Опросник\Teacher\obj\Release\Teacher.FormGeneralStatistics.resources diff --git a/Teacher/obj/Release/Teacher.csproj.GenerateResource.cache b/Teacher/obj/Release/Teacher.csproj.GenerateResource.cache deleted file mode 100644 index b54aadd..0000000 Binary files a/Teacher/obj/Release/Teacher.csproj.GenerateResource.cache and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.csprojAssemblyReference.cache b/Teacher/obj/Release/Teacher.csprojAssemblyReference.cache deleted file mode 100644 index 458f200..0000000 Binary files a/Teacher/obj/Release/Teacher.csprojAssemblyReference.cache and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.exe b/Teacher/obj/Release/Teacher.exe deleted file mode 100644 index 9b09cf2..0000000 Binary files a/Teacher/obj/Release/Teacher.exe and /dev/null differ diff --git a/Teacher/obj/Release/Teacher.pdb b/Teacher/obj/Release/Teacher.pdb deleted file mode 100644 index 1040c16..0000000 Binary files a/Teacher/obj/Release/Teacher.pdb and /dev/null differ diff --git a/Teacher/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Teacher/obj/Release/TempPE/Properties.Resources.Designer.cs.dll deleted file mode 100644 index 6e09877..0000000 Binary files a/Teacher/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and /dev/null differ diff --git a/Teacher/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/Teacher/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Teacher/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/Teacher/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs deleted file mode 100644 index e69de29..0000000 diff --git a/Teacher/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/Teacher/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs deleted file mode 100644 index e69de29..0000000