Index: gui/gui.pro =================================================================== --- gui/gui.pro (revision 18366) +++ gui/gui.pro (working copy) @@ -1,40 +1,40 @@ -TEMPLATE = app -TARGET = -DEPENDPATH += . build src ui -INCLUDEPATH += . src/QPropertyEditor ../libwps/src -DESTDIR = bin -OBJECTS_DIR = build -MOC_DIR = build -UI_DIR = build -QMAKE_LIBDIR += lib -QT = gui core -CONFIG += qt warn_on console debug_and_release -libwps.commands += $(MAKE) -C ../libwps shared -QMAKE_EXTRA_TARGETS += libwps -PRE_TARGETDEPS += libwps -HEADERS += ../libwps/src/api.h \ - ../libwps/src/defs.h \ - src/slider.h \ - src/qtrackstate.h \ - src/qwpsstate.h \ - src/qwpseditorwindow.h \ - src/utils.h \ - src/qwpsdrawer.h -FORMS += ui/mainwindow.ui ui/slider.ui -SOURCES += src/main.cpp \ - src/slider.cpp \ - src/qtrackstate.cpp \ - src/qwpsstate.cpp \ - src/qwpseditorwindow.cpp \ - src/utils.cpp \ - src/qwpsdrawer.cpp \ - src/qwpsdrawer_static.cpp -LIBS += -Lbin -CONFIG(debug, debug|release) { - LIBS += -lQPropertyEditord - TARGET = wpseditord -} -CONFIG(release, debug|release) { - LIBS += -lQPropertyEditor - TARGET = wpseditor -} +TEMPLATE = app +TARGET = +DEPENDPATH += . build src ui +INCLUDEPATH += . src/QPropertyEditor ../libwps/src +DESTDIR = bin +OBJECTS_DIR = build +MOC_DIR = build +UI_DIR = build +QMAKE_LIBDIR += lib +QT = gui core +CONFIG += qt warn_on console debug +libwps.commands += $(MAKE) -C ../libwps shared +QMAKE_EXTRA_TARGETS += libwps +PRE_TARGETDEPS += libwps +HEADERS += ../libwps/src/api.h \ + ../libwps/src/defs.h \ + src/slider.h \ + src/qtrackstate.h \ + src/qwpsstate.h \ + src/qwpseditorwindow.h \ + src/utils.h \ + src/qwpsdrawer.h +FORMS += ui/mainwindow.ui ui/slider.ui +SOURCES += src/main.cpp \ + src/slider.cpp \ + src/qtrackstate.cpp \ + src/qwpsstate.cpp \ + src/qwpseditorwindow.cpp \ + src/utils.cpp \ + src/qwpsdrawer.cpp \ + src/qwpsdrawer_static.cpp +LIBS += -Lbin +CONFIG(debug, debug|release) { + LIBS += -lQPropertyEditord + TARGET = wpseditord +} +CONFIG(release, debug|release) { + LIBS += -lQPropertyEditor + TARGET = wpseditor +} Index: gui/src/QPropertyEditor/QPropertyEditor.pro =================================================================== --- gui/src/QPropertyEditor/QPropertyEditor.pro (revision 18366) +++ gui/src/QPropertyEditor/QPropertyEditor.pro (working copy) @@ -1,26 +1,26 @@ -TEMPLATE = lib -CONFIG += staticlib debug_and_release -SOURCES = ColorCombo.cpp \ - Property.cpp \ - QPropertyEditorWidget.cpp \ - QPropertyModel.cpp \ - QVariantDelegate.cpp -HEADERS = ColorCombo.h \ - Property.h \ - QPropertyEditorWidget.h \ - QPropertyModel.h \ - QVariantDelegate.h -INCLUDEPATH += . -DESTDIR = ../../lib -UI_DIR = . -CONFIG(debug, debug|release) { - TARGET = QPropertyEditord - OBJECTS_DIR = ../../build/QPropertyEditor/debug - MOC_DIR = ../../build/QPropertyEditor/debug -} -CONFIG(release, debug|release) { - TARGET = QPropertyEditor - OBJECTS_DIR = ../../build/QPropertyEditor/release - MOC_DIR = ../../build/QPropertyEditor/release - DEFINES += QT_NO_DEBUG -} +TEMPLATE = lib +CONFIG += staticlib debug +SOURCES = ColorCombo.cpp \ + Property.cpp \ + QPropertyEditorWidget.cpp \ + QPropertyModel.cpp \ + QVariantDelegate.cpp +HEADERS = ColorCombo.h \ + Property.h \ + QPropertyEditorWidget.h \ + QPropertyModel.h \ + QVariantDelegate.h +INCLUDEPATH += . +DESTDIR = ../../lib +UI_DIR = . +CONFIG(debug, debug|release) { + TARGET = QPropertyEditord + OBJECTS_DIR = ../../build/QPropertyEditor/debug + MOC_DIR = ../../build/QPropertyEditor/debug +} +CONFIG(release, debug|release) { + TARGET = QPropertyEditor + OBJECTS_DIR = ../../build/QPropertyEditor/release + MOC_DIR = ../../build/QPropertyEditor/release + DEFINES += QT_NO_DEBUG +} Index: gui/src/qtrackstate.h =================================================================== --- gui/src/qtrackstate.h (revision 18366) +++ gui/src/qtrackstate.h (working copy) @@ -8,7 +8,7 @@ class QTrackState : public QObject { Q_OBJECT - Q_CLASSINFO ( "QTrackState", "Mp3 State" ); + Q_CLASSINFO ( "QTrackState", "Track State" ); Q_PROPERTY ( QString Title READ title WRITE setTitle DESIGNABLE true USER true ) Q_PROPERTY ( QString Artist READ artist WRITE setArtist DESIGNABLE true USER true ) Q_PROPERTY ( QString Album READ album WRITE setAlbum DESIGNABLE true USER true ) Index: gui/src/qwpsdrawer.cpp =================================================================== --- gui/src/qwpsdrawer.cpp (revision 18366) +++ gui/src/qwpsdrawer.cpp (working copy) @@ -14,34 +14,38 @@ proxy_api QWpsDrawer::api; QWpsDrawer::QWpsDrawer( QWpsState *ws,QTrackState *ms, QWidget *parent ) - : QWidget(parent),wpsState(ws),trackState(ms),showGrid(false),mTargetLibName("libwps") { + : QWidget(parent),wpsState(ws),trackState(ms),showGrid(false),mCurTarget("h10_5gb") { tryResolve(); - memset(&api,0,sizeof(struct proxy_api)); - - api.verbose = 2; - api.putsxy = &QWpsDrawer::putsxy; - api.transparent_bitmap_part = &QWpsDrawer::transparent_bitmap_part; - api.bitmap_part = &QWpsDrawer::bitmap_part; - api.drawpixel = &QWpsDrawer::drawpixel; - api.fillrect = &QWpsDrawer::fillrect; - api.hline = &QWpsDrawer::hline; - api.vline = &QWpsDrawer::vline; - api.clear_viewport = &QWpsDrawer::clear_viewport; - api.load_wps_backdrop = &QWpsDrawer::load_wps_backdrop; - api.read_bmp_file = &QWpsDrawer::read_bmp_file; - api.debugf = &qlogger; newTempWps(); } bool QWpsDrawer::tryResolve() { - QLibrary lib(qApp->applicationDirPath()+"/"+mTargetLibName); - wps_init = (pfwps_init)lib.resolve("wps_init"); - wps_display = (pfwps_display)lib.resolve("wps_display"); - wps_refresh = (pfwps_refresh)lib.resolve("wps_refresh"); - mResolved = wps_init && wps_display && wps_refresh; + QLibrary lib(qApp->applicationDirPath()+"/libwps_"+mCurTarget); + lib_wps_init = (pfwps_init)lib.resolve("wps_init"); + lib_wps_display = (pfwps_display)lib.resolve("wps_display"); + lib_wps_refresh = (pfwps_refresh)lib.resolve("wps_refresh"); + lib_get_model_name = (pfget_model_name)lib.resolve("get_model_name"); + mResolved = lib_wps_init && lib_wps_display && lib_wps_refresh && lib_get_model_name; if (!mResolved) DEBUGF1(tr("ERR: Failed to resolve funcs!")); + else { + int v = api.verbose; + memset(&api,0,sizeof(struct proxy_api)); + api.verbose = v; + api.putsxy = &QWpsDrawer::putsxy; + api.transparent_bitmap_part = &QWpsDrawer::transparent_bitmap_part; + api.bitmap_part = &QWpsDrawer::bitmap_part; + api.drawpixel = &QWpsDrawer::drawpixel; + api.fillrect = &QWpsDrawer::fillrect; + api.hline = &QWpsDrawer::hline; + api.vline = &QWpsDrawer::vline; + api.clear_viewport = &QWpsDrawer::clear_viewport; + api.load_wps_backdrop = &QWpsDrawer::load_wps_backdrop; + api.read_bmp_file = &QWpsDrawer::read_bmp_file; + api.debugf = &qlogger; + qDebug()<<(qApp->applicationDirPath()+"/libwps_"+mCurTarget+" resolved"); + } return mResolved; } QWpsDrawer::~QWpsDrawer() { @@ -69,7 +73,6 @@ } void QWpsDrawer::WpsInit(QString buffer, bool isFile) { - if (!mResolved) if (!tryResolve()) return; @@ -87,22 +90,24 @@ if (tfile.open(QIODevice::WriteOnly | QIODevice::Text)) tfile.write(mWpsString.toAscii(),mWpsString.length()); } - + backdrop.fill(Qt::black); + DEBUGF3("clear backdrop"); if (isFile) - wps_init(buffer.toAscii(), &api, isFile); + lib_wps_init(buffer.toAscii(), &api, isFile); else - wps_init(QString(mTmpWpsString+".wps").toAscii(), &api, true); + lib_wps_init(QString(mTmpWpsString+".wps").toAscii(), &api, true); pix = new QPixmap(api.getwidth(),api.getheight()); + pix->fill(Qt::black); drawBackdrop(); setMinimumWidth(api.getwidth()); setMinimumHeight(api.getheight()); - update(); } void QWpsDrawer::paintEvent(QPaintEvent * event) { + DEBUGF3("QWpsDrawer::paintEvent()"); if (!mResolved) return; if (pix==NULL) @@ -111,7 +116,7 @@ QRect rect = event->rect(); drawBackdrop(); - wps_refresh(); + lib_wps_refresh(); if (showGrid) { QPainter g(pix); @@ -172,10 +177,11 @@ } void QWpsDrawer::drawBackdrop() { + DEBUGF3("QWpsDrawer::drawBackdrop()"); QPainter b(pix); QImage pink = backdrop.createMaskFromColor(qRgb(255,0,255),Qt::MaskOutColor); backdrop.setAlphaChannel(pink); - b.drawImage(0,0,backdrop); + b.drawImage(0,0,backdrop,0,0,pix->width(),pix->height()); } void QWpsDrawer::slotSetAudioStatus(int status) { @@ -198,3 +204,35 @@ cleanTemp(); event->accept(); } + +QString QWpsDrawer::getModelName(QString libraryName) { + QLibrary lib(libraryName); + if ((pfget_model_name)lib.resolve("get_model_name")) + return ((pfget_model_name)lib.resolve("get_model_name"))(); + DEBUGF1("ERR: failed to resolve "); + return "unknown"; +} + +QList QWpsDrawer::getTargets() { + QList list ; + QDir d = QDir(qApp->applicationDirPath()); + QFileInfoList libs = d.entryInfoList(QStringList("libwps*")); + qDebug() << libs.size()<<"libs found"; + for (int i = 0; i < libs.size(); i++) { + QString modelName = getModelName(libs[i].fileName()); + qDebug() << libs[i].fileName()<applicationDirPath()+"/libwps_"+mCurTarget); + //lib.unload(); + if (getModelName("libwps_"+target)!="unknown") { + mCurTarget = target; + return tryResolve(); + } + return false; +} Index: gui/src/qwpsdrawer.h =================================================================== --- gui/src/qwpsdrawer.h (revision 18366) +++ gui/src/qwpsdrawer.h (working copy) @@ -13,13 +13,15 @@ typedef int (*pfwps_init)(const char* buff,struct proxy_api *api, bool isfile); typedef int (*pfwps_display)(); typedef int (*pfwps_refresh)(); +typedef const char* (*pfget_model_name)(); class QWpsDrawer : public QWidget { Q_OBJECT - pfwps_init wps_init; - pfwps_display wps_display; - pfwps_refresh wps_refresh; + pfwps_init lib_wps_init; + pfwps_display lib_wps_display; + pfwps_refresh lib_wps_refresh; + pfget_model_name lib_get_model_name; static QPixmap *pix; static QImage backdrop; @@ -30,7 +32,7 @@ bool showGrid; bool mResolved; QString mWpsString; - QString mTargetLibName; + QString mCurTarget; static QString mTmpWpsString; @@ -42,6 +44,7 @@ void newTempWps(); void cleanTemp(bool fileToo=true); bool tryResolve(); + QString getModelName(QString libraryName); public: QWpsDrawer(QWpsState *ws,QTrackState *ms, QWidget *parent=0); ~QWpsDrawer(); @@ -53,6 +56,8 @@ QString tempWps() const { return mTmpWpsString; }; + QList getTargets(); + bool setTarget(QString target); static proxy_api api; @@ -73,7 +78,6 @@ public slots: void slotSetVolume(); void slotSetProgress(); - void slotShowGrid(bool); void slotWpsStateChanged(wpsstate); void slotTrackStateChanged(trackstate); Index: gui/src/qwpsdrawer_static.cpp =================================================================== --- gui/src/qwpsdrawer_static.cpp (revision 18366) +++ gui/src/qwpsdrawer_static.cpp (working copy) @@ -5,12 +5,11 @@ #include "utils.h" void QWpsDrawer::putsxy(int x, int y, const unsigned char *str) { + DEBUGF3("putsxy(int x=%d, int y=%d, *str=%s)",x,y,str); QPainter p(pix); viewport_api avp; api.get_current_vp(&avp); p.setPen(Qt::gray); - - QFont font("times",avp.fontheight,QFont::Bold); p.setFont(font); p.drawText(x+avp.x,y + avp.fontheight + avp.y,(char*)str); @@ -54,7 +53,7 @@ p.drawLine(x,y1,x,y2); } bool QWpsDrawer::load_wps_backdrop(char* filename) { - DEBUGF2("load backdrop: %s", filename); + DEBUGF3("load backdrop: %s", filename); QFile file(filename); QFileInfo info(file); file.copy(mTmpWpsString+"/"+info.fileName()); @@ -70,7 +69,6 @@ file.copy(mTmpWpsString+"/"+info.fileName()); img.load(filename); - //qDebug()<<"QWpsDrawer::read_bmp_file"<document(), SIGNAL(modificationChanged(bool)), SLOT(slotPlainDocModChanged(bool))); + connect(actUpdatePlainWps, SIGNAL(triggered()), SLOT(slotUpdatePlainWps())); + connect(plainWpsEdit->document(),SIGNAL(modificationChanged(bool)),SLOT(slotPlainDocModChanged(bool))); - connect(&wpsState, SIGNAL(stateChanged(wpsstate)), drawer, SLOT(slotWpsStateChanged(wpsstate))); - connect(&trackState, SIGNAL(stateChanged(trackstate)), drawer, SLOT(slotTrackStateChanged(trackstate))); - connect(&wpsState, SIGNAL(stateChanged(wpsstate)), this, SLOT(slotWpsStateChanged(wpsstate))); - connect(&trackState, SIGNAL(stateChanged(trackstate)), this, SLOT(slotTrackStateChanged(trackstate))); + connect(&wpsState, SIGNAL(stateChanged(wpsstate)), drawer, SLOT(slotWpsStateChanged(wpsstate))); + connect(&trackState, SIGNAL(stateChanged(trackstate)), drawer, SLOT(slotTrackStateChanged(trackstate))); + connect(&wpsState, SIGNAL(stateChanged(wpsstate)), this, SLOT(slotWpsStateChanged(wpsstate))); + connect(&trackState, SIGNAL(stateChanged(trackstate)), this, SLOT(slotTrackStateChanged(trackstate))); - connect(actClearLog, SIGNAL(triggered()), logEdit, SLOT(clear())); + connect(actClearLog, SIGNAL(triggered()), logEdit, SLOT(clear())); connect(actVerboseLevel, SIGNAL(triggered()), SLOT(slotVerboseLevel())); actGroupAudios = new QActionGroup(this); - signalMapper = new QSignalMapper(this); + audiosSignalMapper = new QSignalMapper(this); for (int i=0;isetCheckable(true); actGroupAudios->addAction(act); - connect(act,SIGNAL(triggered()),signalMapper,SLOT(map())); - signalMapper->setMapping(act, i); + connect(act,SIGNAL(triggered()),audiosSignalMapper,SLOT(map())); + audiosSignalMapper->setMapping(act, i); menuPlay->addAction(act); actAudios[playmodes[i]] = act; } - connect(signalMapper, SIGNAL(mapped(int)), SIGNAL(signalAudioStatusChanged(int))); - connect(this, SIGNAL(signalAudioStatusChanged(int)), drawer, SLOT(slotSetAudioStatus(int))); + connect(audiosSignalMapper, SIGNAL(mapped(int)), SIGNAL(signalAudioStatusChanged(int))); + connect(this, SIGNAL(signalAudioStatusChanged(int)), drawer, SLOT(slotSetAudioStatus(int))); actGroupAudios->setEnabled(false); + + QList targets = drawer->getTargets(); + actGroupTargets = new QActionGroup(this); + targetsSignalMapper = new QSignalMapper(this); + + for (int i=0;isetCheckable(true); + actGroupTargets->addAction(act); + connect(act,SIGNAL(triggered()),targetsSignalMapper,SLOT(map())); + targetsSignalMapper->setMapping(act, targets[i]); + menuTarget->addAction(act); + actTargets[targets[i]] = act; + } + connect(targetsSignalMapper, SIGNAL(mapped(const QString &)),this, SIGNAL(signalSetTarget(const QString &))); + connect(this, SIGNAL(signalSetTarget(const QString &)),this, SLOT(slotSetTarget(const QString &))); } void QWpsEditorWindow::slotWpsStateChanged(wpsstate) { @@ -89,7 +105,7 @@ drawer->WpsInit(wpsfile); plainWpsEdit->clear(); plainWpsEdit->append(drawer->wpsString()); - trackState.setAlbum(trackState.album()); + trackState.setAlbum(trackState.album()); ////updating property editor actGroupAudios->setEnabled(true); } @@ -108,7 +124,9 @@ DEBUGF1(tr("Updating WPS")); plainWpsEdit->document()->setModified(false); drawer->WpsInit(plainWpsEdit->toPlainText(),false); - + m_propertyEditor->setEnabled(true); + actGroupAudios->setEnabled(true); + trackState.setAlbum(trackState.album()); //updating property editor } void QWpsEditorWindow::slotPlainDocModChanged(bool changed) { @@ -117,4 +135,14 @@ else dockPlainWps->setWindowTitle(tr("PlainWps")); } +void QWpsEditorWindow::slotSetTarget(const QString & target) { + if (drawer->setTarget(target)) { + DEBUGF1(tr("New target <%1> switched").arg(target)); + actTargets[target]->setChecked(true); + } else + DEBUGF1(tr("ERR: Target <%1> failed!").arg(target)); + update(); + slotUpdatePlainWps(); +} + Index: gui/src/qwpseditorwindow.h =================================================================== --- gui/src/qwpseditorwindow.h (revision 18366) +++ gui/src/qwpseditorwindow.h (working copy) @@ -17,9 +17,13 @@ QPointer drawer; QHash actAudios; - QActionGroup *actGroupAudios; - QSignalMapper *signalMapper; + QActionGroup *actGroupAudios; + QSignalMapper *audiosSignalMapper; + QHash actTargets; + QActionGroup *actGroupTargets; + QSignalMapper *targetsSignalMapper; + protected: void connectActions(); public: @@ -33,9 +37,11 @@ void slotUpdatePlainWps(); void slotPlainDocModChanged(bool m); + void slotSetTarget(const QString &); signals: void signalAudioStatusChanged(int); + void signalSetTarget(const QString &); }; #endif Index: gui/src/slider.cpp =================================================================== --- gui/src/slider.cpp (revision 18366) +++ gui/src/slider.cpp (working copy) @@ -1,11 +1,11 @@ #include "slider.h" #include // -Slider::Slider(QWidget *parent, QString caption, int min, int max ):QDialog(parent) { +Slider::Slider(QWidget *parent, QString caption, int min, int max ):QDialog(parent),mCaption(caption) { setupUi ( this ); connect(horslider, SIGNAL(valueChanged(int)), this, SIGNAL(valueChanged(int))); connect(this, SIGNAL(valueChanged(int)), this, SLOT(slotValueChanged(int))); - setWindowTitle(caption); + setWindowTitle(mCaption); horslider->setMinimum(min); horslider->setMaximum(max); } @@ -14,7 +14,7 @@ return horslider->value(); } void Slider::slotValueChanged(int step) { - setWindowTitle(tr("Value =%1 ").arg(step)); + setWindowTitle(tr("%1 = %2 ").arg(mCaption).arg(step)); } Index: gui/src/slider.h =================================================================== --- gui/src/slider.h (revision 18366) +++ gui/src/slider.h (working copy) @@ -7,6 +7,7 @@ // class Slider : public QDialog , Ui::slider { Q_OBJECT + QString mCaption; public slots: void slotValueChanged(int step); signals: Index: gui/src/utils.h =================================================================== --- gui/src/utils.h (revision 18366) +++ gui/src/utils.h (working copy) @@ -5,6 +5,7 @@ #define DEBUGF1 qlogger #define DEBUGF2(...) +#define DEBUGF3(...) extern int qlogger(const char* fmt,...); extern int qlogger(const QString& s); Index: gui/ui/mainwindow.ui =================================================================== --- gui/ui/mainwindow.ui (revision 18366) +++ gui/ui/mainwindow.ui (working copy) @@ -15,10 +15,10 @@ - 260 - 21 - 344 - 345 + 262 + 19 + 340 + 346 @@ -28,7 +28,7 @@ 0 0 882 - 21 + 19 @@ -48,8 +48,14 @@ Play + + + Target + + + @@ -65,9 +71,9 @@ 0 - 370 + 371 882 - 280 + 279 @@ -86,9 +92,9 @@ 0 - 22 + 20 882 - 258 + 259 @@ -129,9 +135,9 @@ 0 - 21 + 19 256 - 345 + 346 @@ -147,9 +153,9 @@ 0 - 22 + 20 256 - 323 + 326 @@ -158,9 +164,9 @@ 608 - 21 + 19 274 - 345 + 346 @@ -179,9 +185,9 @@ 0 - 22 + 20 274 - 323 + 326 Index: libwps/Makefile =================================================================== --- libwps/Makefile (revision 18366) +++ libwps/Makefile (working copy) @@ -92,7 +92,7 @@ shared-w32: src/proxy.c $(COMMON) @echo CC [IRIVER_H10_5GB] - @$(CC) $(INCLUDE) $(CFLAGS) -DIRIVER_H10_5GB -DTARGET_MODEL=\"h10_5gb\" -DBUILD_DLL $(COMMON) -shared src/proxy.c -o ../gui/bin/libwps.dll + @$(CC) $(INCLUDE) $(CFLAGS) -DIRIVER_H10_5GB -DTARGET_MODEL=\"h10_5gb\" -DBUILD_DLL $(COMMON) -shared src/proxy.c -o ../gui/bin/libwps_h10_5gb.dll shared-linux: src/proxy.c $(COMMON) @echo CC [IRIVER_H10_5GB] Index: libwps/src/api.c =================================================================== --- libwps/src/api.c (revision 18366) +++ libwps/src/api.c (working copy) @@ -32,8 +32,7 @@ } int read_bmp_file(const char* filename,struct bitmap *bm, int maxsize,int format) { - if (!xapi->read_bmp_file) - { + if (!xapi->read_bmp_file) { DEBUGF1("can't read bmp file! NULL api!\n"); return -1; } @@ -84,7 +83,7 @@ return 1; } -void set_wpsstate(struct wpsstate state){ +void set_wpsstate(struct wpsstate state) { sysfont.height = state.fontheight; sysfont.maxwidth = state.fontwidth; global_settings.volume = state.volume; @@ -92,16 +91,17 @@ _audio_status = state.audio_status; } -void set_trackstate(struct trackstate state){ - gui_wps[0].state->id3->title = state.title; - gui_wps[0].state->id3->artist = state.artist; - gui_wps[0].state->id3->album = state.album; - gui_wps[0].state->id3->elapsed = state.elapsed; - gui_wps[0].state->id3->length = state.length; +void set_trackstate(struct trackstate state) { + if (gui_wps[0].state && gui_wps[0].state->id3) { + gui_wps[0].state->id3->title = state.title; + gui_wps[0].state->id3->artist = state.artist; + gui_wps[0].state->id3->album = state.album; + gui_wps[0].state->id3->elapsed = state.elapsed; + gui_wps[0].state->id3->length = state.length; + } } -void set_next_trackstate(struct trackstate state) -{ +void set_next_trackstate(struct trackstate state) { gui_wps[0].state->nid3->title = state.title; gui_wps[0].state->nid3->artist = state.artist; gui_wps[0].state->nid3->album = state.album; @@ -110,21 +110,21 @@ } enum api_playmode playmodes[PLAYMODES_NUM] = { - API_STATUS_PLAY, - API_STATUS_STOP, - API_STATUS_PAUSE, - API_STATUS_FASTFORWARD, - API_STATUS_FASTBACKWARD -}; + API_STATUS_PLAY, + API_STATUS_STOP, + API_STATUS_PAUSE, + API_STATUS_FASTFORWARD, + API_STATUS_FASTBACKWARD + }; const char *playmodeNames[] = { - "Play", "Stop", "Pause", "FastForward", "FastBackward" -}; + "Play", "Stop", "Pause", "FastForward", "FastBackward" + }; -void set_audio_status(int status){ +void set_audio_status(int status) { DEBUGF1("%s",playmodeNames[status]); - switch(status){ + switch (status) { case API_STATUS_PLAY: _audio_status = AUDIO_STATUS_PLAY; status_set_ffmode(STATUS_PLAY); @@ -203,8 +203,6 @@ #else screens[0].is_color=false; #endif - if (api->getwidth) - screens[0].getwidth = api->getwidth; if (api->stop_scroll) screens[0].stop_scroll=api->stop_scroll; screens[0].scroll_stop = lcd_scroll_stop; Index: libwps/src/proxy.c =================================================================== --- libwps/src/proxy.c (revision 18366) +++ libwps/src/proxy.c (working copy) @@ -69,7 +69,7 @@ int checkwps(const char *filename, int verbose){ int res; int fd; - + struct wps_data wps; wps_verbose_level = verbose; @@ -94,7 +94,7 @@ int wps_init(const char* filename,struct proxy_api *api, bool isfile){ int res; if (!api) - return 4; + return 4; dummies_init(); test_api(api); set_api(api); Index: libwps/src/proxy.h =================================================================== --- libwps/src/proxy.h (revision 18366) +++ libwps/src/proxy.h (working copy) @@ -9,14 +9,14 @@ #define DEBUGF1 dbgf #define DEBUGF2(...) #define DEBUGF3(...) +#define DEBUGF4(...) EXPORT int checkwps(const char *filename, int verbose); EXPORT int wps_init(const char* filename,struct proxy_api *api,bool isfile); EXPORT int wps_display(); EXPORT int wps_refresh(); +EXPORT const char* get_model_name(); -const char* get_model_name(); - extern struct screen screens[NB_SCREENS]; extern bool debug_wps; extern int wps_verbose_level; Index: TODO =================================================================== --- TODO (revision 18366) +++ TODO (working copy) @@ -5,3 +5,4 @@ * Replace checkwps functionality * Include 'screenshot utility' functionality * Make editing via gui +* Use native rockbox fonts Index: wpseditor.pro =================================================================== --- wpseditor.pro (revision 18366) +++ wpseditor.pro (working copy) @@ -1,2 +1,2 @@ -SUBDIRS =gui/src/QPropertyEditor gui -TEMPLATE = subdirs +SUBDIRS =gui/src/QPropertyEditor gui +TEMPLATE = subdirs