Example #1
0
void Animation::update(struct weston_output *output, uint32_t msecs)
{
    if (m_animation.ani.frame_counter <= 1) {
        m_timestamp = msecs;
    }

    uint32_t time = msecs - m_timestamp;
    if (time > m_duration) {
        updateSignal(m_target);
        if ((int)Flags::SendDone & (int)m_runFlags) {
            doneSignal();
        }
        stop();
        weston_compositor_schedule_repaint(output->compositor);
        return;
    }

    float f = (float)time / (float)m_duration;
    if (m_curve) {
        f = m_curve->value(f);
    }
    updateSignal(m_target * f + m_start * (1.f - f));

    weston_compositor_schedule_repaint(output->compositor);
}
Example #2
0
/*
 * decrease the duty cycle
 */
void decreaseDC() {
	if(TA1CCR1 > 40) {
		TA1CCR1 -= 5;
	}
	updateSignal();

	GREEN_OFF;						// green LED OFF
	RED_ON	;						// red LED ON
}
Example #3
0
/*
 * increase the duty cycle
 */
void increaseDC() {
	if(TA1CCR1 < 90) {
		TA1CCR1 += 5;
	}
	updateSignal();

	GREEN_ON;						// green LED ON
	RED_OFF;						// red LED OFF
}
Example #4
0
 void ListControll::update()
 {
     emit updateSignal();
     if (this->getMaxTrackTime() < getPlayTime())
     {
         emit stopSignal();
         isPlayPauseStop = 3;
     }
 }
Example #5
0
/* Like preview(), but insert actionid=11
 * */
onion_connection_status OnionServer::getJobTimings(
		Onion::Request &req, Onion::Response &res ){
	int actionid = 11;
	if( ! updateSignal(&req, actionid, &res) ){
		//signals did not write into response. Write default reply.
		std::string reply("Request not handled.");
		res.write( reply.c_str(), reply.size() );
	}
	return OCS_PROCESSED;
}
Example #6
0
/* SendSignal with actionid=HTTP_ACTION_GET_PREVIEW_IMAGE to get png image from
 * DisplayManager.
 */
onion_connection_status OnionServer::preview(
		Onion::Request &req, Onion::Response &res ){
	int actionid = HTTP_ACTION_GET_PREVIEW_IMAGE;
	if( -3 == updateSignal(&req, actionid, &res) ){
		//signals did not wrote into response. Write default reply.
		std::string reply("Could not generate Image.");
		res.write( reply.c_str(), reply.size() );
	}
	return OCS_PROCESSED;
}
Example #7
0
void ImageArea::_connectSignals( ScreenBase * w )
{
    if ( w == NULL ) return;
    connect( w, SIGNAL(updateSignal()), this, SLOT(update()) );
    connect( w, SIGNAL(closeOnTouch()), this, SLOT(passCloseOnTouch()) );
    connect( w, SIGNAL(changeFullscreen()), this, SLOT(passChangeFullScreen()) );
    connect( w, SIGNAL(loadFile()), this, SLOT(passLoadFile()) );
    connect( w, SIGNAL(loadDir()), this, SLOT(passLoadDir()) );
    connect( w, SIGNAL(config()), this, SLOT(passConfig()) );
    connect( w, SIGNAL(startTimer()), this, SLOT(onStartTimer()) );
    connect( w, SIGNAL(changeViewer()), this, SLOT(onChangeMode()) );
    connect( w, SIGNAL(indexChanged(int)), this, SLOT(indexChanged(int)) );
}
Example #8
0
TrayIcon::TrayIcon(const QString& trayIcon,const QString& programName, QObject *parent) :
    QSystemTrayIcon(QIcon(trayIcon),parent)
{
    setToolTip(programName);

    pMenu=new QMenu;
    pMenu->addAction("Головне вікно",this,SIGNAL(mainWindowSignal()));
    pMenu->addAction("Вікно налаштувань",this,SIGNAL(settingsSignal()));
    pMenu->addAction("Оновити курси",this,SIGNAL(updateSignal()));
    pMenu->addSeparator();
    pMenu->addAction("Вийти",qApp,SLOT(quit()));
    setContextMenu(pMenu);

    connect(this,SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
            SLOT(activatedSlot(QSystemTrayIcon::ActivationReason)));
}
Example #9
0
/*
 * Parse data from client. Use actionid-arg to distinct different
 * cases.
 */
