diff options
Diffstat (limited to 'client')
| -rw-r--r-- | client/.cvsignore | 6 | ||||
| -rw-r--r-- | client/Makefile.am | 2 | ||||
| -rw-r--r-- | client/cprlisten.cc | 15 | ||||
| -rw-r--r-- | client/cprlisten.h | 5 | ||||
| -rw-r--r-- | client/cprquerydialog.cc | 7 | ||||
| -rw-r--r-- | client/cprquerydialog.h | 7 | ||||
| -rw-r--r-- | client/decoder.cc | 6 | ||||
| -rw-r--r-- | client/dv1394.cc | 11 | ||||
| -rw-r--r-- | client/dv1394.h | 3 | ||||
| -rw-r--r-- | client/dvfile.cc | 7 | ||||
| -rw-r--r-- | client/dvfile.h | 3 | ||||
| -rw-r--r-- | client/info_gui.cc | 50 | ||||
| -rw-r--r-- | client/info_gui.h | 22 | ||||
| -rw-r--r-- | client/mainwindow.cc | 76 | ||||
| -rw-r--r-- | client/mainwindow.h | 9 | ||||
| -rw-r--r-- | client/messagebox.cc | 6 | ||||
| -rw-r--r-- | client/messagebox.h | 4 | ||||
| -rw-r--r-- | client/miav_client.cc | 32 | ||||
| -rw-r--r-- | client/miav_client.h | 42 | ||||
| -rw-r--r-- | client/networksender.cc | 6 | ||||
| -rw-r--r-- | client/player.cc | 6 | ||||
| -rw-r--r-- | client/player.h | 2 | ||||
| -rw-r--r-- | client/videowidget.cc | 9 | ||||
| -rw-r--r-- | client/videowidget.h | 6 | ||||
| -rw-r--r-- | client/yuv_draw.cc | 3 | 
25 files changed, 140 insertions, 205 deletions
| diff --git a/client/.cvsignore b/client/.cvsignore new file mode 100644 index 0000000..7d0bef6 --- /dev/null +++ b/client/.cvsignore @@ -0,0 +1,6 @@ +*.moc.cc +Makefile +Makefile.in +.deps +.libs +miav_client diff --git a/client/Makefile.am b/client/Makefile.am index 001916c..803bf51 100644 --- a/client/Makefile.am +++ b/client/Makefile.am @@ -28,7 +28,6 @@ EXTRA_DIST = \  	config.h \  	cprlisten.h \  	cprquerydialog.h \ -	debug.h \  	decoder.h \  	dv1394.h \  	dvfile.h \ @@ -37,7 +36,6 @@ EXTRA_DIST = \  	info_gui.h \  	mainwindow.h \  	messagebox.h \ -	miav_client.h \  	player.h \  	videowidget.h \  	yuv_draw.h diff --git a/client/cprlisten.cc b/client/cprlisten.cc index 0a4958e..4c1272e 100644 --- a/client/cprlisten.cc +++ b/client/cprlisten.cc @@ -32,11 +32,12 @@  #include <string>  using namespace std; +#include "info.h" +  #define MAGIC_STOP_STRING "SHUTTHEFUCKUP" -CPRListen::CPRListen(Info *info, unsigned short port) +CPRListen::CPRListen(unsigned short port)  { -	this->info = info;  	this->port = port;  	cpr = "N/A";  	cprchanged = false; @@ -55,13 +56,13 @@ void CPRListen::stop()  		socket.connect("localhost", port);  		socket.send_string(MAGIC_STOP_STRING);  	} catch(Network_error &e) { -		info->error("In stop(): %s.", e.error.c_str()); +		gInfo::info->error("In stop(): %s.", e.error.c_str());  	}  }  void CPRListen::thread_main()  { -	info->log("Listening for CPRs."); +	gInfo::info->log("Listening for CPRs.");  	while(running) {  		try {  			string newcpr; @@ -76,15 +77,15 @@ void CPRListen::thread_main()  				cprchanged = true;  				cpr = newcpr;  				mutex.unlock(); -				info->log("Got CPR: %s.", cpr.c_str()); +				gInfo::info->log("Got CPR: %s.", cpr.c_str());  			}  		} catch(Network_error &e) { -			info->error("In thread_main(): %s.", e.error.c_str()); +			gInfo::info->error("In thread_main(): %s.", e.error.c_str());  			running = false;  		}  	} -	info->log("Stopped listening for CPRs."); +	gInfo::info->log("Stopped listening for CPRs.");  }  bool CPRListen::cprChanged() diff --git a/client/cprlisten.h b/client/cprlisten.h index 012fe4c..22cc742 100644 --- a/client/cprlisten.h +++ b/client/cprlisten.h @@ -34,11 +34,10 @@  #include "mutex.h"  #include "aa_socket.h" -#include "info.h"  class CPRListen: public Thread {  public: -	CPRListen(Info *info, unsigned short port); +	CPRListen(unsigned short port);  	~CPRListen();  	bool cprChanged(); @@ -48,8 +47,6 @@ public:  	void stop(); // Stops the call to listen  private: -	Info *info; -  	volatile bool running;  	AASocket *socket; diff --git a/client/cprquerydialog.cc b/client/cprquerydialog.cc index 15e00d1..1461943 100644 --- a/client/cprquerydialog.cc +++ b/client/cprquerydialog.cc @@ -33,8 +33,7 @@  #include "cprquerydialog.h"  #include "miav_config.h" -CPRQueryDialog::CPRQueryDialog(Info *info, -                               QLabel *lcpr, +CPRQueryDialog::CPRQueryDialog(QLabel *lcpr,                                 QLabel *lname,                                 QWidget *parent,                                  const char *name,  @@ -42,7 +41,6 @@ CPRQueryDialog::CPRQueryDialog(Info *info,  	: QDialog(parent)  {    setModal(true); -  this->info = info;    setWindowTitle(name);    // Load image @@ -118,7 +116,7 @@ CPRQueryDialog::CPRQueryDialog(Info *info,  	this->move(175,150); -  listen = new CPRListen(info, config->readInt("cprlisten_port")); +  listen = new CPRListen(config->readInt("cprlisten_port"));    listen_timer = new QTimer(this);    connect(listen_timer, SIGNAL(timeout()), SLOT(listen_timeout()));    listen->run(); @@ -381,7 +379,6 @@ void CPRQueryDialog::cprSocket_error(int errnum)    if(statusbar) statusbar->showMessage(msg, 5000);    MessageBox(this, "Fejl", msg.toStdString().c_str(), TYPE_OK, ICON_ERROR).exec(); -  //info->error(msg.c_str());    accept();  } diff --git a/client/cprquerydialog.h b/client/cprquerydialog.h index c70206e..1c4d67b 100644 --- a/client/cprquerydialog.h +++ b/client/cprquerydialog.h @@ -71,13 +71,10 @@ using namespace std;  #include "cprlisten.h" -#include "info.h" -  class CPRQueryDialog : public QDialog {    Q_OBJECT  public: -  CPRQueryDialog(Info *info, -                 QLabel *lcpr,  +  CPRQueryDialog(QLabel *lcpr,                    QLabel *lname,                    QWidget * parent = 0,                    const char * name = 0, @@ -98,8 +95,6 @@ public slots:  private: -  Info *info; -    CPRListen *listen;    QTimer *listen_timer; diff --git a/client/decoder.cc b/client/decoder.cc index f99dd00..f90e1dd 100644 --- a/client/decoder.cc +++ b/client/decoder.cc @@ -27,6 +27,8 @@  #include "config.h"  #include "decoder.h" +#include "info.h" +  Decoder::Decoder()  {} @@ -34,5 +36,7 @@ Decoder::~Decoder()  {}  void Decoder::run() -{} +{ +  gInfo::info->info("The decoder thread is running."); +} diff --git a/client/dv1394.cc b/client/dv1394.cc index 270da2e..611d815 100644 --- a/client/dv1394.cc +++ b/client/dv1394.cc @@ -40,7 +40,7 @@  #include <fcntl.h>  #include <errno.h> - +#include "info.h"  /**   * Callback function for the firewire interface. @@ -107,9 +107,8 @@ static int raw_reader( raw1394handle_t handle, int channel, size_t length, quadl  	return 0;  } -dv1394::dv1394(Info *i, int p, int c) +dv1394::dv1394(int p, int c)  { -  info = i;    port = p;    channel = c;  } @@ -128,13 +127,13 @@ bool dv1394::connect()    // Get handle to firewire channels  	handle = raw1394_new_handle();  	if(!handle) { -    info->error("raw1394 - failed to get handle: %s.", strerror( errno ) ); +    gInfo::info->error("raw1394 - failed to get handle: %s.", strerror( errno ) );      return false;  	}    // how many adapters are hooked in?  	if((n_ports = raw1394_get_port_info(handle, pinf, 16)) < 0 ) { -    info->error("raw1394 - failed to get port info: %s.", strerror( errno ) ); +    gInfo::info->error("raw1394 - failed to get port info: %s.", strerror( errno ) );      raw1394_destroy_handle(handle);      handle = NULL;      return false; @@ -142,7 +141,7 @@ bool dv1394::connect()  	// Tell raw1394 which host adapter to use  	if(raw1394_set_port(handle, port) < 0 ) { -    info->error("raw1394 - failed to set port: %s.", strerror( errno ) ); +    gInfo::info->error("raw1394 - failed to set port: %s.", strerror( errno ) );      raw1394_destroy_handle(handle);      handle = NULL;      return false; diff --git a/client/dv1394.h b/client/dv1394.h index 7cea9d0..c7f0711 100644 --- a/client/dv1394.h +++ b/client/dv1394.h @@ -37,7 +37,7 @@  class dv1394 : public frame_stream {  public: -  dv1394(Info* info, int port = 0, int channel = 63); // 63 is default channel... sucks. +  dv1394(int port = 0, int channel = 63); // 63 is default channel... sucks.    ~dv1394();    bool connect(); @@ -46,7 +46,6 @@ public:  private:    raw1394handle_t handle; -  Info *info;    int port;    int channel;  }; diff --git a/client/dvfile.cc b/client/dvfile.cc index 7d83255..8caecc0 100644 --- a/client/dvfile.cc +++ b/client/dvfile.cc @@ -30,11 +30,12 @@  #include "dv.h"  #include "util.h" -dvfile::dvfile(Info* i) +#include "info.h" + +dvfile::dvfile()  { -  info = i;    fp = fopen(TEST_MOVIE, "r"); -  if(!fp) info->error("Couldn't open %s for reading.", TEST_MOVIE); +  if(!fp) gInfo::info->error("Couldn't open %s for reading.", TEST_MOVIE);  }  dvfile::~dvfile() diff --git a/client/dvfile.h b/client/dvfile.h index dc91a14..72d4bec 100644 --- a/client/dvfile.h +++ b/client/dvfile.h @@ -38,13 +38,12 @@  class dvfile : public frame_stream {  public: -  dvfile(Info* info); +  dvfile();    ~dvfile();    unsigned char *readFrame();  private: -  Info* info;    FILE* fp;  }; diff --git a/client/info_gui.cc b/client/info_gui.cc index aa831b6..f836a92 100644 --- a/client/info_gui.cc +++ b/client/info_gui.cc @@ -37,10 +37,13 @@  bool InfoEventHandler::eventFilter( QObject *o, QEvent *e )  {    if ( e->type() == TYPE_SHOW_MESSAGEBOX ) { -    //    fprintf(stderr, "Custom event!\n"); fflush(stderr); -    MessageBox *msgbox = ((ShowMessageEvent*)e)->messagebox(); -    msgbox->exec(); -    delete msgbox; +    ShowMessageEvent *msgevt = (ShowMessageEvent*)e; +    MessageBox msgbox(NULL, +                      msgevt->title(), +                      msgevt->message(), +                      TYPE_OK, +                      msgevt->icon()); +    msgbox.exec();      return TRUE; // eat event    } else {      // standard event processing @@ -48,54 +51,33 @@ bool InfoEventHandler::eventFilter( QObject *o, QEvent *e )    }  } -InfoGui::InfoGui(QApplication *a, QWidget *p, MiavConfig *c): Info() +InfoGui::InfoGui(MiavConfig *c): Info()  {    this->config = c;    log_filename = *(this->config->readString("client_log_file")); -  qapp = a; -  parent = p; +  InfoEventHandler *eventhandler = new InfoEventHandler(); +  qApp->installEventFilter( eventhandler ); -  pthread_mutex_init (&mutex, NULL); +  //  pthread_mutex_init (&mutex, NULL);  }  InfoGui::~InfoGui()  { -  pthread_mutex_destroy(&mutex); -} - -void InfoGui::setParent(QWidget *p) -{ -  parent = p; +  // pthread_mutex_destroy(&mutex);  }  void InfoGui::showmsg(char *msg, char *title, msg_icon icon)  { -  pthread_mutex_lock(&mutex); +  //  pthread_mutex_lock(&mutex);    // Beginning of safezone -  fprintf(stderr, "%s: %s\n", title, msg); fflush(stderr); - -  while( !parent ) { -    struct timespec ts; - -    ts.tv_sec = 0; -    ts.tv_nsec = 200000000L;	// 200ms -    nanosleep(&ts, NULL); -  } - -  MessageBox *msgbox = new MessageBox(parent,  -                                      title, -                                      msg,  -                                      TYPE_OK,  -                                      icon); - -  ShowMessageEvent *event = new ShowMessageEvent( msgbox ); +  ShowMessageEvent *event = new ShowMessageEvent(msg, title, icon); -  qapp->postEvent(parent, event); +  qApp->postEvent(qApp, event);    // End of safezone -  pthread_mutex_unlock(&mutex); +  //  pthread_mutex_unlock(&mutex);  }  void InfoGui::error(char *fmt, ...) diff --git a/client/info_gui.h b/client/info_gui.h index a607c0f..e429e87 100644 --- a/client/info_gui.h +++ b/client/info_gui.h @@ -51,13 +51,18 @@  class ShowMessageEvent : public QEvent {  public: -  ShowMessageEvent( MessageBox* msgbox ) :  +  ShowMessageEvent(QString message, QString title, msg_icon icon) :       QEvent((QEvent::Type)TYPE_SHOW_MESSAGEBOX),  -    m( msgbox ) {} -  MessageBox *messagebox() const { return m; } -  //  Type type() const { return TYPE_SHOW_MESSAGEBOX; } +    m(message), t(title), i(icon) {} + +  QString message() const { return m; } +  QString title() const { return t; } +  msg_icon icon() const { return i; } +  private: -  MessageBox *m;; +  QString m; +  QString t; +  msg_icon i;  };  class InfoEventHandler : public QObject { @@ -68,20 +73,15 @@ protected:  class InfoGui: public Info {  public: -  InfoGui(QApplication *a, QWidget *p, MiavConfig *config); +  InfoGui(MiavConfig *config);    ~InfoGui();    void error(char* fmt, ...);    void warn(char* fmt, ...);    void info(char* fmt, ...); -  void setParent(QWidget *p); -  private:    void showmsg(char *msg, char *title, msg_icon icon); - -  QApplication *qapp; -  QWidget *parent;  };  #endif/*__MIAV_INFO_GUI_H__*/ diff --git a/client/mainwindow.cc b/client/mainwindow.cc index e813d00..8efcad0 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -42,6 +42,8 @@  #include <math.h> +#include "info.h" +  //#include "mgui_alert.h"  //#include "mgui_datasocket.h" @@ -54,9 +56,9 @@  MainWindow::MainWindow(QWidget* parent )  	: QWidget( parent, Qt::FramelessWindowHint )  { -  info = new InfoGui(qApp, this, config); +  //  info = new InfoGui(qApp, this, config); -  info->log("Starting MIaV v. %s.", VERSION); +  gInfo::info->info("Starting MIaV v. %s.", VERSION);    video_width = config->readInt("video_width");    video_height = config->readInt("video_height"); @@ -90,15 +92,16 @@ MainWindow::MainWindow(QWidget* parent )    rec_edge_counter = 0.0f;    // This must be defined before the gui i created (img_live uses it as parameter) -  camera = new Camera(info); +  //  camera = new Camera(info);    createGui();    show(); +  /*    camera->connect(config->readString("server_addr")->c_str(),                     config->readInt("server_port"),                    img_live->width(), img_live->height()); - +  */    // Make sure this is created *after* the camera object!    taskbartimer = new QTimer(this);    connect(taskbartimer, SIGNAL(timeout()), SLOT(taskbar_update())); @@ -108,7 +111,7 @@ MainWindow::MainWindow(QWidget* parent )    frozen = false;    muted = false; -  info->log("MIaV is ready."); +  gInfo::info->log("MIaV is ready.");    // Open the CPR Dialog    cpr_clicked(); @@ -117,13 +120,13 @@ MainWindow::MainWindow(QWidget* parent )  MainWindow::~MainWindow()  { -  info->log("MIaV is shutting down."); +  gInfo::info->log("MIaV is shutting down.");    delete img_history; -  delete camera; +  //  delete camera;    delete btn_cpr; -  info->log("MIaV is shut down."); +  gInfo::info->log("MIaV is shut down.");  }  QImage *MainWindow::loadButtonIcon( char *name, int height ) @@ -215,7 +218,7 @@ void MainWindow::createGui()    img_recedge->setPalette(palette);    img_recedge->setFixedSize(output_width, output_height); -  img_live = new VideoWidget(img_recedge, camera); +  img_live = new VideoWidget(img_recedge);    img_live->setFixedSize(output_width - 20, output_height - 20);    img_live->move(10,10);    g1->addWidget( img_recedge, 0, 0, 1, 3, Qt::AlignHCenter); @@ -362,9 +365,10 @@ void MainWindow::taskbar_update()    watchdog++;    if(recording) { +    /*      if((watchdog % 300 == 0) || ((camera->getQueueLength() > 1000) && (watchdog % 50 == 0)))         info->log("Queue length: %d (active)", camera->getQueueLength()); - +    */      gettimeofday(&time, NULL);      s = time.tv_sec - starttime.tv_sec; @@ -374,13 +378,15 @@ void MainWindow::taskbar_update()      m = s / 60;      s -= m * 60;    } else { +    /*      if((camera->getQueueLength() > 0)  && (watchdog % 300 == 0))        info->log("Queue length: %d (passive)", camera->getQueueLength()); +    */      gettimeofday(&starttime, NULL);    }    char msg[256]; -  int l = camera->getQueueLength(); +  int l = 0;//camera->getQueueLength();    sprintf(msg, TXT_TIME " %.02d:%.02d:%.02d " TXT_QUEUELENGTH " %d", h, m, s, l);    lbl_recordtime->setText(msg);  } @@ -402,12 +408,12 @@ void MainWindow::redraw_edge()  void MainWindow::message(char *msg)  {    status->showMessage(msg); -  info->log("Message: %s", msg); +  gInfo::info->log("Message: %s", msg);  }  void MainWindow::clear()  { -  info->log("Clearing screen."); +  gInfo::info->log("Clearing screen.");    // History widgets @@ -451,7 +457,7 @@ void MainWindow::cpr_clicked()                 ICON_WARNING).exec();      return;    } -  info->log("Activated CPR chooser."); +  gInfo::info->log("Activated CPR chooser.");    // Save CPR and name, from the labels.    strcpy(oldname, lbl_name->text().toStdString().c_str()); @@ -460,22 +466,22 @@ void MainWindow::cpr_clicked()    clear();    // Create and call the CPRQueryDialog. -  CPRQueryDialog dlg(info, lbl_cpr, lbl_name, this, TXT_CPRDLG_TITLE, status); +  CPRQueryDialog dlg(lbl_cpr, lbl_name, this, TXT_CPRDLG_TITLE, status);    if(dlg.exec() == 0) {      // Restore old CPR and name, in the labels.       lbl_name->setText(oldname);      lbl_cpr->setText(oldcpr); -    info->log("Cancelled CPR chooser."); +    gInfo::info->log("Cancelled CPR chooser.");    } else {      // Change CPR camera. -    info->log("New CPR %s (old %s).", (char*)lbl_cpr->text().toStdString().c_str(), oldcpr); +    gInfo::info->log("New CPR %s (old %s).", (char*)lbl_cpr->text().toStdString().c_str(), oldcpr);      strcpy(oldname, lbl_name->text().toStdString().c_str());      strcpy(oldcpr, lbl_cpr->text().toStdString().c_str());      clear();      lbl_name->setText(oldname);      lbl_cpr->setText(oldcpr); -    camera->setCpr((char*)lbl_cpr->text().toStdString().c_str(), (char*)lbl_name->text().toStdString().c_str()); +    //    camera->setCpr((char*)lbl_cpr->text().toStdString().c_str(), (char*)lbl_name->text().toStdString().c_str());    }  } @@ -485,14 +491,14 @@ void MainWindow::rec_clicked()    QPixmap pixmap;    if(!recording) { -    info->log("Start recording."); +    gInfo::info->log("Start recording.");      recording = 1;      // Start flashing the edge      rec_edge_counter = 0.0f;      timer->start(100);      pixmap.fromImage(*img_stop);      btn_rec->setIcon(pixmap); -    camera->start(); +    //    camera->start();    } else {      switch(MessageBox(this,                         TXT_ASK_SAVE_TITLE,  @@ -500,9 +506,9 @@ void MainWindow::rec_clicked()                        TYPE_YES_NO_MAYBE_CANCEL,                         ICON_QUESTION).exec()) {      case MSG_YES: -      info->log("Stop recording (Said yes to save)."); +      gInfo::info->log("Stop recording (Said yes to save).");        recording = 0; -      camera->stop(SAVE); +      //      camera->stop(SAVE);        timer->stop();        palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));        img_recedge->setPalette(palette); @@ -511,9 +517,9 @@ void MainWindow::rec_clicked()        break;      case MSG_NO: -      info->log("Stop recording (Said no to save)."); +      gInfo::info->log("Stop recording (Said no to save).");        recording = 0; -      camera->stop(DELETE); +      //      camera->stop(DELETE);        timer->stop();        palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));        img_recedge->setPalette(palette); @@ -522,9 +528,9 @@ void MainWindow::rec_clicked()        break;      case MSG_MAYBE: -      info->log("Stop recording (Said maybe to save)."); +      gInfo::info->log("Stop recording (Said maybe to save).");        recording = 0; -      camera->stop(LATER); +      //      camera->stop(LATER);        timer->stop();        palette.setColor(img_recedge->backgroundRole(), QColor(160,160,160));        img_recedge->setPalette(palette); @@ -533,7 +539,7 @@ void MainWindow::rec_clicked()        break;      case MSG_CANCEL: -      info->log("Didn't stop recording (canceled)."); +      gInfo::info->log("Didn't stop recording (canceled).");        break;      }    } @@ -542,11 +548,11 @@ void MainWindow::rec_clicked()  void MainWindow::shoot_clicked()  {    //  unsigned char pixels[720*576*3]; -  info->log("Snapshot (%s).", frozen?"frozen":"unfrozen"); +  gInfo::info->log("Snapshot (%s).", frozen?"frozen":"unfrozen");    QImage screenshot(720, 576, QImage::Format_RGB32); -  camera->snapshot(screenshot.bits()); +  //  camera->snapshot(screenshot.bits());    QImage *image;    for(int cnt = (num_history-1); cnt > 0; cnt--) { @@ -556,7 +562,7 @@ void MainWindow::shoot_clicked()    img_history[0]->set_image(&screenshot);    if(frozen) { -    camera->unfreeze(); +    //    camera->unfreeze();      QPixmap pixmap;      pixmap.fromImage(*img_freeze); @@ -570,8 +576,8 @@ void MainWindow::shoot_clicked()  void MainWindow::freeze_clicked()  {    if(frozen) { -    info->log("Unfreeze."); -    camera->unfreeze(); +    gInfo::info->log("Unfreeze."); +    //    camera->unfreeze();      QPixmap pixmap;      pixmap.fromImage(*img_freeze); @@ -580,8 +586,8 @@ void MainWindow::freeze_clicked()      btn_freeze->setDown(false);      frozen = false;    } else { -    info->log("Freeze."); -    camera->freeze(); +    gInfo::info->log("Freeze."); +    //    camera->freeze();      QPixmap pixmap;      pixmap.fromImage(*img_freeze); @@ -605,7 +611,7 @@ void MainWindow::mute_clicked()      btn_mute->setIcon(pixmap);    } -  camera->setMute(muted); +  //  camera->setMute(muted);  }  #endif /*USE_GUI*/ diff --git a/client/mainwindow.h b/client/mainwindow.h index 435d20d..627b431 100644 --- a/client/mainwindow.h +++ b/client/mainwindow.h @@ -42,12 +42,9 @@ using namespace std;  #include <QImage>  #include "videowidget.h" -#include "camera.h"  #include "cprquerydialog.h"  #include "historywidget.h" -#include "info_gui.h" -  #define INCH_IN_CM 2.54f  /** @@ -120,14 +117,8 @@ private:    unsigned int num_history;    void clear(); - -  Info *info; -    void createGui(); -  Camera *camera; -  Info *cam_info; -    // Image loading routines.    QImage *loadButtonIcon( char *name, int height = BUTTON_HEIGHT );    QImage *loadImage( char *name ); diff --git a/client/messagebox.cc b/client/messagebox.cc index abd7479..f4797ab 100644 --- a/client/messagebox.cc +++ b/client/messagebox.cc @@ -39,8 +39,8 @@   */  MessageBox::MessageBox(QWidget* parent,  -                       const char* name,  -                       const char* text,  +                       const QString name,  +                       const QString text,                          msg_type type,                          msg_icon icon)  	: QDialog(parent) @@ -49,7 +49,7 @@ MessageBox::MessageBox(QWidget* parent,    //int resolution_h = config->readInt("pixel_height");    unit = ((float)resolution_w / config->readFloat("screensize")) / INCH_IN_CM; - +  setModal(true);    setWindowTitle(name);  	QFrame *topf = new QFrame(this);    topf->setFrameStyle(QFrame::Box | QFrame::Raised); diff --git a/client/messagebox.h b/client/messagebox.h index e2c576c..2ac1d12 100644 --- a/client/messagebox.h +++ b/client/messagebox.h @@ -88,8 +88,8 @@ class MessageBox : public QDialog  	Q_OBJECT  public:  	MessageBox(QWidget* parent = 0,  -             const char* name = "",  -             const char* text = "",  +             const QString name = "",  +             const QString text = "",                msg_type type = TYPE_OK,                msg_icon icon = ICON_DEFAULT);  	~MessageBox(); diff --git a/client/miav_client.cc b/client/miav_client.cc index f8ea6d2..29826ef 100644 --- a/client/miav_client.cc +++ b/client/miav_client.cc @@ -1,6 +1,6 @@  /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */  /*************************************************************************** - *            miav.cc + *            miav_client.cc   *   *  Sat Aug 21 17:32:24 2004   *  Copyright  2004  deva @@ -26,35 +26,37 @@   */  #include <config.h> -#include "miav_client.h" -  #include <QApplication> -#include <stdio.h>  #include "mainwindow.h"  #include "miav_config.h"  #include "info_gui.h" +// The threads +#include "decoder.h" +#include "player.h" +#include "networksender.h" -QApplication *miav_app; - -/**  - * This function starts the MIaV gui. - */  int main(int argc, char *argv[])  {    QApplication miav_grab( argc, argv ); -  miav_app = &miav_grab;    MiavConfig cfg(ETC"/miav.conf", NULL); -  InfoGui info(&miav_grab, NULL, &cfg); + +  InfoGui info(&cfg); +  gInfo::initInfo(&info); +    config = new MiavConfig(ETC"/miav.conf", &info); -  InfoEventHandler *eventhandler = new InfoEventHandler( ); -  miav_grab.installEventFilter( eventhandler ); -      MainWindow mainwindow; -  info.setParent(&mainwindow); +  Decoder decoder; +  Player player; +  NetworkSender sender; + +  decoder.start(); +  player.start(); +  sender.start(); +    return miav_grab.exec();  } diff --git a/client/miav_client.h b/client/miav_client.h deleted file mode 100644 index 7b14912..0000000 --- a/client/miav_client.h +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/*************************************************************************** - *            miav.h - * - *  Mon Nov  8 09:59:24 CET 2004 - *  Copyright  2004 Bent Bisballe - *  deva@aasimon.org - ****************************************************************************/ - -/* - *    This file is part of MIaV. - * - *    MIaV is free software; you can redistribute it and/or modify - *    it under the terms of the GNU General Public License as published by - *    the Free Software Foundation; either version 2 of the License, or - *    (at your option) any later version. - * - *    MIaV is distributed in the hope that it will be useful, - *    but WITHOUT ANY WARRANTY; without even the implied warranty of - *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - *    GNU General Public License for more details. - * - *    You should have received a copy of the GNU General Public License - *    along with MIaV; if not, write to the Free Software - *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA. - */ -#include "config.h" -#ifndef __LIBMIAV_H__ -#define __LIBMIAV_H__ - -#include "util.h" - -#include "network.h" -#include "socket.h" -#include "queue.h" - -#ifdef USE_GUI -#include <QApplication> -extern QApplication *miav_app; -#endif/*USE_GUI*/ - -#endif/*__LIBMIAV_H__*/ diff --git a/client/networksender.cc b/client/networksender.cc index 1755cda..19df3f3 100644 --- a/client/networksender.cc +++ b/client/networksender.cc @@ -27,6 +27,8 @@  #include "config.h"  #include "networksender.h" +#include "info.h" +  NetworkSender::NetworkSender()  {} @@ -34,4 +36,6 @@ NetworkSender::~NetworkSender()  {}  void NetworkSender::run() -{} +{ +  gInfo::info->info("The NetworkSender thread is running."); +} diff --git a/client/player.cc b/client/player.cc index b54767e..cec7b0f 100644 --- a/client/player.cc +++ b/client/player.cc @@ -27,6 +27,8 @@  #include "config.h"  #include "player.h" +#include "info.h" +  Player::Player()  {} @@ -34,4 +36,6 @@ Player::~Player()  {}  void Player::run() -{} +{ +  gInfo::info->info("The player thread is running."); +} diff --git a/client/player.h b/client/player.h index 6e3fe73..97b08a0 100644 --- a/client/player.h +++ b/client/player.h @@ -37,6 +37,6 @@ public:    ~Player();    void run(); -} +};  #endif/*__MIAV_PLAYER_H__*/ diff --git a/client/videowidget.cc b/client/videowidget.cc index a2d5a14..8f733d5 100644 --- a/client/videowidget.cc +++ b/client/videowidget.cc @@ -32,9 +32,8 @@  #include "miav_config.h" -VideoWidget::VideoWidget(QWidget *p, Camera *c, QWidget* old) : QWidget(p) +VideoWidget::VideoWidget(QWidget *p, QWidget* old) : QWidget(p)  { -  camera = c;    parent = p;    oldWindow = old; @@ -60,16 +59,16 @@ void VideoWidget::mouseReleaseEvent(QMouseEvent *event)    if(!parent) {    // We are a fullscreen window      QString ids;      setenv("SDL_WINDOWID", ids.setNum(oldWindow->winId()).toStdString().c_str(), 1); -    camera->resize(oldWindow->width(), oldWindow->height(), false); +    //    camera->resize(oldWindow->width(), oldWindow->height(), false);      destroy();    } else {         // We are a nested window      // first delete old instance (if any)      if(fs) delete fs; -    fs = new VideoWidget(NULL, camera, this); +    fs = new VideoWidget(NULL, this);      fs->showFullScreen();      fs->setFixedWidth(config->readInt("pixel_width"));      fs->setFixedHeight(config->readInt("pixel_height")); -    camera->resize(fs->width(), fs->height(), true); +    //camera->resize(fs->width(), fs->height(), true);    }  } diff --git a/client/videowidget.h b/client/videowidget.h index f088bfc..3ccbd97 100644 --- a/client/videowidget.h +++ b/client/videowidget.h @@ -33,19 +33,15 @@  #include <QWidget>  #include <QPixmap> -#include "camera.h" -  class VideoWidget : public QWidget {  Q_OBJECT  public: -  VideoWidget(QWidget *parent, Camera *camera, QWidget *old = NULL); +  VideoWidget(QWidget *parent, QWidget *old = NULL);    ~VideoWidget();    QPixmap getScreenshot();    void mouseReleaseEvent(QMouseEvent *event);  private: -  Camera *camera; -    QWidget *parent;    // Reassign SDL to this when closing (if non-NULL) diff --git a/client/yuv_draw.cc b/client/yuv_draw.cc index 156c705..74f8dcf 100644 --- a/client/yuv_draw.cc +++ b/client/yuv_draw.cc @@ -28,9 +28,6 @@  #ifdef USE_GUI  #include "yuv_draw.h" -// for miav_app -#include "miav_client.h" -  #include <string.h>  #define TEXT_MARGIN 10 | 
