Сообщение от
MOBILux
А зачем? Ведь можно же сделать две версии - для 220 и 369 Мгц процессоров.
Да, идея хорошая. Наверное, так и сделаю.
Сообщение от
MOBILux
И по поводу моно-звука - НИ В КОЕМ СЛУЧАЕ! Это полнейший бред получится
Это верно. От этого я отказался, т.к. уже готова версия со стереозвуком, работающая без прерываний на <300Мгц процессорах.
Сообщение от
MOBILux
Ну и последняя просьба - сделайте хоть какой-то интерфейс
Интерфейс будет обязательно. Только для начала нужно устранить все ошибки - у меня на n95 все играет нормально, но на остальных телефонах программа вылетает либо при открытии файла, либо при начале проигрывания. Я свяжусь с желающими протестировать сборки по аське для исправления этого.
В данный момент я делаю библиотеку с общими функциями проигрывания, поэтому очередная версия немного задерживается.
Добавлено через 17 часов 30 минут
Добрый день всем!
Пока не вышла следующая версия, я хотел бы привести функции практически готового интерфейса библиотеки. Если есть какие-то пожелания по добавлению/изменению функций - пишите .
Код:
typedef void (*ELAPSED_CALLBACK)(void *arg);
void *ay_initsong(const wchar_t *FilePath, unsigned long sr);
void *ay_initsongindirect(unsigned char *module, unsigned long sr, wchar_t *type, unsigned long size);
void *ay_getsonginfo(const wchar_t *FilePath);
void *ay_getsonginfoindirect(unsigned char *module, wchar_t *type, unsigned long size);
const wchar_t *ay_getsongname(void *info);
const wchar_t *ay_getsongauthor(void *info);
const wchar_t *ay_getsongpath(void *info);
void ay_z80xec(void *info);
void ay_seeksong(void *info, long new_position);
void ay_resetsong(void *info);
void ay_closesong(void **info);
bool ay_songstarted(void *info);
void ay_startsong(void *info);
void ay_stopsong(void *info);
void ay_setvolume(void *info, unsigned long chnl, double volume);
double ay_getvolume(void *info, unsigned long chnl);
void ay_chnlmute(void *info, unsigned long chnl, bool mute);
double ay_chnlmuted(void *info, unsigned long chnl);
void ay_setcallback(void *info, ELAPSED_CALLBACK callback, void *callback_arg);
unsigned long ay_getsonglength(void *info);
unsigned long ay_getelapsedtime(void *info);
unsigned long ay_getsongloop(void *info);
const unsigned char *ay_getregs(void *info, unsigned long chip_num);
void ay_rendersongbuffer(void *info, unsigned char *buffer, unsigned long buffer_length, unsigned long chip_num);
unsigned long ay_getz80freq(void *info);
void ay_setz80freq(void *info, unsigned long z80_freq);
unsigned long ay_getayfreq(void *info);
void ay_setayfreq(void *info, unsigned long ay_freq);
unsigned long ay_getintfreq(void *info);
void ay_setintfreq(void *info, unsigned long int_freq);
void ay_setsongplayer(void *info, void * /* class AbstractAudio */ player);