• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • arts
 

arts

  • arts
  • kde
kconverttest.cc
1 #include <stdio.h>
2 
3 #include <tqfile.h>
4 #include <tqobject.h>
5 
6 #include <klocale.h>
7 #include <kaboutdata.h>
8 #include <kcmdlineargs.h>
9 #include <kapplication.h>
10 
11 #include <flowsystem.h>
12 #include <kplayobject.h>
13 #include <kartsdispatcher.h>
14 #include <kplayobjectfactory.h>
15 #include <kaudioconverter.h>
16 #include "kconverttest.moc"
17 
18 using namespace std;
19 using namespace Arts;
20 
21 static KCmdLineOptions options[] =
22 {
23  { "+[URL]", I18N_NOOP("URL to open"), 0 },
24  KCmdLineLastOption
25 };
26 
27 KConvertTest::KConvertTest()
28 {
29 }
30 
31 void KConvertTest::slotRawStreamStart()
32 {
33 // cout << "[START]\n\n" << endl;
34 }
35 
36 void KConvertTest::slotNewBlockSize(long blockSize)
37 {
38  m_blockSize = blockSize;
39 }
40 
41 void KConvertTest::slotNewBlockPointer(long blockPointer)
42 {
43  m_blockPointer = blockPointer;
44 }
45 
46 void KConvertTest::slotNewData()
47 {
48  fwrite((void *) m_blockPointer, 1, m_blockSize, stdout);
49 }
50 
51 void KConvertTest::slotRawStreamFinished()
52 {
53 // cout << "\n\n[END]" << endl;
54 }
55 
56 int main(int argc, char **argv)
57 {
58  KAboutData aboutData("kconverttest", I18N_NOOP("KConvertTest"), I18N_NOOP("0.1"), "", KAboutData::License_GPL, "");
59 
60  KCmdLineArgs::init(argc, argv, &aboutData);
61  KCmdLineArgs::addCmdLineOptions(options);
62  KApplication app;
63 
64  KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
65 
66  KURL url;
67 
68  if(args->count())
69  url = args->arg(0);
70  else
71  exit(1);
72 
73  args->clear();
74 
75  KConvertTest *get = new KConvertTest();
76 
77  KArtsDispatcher dispatcher;
78  KAudioConverter converter;
79 
80  // FIXME: crashes
81  // converter.setup(44100);
82  converter.requestPlayObject(url);
83 
84  TQObject::connect(&converter, TQT_SIGNAL(rawStreamStart()), get, TQT_SLOT(slotRawStreamStart()));
85 
86  TQObject::connect(&converter, TQT_SIGNAL(newBlockSize(long)), get, TQT_SLOT(slotNewBlockSize(long)));
87  TQObject::connect(&converter, TQT_SIGNAL(newBlockPointer(long)), get, TQT_SLOT(slotNewBlockPointer(long)));
88  TQObject::connect(&converter, TQT_SIGNAL(newData()), get, TQT_SLOT(slotNewData()));
89 
90  TQObject::connect(&converter, TQT_SIGNAL(rawStreamFinished()), get, TQT_SLOT(slotRawStreamFinished()));
91 
92  converter.start();
93 
94  app.exec();
95 }
96 
KURL
KApplication
KArtsDispatcher
KArtsDispatcher ensures that an instance of Arts::Dispatcher using an Arts::QIOManager exists...
Definition: kartsdispatcher.h:64
KCmdLineArgs
KCmdLineArgs::parsedArgs
static KCmdLineArgs * parsedArgs(const char *id=0)
std
klocale.h
KCmdLineArgs::count
int count() const
KCmdLineOptions
I18N_NOOP
#define I18N_NOOP(x)
Arts
Definition: kartsdispatcher.h:29
KAboutData
KCmdLineArgs::init
static void init(int _argc, char **_argv, const char *_appname, const char *programName, const char *_description, const char *_version, bool noKApp=false)
KCmdLineArgs::addCmdLineOptions
static void addCmdLineOptions(const KCmdLineOptions *options, const char *name=0, const char *id=0, const char *afterId=0)
KCmdLineArgs::arg
const char * arg(int n) const
KCmdLineArgs::clear
void clear()

arts

Skip menu "arts"
  • Main Page
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

arts

Skip menu "arts"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for arts by doxygen 1.8.8
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |