kconverttest.cc00001 #include <stdio.h>
00002
00003 #include <qfile.h>
00004 #include <qobject.h>
00005
00006 #include <klocale.h>
00007 #include <kaboutdata.h>
00008 #include <kcmdlineargs.h>
00009 #include <kapplication.h>
00010
00011 #include <flowsystem.h>
00012 #include <kplayobject.h>
00013 #include <kartsdispatcher.h>
00014 #include <kplayobjectfactory.h>
00015 #include <kaudioconverter.h>
00016 #include "kconverttest.moc"
00017
00018 using namespace std;
00019 using namespace Arts;
00020
00021 static KCmdLineOptions options[] =
00022 {
00023 { "+[URL]", I18N_NOOP("URL to open"), 0 },
00024 KCmdLineLastOption
00025 };
00026
00027 KConvertTest::KConvertTest()
00028 {
00029 }
00030
00031 void KConvertTest::slotRawStreamStart()
00032 {
00033
00034 }
00035
00036 void KConvertTest::slotNewBlockSize(long blockSize)
00037 {
00038 m_blockSize = blockSize;
00039 }
00040
00041 void KConvertTest::slotNewBlockPointer(long blockPointer)
00042 {
00043 m_blockPointer = blockPointer;
00044 }
00045
00046 void KConvertTest::slotNewData()
00047 {
00048 fwrite((void *) m_blockPointer, 1, m_blockSize, stdout);
00049 }
00050
00051 void KConvertTest::slotRawStreamFinished()
00052 {
00053
00054 }
00055
00056 int main(int argc, char **argv)
00057 {
00058 KAboutData aboutData("kconverttest", I18N_NOOP("KConvertTest"), I18N_NOOP("0.1"), "", KAboutData::License_GPL, "");
00059
00060 KCmdLineArgs::init(argc, argv, &aboutData);
00061 KCmdLineArgs::addCmdLineOptions(options);
00062 KApplication app;
00063
00064 KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
00065
00066 KURL url;
00067
00068 if(args->count())
00069 url = args->arg(0);
00070 else
00071 exit(1);
00072
00073 args->clear();
00074
00075 KConvertTest *get = new KConvertTest();
00076
00077 KArtsDispatcher dispatcher;
00078 KAudioConverter converter;
00079
00080
00081
00082 converter.requestPlayObject(url);
00083
00084 QObject::connect(&converter, SIGNAL(rawStreamStart()), get, SLOT(slotRawStreamStart()));
00085
00086 QObject::connect(&converter, SIGNAL(newBlockSize(long)), get, SLOT(slotNewBlockSize(long)));
00087 QObject::connect(&converter, SIGNAL(newBlockPointer(long)), get, SLOT(slotNewBlockPointer(long)));
00088 QObject::connect(&converter, SIGNAL(newData()), get, SLOT(slotNewData()));
00089
00090 QObject::connect(&converter, SIGNAL(rawStreamFinished()), get, SLOT(slotRawStreamFinished()));
00091
00092 converter.start();
00093
00094 app.exec();
00095 }
00096
|