onion_connection_status OnionServer::updateData(
		Onion::Request &req, Onion::Response &res) {
	/* Default reply is 'reload' which force reload
	 * of complete website. In mosty cases this string will replaced
	 * by one of the signal handlers.
	 */
	int actionid = atoi( onion_request_get_queryd(req.c_handler(), "actionid","0") );

	if( ! updateSignal( &req, actionid, &res) ){
		// Signal returns true if at least one handler writes into res.
		// Write default reply, if nothing was written.
		std::string reply("reload");
		res.write(reply.c_str(), reply.size() );
	}

	return OCS_PROCESSED;
}
Example #10
0
soundSource::soundSource(QWidget *parent, unsigned int id, QString imagePath, QPoint stompPos)
    : QWidget(parent)
{
    Preferences *preferences = Preferences::Instance();
    bool ok;
    const double ratio = preferences->getPreferences("Window", "Scale", "ratio").toDouble(&ok);

    this->id = id;
    this->imagePath = imagePath;
    this->stompSize = QPixmap(":/images/sourceBG.png").size()*ratio;
    this->stompPos = stompPos;
    this->setFixedSize(stompSize);
    this->editDialog = new editWindow();
    this->setWhatsThis(tr("StompBox effect<br>a double mouse click will open the effect edit page."));

    QObject::connect(this, SIGNAL( valueChanged(QString, QString, QString) ), this->parent(), SIGNAL( valueChanged(QString, QString, QString) ));

    QObject::connect(this->parent(), SIGNAL( updateStompOffset(signed int) ), this, SLOT( updatePos(signed int) ));

    QObject::connect(this->parent(), SIGNAL( updateSignal() ), this, SLOT( updateSignal() ));

    QObject::connect(this->editDialog, SIGNAL( updateSignal() ), this, SLOT( updateSignal() ));

    QObject::connect(this, SIGNAL( dialogUpdateSignal() ), this->editDialog, SIGNAL( dialogUpdateSignal() ));

    QObject::connect(this->parent(), SIGNAL( updateSignal() ), this->editDialog, SIGNAL( dialogUpdateSignal() ));

    QObject::connect(this->editDialog, SIGNAL( updateSignal() ), this, SLOT( setDisplayToFxName() ));

    QObject::connect(this, SIGNAL( setEditDialog( editWindow*) ), this->parent(), SLOT( setEditDialog(editWindow*) ));

  //  QObject::connect(this, SIGNAL( updateStompBoxes() ), this->parent(), SLOT( updateStompBoxes() ));

    QObject::connect(this, SIGNAL( pageUpdateSignal() ), this->editDialog, SIGNAL(  dialogUpdateSignal() ));

    QObject::connect(this->parent(), SIGNAL(normal_PU_buttonSignal(bool)), this, SLOT(normal_PU_ButtonSignal(bool) ));
    QObject::connect(this, SIGNAL(normal_PU_statusSignal(bool)), this->parent(), SIGNAL(normal_PU_statusSignal(bool)));
    QObject::connect(this->parent(), SIGNAL(normal_PU_buttonSignal(bool)), this->parent(), SLOT(menuButtonSignal()));

    QObject::connect(this->parent(), SIGNAL(modeling_buttonSignal(bool)), this, SLOT(modeling_ButtonSignal(bool) ));
    QObject::connect(this, SIGNAL(modeling_statusSignal(bool)), this->parent(), SIGNAL(modeling_statusSignal(bool)));
    QObject::connect(this->parent(), SIGNAL(modeling_buttonSignal(bool)), this->parent(), SLOT(menuButtonSignal()));

    QObject::connect(this->parent(), SIGNAL(synth1_buttonSignal(bool)), this, SLOT(synth1_ButtonSignal(bool) ));
    QObject::connect(this, SIGNAL(synth1_statusSignal(bool)), this->parent(), SIGNAL(synth1_statusSignal(bool)));
    QObject::connect(this->parent(), SIGNAL(synth1_buttonSignal(bool)), this->parent(), SLOT(menuButtonSignal()));

    QObject::connect(this->parent(), SIGNAL(synth2_buttonSignal(bool)), this, SLOT(synth2_ButtonSignal(bool) ));
    QObject::connect(this, SIGNAL(synth2_statusSignal(bool)), this->parent(), SIGNAL(synth2_statusSignal(bool)));
    QObject::connect(this->parent(), SIGNAL(synth2_buttonSignal(bool)), this->parent(), SLOT(menuButtonSignal()));

}
void GuiScanningDialog::setupParameters()
{
    if (!my_spaceship)
        return;
    
    for(int n=0; n<max_sliders; n++)
    {
        if (n < my_spaceship->scanning_complexity)
            sliders[n]->show();
        else
            sliders[n]->hide();
    }
    box->setSize(500, 265 + 70 * my_spaceship->scanning_complexity);

    for(int n=0; n<max_sliders; n++)
    {
        target[n] = random(0.0, 1.0);
        sliders[n]->setValue(random(0.0, 1.0));
        while(fabsf(target[n] - sliders[n]->getValue()) < 0.2)
            sliders[n]->setValue(random(0.0, 1.0));
    }
    updateSignal();
    
    string label = "[" + string(scan_depth + 1) + "/" + string(my_spaceship->scanning_depth) + "] ";
    switch(irandom(0, 10))
    {
    default:
    case 0: label += "Electric signature"; break;
    case 1: label += "Biomass frequency"; break;
    case 2: label += "Gravity well signature"; break;
    case 3: label += "Radiation halftime"; break;
    case 4: label += "Radio profile"; break;
    case 5: label += "Ionic phase shift"; break;
    case 6: label += "Infra-red color shift"; break;
    case 7: label += "Doppler stability"; break;
    case 8: label += "Raspberry jam prevention"; break;
    case 9: label += "Infinity impropability"; break;
    case 10: label += "Zerospace audio frequency"; break;
    }
    signal_label->setText(label);
}
Example #12
0
/*
 * Parse data from client. Use actionid-arg to distinct different
 * cases.
 */
