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: Midio128Tool.cpp 1542 2012-11-25 21:27:23Z tk $
2
// $Id: Midio128Tool.cpp 1724 2013-03-28 20:23:40Z tk $
3
/*
3
/*
4
 * MIDIO128 Tool Window
4
 * MIDIO128 Tool Window
5
 *
5
 *
6
 * ==========================================================================
6
 * ==========================================================================
7
 *
7
 *
Line 308... Line 308...
308
308
309
//==============================================================================
309
//==============================================================================
310
void Midio128ToolConfigDout::resized()
310
void Midio128ToolConfigDout::resized()
311
{
311
{
312
    // position our table with a gap around its edge
312
    // position our table with a gap around its edge
313
    table->setBoundsInset(BorderSize(8));
313
    table->setBoundsInset(BorderSize<int>(8));
314
}
314
}
315
315
316
316
317
//==============================================================================
317
//==============================================================================
318
int Midio128ToolConfigDout::getTableValue(const int rowNumber, const int columnId)
318
int Midio128ToolConfigDout::getTableValue(const int rowNumber, const int columnId)
Line 531... Line 531...
531
531
532
//==============================================================================
532
//==============================================================================
533
void Midio128ToolConfigDin::resized()
533
void Midio128ToolConfigDin::resized()
534
{
534
{
535
    // position our table with a gap around its edge
535
    // position our table with a gap around its edge
536
    table->setBoundsInset(BorderSize(8));
536
    table->setBoundsInset(BorderSize<int>(8));
537
}
537
}
538
538
539
539
540
//==============================================================================
540
//==============================================================================
541
int Midio128ToolConfigDin::getTableValue(const int rowNumber, const int columnId)
541
int Midio128ToolConfigDin::getTableValue(const int rowNumber, const int columnId)
Line 732... Line 732...
732
    sendButton->addListener(this);
732
    sendButton->addListener(this);
733
733
734
    addAndMakeVisible(progressBar = new ProgressBar(progress));
734
    addAndMakeVisible(progressBar = new ProgressBar(progress));
735
735
736
    // restore settings
736
    // restore settings
737
    PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
737
    PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
738
    if( propertiesFile ) {
738
    if( propertiesFile ) {
739
        deviceIdSlider->setValue(propertiesFile->getIntValue(T("midio128DeviceId"), 0) & 7);
739
        deviceIdSlider->setValue(propertiesFile->getIntValue(T("midio128DeviceId"), 0) & 7);
740
        String syxFileName(propertiesFile->getValue(T("midio128SyxFile"), String::empty));
740
        String syxFileName(propertiesFile->getValue(T("midio128SyxFile"), String::empty));
741
        if( syxFileName != String::empty )
741
        if( syxFileName != String::empty )
742
            syxFile = File(syxFileName);
742
            syxFile = File(syxFileName);
Line 785... Line 785...
785
                       T("*.syx"));
785
                       T("*.syx"));
786
786
787
        if( fc.browseForFileToOpen() ) {
787
        if( fc.browseForFileToOpen() ) {
788
            syxFile = fc.getResult();
788
            syxFile = fc.getResult();
789
            if( loadSyx(syxFile) ) {
789
            if( loadSyx(syxFile) ) {
790
                PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
790
                PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
791
                if( propertiesFile )
791
                if( propertiesFile )
792
                    propertiesFile->setValue(T("midio128SyxFile"), syxFile.getFullPathName());
792
                    propertiesFile->setValue(T("midio128SyxFile"), syxFile.getFullPathName());
793
            }
793
            }
794
        }
794
        }
795
    } else if( buttonThatWasClicked == saveButton ) {
795
    } else if( buttonThatWasClicked == saveButton ) {
Line 797... Line 797...
797
                       syxFile,
797
                       syxFile,
798
                       T("*.syx"));
798
                       T("*.syx"));
799
        if( fc.browseForFileToSave(true) ) {
799
        if( fc.browseForFileToSave(true) ) {
800
            syxFile = fc.getResult();
800
            syxFile = fc.getResult();
801
            if( saveSyx(syxFile) ) {
801
            if( saveSyx(syxFile) ) {
802
                PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
802
                PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
803
                if( propertiesFile )
803
                if( propertiesFile )
804
                    propertiesFile->setValue(T("midio128SyxFile"), syxFile.getFullPathName());
804
                    propertiesFile->setValue(T("midio128SyxFile"), syxFile.getFullPathName());
805
            }
805
            }
806
        }
806
        }
807
    } else if( buttonThatWasClicked == sendButton || buttonThatWasClicked == receiveButton ) {
807
    } else if( buttonThatWasClicked == sendButton || buttonThatWasClicked == receiveButton ) {
Line 827... Line 827...
827
//==============================================================================
827
//==============================================================================
828
void Midio128ToolControl::sliderValueChanged(Slider* slider)
828
void Midio128ToolControl::sliderValueChanged(Slider* slider)
829
{
829
{
830
    if( slider == deviceIdSlider ) {
830
    if( slider == deviceIdSlider ) {
831
        // store setting
831
        // store setting
832
        PropertiesFile *propertiesFile = ApplicationProperties::getInstance()->getCommonSettings(true);
832
        PropertiesFile *propertiesFile = MiosStudioProperties::getInstance()->getCommonSettings(true);
833
        if( propertiesFile )
833
        if( propertiesFile )
834
            propertiesFile->setValue(T("midio128DeviceId"), (int)slider->getValue());
834
            propertiesFile->setValue(T("midio128DeviceId"), (int)slider->getValue());
835
    }
835
    }
836
}
836
}
837
837
Line 909... Line 909...
909
}
909
}
910
910
911
//==============================================================================
911
//==============================================================================
912
void Midio128ToolControl::handleIncomingMidiMessage(const MidiMessage& message, uint8 runningStatus)
912
void Midio128ToolControl::handleIncomingMidiMessage(const MidiMessage& message, uint8 runningStatus)
913
{
913
{
914
    uint8 *data = message.getRawData();
914
    uint8 *data = (uint8 *)message.getRawData();
915
    uint32 size = message.getRawDataSize();
915
    uint32 size = message.getRawDataSize();
916
916
917
    if( receiveDump ) {
917
    if( receiveDump ) {
918
        int receivedBlock = syxBlock-1;
918
        int receivedBlock = syxBlock-1;
919
        if( SysexHelper::isValidMidio128WriteBlock(data, size, (int)deviceIdSlider->getValue()) &&
919
        if( SysexHelper::isValidMidio128WriteBlock(data, size, (int)deviceIdSlider->getValue()) &&