Orinj Структура на генераторите orgenerator.jar

Orinj версия 7.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 Структура на генераторите

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.