onion_connection_status OnionServer::updateData(
		Onion::Request &req, Onion::Response &res) {
	/* Default reply is 'reload' which force reload
	 * of complete website. In mosty cases this string will replaced
	 * by one of the signal handlers.
	 */
	int actionid = atoi( onion_request_get_queryd(req.c_handler(), "actionid","0") );

	const int updateResult = updateSignal( &req, actionid, &res);
	if( -3 == updateResult ){
		// Nothing was written. Write default reply (empty string).
		res.write("", 0);
	}
	else if( -2 == updateResult ){
		// Nothing was written and reload should be forced.
		std::string reply("reload");
		res.write(reply.c_str(), reply.size() );
	}

	return OCS_PROCESSED;
}
Example #13
0
/**
 * Loads thumbnails from the metadata.
 **/ 
void DkThumbsLoader::loadThumbs() {

	std::vector<DkThumbNail>::iterator thumbIter = thumbs->begin()+startIdx;
	qDebug() << "start: " << startIdx << " end: " << endIdx;

	for (int idx = startIdx; idx < endIdx; idx++, thumbIter++) {

		mutex.lock();

		// jump to new start idx
		if (startIdx > idx) {
			thumbIter = thumbs->begin()+startIdx;
			idx = startIdx;
		}

		// does somebody want me to stop?
		if (!isActive) {
			mutex.unlock();
			return;
		}
		
		// TODO:  he breaks here! (crash detected++)
		// at the same time, main thread in DkFilePreview indexDir() -> waiting for our loader after stopping it
		DkThumbNail* thumb = &(*thumbIter);
		if (!thumb->hasImage()) {
			thumb->compute(forceLoad);
			if (thumb->hasImage())	// could I load the thumb?
				emit updateSignal();
			else {
				thumb->setImgExists(false);
				qDebug() << "image does NOT exist...";
			}
			
		}
		emit numFilesSignal(++numFilesLoaded);
		mutex.unlock();
	}

	somethingTodo = false;
}
void GuiScanningDialog::onDraw(sf::RenderTarget& window)
{
    updateSignal();
    
    if (my_spaceship)
    {
        if (my_spaceship->scanning_delay > 0.0 && my_spaceship->scanning_complexity > 0)
        {
            if (!box->isVisible())
            {
                box->show();
                scan_depth = 0;
                setupParameters();
            }
            
            if (locked && engine->getElapsedTime() - lock_start_time > lock_delay)
            {
                scan_depth += 1;
                if (scan_depth >= my_spaceship->scanning_depth)
                {
                    my_spaceship->commandScanDone();
                    lock_start_time = engine->getElapsedTime() - 1.0f;
                }else{
                    setupParameters();
                }
            }
            
            if (locked && engine->getElapsedTime() - lock_start_time > lock_delay / 2.0f)
            {
                locked_label->show();
            }else{
                locked_label->hide();
            }
        }else{
            box->hide();
        }
    }
}
Example #15
0
MainWindow::MainWindow(const QString &progName, QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    setAttribute(Qt::WA_DeleteOnClose);
    ui->setupUi(this);
    setWindowTitle(progName);
    QMenu* file=new QMenu("&Файл");
    file->addAction("&Оновити курси валют",this,SIGNAL(updateSignal()),QKeySequence("Ctrl+U"));
    file->addAction("&Налаштування",this,SIGNAL(settings()));
    file->addSeparator();
    file->addAction("&Вихід",qApp,SLOT(quit()),QKeySequence("Ctrl+X"));
    ui->menuBar->addMenu(file);
    QMenu* find=new QMenu("&Пошук");
    QSignalMapper* map=new QSignalMapper(this);
    connect(map,SIGNAL(mapped(int)),SIGNAL(find(int)));
    QAction* a;
    a=find->addAction("Максимальна вартість продажу",map,SLOT(map()));
    map->setMapping(a,maxSellType);
    a=find->addAction("Максимальна вартість купівлі",map,SLOT(map()));
    map->setMapping(a,maxBuyType);
    a=find->addAction("Мінімальна вартість продажу",map,SLOT(map()));
    map->setMapping(a,minSellType);
    a=find->addAction("Мінімальна вартість купівлі",map,SLOT(map()));
    map->setMapping(a,minBuyType);
    ui->menuBar->addMenu(find);
    auto tabWidget=new QTabWidget;
    auto cForm=new ConverterForm(tabWidget);
    auto rForm=new RateForm(tabWidget);
    tabWidget->addTab(cForm,"&Конвертер");
    tabWidget->addTab(rForm,"Курси &валют");
    setCentralWidget(tabWidget);
    connect(cForm,SIGNAL(convertError(UpdateError)),SIGNAL(convertError(UpdateError)));
    connect(this,SIGNAL(banksMayChange()),cForm,SLOT(setBankBox()));
    connect(this,SIGNAL(banksMayChange()),rForm,SLOT(setBankBox()));
    //cForm->show();
}
// run the FFThread
void FFThread::run()
{
    int                 firstrun = 1;
    AVFormatContext     *pFormatCtx=NULL;
    int                 videoStream;
    AVCodecContext      *pCodecCtx;
    AVCodec             *pCodec;
    AVPacket            packet;
    int                 frameFinished, len;
    AVFrame             *tmpFrame = avcodec_alloc_frame();

    while (True) {
        if (firstrun) {
            firstrun = 0;
        } else{            
            // wait for 10s to avoid spinning
            sleep(10);
        }
        
        // Open video file
        printf("Open %s\n", this->url);
        if (avformat_open_input(&pFormatCtx, this->url, NULL, NULL)!=0) {
            printf("Opening input '%s' failed\n", this->url);
            continue;
        }

        // Find the first video stream
        videoStream=-1;
        for (unsigned int i=0; i<pFormatCtx->nb_streams; i++) {
            if(pFormatCtx->streams[i]->codec->codec_type==AVMEDIA_TYPE_VIDEO) {
                videoStream=i;
                break;
            }
        }
        if( videoStream==-1) {
            printf("Finding video stream in '%s' failed\n", this->url);
            continue;
        }

        // Get a pointer to the codec context for the video stream
        pCodecCtx=pFormatCtx->streams[videoStream]->codec;

        // Find the decoder for the video stream
        pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
        if(pCodec==NULL) {
            printf("Could not find decoder for '%s'\n", this->url);
            continue;
        }

        // Open codec
        ffmutex->lock();
        if(avcodec_open2(pCodecCtx, pCodec, NULL)<0) {
            printf("Could not open codec for '%s'\n", this->url);
            continue;
        }
        ffmutex->unlock();

        // read frames into the packets
        while (stopping !=1 && av_read_frame(pFormatCtx, &packet) >= 0) {

            // Is this a packet from the video stream?
            if (packet.stream_index!=videoStream) {
                // Free the packet if not
                printf("Non video packet. Shouldn't see this...\n");
                av_free_packet(&packet);
                continue;
            }

            // grab a buffer to decode into
            FFBuffer *raw = findFreeBuffer(rawbuffers);        
            if (raw == NULL) {
                printf("Couldn't get a free buffer, skipping packet\n");
                av_free_packet(&packet);
                continue;
            }

            // Decode video frame
            len = avcodec_decode_video2(pCodecCtx, tmpFrame, &frameFinished, &packet);
            if (!frameFinished) {
                printf("Frame not finished. Shouldn't see this...\n");
                av_free_packet(&packet);
                raw->release();
                continue;
            }
            
            // Copy it into the raw frame
            avpicture_fill((AVPicture *) raw->pFrame, raw->mem,
                pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height);
            av_picture_copy((AVPicture *) raw->pFrame, (const AVPicture *) tmpFrame,
                pCodecCtx->pix_fmt, pCodecCtx->width, pCodecCtx->height); 
                        
            // Fill in the output buffer
            raw->pix_fmt = pCodecCtx->pix_fmt;         
            raw->height = pCodecCtx->height;
            raw->width = pCodecCtx->width;                

            // Emit and free
            emit updateSignal(raw);        
            av_free_packet(&packet);
        }
        // Emit blank frame
        emit updateSignal(NULL);
        
        // tidy up
        ffmutex->lock();
        avcodec_close(pCodecCtx);
        avformat_close_input(&pFormatCtx);
        pCodecCtx = NULL;
        ffmutex->unlock();        
    }
}
void ofxFft::prepareSignal() {
	if(!signalUpdated)
		updateSignal();
	if(!signalNormalized)
		normalizeSignal();
}
customControlGraphicEQ::customControlGraphicEQ(QWidget *parent,
                                 QString hex1, QString hex2, QString hex3,
                                 QString background, QString direction, int lenght)
                                     : QWidget(parent)
{
    this->hex1 = hex1;
    this->hex2 = hex2;
    this->hex3 = hex3;
    this->area = background;
    bool ok;
    int x = hex3.toInt(&ok, 16);
    this->hex_1 = QString::number(x+1, 16).toUpper();   /**** set EQ address range from hex3 (band_1 address) ****/
    if(hex_1.length() < 2) hex_1.prepend("0");
    this->hex_2 = QString::number(x+2, 16).toUpper();
    if(hex_2.length() < 2) hex_2.prepend("0");
    this->hex_3 = QString::number(x+3, 16).toUpper();
    if(hex_3.length() < 2) hex_3.prepend("0");
    this->hex_4 = QString::number(x+4, 16).toUpper();
    if(hex_4.length() < 2) hex_4.prepend("0");
    this->hex_5 = QString::number(x+5, 16).toUpper();
    if(hex_5.length() < 2) hex_5.prepend("0");
    this->hex_6 = QString::number(x+6, 16).toUpper();
    if(hex_6.length() < 2) hex_6.prepend("0");
    this->hex_7 = QString::number(x+7, 16).toUpper();
    if(hex_7.length() < 2) hex_7.prepend("0");
    this->hex_8 = QString::number(x+8, 16).toUpper();
    if(hex_8.length() < 2) hex_8.prepend("0");
    this->hex_9 = QString::number(x+9, 16).toUpper();
    if(hex_9.length() < 2) hex_9.prepend("0");
    this->hex_10 = QString::number(x+10, 16).toUpper();
    if(hex_10.length() < 2) hex_10.prepend("0");
    this->hex_11 = QString::number(x, 16).toUpper();
    if(hex_11.length() < 2) hex_11.prepend("0");

    MidiTable *midiTable = MidiTable::Instance();
    if (this->area != "System") {this->area = "Structure";};

    Midi items = midiTable->getMidiMap(this->area, hex1, hex2, hex_1);
    this->label_1 = new customControlLabel(this);
    this->label_1->setText(items.customdesc);
    this->label_1->setUpperCase(true);
    this->label_1->setAlignment(Qt::AlignCenter);
    this->knob_1 = new customKnob(this, hex1, hex2, hex_1, background, this->area);
    this->display_1 = new QLineEdit(this);
    this->display_1->setObjectName("editdisplay");
    this->display_1->setFixedWidth(lenght);
    this->display_1->setFixedHeight(13);
    this->display_1->setAlignment(Qt::AlignCenter);
    this->display_1->setDisabled(true);
    this->display_1->setFixedWidth(lenght);

    QVBoxLayout *knob_1Layout = new QVBoxLayout;
    knob_1Layout->setMargin(0);
    knob_1Layout->setSpacing(0);
    knob_1Layout->addWidget(this->label_1, 0, Qt::AlignCenter);
    knob_1Layout->addWidget(this->knob_1, 0, Qt::AlignCenter);
    knob_1Layout->addWidget(this->display_1, 0, Qt::AlignCenter);
    knob_1Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_2);
    this->label_2 = new customControlLabel(this);
    this->label_2->setText(items.customdesc);
    this->label_2->setUpperCase(true);
    this->label_2->setAlignment(Qt::AlignCenter);
    this->knob_2 = new customKnob(this, hex1, hex2, hex_2, background, this->area);
    this->display_2 = new QLineEdit(this);
    this->display_2->setObjectName("editdisplay");
    this->display_2->setFixedWidth(lenght);
    this->display_2->setFixedHeight(13);
    this->display_2->setAlignment(Qt::AlignCenter);
    this->display_2->setDisabled(true);
    this->display_2->setFixedWidth(lenght);

    QVBoxLayout *knob_2Layout = new QVBoxLayout;
    knob_2Layout->setMargin(0);
    knob_2Layout->setSpacing(0);
    knob_2Layout->addWidget(this->label_2, 0, Qt::AlignCenter);
    knob_2Layout->addWidget(this->knob_2, 0, Qt::AlignCenter);
    knob_2Layout->addWidget(this->display_2, 0, Qt::AlignCenter);
    knob_2Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_3);
    this->label_3 = new customControlLabel(this);
    this->label_3->setText(items.customdesc);
    this->label_3->setUpperCase(true);
    this->label_3->setAlignment(Qt::AlignCenter);
    this->knob_3 = new customKnob(this, hex1, hex2, hex_3, background, this->area);
    this->display_3 = new QLineEdit(this);
    this->display_3->setObjectName("editdisplay");
    this->display_3->setFixedWidth(lenght);
    this->display_3->setFixedHeight(13);
    this->display_3->setAlignment(Qt::AlignCenter);
    this->display_3->setDisabled(true);
    this->display_3->setFixedWidth(lenght);

    QVBoxLayout *knob_3Layout = new QVBoxLayout;
    knob_3Layout->setMargin(0);
    knob_3Layout->setSpacing(0);
    knob_3Layout->addWidget(this->label_3, 0, Qt::AlignCenter);
    knob_3Layout->addWidget(this->knob_3, 0, Qt::AlignCenter);
    knob_3Layout->addWidget(this->display_3, 0, Qt::AlignCenter);
    knob_3Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_4);
    this->label_4 = new customControlLabel(this);
    this->label_4->setText(items.customdesc);
    this->label_4->setUpperCase(true);
    this->label_4->setAlignment(Qt::AlignCenter);
    this->knob_4 = new customKnob(this, hex1, hex2, hex_4, background, this->area);
    this->display_4 = new QLineEdit(this);
    this->display_4->setObjectName("editdisplay");
    this->display_4->setFixedWidth(lenght);
    this->display_4->setFixedHeight(13);
    this->display_4->setAlignment(Qt::AlignCenter);
    this->display_4->setDisabled(true);
    this->display_4->setFixedWidth(lenght);

    QVBoxLayout *knob_4Layout = new QVBoxLayout;
    knob_4Layout->setMargin(0);
    knob_4Layout->setSpacing(0);
    knob_4Layout->addWidget(this->label_4, 0, Qt::AlignCenter);
    knob_4Layout->addWidget(this->knob_4, 0, Qt::AlignCenter);
    knob_4Layout->addWidget(this->display_4, 0, Qt::AlignCenter);
    knob_4Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_5);
    this->label_5 = new customControlLabel(this);
    this->label_5->setText(items.customdesc);
    this->label_5->setUpperCase(true);
    this->label_5->setAlignment(Qt::AlignCenter);
    this->knob_5 = new customKnob(this, hex1, hex2, hex_5, background, this->area);
    this->display_5 = new QLineEdit(this);
    this->display_5->setObjectName("editdisplay");
    this->display_5->setFixedWidth(lenght);
    this->display_5->setFixedHeight(13);
    this->display_5->setAlignment(Qt::AlignCenter);
    this->display_5->setDisabled(true);
    this->display_5->setFixedWidth(lenght);

    QVBoxLayout *knob_5Layout = new QVBoxLayout;
    knob_5Layout->setMargin(0);
    knob_5Layout->setSpacing(0);
    knob_5Layout->addWidget(this->label_5, 0, Qt::AlignCenter);
    knob_5Layout->addWidget(this->knob_5, 0, Qt::AlignCenter);
    knob_5Layout->addWidget(this->display_5, 0, Qt::AlignCenter);
    knob_5Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_6);
    this->label_6 = new customControlLabel(this);
    this->label_6->setText(items.customdesc);
    this->label_6->setUpperCase(true);
    this->label_6->setAlignment(Qt::AlignCenter);
    this->knob_6 = new customKnob(this, hex1, hex2, hex_6, background, this->area);
    this->display_6 = new QLineEdit(this);
    this->display_6->setObjectName("editdisplay");
    this->display_6->setFixedWidth(lenght);
    this->display_6->setFixedHeight(13);
    this->display_6->setAlignment(Qt::AlignCenter);
    this->display_6->setDisabled(true);
    this->display_6->setFixedWidth(lenght);

    QVBoxLayout *knob_6Layout = new QVBoxLayout;
    knob_6Layout->setMargin(0);
    knob_6Layout->setSpacing(0);
    knob_6Layout->addWidget(this->label_6, 0, Qt::AlignCenter);
    knob_6Layout->addWidget(this->knob_6, 0, Qt::AlignCenter);
    knob_6Layout->addWidget(this->display_6, 0, Qt::AlignCenter);
    knob_6Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_7);
    this->label_7 = new customControlLabel(this);
    this->label_7->setText(items.customdesc);
    this->label_7->setUpperCase(true);
    this->label_7->setAlignment(Qt::AlignCenter);
    this->knob_7 = new customKnob(this, hex1, hex2, hex_7, background, this->area);
    this->display_7 = new QLineEdit(this);
    this->display_7->setObjectName("editdisplay");
    this->display_7->setFixedWidth(lenght);
    this->display_7->setFixedHeight(13);
    this->display_7->setAlignment(Qt::AlignCenter);
    this->display_7->setDisabled(true);
    this->display_7->setFixedWidth(lenght);

    QVBoxLayout *knob_7Layout = new QVBoxLayout;
    knob_7Layout->setMargin(0);
    knob_7Layout->setSpacing(0);
    knob_7Layout->addWidget(this->label_7, 0, Qt::AlignCenter);
    knob_7Layout->addWidget(this->knob_7, 0, Qt::AlignCenter);
    knob_7Layout->addWidget(this->display_7, 0, Qt::AlignCenter);
    knob_7Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_8);
    this->label_8 = new customControlLabel(this);
    this->label_8->setText(items.customdesc);
    this->label_8->setUpperCase(true);
    this->label_8->setAlignment(Qt::AlignCenter);
    this->knob_8 = new customKnob(this, hex1, hex2, hex_8, background, this->area);
    this->display_8 = new QLineEdit(this);
    this->display_8->setObjectName("editdisplay");
    this->display_8->setFixedWidth(lenght);
    this->display_8->setFixedHeight(13);
    this->display_8->setAlignment(Qt::AlignCenter);
    this->display_8->setDisabled(true);
    this->display_8->setFixedWidth(lenght);

    QVBoxLayout *knob_8Layout = new QVBoxLayout;
    knob_8Layout->setMargin(0);
    knob_8Layout->setSpacing(0);
    knob_8Layout->addWidget(this->label_8, 0, Qt::AlignCenter);
    knob_8Layout->addWidget(this->knob_8, 0, Qt::AlignCenter);
    knob_8Layout->addWidget(this->display_8, 0, Qt::AlignCenter);
    knob_8Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_9);
    this->label_9 = new customControlLabel(this);
    this->label_9->setText(items.customdesc);
    this->label_9->setUpperCase(true);
    this->label_9->setAlignment(Qt::AlignCenter);
    this->knob_9 = new customKnob(this, hex1, hex2, hex_9, background, this->area);
    this->display_9 = new QLineEdit(this);
    this->display_9->setObjectName("editdisplay");
    this->display_9->setFixedWidth(lenght);
    this->display_9->setFixedHeight(13);
    this->display_9->setAlignment(Qt::AlignCenter);
    this->display_9->setDisabled(true);
    this->display_9->setFixedWidth(lenght);

    QVBoxLayout *knob_9Layout = new QVBoxLayout;
    knob_9Layout->setMargin(0);
    knob_9Layout->setSpacing(0);
    knob_9Layout->addWidget(this->label_9, 0, Qt::AlignCenter);
    knob_9Layout->addWidget(this->knob_9, 0, Qt::AlignCenter);
    knob_9Layout->addWidget(this->display_9, 0, Qt::AlignCenter);
    knob_9Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_10);
    this->label_10 = new customControlLabel(this);
    this->label_10->setText(items.customdesc);
    this->label_10->setUpperCase(true);
    this->label_10->setAlignment(Qt::AlignCenter);
    this->knob_10 = new customKnob(this, hex1, hex2, hex_10, background, this->area);
    this->display_10 = new QLineEdit(this);
    this->display_10->setObjectName("editdisplay");
    this->display_10->setFixedWidth(lenght);
    this->display_10->setFixedHeight(13);
    this->display_10->setAlignment(Qt::AlignCenter);
    this->display_10->setDisabled(true);
    this->display_10->setFixedWidth(lenght);

    QVBoxLayout *knob_10Layout = new QVBoxLayout;
    knob_10Layout->setMargin(0);
    knob_10Layout->setSpacing(0);
    knob_10Layout->addWidget(this->label_10, 0, Qt::AlignCenter);
    knob_10Layout->addWidget(this->knob_10, 0, Qt::AlignCenter);
    knob_10Layout->addWidget(this->display_10, 0, Qt::AlignCenter);
    knob_10Layout->addStretch(0);

    items = midiTable->getMidiMap(this->area, hex1, hex2, hex_11);
    this->label_11 = new customControlLabel(this);
    this->label_11->setText(items.customdesc);
    this->label_11->setUpperCase(true);
    this->label_11->setAlignment(Qt::AlignCenter);
    this->knob_11 = new customKnob(this, hex1, hex2, hex_11, background, this->area);
    this->display_11 = new QLineEdit(this);
    this->display_11->setObjectName("editdisplay");
    this->display_11->setFixedWidth(lenght);
    this->display_11->setFixedHeight(13);
    this->display_11->setAlignment(Qt::AlignCenter);
    this->display_11->setDisabled(true);
    this->display_11->setFixedWidth(lenght);

    QVBoxLayout *knob_11Layout = new QVBoxLayout;
    knob_11Layout->setMargin(0);
    knob_11Layout->setSpacing(0);
    knob_11Layout->addWidget(this->label_11, 0, Qt::AlignCenter);
    knob_11Layout->addWidget(this->knob_11, 0, Qt::AlignCenter);
    knob_11Layout->addWidget(this->display_11, 0, Qt::AlignCenter);
    knob_11Layout->addStretch(0);



    QHBoxLayout *knobLayout = new QHBoxLayout;
    knobLayout->setMargin(0);
    knobLayout->setSpacing(10);
    knobLayout->addLayout(knob_1Layout);  //Band_1
    knobLayout->addLayout(knob_2Layout);  //Band_2

    knobLayout->addLayout(knob_3Layout);  //Band_3
    knobLayout->addLayout(knob_4Layout);  //Band_4
    knobLayout->addLayout(knob_5Layout);  //Band_5

    knobLayout->addLayout(knob_6Layout);  //Band_6
    knobLayout->addLayout(knob_7Layout);  //Band_7
    knobLayout->addLayout(knob_8Layout);  //Band_8
    knobLayout->addLayout(knob_9Layout);  //Band_9
    knobLayout->addLayout(knob_10Layout); //Band_10
    knobLayout->addLayout(knob_11Layout); //Level
    knobLayout->addStretch(0);


    this->frame = new customGraphicEQGraph(this);
    this->frame->setMinimumSize(QSize(600, 180));

    QVBoxLayout *frameLayout = new QVBoxLayout;
    frameLayout->setMargin(0);
    frameLayout->setSpacing(10);
    frameLayout->addWidget(this->frame, 0, Qt::AlignCenter);
    frameLayout->addLayout(knobLayout);

    this->setLayout(frameLayout);

    QObject::connect(this->parent(), SIGNAL( dialogUpdateSignal() ),
                     this, SLOT( dialogUpdateSignal() ));

    QObject::connect(this, SIGNAL( updateSignal() ),
                     this->parent(), SIGNAL( updateSignal() ));

    QObject::connect(this, SIGNAL( updateDisplay(QString) ),
                      this, SLOT( dialogUpdateSignal() ));

    QObject::connect(this, SIGNAL( updateDisplay_1(QString) ),
                     this->display_1, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_2(QString) ),
                     this->display_2, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_3(QString) ),
                     this->display_3, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_4(QString) ),
                     this->display_4, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_5(QString) ),
                     this->display_5, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_6(QString) ),
                     this->display_6, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_7(QString) ),
                     this->display_7, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_8(QString) ),
                     this->display_8, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_9(QString) ),
                     this->display_9, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_10(QString) ),
                     this->display_10, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( updateDisplay_11(QString) ),
                     this->display_11, SLOT( setText(QString) ));

    QObject::connect(this, SIGNAL( graphUpdateSignal(QString, QString, QString, QString, QString,
                                                     QString, QString, QString, QString, QString, QString) ),
                     this->frame, SLOT( updateSlot(QString, QString, QString, QString, QString,
                                                   QString, QString, QString, QString, QString, QString) ));

    QObject::connect(this->frame, SIGNAL(Band_1Changed(unsigned short)),
                     this, SLOT(Band_1Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_2Changed(unsigned short)),
                     this, SLOT(Band_2Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_6Changed(unsigned short)),
                     this, SLOT(Band_6Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_7Changed(unsigned short)),
                     this, SLOT(Band_7Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_8Changed(unsigned short)),
                     this, SLOT(Band_8Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_3Changed(unsigned short)),
                     this, SLOT(Band_3Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_4Changed(unsigned short)),
                     this, SLOT(Band_4Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_5Changed(unsigned short)),
                     this, SLOT(Band_5Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_9Changed(unsigned short)),
                     this, SLOT(Band_9Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(Band_10Changed(unsigned short)),
                     this, SLOT(Band_10Changed(unsigned short) ));

    QObject::connect(this->frame, SIGNAL(LevelChanged(unsigned short)),
                     this, SLOT(LevelChanged(unsigned short) ));

};