Orinj версия 8.0.0
Бележка: Тази страница не е за потребителите на Orinj, а за програмистите, които искат да създават генератори за Orinj.
За сваляне
orgenerator.jar | 10-ти юни, 2019 | Базата за всички генератори в Orinj. Този файл JAR съдържа компилираните интерфейси, които трябва да се осъществят от всички генератори в Orinj (3 KB). |
oreffect.zip | 10-ти юни, 2019 | Кода за orgenerator.jar (5 KB). |
orgenerator.jar
Този файл Java JAR се намира в папката "orinj" в инсталацията на Orinj. Той съдържа следните класове.
- GeneratorFont: Този клас съдържа статични шрифтове от клас java.awt.Font. Можеш да използваш тези шрифтове в графичния интерфейс на твоя генератор, така че твоя генератор да изглежда подобно на останалите части на Orinj. Не е задължително да използваш тези шрифтове.
- GeneratorGraph: Този клас съдържа цветове за графиките в Orinj. Може а използваш тези цветове за графики в генераторите. Не е задължително да използваш тези цветове.
- GeneratorInterface.java: Този интерфейс трябва да се осъществи от генератора. Този интерфейс например определя, че генератора трябва да осъществи функцията "getData" с определен синтаксис, така че Orinj да може да получава буфери с аудио данни от този генератор.
- GeneratorPanelInterface.java: Този интерфейс трябва да се осъществи от графичния интерфейс на генератора. Самият графичен интерфейс трябва да съдържа контролите, с които потребителят може да работи за да промени резултата от генератора. Повечето от генераторите в Orinj например имат контрола за честотата на създадената вълна.
- GeneratorSkin: Този клас показва дали текущата кожа е тъмна (със светли шрифтове и граници) или светла (с тъмни шрифтове и граници). Можеш да използваш тази стойност, но не е задължително да я използваш.
Всички класове в orgenerator.jar са описани по-долу в азбучен ред.
GeneratorFont.java
Този клас съдържа статични шрифтове – LARGEFONT, MEDIUMFONT, SMALLFONT и SMALLERFONT – от класа java.awt.Font. Не е задължително да използваш тези шрифтове в твоите генератори.
- LARGEFONT: В генераторите, които са в инсталацията на Orinj, този шрифт се използва предимно за етикетите на контролите.
- MEDIUMFONT: Този шрифт не се използва в генераторите, които са в инсталацията на Orinj. В Orinj, шрифтът със среден размер се използва например при етикетите на панела за времето и панела за ритъма.
- SMALLFONT: В генераторите, които са в инсталацията на Orinj, този шрифт се използва предимно за етикетите на плъзгачите.
- SMALLERFONT: Този шрифт не се използва в генераторите, които са в инсталацията на Orinj. В Orinj, този шрифт се използва например при клавиатурата в изгледа за MIDI и при обвивките.
GeneratorGraph.java
Този клас съдържа четири статични цвята – BACKGROUND, GRID, FOREGROUND и HIGHLIGHT – от класа java.awt.Color. Не е задължително да използваш тези цветове в твоите генератори. Текущите генератори в Orinj нямат графики и не използват тези цветове. Виж Orinj Структура на ефектите oreffect.jar за допълнителна информация за това, как тези цветове могат да се използват.
- BACKGROUND: Този цвят е за фона на графиките на генераторите в Orinj.
- GRID: Това е цвета на решетките, осите и етикетите за осите в графиките на генераторите в Orinj.
- FOREGROUND: Този цвят е цвета на самите графики на генераторите в Orinj.
- HIGHLIGHT: Това е втори цвят за рисуване в графиките на генераторите в Orinj.
GeneratorInterface.java
Всички генератори в Orinj трябва да осъществят този интерфейс. Следното е описание на функциите в този интерфейс.
- public abstract void setAudioFormat(float samplingRate, int bitResolution, int channels): Използвай тази функция за да определиш формата на данните с аудио във вълната, която ще бъде създадена.
- samplingRate – това е пробната честота на вълната, която ще бъде създадена, в Hz (например 44100 за 44.1 kHz).
- bitResolution – това е пробната резолюция на вълната, която ще бъде създадена (например 16 за пробната резолюция16 бита).
- channels – това е броя на аудио каналите във вълната, която ще бъде създадена (1 за моно или 2 за стерео).
- public abstract int getData(byte [] buf, double gain): Тази функция произвежда самите данни с аудио за създадената вълна. Трябва да върне броя на байтовете в генерираните данни са аудио (обикновено дължината на buf, но може и да е по-малко).
- buf – това са генерираните данни са аудио. Тези данни трябва да са с формата, който се използва в един файл уейв и трябва да са готови да бъдат записани в един файл уейв.
- gain – тази допълнителна амплитуда трябва да се сложи към генерираните данни са аудио, преди тези данни с аудио да се сложат в buf.
- public abstract void setLanguage(String languageCode): Осъществи тази функция, ако графичният интерфейс на твоя генератор поддържа различни езици. Тази функция променя текущия език на този, който е даден от languageCode. Аргументът languageCode е езика според кода от три букви в ISO 639-2.
- В Orinj, текста на етикети, помощни балони и други се пази във файлове XML (виж например папката orinj/languages в твоята инсталация на Orinj). Можеш обаче и да работиш с езиците по друг начин и не е задължително да осъществиш различни езици.
GeneratorPanelInterface.java
Графичните интерфейси за генераторите в Orinj обикновено ще разширява класа javax.swing.JPanel и трябва да осъществи този интерфейс.
Всички прозорци за генераторите в Orinj са стандартни. Самият прозорец (от клас JDialog) вече е осъществен и не трябва да го създаваш. Този прозорец има:
- Кутия за пробната честота на създадената вълна
- Кутия за пробната резолюция на създадената вълна
- Кутия за броя на каналите в създадената вълна
- Кутия за дължината на вълната в секунди
- Кутия за допълнителната амплитуда, която трябва да се сложи на генерираните данни в децибели
- Бутони OK и Cancel
Тези контроли вече съществуват и не трябва да ги създаваш. Трябва да създадеш само контролите, които са специфични за твоя генератор. Вълната трион в Orinj например има три допълнителни контроли – кутия и плъзгач за честотата на вълната и кутия дали да се обърне фазата на вълната.
Интерфейсът GeneratorPanelInterface съдържа една единствена функция:
- public abstract void updateData(): Тази функция трябва да направи стойностите на контролите в панела за генератора равни на данните на самия генератор.
GeneratorSkin.java
Този клас съдържа една статична променлива boolean – DARK. Не е задължително да я използваш в твоите генератори. Генераторите в Orinj не използват тази променлива. Някои ефекти в Orinj имат компоненти с граници (виж например панела с текст за праговете и отношенията за компресиране в компресора в Orinj), които се базират на тази стойност. Компонентите могат да определят цвета на своята граница да бъде по-светъл (виж java.awt.Color.brighter()) или по-тъмен (виж java.awt.Color.darker()) от фона, в зависимост от това, дали кожата на Orinj е тъмна или светла.
Виж също:
Orinj Структура на генераторите
Добави нов коментар