Example #1
0
progressDialog::progressDialog(QWidget *parent, Qt::WFlags flags)
    : QMainWindow(parent, flags){

    ui.setupUi(this);

    Consumer *c = new Consumer();
    Producer *p = new Producer();

    Thread *t1 = new Thread(0);
    Thread *t2 = new Thread(0);

    connect(this,SIGNAL(begin(bool)),c,SLOT(startReceiving(bool)));
    connect(c,SIGNAL(initiate(bool)),p,SLOT(produce(bool)));
    connect(p,SIGNAL(sendPacket(const QByteArray,bool)),c,SLOT(receiveFrame(const QByteArray,bool)));
    connect(ui.pushButton,SIGNAL(clicked(bool)),this,SLOT(_begin(bool)));
    connect(p,SIGNAL(halt(bool)),c,SLOT(startReceiving(bool)));
	connect(c,SIGNAL(blockDone()),p,SLOT(frameData()));
	connect(c,SIGNAL(measure(bool)),p,SLOT(measurement(bool)),Qt::DirectConnection);
	connect(c,SIGNAL(openDialog()),this,SLOT(startDlg()));
	connect(c,SIGNAL(closeDialog()),this,SLOT(closeDlg()));
	connect(p,SIGNAL(setDlgMax(int)),this,SLOT(setMaxVal(int)));
	connect(p,SIGNAL(setDlgVal(int)),this,SLOT(setVal(int)));
	connect(p,SIGNAL(setSeconds(int)),this,SLOT(setSecondsRemaining(int)));

    c->moveToThread(t1);
    p->moveToThread(t2);

    t1->start();
    t2->start();
}
Example #2
0
void
Grammar::outputFiles( void )
{
	Producer *producer = LanguageDriver::getProducer( myLanguage,
													  mySettings,
													  myOutputDir,
													  getName(),
													  mySourceFile );

	if ( producer )
	{
		std::string arg, prefix;

		producer->setDebugOutput( isDebugOutput() );
		if ( producer->writeSource() )
		{
			if ( ! producer->writeHeader() )
				Error::get()->add( "Unable to write the output header file." );
		}
		else
			Error::get()->add( "Unable to write the output source file." );

		delete producer;
	}
}
Example #3
0
int 
main (int argc, char** argv)
{
  print_highlight ("PCL OpenNI Recorder for saving buffered PCD (binary compressed to disk). See %s -h for options.\n", argv[0]);

  int buff_size = BUFFER_SIZE;
  
  if (find_switch (argc, argv, "-h") || find_switch (argc, argv, "--help"))
  {
    print_info ("Options are: \n"
              "             -xyz    = save only XYZ data, even if the device is RGB capable\n"
              "             -shift  = use OpenNI shift values rather than 12-bit depth\n"
              "             -buf X  = use a buffer size of X frames (default: "); 
    print_value ("%d", buff_size); print_info (")\n");
    return (0);
  }


  bool just_xyz = find_switch (argc, argv, "-xyz");
  openni_wrapper::OpenNIDevice::DepthMode depth_mode = openni_wrapper::OpenNIDevice::OpenNI_12_bit_depth;
  if (find_switch (argc, argv, "-shift"))
    depth_mode = openni_wrapper::OpenNIDevice::OpenNI_shift_values;

  if (parse_argument (argc, argv, "-buf", buff_size) != -1)
    print_highlight ("Setting buffer size to %d frames.\n", buff_size);
  else
    print_highlight ("Using default buffer size of %d frames.\n", buff_size);

  print_highlight ("Starting the producer and consumer threads... Press Cltr+C to end\n");
 
  OpenNIGrabber grabber ("");
  if (grabber.providesCallback<OpenNIGrabber::sig_cb_openni_point_cloud_rgba> () && 
      !just_xyz)
  {
    print_highlight ("PointXYZRGBA enabled.\n");
    PCDBuffer<PointXYZRGBA> buf;
    buf.setCapacity (buff_size);
    Producer<PointXYZRGBA> producer (buf, depth_mode);
    boost::this_thread::sleep (boost::posix_time::seconds (2));
    Consumer<PointXYZRGBA> consumer (buf);

    signal (SIGINT, ctrlC);
    producer.stop ();
    consumer.stop ();
  }
  else
  {
    print_highlight ("PointXYZ enabled.\n");
    PCDBuffer<PointXYZ> buf;
    buf.setCapacity (buff_size);
    Producer<PointXYZ> producer (buf, depth_mode);
    boost::this_thread::sleep (boost::posix_time::seconds (2));
    Consumer<PointXYZ> consumer (buf);

    signal (SIGINT, ctrlC);
    producer.stop ();
    consumer.stop ();
  }
  return (0);
}
Example #4
0
void tst_QSemaphore::producerConsumer()
{
    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
}
Example #5
0
void Controller::copyFilters(Producer& fromProducer, Producer& toProducer)
{
    int count = fromProducer.filter_count();
    for (int i = 0; i < count; i++) {
        QScopedPointer<Mlt::Filter> filter(fromProducer.filter(i));
        if (filter && filter->is_valid() && !filter->get_int("_loader")) {
            toProducer.attach(*filter);
        }
    }
}
Example #6
0
int main(int argc, char * argv[])
{
    Consumer* consumer = new Consumer;
    Producer* producer = new Producer(consumer);
    producer->open(0);
    consumer->open(0);
    //Wait for all the tasks to exit. 
	ACE_Thread_Manager::instance()->wait();

    return 0;
}
Example #7
0
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    Producer producer;
    producer.registerCallBack(callBackFunction);
    producer.start();
    producer.wait();
}
Example #8
0
int main()
{
  try {
    Producer producer;
    producer.listen();
  }
  catch(std::exception &e) {
    std::cerr << "ERROR: " << e.what() << std::endl;
  }
  return 0;
}
Example #9
0
unsigned
DatabaseCodec::importGames(Producer& producer, Progress& progress, int startIndex)
{
	//M_REQUIRE(isOpen());

	mstl::auto_ptr<Consumer> consumer(getConsumer(producer.format()));
	//M_ASSERT(consumer);
	producer.setConsumer(consumer.get());
	producer.consumer().setIndex(startIndex);
	return producer.process(progress);
}
Example #10
0
//! [5]
int main(int argc, char *argv[])
//! [5] //! [6]
{
    QCoreApplication app(argc, argv);
    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
    return 0;
}
Example #11
0
int main()
{
    usedSpace += BufferSize;

    Producer producer;
    Consumer consumer;
    producer.start();
    consumer.start();
    producer.wait();
    consumer.wait();
    return 0;
}
Example #12
0
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    Producer producer;
    Consumer consumer;

    producer.start();
    consumer.start();

    producer.wait();
    consumer.wait();
    
    return a.exec();
}
Example #13
0
Producer::Producer( Producer &producer ) :
	Mlt::Service( producer ),
	instance( producer.get_producer( ) ),
	parent_( NULL )
{
	inc_ref( );
}
// Listing 4 code/ch14
int ACE_TMAIN (int, ACE_TCHAR *[])
{
  int shared_buf[Q_SIZE];
  SafeUInt in = 0;
  SafeUInt out = 0;

  Producer producer (shared_buf, in, out);
  Consumer consumer (shared_buf, in, out);

  producer.activate();
  consumer.activate();
  producer.wait();
  consumer.wait();

  return 0;
}
Example #15
0
int main(int argc, char *argv[])
{
    //QApplication app(argc, argv);
    //Window *w = new Window;
    //w->resize(300, 300);
    //w->show();
    //return app.exec();
    QApplication app(argc, argv);
    Producer produer;
    Consumer consumer;
    produer.start();
    consumer.start();
    produer.wait();
    consumer.wait();
    return app.exec();
}
Example #16
0
int
main(int argc, char *argv[])
{
  Producer ProducerVar;

  ProducerVar.DeclareUserOptions();
  if (int nRet = Options::Instance().ReadWithCommandLine(&argc, &argv))
    return nRet;
  if (int nRet = ProducerVar.GetUserOptions())
    return nRet;

  std::cerr << "Current settings are as follows:\n"
            << Options::Instance().PrintValues()
            << "\nPid is " << getpid() << ".\n";

  return 0;
}
Example #17
0
// Listing 1
// Listing 3 code/ch14
int ACE_TMAIN (int, ACE_TCHAR *[])
{
  ACE_Semaphore psem (5);
  ACE_Semaphore csem (0);

  Consumer consumer (psem, csem);
  Producer producer (psem, csem, consumer);

  producer.activate ();
  consumer.activate (THR_NEW_LWP | THR_JOINABLE,
                     Consumer::N_THREADS);

  producer.wait ();
  consumer.wait ();

  return 0;
}
Example #18
0
int main() {
	ProducerConsumerMonitor monitor;
	
	Producer producer = Producer(&monitor);
	producer.start();
	
	Consumer consumer = Consumer(&monitor);
	consumer.start();
	
	Consumer anotherConsumer = Consumer(&monitor);
	anotherConsumer.start();
	
	producer.waitFor();
	consumer.waitFor();
	anotherConsumer.waitFor();
	
}
Example #19
0
int
main (int argc, char** argv)
{
  print_highlight ("PCL OpenNI Recorder for saving buffered PCD (binary compressed to disk). See %s -h for options.\n", argv[0]);

  std::string device_id ("");
  int buff_size = BUFFER_SIZE;

  openni_wrapper::OpenNIDriver& driver = openni_wrapper::OpenNIDriver::getInstance ();
  if (driver.getNumberDevices () > 0) {
    cout << "Device Id not set, using first device." << endl;
  }
  

  bool just_xyz = find_switch (argc, argv, "-xyz");
  openni_wrapper::OpenNIDevice::DepthMode depth_mode = openni_wrapper::OpenNIDevice::OpenNI_12_bit_depth;
  if (find_switch (argc, argv, "-shift"))
    depth_mode = openni_wrapper::OpenNIDevice::OpenNI_shift_values;

  if (parse_argument (argc, argv, "-buf", buff_size) != -1)
    print_highlight ("Setting buffer size to %d frames.\n", buff_size);
  else
    print_highlight ("Using default buffer size of %d frames.\n", buff_size);

  print_highlight ("Starting the producer and consumer threads... Press 's' to  capture and 'q' to quit\n");
 
  OpenNIGrabber grabber (device_id);
  if (grabber.providesCallback<OpenNIGrabber::sig_cb_openni_point_cloud_rgba> () && 
      !just_xyz) {
    print_highlight ("PointXYZRGBA enabled.\n");
    PCDBuffer<PointXYZRGBA> buf;
    buf.setCapacity (buff_size);
    Producer<PointXYZRGBA> producer (buf, depth_mode);
    // boost::this_thread::sleep (boost::posix_time::seconds (2));
    string prefix = "frame";
    pcl::console::parse_argument (argc, argv, "-name", prefix);

    Consumer<PointXYZRGBA> consumer (buf, prefix);
    // consumer.pcd_nb() = 0;

    producer.stop ();
    consumer.stop ();
  }
  return (0);
}
Example #20
0
unsigned
DatabaseCodec::produce(Producer& producer, Consumer& consumer, util::Progress& progress)
{
	//M_REQUIRE(producer.hasConsumer());
	//M_REQUIRE(producer.consumer().consumer() == 0);

	producer.consumer().setConsumer(&consumer);
	return importGames(producer, progress);
}
Example #21
0
bool Tractor::locate_cut( Producer *producer, int &track, int &cut )
{
	bool found = false;

	for ( track = 0; producer != NULL && !found && track < count( ); track ++ )
	{
		Playlist playlist( ( mlt_playlist )mlt_tractor_get_track( get_tractor( ), track ) );
		for ( cut = 0; !found && cut < playlist.count( ); cut ++ )
		{
			Producer *clip = playlist.get_clip( cut );
			found = producer->get_producer( ) == clip->get_producer( );
			delete clip;
		}
	}

	track --;
	cut --;

	return found;
}
Example #22
0
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    initaldatabase();//初始化数据库
    QSqlDatabase::removeDatabase("first");

    Producer producer;
    producer.start();

    SqlwriteThread_buffer *threadvector[THREADNUM];
    for(int i=0; i< THREADNUM; ++i)
    {
        threadvector[i] = new SqlwriteThread_buffer("localhost","whztest","root","infonet313",i);
//        threadvector[i]->SetRange(1024*10);
    }
    QTime t;
    t.start();
    for(int i=0; i< THREADNUM; ++i)
    {
        threadvector[i]->start();
    }
    QTime blankspace;
    blankspace.start();

    for(int i=0; i< THREADNUM; ++i)
    {
        qDebug()<<QObject::trUtf8("第 %1 个线程和第 %2 个线程之间等待耗时:%3 ms").arg(i).arg(i+1).arg(blankspace.elapsed());
        threadvector[i]->wait();
        blankspace.restart();
    }
    producer.wait();

    qDebug()<<QObject::trUtf8("插入 %1 条记录,耗时:%2 ms").arg(1024*100).arg(t.elapsed());
    exit(0);
    return a.exec();
}
Example #23
0
int main (int argc, char *argv[])
{
	NovaInit::init ();
	/// 
	Producer p;
	Consumer c;

	printf ("Main: starting producer\n");
	p.begin ();
	NovaTime::sleep (1);
	
	printf ("Main: starting consumer\n");
	c.begin ();

	printf ("Type a key and ret to quit\n");
	char d;
	scanf ("%c", &d);

	p.end ();
	c.end ();

	NovaInit::fini ();
	return 0;
}
bool Controller::openXML(const QString &filename)
{
    bool error = true;
    close();
    Producer* producer = new Mlt::Producer(profile(), "xml", filename.toUtf8().constData());
    if (producer->is_valid()) {
        double fps = profile().fps();
        if (!profile().is_explicit()) {
            profile().from_producer(*producer);
            profile().set_width(alignWidth(profile().width()));
        }
        if (profile().fps() != fps) {
            // reopen with the correct fps
            delete producer;
            producer = new Mlt::Producer(profile(), "xml", filename.toUtf8().constData());
        }
        producer->set(kShotcutVirtualClip, 1);
        producer->set("resource", filename.toUtf8().constData());
        setProducer(new Producer(producer));
        error = false;
    }
    delete producer;
    return error;
}
QImage Controller::image(Producer& producer, int frameNumber, int width, int height)
{
    QImage result;
    if (frameNumber > producer.get_length() - 3) {
        producer.seek(frameNumber - 2);
        Mlt::Frame* frame = producer.get_frame();
        result = image(frame, width, height);
        delete frame;
        frame = producer.get_frame();
        result = image(frame, width, height);
        delete frame;
        frame = producer.get_frame();
        result = image(frame, width, height);
        delete frame;
    } else {
        producer.seek(frameNumber);
        Mlt::Frame* frame = producer.get_frame();
        result = image(frame, width, height);
        delete frame;
    }
    return result;
}
Example #26
0
int
main(int argc, char** argv)
{
 // char consumer_reg[100];
  int i=0;
  int flag_prod=0;
  int flag_cons=0;
  int check_flag=0;

  for(i=0;i<argc;i++)
  {
    if((strcmp(argv[i],"-p")==0)) 
      check_flag++;
    if((strcmp(argv[i],"-d")==0))
      check_flag++; 
  }
if(check_flag==1){
  for(i=1;i<argc;i++)
  {
	if((strcmp(argv[i],"-p")==0))
	{
		printf("In Producer\n");
		i=i+1;
		flag_prod=1;
		break;
	}
	if((strcmp(argv[i],"-d")==0))
	{
		printf("In Consumer\n");
		i=i+1;
		flag_cons=1;
		break;
	}
  }
  if(flag_prod==1)
{
	int j=0;
	  number_of_prod_files=argc-i;
          for(j=0;j<number_of_prod_files;j++)
          {
		strcpy(producer_reg[j],argv[i]);
		++i;
	  }
	  printf("Files in the Producer are as below\n");
          for(j=0;j<number_of_prod_files;j++)
	  {
		printf("%s\n",producer_reg[j]);
	  }
	  Producer p;
	  p.start();
          flag_prod=0;
 }
else  if(flag_cons==1)
 {
	int j=0;
        char string_to_send[800];
	  number_of_cons_files=argc-i;
          for(j=0;j<number_of_cons_files;j++)
          {
		memset(&string_to_send,0,sizeof(string_to_send));
                strcat(string_to_send,argv[i]);
                strcat(string_to_send,"/$");
		strcpy(consumer_reg[j],string_to_send);
		++i;
	  }
	  printf("Files in the Consumer are as below\n");
          for(j=0;j<number_of_cons_files;j++)
	  {
		printf("%s\n",consumer_reg[j]);
	  }


	Consumer c;
	c.start_c();
        flag_cons=0;
}
}
else if(check_flag==2)
{
  int p_index=0;
  int d_index=0;
  for(i=1;i<argc;i++)
  {
	 if((strcmp(argv[i],"-p")==0))
           p_index=i;
         if((strcmp(argv[i],"-d")==0))
           d_index=i;
         if(p_index!=0 && d_index!=0)
          break;
  }    	
  if(p_index<d_index && p_index!=0)
  {
    i=0;
    int j=0;
    for(j=p_index+1;j<d_index;j++)
    {
                strcpy(producer_reg[i],argv[j]);
                ++i;
     }
      number_of_prod_files=i;
      printf("Files in the Producer are as below\n");
      for(j=0;j<number_of_prod_files;j++)
      {
               printf("%s\n",producer_reg[j]);
      }
      i=0;
      char string_to_send[800];
      for(j=d_index+1;j<argc;j++)
      {
        memset(&string_to_send,0,sizeof(string_to_send));
        strcat(string_to_send,argv[j]);
        strcat(string_to_send,"/$");
        strcpy(consumer_reg[i],string_to_send);
        i++;
      }
      number_of_cons_files=i;
      printf("Files in the Consumer are as below\n");
      for(j=0;j<number_of_cons_files;j++)
      {
                printf("%s\n",consumer_reg[j]);
      }

  }	
  if(d_index<p_index && d_index!=0)
  {
   int j=0;
   i=0;
   char string_to_send[800];
   for(j=d_index+1;j<p_index;j++) 
   {
        memset(&string_to_send,0,sizeof(string_to_send));
        strcat(string_to_send,argv[j]);
        strcat(string_to_send,"/$");
        strcpy(consumer_reg[i],string_to_send);
        i++; 
   }
      number_of_cons_files=i;
      printf("Files in the Consumer are as below\n");
      for(j=0;j<number_of_cons_files;j++)
      {
                printf("%s\n",consumer_reg[j]);
      }

     i=0;
     for(j=p_index+1;j<argc;j++) 
     {
       
                strcpy(producer_reg[i],argv[j]);
                ++i;
     }
     number_of_prod_files=i;
     printf("Files in the Producer are as below\n");
     for(j=0;j<number_of_prod_files;j++)
     {
               printf("%s\n",producer_reg[j]);
     }
 }
   int j=0;
   for(j=0;j<number_of_prod_files;j++)
   {
             for(i=0;i<number_of_cons_files;i++)
	     {
 		char checking[1000];
                memset(&checking,0,sizeof(checking));
		strcpy(checking,producer_reg[j]);
                strcat(checking,"/$");
                 if((strcmp(checking,consumer_reg[i]))==0)
                 {   
                    printf("Sincgle node cannot request the file it already has......Exiting the program\n");  
                    exit(0);
                 }
             }	 
   }
  
   pid_t pid=fork();
   if(pid==0)
   {
    Producer p;
    p.start();
   }
   else if(pid>0)
   {
    Consumer c;
    c.start_c();
   }

}
else
{
 printf("Wrong inputs entered..... Exiting");
 exit(0);
}
}
Example #27
0
int Playlist::insert_at( int position, Producer &producer, int mode )
{
	return mlt_playlist_insert_at( get_playlist( ), position, producer.get_producer( ), mode );
}
Example #28
0
int Playlist::insert( Producer &producer, int where, int in, int out )
{
	return mlt_playlist_insert( get_playlist( ), producer.get_producer( ), where, in, out );
}
Example #29
0
int Playlist::append( Producer &producer, int in, int out )
{
	return mlt_playlist_append_io( get_playlist( ), producer.get_producer( ), in, out );
}
Example #30
0
	static void test()
	{
		Producer thread;
		thread.start();
	}