Subversion Repositories svn.mios32

Rev

Rev 1542 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1542 Rev 1724
Line 1... Line 1...
1
/* -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*- */
1
/* -*- mode:C++; tab-width:4; c-basic-offset:4; indent-tabs-mode:nil -*- */
2
// $Id: MbCvTool.cpp 1542 2012-11-25 21:27:23Z tk $
2
// $Id: MbCvTool.cpp 1724 2013-03-28 20:23:40Z tk $
3
/*
3
/*
4
 * MIDIbox CV Tool Window
4
 * MIDIbox CV Tool Window
5
 *
5
 *
6
 * ==========================================================================
6
 * ==========================================================================
7
 *
7
 *
Line 331... Line 331...
331
331
332
//==============================================================================
332
//==============================================================================
333
void MbCvToolConfigChannels::resized()
333
void MbCvToolConfigChannels::resized()
334
{
334
{
335
    // position our table with a gap around its edge
335
    // position our table with a gap around its edge
336
    table->setBoundsInset(BorderSize(8));
336
    table->setBoundsInset(BorderSize<int>(8));
337
}
337
}
338
338
339
339
340
//==============================================================================
340
//==============================================================================
341
int MbCvToolConfigChannels::getTableValue(const int rowNumber, const int columnId)
341
int MbCvToolConfigChannels::getTableValue(const int rowNumber, const int columnId)
Line 499... Line 499...
499
    sendButton->addListener(this);
499
    sendButton->addListener(this);
500
500
501
    addAndMakeVisible(progressBar = new ProgressBar(progress));
501
    addAndMakeVisible(progressBar = new ProgressBar(progress));
502
502
503
    // restore settings
503
    // restore settings
504
    PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
504
    PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
505
    if( propertiesFile ) {
505
    if( propertiesFile ) {
506
        deviceIdSlider->setValue(propertiesFile->getIntValue(T("mbCvDeviceId"), 0) & 0x7f);
506
        deviceIdSlider->setValue(propertiesFile->getIntValue(T("mbCvDeviceId"), 0) & 0x7f);
507
        patchSlider->setValue(propertiesFile->getIntValue(T("mbCvPatch"), 0) & 0x7f);
507
        patchSlider->setValue(propertiesFile->getIntValue(T("mbCvPatch"), 0) & 0x7f);
508
        String syxFileName(propertiesFile->getValue(T("mbCvSyxFile"), String::empty));
508
        String syxFileName(propertiesFile->getValue(T("mbCvSyxFile"), String::empty));
509
        if( syxFileName != String::empty )
509
        if( syxFileName != String::empty )
Line 556... Line 556...
556
                       T("*.syx"));
556
                       T("*.syx"));
557
557
558
        if( fc.browseForFileToOpen() ) {
558
        if( fc.browseForFileToOpen() ) {
559
            syxFile = fc.getResult();
559
            syxFile = fc.getResult();
560
            if( loadSyx(syxFile) ) {
560
            if( loadSyx(syxFile) ) {
561
                PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
561
                PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
562
                if( propertiesFile )
562
                if( propertiesFile )
563
                    propertiesFile->setValue(T("mbCvSyxFile"), syxFile.getFullPathName());
563
                    propertiesFile->setValue(T("mbCvSyxFile"), syxFile.getFullPathName());
564
            }
564
            }
565
        }
565
        }
566
    } else if( buttonThatWasClicked == saveButton ) {
566
    } else if( buttonThatWasClicked == saveButton ) {
Line 568... Line 568...
568
                       syxFile,
568
                       syxFile,
569
                       T("*.syx"));
569
                       T("*.syx"));
570
        if( fc.browseForFileToSave(true) ) {
570
        if( fc.browseForFileToSave(true) ) {
571
            syxFile = fc.getResult();
571
            syxFile = fc.getResult();
572
            if( saveSyx(syxFile) ) {
572
            if( saveSyx(syxFile) ) {
573
                PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
573
                PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
574
                if( propertiesFile )
574
                if( propertiesFile )
575
                    propertiesFile->setValue(T("mbCvSyxFile"), syxFile.getFullPathName());
575
                    propertiesFile->setValue(T("mbCvSyxFile"), syxFile.getFullPathName());
576
            }
576
            }
577
        }
577
        }
578
    } else if( buttonThatWasClicked == sendButton || buttonThatWasClicked == receiveButton ) {
578
    } else if( buttonThatWasClicked == sendButton || buttonThatWasClicked == receiveButton ) {
Line 599... Line 599...
599
//==============================================================================
599
//==============================================================================
600
void MbCvToolControl::sliderValueChanged(Slider* slider)
600
void MbCvToolControl::sliderValueChanged(Slider* slider)
601
{
601
{
602
    if( slider == deviceIdSlider ) {
602
    if( slider == deviceIdSlider ) {
603
        // store setting
603
        // store setting
604
        PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
604
        PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
605
        if( propertiesFile )
605
        if( propertiesFile )
606
            propertiesFile->setValue(T("mbCvDeviceId"), (int)slider->getValue());
606
            propertiesFile->setValue(T("mbCvDeviceId"), (int)slider->getValue());
607
    } else if( slider == patchSlider ) {
607
    } else if( slider == patchSlider ) {
608
        // store setting
608
        // store setting
609
        PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
609
        PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
610
        if( propertiesFile )
610
        if( propertiesFile )
611
            propertiesFile->setValue(T("mbCvPatch"), (int)slider->getValue());
611
            propertiesFile->setValue(T("mbCvPatch"), (int)slider->getValue());
612
    }
612
    }
613
}
613
}
614
614
Line 676... Line 676...
676
}
676
}
677
677
678
//==============================================================================
678
//==============================================================================
679
void MbCvToolControl::handleIncomingMidiMessage(const MidiMessage& message, uint8 runningStatus)
679
void MbCvToolControl::handleIncomingMidiMessage(const MidiMessage& message, uint8 runningStatus)
680
{
680
{
681
    uint8 *data = message.getRawData();
681
    uint8 *data = (uint8 *)message.getRawData();
682
    uint32 size = message.getRawDataSize();
682
    uint32 size = message.getRawDataSize();
683
683
684
    if( receiveDump ) {
684
    if( receiveDump ) {
685
        if( dumpRequested &&
685
        if( dumpRequested &&
686
            SysexHelper::isValidMbCvWritePatch(data, size, (int)deviceIdSlider->getValue()) &&
686
            SysexHelper::isValidMbCvWritePatch(data, size, (int)deviceIdSlider->getValue()) &&