07
Before Width: | Height: | Size: 588 B After Width: | Height: | Size: 588 B |
BIN
res/img/folder.png
Normal file
After Width: | Height: | Size: 565 B |
BIN
res/img/icon.png
Before Width: | Height: | Size: 764 B After Width: | Height: | Size: 341 B |
BIN
res/img/key.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
res/img/midifile.png
Normal file
After Width: | Height: | Size: 652 B |
Before Width: | Height: | Size: 543 B After Width: | Height: | Size: 543 B |
BIN
res/img/ua.png
Normal file
After Width: | Height: | Size: 90 B |
206
res/lang/instr_ua.loc
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
Ударні
|
||||||
|
Рояль
|
||||||
|
Концертний (освітлений) рояль
|
||||||
|
Електронний рояль
|
||||||
|
Засмучене (таперське) піаніно
|
||||||
|
Електропіано
|
||||||
|
Електропіано 2
|
||||||
|
Клавесин
|
||||||
|
Клавінета (клавесин 2)
|
||||||
|
Челеста
|
||||||
|
Дзвіночки (пляшки)
|
||||||
|
Музична скринька
|
||||||
|
Вібрафон
|
||||||
|
Марімба
|
||||||
|
Ксилофон
|
||||||
|
Дзвони (трубчасті)
|
||||||
|
Цимбали (сантур)
|
||||||
|
Електронний орган
|
||||||
|
Орган з перкусією (з ударною атакою)
|
||||||
|
Рок-орган
|
||||||
|
Церковний орган
|
||||||
|
Дерев'яний (язичковий) органчик
|
||||||
|
Акордеон
|
||||||
|
Гармоніка
|
||||||
|
'Танго'-акордеон
|
||||||
|
Гітара-нейлон
|
||||||
|
Гітара-сталь
|
||||||
|
Джазова електрогітара
|
||||||
|
Акустична електрогітара
|
||||||
|
Приглушена електрогітара
|
||||||
|
Овердрайв (перевантаження)
|
||||||
|
Дісторшн (спотворення)
|
||||||
|
Флажолет
|
||||||
|
Контрабас-піцікато
|
||||||
|
Бас-гітара пальцевим щипком
|
||||||
|
Бас-гітара медіатором
|
||||||
|
Бездадовий бас
|
||||||
|
Бас-слеп 1
|
||||||
|
Бас-слеп 2
|
||||||
|
Сінт-бас 1
|
||||||
|
Сінт-бас 2
|
||||||
|
Скрипка
|
||||||
|
Альт
|
||||||
|
Віолончель
|
||||||
|
Контрабас
|
||||||
|
Тремоло струнних
|
||||||
|
Піцікато струнних
|
||||||
|
Арфа
|
||||||
|
Литаври
|
||||||
|
Струнна група 1
|
||||||
|
Струнна група 2
|
||||||
|
Синтетичні струнні 1
|
||||||
|
Синтетичні струнні 2
|
||||||
|
Хор на склад 'а'
|
||||||
|
Голос на склад 'про'
|
||||||
|
Синтетичний голос
|
||||||
|
Удар (весь оркестр)
|
||||||
|
Труба
|
||||||
|
Тромбон
|
||||||
|
Туба
|
||||||
|
Труба з сурдини
|
||||||
|
Валторна
|
||||||
|
Мідна група
|
||||||
|
Синтетичні мідні 1
|
||||||
|
Синтетичні мідні 2
|
||||||
|
Сопрано-саксофон
|
||||||
|
Альт-саксофон
|
||||||
|
Тенор-саксофон
|
||||||
|
Баритон-саксофон
|
||||||
|
Гобой
|
||||||
|
Англійський ріжок
|
||||||
|
Фагот
|
||||||
|
Кларнет
|
||||||
|
Флейта-пікколо
|
||||||
|
Флейта
|
||||||
|
Блокфлейта
|
||||||
|
Пан-флейта
|
||||||
|
Подув в пляшки
|
||||||
|
Шакухачі
|
||||||
|
Свисток
|
||||||
|
Окарина
|
||||||
|
Соло-гітара (прямокутна хвиля)
|
||||||
|
Соло-гітара (синусоїдальна хвиля)
|
||||||
|
Calliope-гітара
|
||||||
|
Chiff-гітара
|
||||||
|
Charang-гітара
|
||||||
|
Соло-гітара (голосовий тембр)
|
||||||
|
Соло-гітара (з квінтове обертоном)
|
||||||
|
Бас і соло-гітара
|
||||||
|
Синтезаторний звук нью-ейдж
|
||||||
|
Теплий синт-звук
|
||||||
|
Полісінтезатор
|
||||||
|
Сінт-хор
|
||||||
|
Повітряний (смичковий синт-звук)
|
||||||
|
Металевий синт
|
||||||
|
Ореол
|
||||||
|
Розгортається (хитний) звук
|
||||||
|
Дощ
|
||||||
|
Звукова доріжка
|
||||||
|
Кришталь (кристал)
|
||||||
|
Атмосфера
|
||||||
|
Яскравість
|
||||||
|
Гобліни
|
||||||
|
(Качаюче) відлуння
|
||||||
|
Зірковий (scifi)
|
||||||
|
Ситар
|
||||||
|
Банджо
|
||||||
|
Шаміса
|
||||||
|
Кото
|
||||||
|
Калімбей
|
||||||
|
Волинка (bagpipe)
|
||||||
|
Вулична скрипка
|
||||||
|
Санаї (shanai)
|
||||||
|
Дзвіночок
|
||||||
|
Агого
|
||||||
|
Сталеві барабани
|
||||||
|
Гольцтон (дерев'яні коробочки)
|
||||||
|
Таіко
|
||||||
|
Мелодік том
|
||||||
|
Електронні барабани
|
||||||
|
Тарілка 'задом наперед' (реверс)
|
||||||
|
Свист гітарної струни (шум ладів)
|
||||||
|
Придих
|
||||||
|
Прибій
|
||||||
|
Птахи
|
||||||
|
Телефонний дзвінок
|
||||||
|
Вертоліт
|
||||||
|
Алодісменти
|
||||||
|
Постріл
|
||||||
|
Фортепіано
|
||||||
|
Хроматіккаа і перкусія
|
||||||
|
Орган
|
||||||
|
Гітара
|
||||||
|
Бас
|
||||||
|
Акорди і оркестрові
|
||||||
|
Ансамбль
|
||||||
|
Мідні
|
||||||
|
Очерет
|
||||||
|
Труба
|
||||||
|
Ведучий синтезатор
|
||||||
|
Сітезатор 2-й голос
|
||||||
|
Сінт-ефекти
|
||||||
|
Народні
|
||||||
|
Перкусія
|
||||||
|
Звукові ефекти
|
||||||
|
Висока q
|
||||||
|
Слеп
|
||||||
|
Дряпання (від себе)
|
||||||
|
Дряпання (до себе)
|
||||||
|
Барабанні палички
|
||||||
|
Електронний метроном
|
||||||
|
Метроном
|
||||||
|
Дзвінкий метроном
|
||||||
|
Акустичний великий барабан
|
||||||
|
Великий барабан
|
||||||
|
Удар по ободу
|
||||||
|
Акустичний малий барабан
|
||||||
|
Бавовна в долоні
|
||||||
|
Електричний малий барабан
|
||||||
|
Низький підлоговий томтом
|
||||||
|
Закритий хет
|
||||||
|
Високий підлоговий томтом
|
||||||
|
Хет (педаллю)
|
||||||
|
Низький томтом
|
||||||
|
Відкритий хет
|
||||||
|
Низький середній томтом
|
||||||
|
Високий середній томтом
|
||||||
|
Креш-тарілка
|
||||||
|
Високий томтом
|
||||||
|
Райд-тарілка
|
||||||
|
Китайська тарілка
|
||||||
|
Райд-тарілка (по центральній частині)
|
||||||
|
Бубон
|
||||||
|
Сплеш-тарілка
|
||||||
|
Коровій (альпійський) дзвіночок
|
||||||
|
Креш-тарілка 2
|
||||||
|
Вібруючий слеп
|
||||||
|
Райд-тарілка 2
|
||||||
|
Високий бонго
|
||||||
|
Низький бонго
|
||||||
|
Закритий високий бонго
|
||||||
|
Відкритий високий бонго
|
||||||
|
Низька конга
|
||||||
|
Високий тімбал
|
||||||
|
Низький тімбал
|
||||||
|
Високий агого
|
||||||
|
Низький агого
|
||||||
|
Cabasa кабас
|
||||||
|
Маракас
|
||||||
|
Короткий свисток
|
||||||
|
Довгий свисток
|
||||||
|
Коротке гуїро
|
||||||
|
Довге гуїро
|
||||||
|
Клавес
|
||||||
|
Висока коробочка
|
||||||
|
Низька коробочка
|
||||||
|
Закрита куіка
|
||||||
|
Відкрита куіка
|
||||||
|
Закритий трикутник
|
||||||
|
Відкритий трикутник
|
||||||
|
Шейкер
|
||||||
|
Бубонці
|
||||||
|
Бунчук
|
||||||
|
Кастаньєти
|
||||||
|
Закритий сурдо
|
||||||
|
Відкритий сурдо
|
@ -3,7 +3,7 @@ package main;
|
|||||||
import javax.microedition.lcdui.*;
|
import javax.microedition.lcdui.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Класс параметров
|
* Êëàññ ïàðàìåòðîâ è êîíñòàíò
|
||||||
* @author aNNiMON
|
* @author aNNiMON
|
||||||
*/
|
*/
|
||||||
public class P {
|
public class P {
|
||||||
@ -17,6 +17,16 @@ public class P {
|
|||||||
/** Æèðíûé ñðåäíèé øðèôò */
|
/** Æèðíûé ñðåäíèé øðèôò */
|
||||||
public static final Font medBold = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
|
public static final Font medBold = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
|
||||||
|
|
||||||
|
/** Çíà÷îê íà ôîíå */
|
||||||
|
public static Image bgKey;
|
||||||
|
static {
|
||||||
|
try {
|
||||||
|
bgKey = Image.createImage("/img/key.png");
|
||||||
|
} catch (java.io.IOException ex) {
|
||||||
|
bgKey = Image.createImage(1, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/** Êîìàíäà îòìåíû */
|
/** Êîìàíäà îòìåíû */
|
||||||
public static Command comCancel;
|
public static Command comCancel;
|
||||||
|
|
||||||
|
@ -12,6 +12,7 @@ MIDedit 2.1 / 3.0
|
|||||||
- Исправил ошибку, при которой после длительной работы в редакторе могли появляться глюки с отрисовкой экрана.
|
- Исправил ошибку, при которой после длительной работы в редакторе могли появляться глюки с отрисовкой экрана.
|
||||||
- Исправил ошибку с некорректной скоростью прокрутки курсора при воспроизведении, если был изменен размер ячейки ноты в настройках.
|
- Исправил ошибку с некорректной скоростью прокрутки курсора при воспроизведении, если был изменен размер ячейки ноты в настройках.
|
||||||
- Кое-где подправил и оптимизировал код, добавил описания.
|
- Кое-где подправил и оптимизировал код, добавил описания.
|
||||||
|
- Другие мелкие исправления.
|
||||||
|
|
||||||
********
|
********
|
||||||
Добавить украинский язык.
|
Добавить украинский язык.
|
||||||
|
@ -7,6 +7,7 @@ import javax.microedition.lcdui.*;
|
|||||||
import main.L;
|
import main.L;
|
||||||
import main.P;
|
import main.P;
|
||||||
import main.Main;
|
import main.Main;
|
||||||
|
import ui.Instruments;
|
||||||
import ui.WaitCanvas;
|
import ui.WaitCanvas;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -14,20 +15,8 @@ import ui.WaitCanvas;
|
|||||||
* @author user
|
* @author user
|
||||||
* @author aNNiMON (ìîä)
|
* @author aNNiMON (ìîä)
|
||||||
*/
|
*/
|
||||||
public class CompositionForm extends Form implements CommandListener, Runnable, ItemCommandListener {
|
public class CompositionForm extends Form implements CommandListener, Runnable {
|
||||||
|
|
||||||
/**
|
|
||||||
* Êîëè÷åñòâî ãðóïï èñíòðóìåíòîâ.
|
|
||||||
* Èñïîëüçóåòñÿ â ôîðìå âûáîðà ïðè äîáàâëåíèè/çàìåíå èíñòðóìåíòà
|
|
||||||
*/
|
|
||||||
private static final int GROUPS_OF_INSTRUMENTS = 16;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Êîëè÷åñòâî èíñòðóìåíòîâ íà ãðóïïó.
|
|
||||||
* Èñïîëüçóåòñÿ â ôîðìå âûáîðà ïðè äîáàâëåíèè/çàìåíå èíñòðóìåíòà
|
|
||||||
*/
|
|
||||||
private static final int INSTRUMENTS_IN_GROUP = 8;
|
|
||||||
|
|
||||||
/** Ìàêñèìàëüíîå êîëè÷åñòâî øàãîâ ïðîïóñêà */
|
/** Ìàêñèìàëüíîå êîëè÷åñòâî øàãîâ ïðîïóñêà */
|
||||||
private static final byte SEEK_GAUGE_MAX = 10;
|
private static final byte SEEK_GAUGE_MAX = 10;
|
||||||
|
|
||||||
@ -37,11 +26,11 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ôîðìà âûáîðà èíñòðóìåíòîâ
|
* Ýêðàí âûáîðà èíñòðóìåíòîâ
|
||||||
* Èñïîëüçóåòñÿ ïðè äîáàâëåíèè/çàìåíå èíñòðóìåíòà.
|
* Èñïîëüçóåòñÿ ïðè äîáàâëåíèè/çàìåíå èíñòðóìåíòà.
|
||||||
* Ñòàòè÷åñêàÿ ïåðåìåííàÿ âçÿòà äëÿ îïòèìèçàöèè, ÷òîáû êàæäûé ðàç íå ãåíåðèðîâàòü.
|
* Ñòàòè÷åñêàÿ ïåðåìåííàÿ âçÿòà äëÿ îïòèìèçàöèè, ÷òîáû êàæäûé ðàç íå ãåíåðèðîâàòü.
|
||||||
*/
|
*/
|
||||||
private static Form listInstrumentsForm;
|
private static Canvas listInstrumentsCanvas;
|
||||||
|
|
||||||
/** Ýêçìåïëÿð ìèäëåòà */
|
/** Ýêçìåïëÿð ìèäëåòà */
|
||||||
private Main control;
|
private Main control;
|
||||||
@ -92,7 +81,7 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
private Command temp = new Command(L.str[L.tempoBox], Command.ITEM, 5);
|
private Command temp = new Command(L.str[L.tempoBox], Command.ITEM, 5);
|
||||||
private Command volume = new Command(L.str[L.volume], Command.ITEM, 6);
|
private Command volume = new Command(L.str[L.volume], Command.ITEM, 6);
|
||||||
private Command meter = new Command(L.str[L.meter], Command.ITEM, 7);
|
private Command meter = new Command(L.str[L.meter], Command.ITEM, 7);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Êîíñòðóêòîð
|
* Êîíñòðóêòîð
|
||||||
* @param control ýêçìåïëÿð ãëàâíîãî êëàññà
|
* @param control ýêçìåïëÿð ãëàâíîãî êëàññà
|
||||||
@ -232,24 +221,18 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
return chans;
|
return chans;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @param c
|
* @param play âûáðàíà êîìàíäà ïðîèãðûâàòü èëè ok
|
||||||
* @param i
|
* @param instrName
|
||||||
*/
|
*/
|
||||||
public void commandAction(Command c, Item i) {
|
public void selectInstrument(boolean play, String instrName) {
|
||||||
String instrName;
|
|
||||||
int instrumNum;
|
int instrumNum;
|
||||||
model.stopPlay();
|
model.stopPlay();
|
||||||
if (i instanceof StringItem) {
|
if(instrName.equals(Constants.getInstrName(0))) instrumNum = -1;
|
||||||
instrName = Constants.getInstrName(0);
|
else instrumNum = Constants.instrVectorArr.indexOf(instrName);
|
||||||
instrumNum = 0;
|
if (play) {
|
||||||
}
|
|
||||||
else {
|
|
||||||
instrName = ((ChoiceGroup) i).getString(((ChoiceGroup) i).getSelectedIndex());
|
|
||||||
instrumNum = Constants.instrVectorArr.indexOf(instrName)+1;
|
|
||||||
}
|
|
||||||
if (c == play) {
|
|
||||||
int channel = -1;
|
int channel = -1;
|
||||||
int lengthOfChannel = 0;
|
int lengthOfChannel = 0;
|
||||||
try {
|
try {
|
||||||
@ -260,25 +243,26 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
}
|
}
|
||||||
if (channel == Constants.DRUMS_CHANNEL || isAdd || lengthOfChannel < 3) {
|
if (channel == Constants.DRUMS_CHANNEL || isAdd || lengthOfChannel < 3) {
|
||||||
try {
|
try {
|
||||||
model.playTest((byte) (instrumNum - 1));
|
model.playTest((byte) instrumNum);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
model.playTrack(composition, channel, instrumNum - 1);
|
model.playTrack(composition, channel, instrumNum);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
try {
|
try {
|
||||||
model.playTest((byte) (instrumNum - 1));
|
model.playTest((byte) instrumNum);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (c == ok) {
|
} else {
|
||||||
|
// ok
|
||||||
if (isAdd) {
|
if (isAdd) {
|
||||||
byte channel = composition.addInstrument(instrumNum - 1);
|
byte channel = composition.addInstrument(instrumNum);
|
||||||
if (channel != -1) {
|
if (channel != -1) {
|
||||||
choiñeInstrument.appendChannel(instrName, channel);
|
choiñeInstrument.appendChannel(instrName, channel);
|
||||||
} else {
|
} else {
|
||||||
@ -294,7 +278,7 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
int channel = choiñeInstrument.getSelectedChannel();
|
int channel = choiñeInstrument.getSelectedChannel();
|
||||||
if (channel != -1 && channel != Constants.DRUMS_CHANNEL) {
|
if (channel != -1 && channel != Constants.DRUMS_CHANNEL) {
|
||||||
choiñeInstrument.setChannel(choiñeInstrument.getSelectedIndex(), instrName, (byte) channel);
|
choiñeInstrument.setChannel(choiñeInstrument.getSelectedIndex(), instrName, (byte) channel);
|
||||||
composition.setInstrument(channel, instrumNum - 1);
|
composition.setInstrument(channel, instrumNum);
|
||||||
}
|
}
|
||||||
} catch (IllegalAccessException ex) {
|
} catch (IllegalAccessException ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
@ -479,28 +463,11 @@ public class CompositionForm extends Form implements CommandListener, Runnable,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private Form getListOfInstruments() {
|
private Canvas getListOfInstruments() {
|
||||||
if (listInstrumentsForm == null) {
|
if (listInstrumentsCanvas == null) {
|
||||||
ChoiceGroup[] groupsChoiseGroup = new ChoiceGroup[GROUPS_OF_INSTRUMENTS];
|
listInstrumentsCanvas = new Instruments();
|
||||||
for (int i = 0; i < GROUPS_OF_INSTRUMENTS; i++) {
|
|
||||||
String[] listOfElements = new String[INSTRUMENTS_IN_GROUP];
|
|
||||||
System.arraycopy(L.instr, i*INSTRUMENTS_IN_GROUP+1, listOfElements,0, INSTRUMENTS_IN_GROUP);
|
|
||||||
|
|
||||||
groupsChoiseGroup[i] = new ChoiceGroup(Constants.getInstrName(129 + i), ChoiceGroup.POPUP, listOfElements, null);
|
|
||||||
groupsChoiseGroup[i].addCommand(play);
|
|
||||||
groupsChoiseGroup[i].addCommand(ok);
|
|
||||||
groupsChoiseGroup[i].setItemCommandListener(this);
|
|
||||||
}
|
|
||||||
listInstrumentsForm = new Form(L.str[L.instruments], groupsChoiseGroup);
|
|
||||||
Item drums = new StringItem(Constants.getInstrName(0), null);
|
|
||||||
drums.addCommand(ok);
|
|
||||||
drums.setItemCommandListener(this);
|
|
||||||
listInstrumentsForm.append(drums);
|
|
||||||
listInstrumentsForm.addCommand(P.comCancel);
|
|
||||||
listInstrumentsForm.setCommandListener(this);
|
|
||||||
}
|
}
|
||||||
|
return listInstrumentsCanvas;
|
||||||
return listInstrumentsForm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1234,7 +1234,7 @@ public abstract class MixerCanvas extends Canvas implements Runnable {
|
|||||||
m1 = 2;
|
m1 = 2;
|
||||||
g.setFont(P.smPlain);
|
g.setFont(P.smPlain);
|
||||||
g.drawString(getNoteFromLine(curY) + " " + Constants.getInstrName(getNoteFromLine(curY) - DrumsCanvas.drumsShift + 145),
|
g.drawString(getNoteFromLine(curY) + " " + Constants.getInstrName(getNoteFromLine(curY) - DrumsCanvas.drumsShift + 145),
|
||||||
m1, yIndent + 3, Graphics.BOTTOM | Graphics.LEFT);
|
m1, yIndent + 5, Graphics.BOTTOM | Graphics.LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -45,7 +45,7 @@ public class JSR75File extends AbstractFile {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//vector.addElement(s1);
|
// vector.addElement(s1);
|
||||||
}
|
}
|
||||||
if (currDir != null) currDir.close();
|
if (currDir != null) currDir.close();
|
||||||
} catch (IOException ion) {
|
} catch (IOException ion) {
|
||||||
|
@ -51,7 +51,7 @@ public class FileManager extends Canvas {
|
|||||||
private PreviewPlayer pw;
|
private PreviewPlayer pw;
|
||||||
|
|
||||||
/** Èçîáðàæåíèÿ è èêîíêè ãðóïï ôàéëîâ */
|
/** Èçîáðàæåíèÿ è èêîíêè ãðóïï ôàéëîâ */
|
||||||
//private Image folderIcon, imageIcon, fileIcon, fontIcon, videoIcon;
|
private Image folderIcon, midiIcon;
|
||||||
|
|
||||||
/** Ñïèñîê ôàéëîâ è ïàïîê */
|
/** Ñïèñîê ôàéëîâ è ïàïîê */
|
||||||
private String[] data;
|
private String[] data;
|
||||||
@ -180,6 +180,7 @@ public class FileManager extends Canvas {
|
|||||||
protected void paint(Graphics g) {
|
protected void paint(Graphics g) {
|
||||||
g.setColor(P.backgrnd);
|
g.setColor(P.backgrnd);
|
||||||
g.fillRect(0, 0, w, h);
|
g.fillRect(0, 0, w, h);
|
||||||
|
g.drawImage(P.bgKey, w, h - UI.getSoftBarHeight() - 2, Graphics.RIGHT | Graphics.BOTTOM);
|
||||||
drawFiles(g);
|
drawFiles(g);
|
||||||
if (showMenu) {
|
if (showMenu) {
|
||||||
drawMenu(g);
|
drawMenu(g);
|
||||||
@ -204,10 +205,9 @@ public class FileManager extends Canvas {
|
|||||||
g.setFont(P.smBold);
|
g.setFont(P.smBold);
|
||||||
for (int i = startPrintFile; i < numFiles; i++) {
|
for (int i = startPrintFile; i < numFiles; i++) {
|
||||||
// Èêîíêà òèïà ôàéëà
|
// Èêîíêà òèïà ôàéëà
|
||||||
/*Image tmp = fileIcon;
|
Image tmp = midiIcon;
|
||||||
if (data[i].indexOf("/") != -1) tmp = folderIcon;
|
if (data[i].indexOf("/") != -1) tmp = folderIcon;
|
||||||
else if (getType(TypeMid, data[i])) tmp = imageIcon;
|
g.drawImage(tmp, 1, FileY + SH_HEIGHT + 1, 0);
|
||||||
g.drawImage(tmp, 1, FileY + SH_HEIGHT + 1, 0);*/
|
|
||||||
// Òåêñò
|
// Òåêñò
|
||||||
int col = P.fmtextnc;
|
int col = P.fmtextnc;
|
||||||
if (FileY == CursorY) col = P.fmtextcur;
|
if (FileY == CursorY) col = P.fmtextcur;
|
||||||
@ -348,15 +348,10 @@ public class FileManager extends Canvas {
|
|||||||
|
|
||||||
/** Çàãðóçêà èçîáðàæåíèé */
|
/** Çàãðóçêà èçîáðàæåíèé */
|
||||||
private void loadImages() {
|
private void loadImages() {
|
||||||
/*Image allimg = new GetImage().loadImages(0);//icons
|
|
||||||
try {
|
try {
|
||||||
imageIcon = Image.createImage(allimg, 0, 0, 16, 15, 0);
|
folderIcon = Image.createImage("/img/folder.png");
|
||||||
folderIcon = Image.createImage(allimg, 16, 0, 14, 15, 0);
|
midiIcon = Image.createImage("/img/midifile.png");
|
||||||
fileIcon = Image.createImage(allimg, 30, 0, 13, 15, 0);
|
} catch (Exception ioe) {}
|
||||||
videoIcon = Image.createImage(allimg, 43, 0, 13, 15, 0);
|
|
||||||
fontIcon = Image.createImage(allimg, 57, 0, 13, 15, 0);
|
|
||||||
} catch (Exception ioe) {
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
245
src/ui/Instruments.java
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
package ui;
|
||||||
|
|
||||||
|
import main.P;
|
||||||
|
import main.Main;
|
||||||
|
import main.Key;
|
||||||
|
import main.L;
|
||||||
|
import javax.microedition.lcdui.*;
|
||||||
|
import midedit.Constants;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ńďčńîę číńňđóěĺíňîâ â ďđîăđŕěěĺ
|
||||||
|
* @author aNNiMON
|
||||||
|
*/
|
||||||
|
public class Instruments extends Canvas {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ęîëč÷ĺńňâî ăđóďď číńňđóěĺíňîâ.
|
||||||
|
* Čńďîëüçóĺňń˙ â ôîđěĺ âűáîđŕ ďđč äîáŕâëĺíčč/çŕěĺíĺ číńňđóěĺíňŕ
|
||||||
|
*/
|
||||||
|
private static final int GROUPS_OF_INSTRUMENTS = 16;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ęîëč÷ĺńňâî číńňđóěĺíňîâ íŕ ăđóďďó.
|
||||||
|
* Čńďîëüçóĺňń˙ â ôîđěĺ âűáîđŕ ďđč äîáŕâëĺíčč/çŕěĺíĺ číńňđóěĺíňŕ
|
||||||
|
*/
|
||||||
|
private static final int INSTRUMENTS_IN_GROUP = 8;
|
||||||
|
|
||||||
|
/** Đĺćčě ďîęŕçŕ ăđóďď číńňđóěĺíňîâ */
|
||||||
|
private static final byte MENU_MODE = 0;
|
||||||
|
/** Đŕçěĺđ ýęđŕíŕ */
|
||||||
|
private int w, h;
|
||||||
|
|
||||||
|
/** Çŕăîëîâîę */
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/** Ěĺíţ */
|
||||||
|
private String[] menu;
|
||||||
|
/** Âűäĺëĺííűé ďóíęň ěĺíţ */
|
||||||
|
private int cu = 0;
|
||||||
|
|
||||||
|
/** Đĺćčě (ěĺíţ, číńňđóěĺíňű) */
|
||||||
|
private byte mode;
|
||||||
|
|
||||||
|
private int iconsSize = 2;
|
||||||
|
|
||||||
|
private int FileY, CursorY, stFh, startPrintFile;
|
||||||
|
private int FILE_HEIGHT;
|
||||||
|
|
||||||
|
/** Âđĺě˙ äë˙ double-ęëčęŕ â touchscreen */
|
||||||
|
private long time;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ńîçäŕňü ěĺíţ ń ňčďîě mode
|
||||||
|
*/
|
||||||
|
public Instruments() {
|
||||||
|
setFullScreenMode(true);
|
||||||
|
w = getWidth();
|
||||||
|
h = getHeight();
|
||||||
|
|
||||||
|
mode = MENU_MODE;
|
||||||
|
|
||||||
|
FILE_HEIGHT = P.medPlain.getHeight() + 2;
|
||||||
|
stFh = P.medPlain.getHeight() + P.medPlain.getHeight() / 2;
|
||||||
|
cu = CursorY = FileY = startPrintFile = 0;
|
||||||
|
updateItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void updateItems() {
|
||||||
|
cu = CursorY = FileY = startPrintFile = 0;
|
||||||
|
if(mode == MENU_MODE) {
|
||||||
|
title = L.str[L.instruments];
|
||||||
|
menu = new String[GROUPS_OF_INSTRUMENTS + 1];
|
||||||
|
for (int i = 0; i < menu.length; i++) {
|
||||||
|
menu[i] = Constants.getInstrName(129 + i);
|
||||||
|
}
|
||||||
|
// Óäŕđíűĺ
|
||||||
|
menu[menu.length - 1] = Constants.getInstrName(0);
|
||||||
|
} else {
|
||||||
|
menu = new String[INSTRUMENTS_IN_GROUP];
|
||||||
|
System.arraycopy(L.instr, mode*INSTRUMENTS_IN_GROUP+1, menu, 0, INSTRUMENTS_IN_GROUP);
|
||||||
|
}
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void sizeChanged(int w, int h) {
|
||||||
|
this.w = getWidth();
|
||||||
|
this.h = getHeight();
|
||||||
|
super.sizeChanged(w, h);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void paint(Graphics g) {
|
||||||
|
// Î÷čńňęŕ ýęđŕíŕ
|
||||||
|
g.setColor(P.backgrnd);
|
||||||
|
g.fillRect(0, 0, w, h);
|
||||||
|
|
||||||
|
g.drawImage(P.bgKey, w, h - UI.getSoftBarHeight() - 2, Graphics.RIGHT | Graphics.BOTTOM);
|
||||||
|
|
||||||
|
UI.drawTitle(g, title);
|
||||||
|
if(mode == MENU_MODE) {
|
||||||
|
UI.drawSoftBar(g, "", L.str[L.cancel]);
|
||||||
|
} else {
|
||||||
|
UI.drawSoftBar(g, L.str[L.play], L.str[L.back]);
|
||||||
|
}
|
||||||
|
|
||||||
|
g.setFont(P.medBold);
|
||||||
|
|
||||||
|
g.setColor(P.fmback1);
|
||||||
|
g.translate(0, stFh);
|
||||||
|
// Ęóđńîđ
|
||||||
|
g.setColor(P.obv);
|
||||||
|
g.fillRect(-1, CursorY, w, FILE_HEIGHT-1);
|
||||||
|
g.setColor(P.fmbord);
|
||||||
|
g.drawRect(-1, CursorY-1, w, FILE_HEIGHT);
|
||||||
|
|
||||||
|
FileY = 0;
|
||||||
|
// Âűâîäčě ďóíęňű ěĺíţ
|
||||||
|
for (int i = startPrintFile; i < menu.length; i++) {
|
||||||
|
g.setColor(P.fmtextnc);
|
||||||
|
final String s = menu[i];
|
||||||
|
if (FileY == CursorY) {
|
||||||
|
g.setColor(P.fmbord);
|
||||||
|
g.drawString(s, iconsSize + 4, FileY + iconsSize / 4, Graphics.TOP | Graphics.LEFT);
|
||||||
|
g.setColor(P.fmtextcur);
|
||||||
|
}
|
||||||
|
|
||||||
|
// g.drawImage(icons[id], iconsSize + 2, FileY + 1, 24);
|
||||||
|
|
||||||
|
// Íŕçâŕíčĺ ďóíęňŕ
|
||||||
|
g.drawString(s, iconsSize + 3, FileY + iconsSize / 4, Graphics.TOP | Graphics.LEFT);
|
||||||
|
FileY += FILE_HEIGHT;
|
||||||
|
if(FileY > (h - (stFh*2) - FILE_HEIGHT)) break;
|
||||||
|
}
|
||||||
|
g.setColor(0x00);
|
||||||
|
g.fillRect(-1, FileY+1, w+1, 2);
|
||||||
|
g.fillRect(-1, -2, w+1, 2);
|
||||||
|
g.translate(0, -stFh);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Îáđŕáîňęŕ âűáđŕííűő ďóíęňîâ
|
||||||
|
* @param play âîńďđîčçâîäčňü čëč âűáđŕňü číńňđóěĺíň
|
||||||
|
* @param selected ID âűáđŕííîăî ďóíęňŕ ěĺíţ
|
||||||
|
*/
|
||||||
|
private void selectItem(boolean play, int selected) {
|
||||||
|
final String v = menu[selected];
|
||||||
|
if(mode == MENU_MODE) {
|
||||||
|
if(selected == menu.length - 1) {
|
||||||
|
// Óäŕđíűĺ
|
||||||
|
Main.midlet.compositionForm.selectInstrument(false, v);
|
||||||
|
} else {
|
||||||
|
mode = (byte) selected;
|
||||||
|
title = v;
|
||||||
|
updateItems();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Main.midlet.compositionForm.selectInstrument(play, v);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void keyPressed (int key) {
|
||||||
|
int ga = getGameAction(key);
|
||||||
|
|
||||||
|
if(ga==UP || ga==LEFT) {cursorUp();}
|
||||||
|
else if(ga==DOWN || ga==RIGHT) {cursorDown();}
|
||||||
|
else if (ga==FIRE) selectItem(false, cu);
|
||||||
|
else if (key==Key.leftSoftKey) selectItem(true, cu);
|
||||||
|
else if (key==Key.rightSoftKey) rightSoft();
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void keyRepeated (int key) {
|
||||||
|
keyPressed(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rightSoft() {
|
||||||
|
if(mode == MENU_MODE) {
|
||||||
|
Main.dsp.setCurrent(Main.midlet.compositionForm);
|
||||||
|
} else {
|
||||||
|
mode = MENU_MODE;
|
||||||
|
}
|
||||||
|
updateItems();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cursorDown() {
|
||||||
|
if (menu.length > 0) {
|
||||||
|
final int maxHeight = h - 2 * stFh;
|
||||||
|
if (cu == menu.length - 1) {
|
||||||
|
CursorY = 0;
|
||||||
|
cu = 0;
|
||||||
|
startPrintFile = 0;
|
||||||
|
} else if (cu > (maxHeight / FILE_HEIGHT - 3) ) {
|
||||||
|
if (CursorY >= (maxHeight - 2 * FILE_HEIGHT)) {
|
||||||
|
startPrintFile++;
|
||||||
|
cu++;
|
||||||
|
} else {
|
||||||
|
cu++;
|
||||||
|
CursorY += FILE_HEIGHT;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
CursorY += FILE_HEIGHT;
|
||||||
|
cu++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void cursorUp() {
|
||||||
|
if (menu.length > 0) {
|
||||||
|
if (cu == 0) {
|
||||||
|
cu = menu.length - 1;
|
||||||
|
final int maxHeight = h - 2 * stFh;
|
||||||
|
if (menu.length > ( (maxHeight - FILE_HEIGHT) / FILE_HEIGHT)) {
|
||||||
|
startPrintFile = (menu.length - ( maxHeight / FILE_HEIGHT));
|
||||||
|
CursorY = (cu - startPrintFile) * FILE_HEIGHT;
|
||||||
|
} else {
|
||||||
|
CursorY = cu * FILE_HEIGHT;
|
||||||
|
}
|
||||||
|
} else if ((CursorY == 0) && (cu > 0)) {
|
||||||
|
startPrintFile--;
|
||||||
|
cu--;
|
||||||
|
} else if (CursorY > 0) {
|
||||||
|
CursorY -= FILE_HEIGHT;
|
||||||
|
cu--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void pointerPressed(int pix, int piy) {
|
||||||
|
int q = UI.getSoftBarHeight();
|
||||||
|
if(pix<2*q && piy>h-q) selectItem(true, cu);
|
||||||
|
else if(pix>w-2*q && piy>h-q) rightSoft();
|
||||||
|
else {
|
||||||
|
int cu1 = cu;
|
||||||
|
piy -= 2*P.medPlain.getHeight();
|
||||||
|
if(piy>0 && piy<menu.length*FILE_HEIGHT) {
|
||||||
|
cu = piy/FILE_HEIGHT;
|
||||||
|
CursorY = cu * FILE_HEIGHT;
|
||||||
|
}
|
||||||
|
if(System.currentTimeMillis()-time<700 && cu1==cu) selectItem(false, cu);
|
||||||
|
time = System.currentTimeMillis();
|
||||||
|
}
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -98,6 +98,8 @@ public class Menu extends Canvas {
|
|||||||
g.setColor(P.backgrnd);
|
g.setColor(P.backgrnd);
|
||||||
g.fillRect(0, 0, w, h);
|
g.fillRect(0, 0, w, h);
|
||||||
|
|
||||||
|
g.drawImage(P.bgKey, w, h - UI.getSoftBarHeight() - 2, Graphics.RIGHT | Graphics.BOTTOM);
|
||||||
|
|
||||||
String title = L.str[L.midedit] + ". "+Key.Platform;
|
String title = L.str[L.midedit] + ". "+Key.Platform;
|
||||||
UI.drawTitle(g, title);
|
UI.drawTitle(g, title);
|
||||||
UI.drawSoftBar(g, L.str[L.ok], L.str[L.exit]);
|
UI.drawSoftBar(g, L.str[L.ok], L.str[L.exit]);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package ui;
|
package ui;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import javax.microedition.lcdui.*;
|
import javax.microedition.lcdui.*;
|
||||||
import main.*;
|
import main.*;
|
||||||
|
|
||||||
@ -9,8 +10,7 @@ import main.*;
|
|||||||
*/
|
*/
|
||||||
public class SettingsForm extends Form implements CommandListener {
|
public class SettingsForm extends Form implements CommandListener {
|
||||||
|
|
||||||
private static final String[] langAppList = {"English", "Ðóññêèé", "Óêðà¿íñüêà"};
|
private static final String[] langList = {"English", "Ðóññêèé", "Óêðà¿íñüêà"};
|
||||||
private static final String[] langInstrList = {"English", "Ðóññêèé"};
|
|
||||||
private static final String[] langChars = {"en", "ru", "ua"};
|
private static final String[] langChars = {"en", "ru", "ua"};
|
||||||
|
|
||||||
private Displayable previousScreen;
|
private Displayable previousScreen;
|
||||||
@ -44,8 +44,9 @@ public class SettingsForm extends Form implements CommandListener {
|
|||||||
back = new Command(L.str[L.back], Command.BACK, 3);
|
back = new Command(L.str[L.back], Command.BACK, 3);
|
||||||
|
|
||||||
// ßçûê
|
// ßçûê
|
||||||
langChoice = new ChoiceGroup(L.str[L.language], ChoiceGroup.EXCLUSIVE, langAppList, null);
|
Image[] icons = createImages(langChars);
|
||||||
langInstr = new ChoiceGroup(L.str[L.instrlang], ChoiceGroup.EXCLUSIVE, langInstrList, null);
|
langChoice = new ChoiceGroup(L.str[L.language], ChoiceGroup.EXCLUSIVE, langList, icons);
|
||||||
|
langInstr = new ChoiceGroup(L.str[L.instrlang], ChoiceGroup.EXCLUSIVE, langList, icons);
|
||||||
|
|
||||||
// Íàñòðîéêè ðàçìåðà íîò
|
// Íàñòðîéêè ðàçìåðà íîò
|
||||||
noteWidthGauge = new Gauge(L.str[L.noteWidth], true, 10, Rms.noteWidth);
|
noteWidthGauge = new Gauge(L.str[L.noteWidth], true, 10, Rms.noteWidth);
|
||||||
@ -69,7 +70,7 @@ public class SettingsForm extends Form implements CommandListener {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Íàñòðîéêè óïðàâëåíèÿ
|
// Íàñòðîéêè óïðàâëåíèÿ
|
||||||
controlChoice.append(L.str[L.numkeysOptionString], null);
|
controlChoice.append(L.str[L.numkeysOptionString], createImage("keypad"));
|
||||||
controlChoice.setSelectedIndex(0, Rms.numKeysEdit);
|
controlChoice.setSelectedIndex(0, Rms.numKeysEdit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,4 +91,30 @@ public class SettingsForm extends Form implements CommandListener {
|
|||||||
Main.dsp.setCurrent(previousScreen);
|
Main.dsp.setCurrent(previousScreen);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ïîëó÷èòü èêîíêè ôëàãîâ ñòðàí
|
||||||
|
* @param lang ÿçûê
|
||||||
|
* @return ìàññèâ èêîíîê
|
||||||
|
*/
|
||||||
|
private Image[] createImages(String[] lang) {
|
||||||
|
Image[] icons = new Image[lang.length];
|
||||||
|
for (int i = 0; i < icons.length; i++) {
|
||||||
|
icons[i] = createImage(lang[i]);
|
||||||
|
}
|
||||||
|
return icons;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ïîëó÷èòü èêîíêó ïî óêàçàííîìó ïóòè
|
||||||
|
* @param path ïóòü
|
||||||
|
* @return êàðòèíêà
|
||||||
|
*/
|
||||||
|
private Image createImage(String path) {
|
||||||
|
try {
|
||||||
|
return Image.createImage("/img/"+path+".png");
|
||||||
|
} catch (IOException ex) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -89,6 +89,7 @@ public class TextView extends Canvas {
|
|||||||
protected void paint(Graphics g) {
|
protected void paint(Graphics g) {
|
||||||
g.setColor(P.backgrnd);
|
g.setColor(P.backgrnd);
|
||||||
g.fillRect(0, 0, w, h);
|
g.fillRect(0, 0, w, h);
|
||||||
|
g.drawImage(P.bgKey, w, h - UI.getSoftBarHeight() - 2, Graphics.RIGHT | Graphics.BOTTOM);
|
||||||
UI.drawTitle(g, title);
|
UI.drawTitle(g, title);
|
||||||
g.setColor(P.fmtextnc);
|
g.setColor(P.fmtextnc);
|
||||||
g.setFont(defaultFont);
|
g.setFont(defaultFont);
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
*/
|
*/
|
||||||
package ui;
|
package ui;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
import javax.microedition.lcdui.*;
|
import javax.microedition.lcdui.*;
|
||||||
import main.Key;
|
import main.Key;
|
||||||
import main.L;
|
import main.L;
|
||||||
@ -40,7 +41,6 @@ public class WaitCanvas extends Canvas implements Runnable {
|
|||||||
/** Ňĺęóůĺĺ ńîńňî˙íčĺ (â ďđîöĺíňŕő) */
|
/** Ňĺęóůĺĺ ńîńňî˙íčĺ (â ďđîöĺíňŕő) */
|
||||||
private int curPercent;
|
private int curPercent;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ęîíńňđóęňîđ
|
* Ęîíńňđóęňîđ
|
||||||
* @param title çŕăîëîâîę îďĺđŕöčč
|
* @param title çŕăîëîâîę îďĺđŕöčč
|
||||||
@ -61,6 +61,7 @@ public class WaitCanvas extends Canvas implements Runnable {
|
|||||||
public void paint(Graphics g) {
|
public void paint(Graphics g) {
|
||||||
g.setColor(P.backgrnd);
|
g.setColor(P.backgrnd);
|
||||||
g.fillRect(0, 0, w, h);
|
g.fillRect(0, 0, w, h);
|
||||||
|
g.drawImage(P.bgKey, w, h - UI.getSoftBarHeight() - 2, Graphics.RIGHT | Graphics.BOTTOM);
|
||||||
UI.drawTitle(g, title);
|
UI.drawTitle(g, title);
|
||||||
UI.drawSoftBar(g, "", L.str[L.cancel]);
|
UI.drawSoftBar(g, "", L.str[L.cancel]);
|
||||||
|
|
||||||
|