413 |
eVCFResonanceController.signal_changed().connect( |
eVCFResonanceController.signal_changed().connect( |
414 |
sigc::mem_fun(*this, &DimRegionEdit::VCFResonanceController_changed) ); |
sigc::mem_fun(*this, &DimRegionEdit::VCFResonanceController_changed) ); |
415 |
|
|
416 |
eCrossfade_in_start.signal_value_changed().connect( |
eCrossfade_in_start.signal_changed_by_user().connect( |
417 |
sigc::mem_fun(*this, &DimRegionEdit::crossfade1_changed)); |
sigc::mem_fun(*this, &DimRegionEdit::crossfade1_changed)); |
418 |
eCrossfade_in_end.signal_value_changed().connect( |
eCrossfade_in_end.signal_changed_by_user().connect( |
419 |
sigc::mem_fun(*this, &DimRegionEdit::crossfade2_changed)); |
sigc::mem_fun(*this, &DimRegionEdit::crossfade2_changed)); |
420 |
eCrossfade_out_start.signal_value_changed().connect( |
eCrossfade_out_start.signal_changed_by_user().connect( |
421 |
sigc::mem_fun(*this, &DimRegionEdit::crossfade3_changed)); |
sigc::mem_fun(*this, &DimRegionEdit::crossfade3_changed)); |
422 |
eCrossfade_out_end.signal_value_changed().connect( |
eCrossfade_out_end.signal_changed_by_user().connect( |
423 |
sigc::mem_fun(*this, &DimRegionEdit::crossfade4_changed)); |
sigc::mem_fun(*this, &DimRegionEdit::crossfade4_changed)); |
424 |
|
|
425 |
eSampleLoopEnabled.signal_toggled().connect( |
eSampleLoopEnabled.signal_toggled().connect( |
426 |
sigc::mem_fun(*this, &DimRegionEdit::loop_enabled_toggled)); |
sigc::mem_fun(*this, &DimRegionEdit::loop_enabled_toggled)); |
427 |
eSampleLoopStart.signal_value_changed().connect( |
eSampleLoopStart.signal_changed_by_user().connect( |
428 |
sigc::mem_fun(*this, &DimRegionEdit::updateLoopElements)); |
sigc::mem_fun(*this, &DimRegionEdit::updateLoopElements)); |
429 |
eSampleLoopLength.signal_value_changed().connect( |
eSampleLoopLength.signal_changed_by_user().connect( |
430 |
sigc::mem_fun(*this, &DimRegionEdit::updateLoopElements)); |
sigc::mem_fun(*this, &DimRegionEdit::updateLoopElements)); |
431 |
eSampleLoopInfinite.signal_toggled().connect( |
eSampleLoopInfinite.signal_toggled().connect( |
432 |
sigc::mem_fun(*this, &DimRegionEdit::loop_infinite_toggled)); |
sigc::mem_fun(*this, &DimRegionEdit::loop_infinite_toggled)); |
499 |
table[pageno]->attach(boolentry.widget, 1, 3, rowno, rowno + 1, |
table[pageno]->attach(boolentry.widget, 1, 3, rowno, rowno + 1, |
500 |
Gtk::FILL, Gtk::SHRINK); |
Gtk::FILL, Gtk::SHRINK); |
501 |
rowno++; |
rowno++; |
502 |
|
boolentry.signal_changed_by_user().connect(dimreg_changed_signal.make_slot()); |
503 |
|
} |
504 |
|
|
505 |
|
void DimRegionEdit::addProp(BoolEntryPlus6& boolentry) |
506 |
|
{ |
507 |
|
table[pageno]->attach(boolentry.widget, 1, 3, rowno, rowno + 1, |
508 |
|
Gtk::FILL, Gtk::SHRINK); |
509 |
|
rowno++; |
510 |
|
boolentry.signal_changed_by_user().connect(dimreg_changed_signal.make_slot()); |
511 |
} |
} |
512 |
|
|
513 |
void DimRegionEdit::addProp(LabelWidget& prop) |
void DimRegionEdit::addProp(LabelWidget& prop) |
517 |
table[pageno]->attach(prop.widget, 2, 3, rowno, rowno + 1, |
table[pageno]->attach(prop.widget, 2, 3, rowno, rowno + 1, |
518 |
Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); |
Gtk::EXPAND | Gtk::FILL, Gtk::SHRINK); |
519 |
rowno++; |
rowno++; |
520 |
|
prop.signal_changed_by_user().connect(dimreg_changed_signal.make_slot()); |
521 |
} |
} |
522 |
|
|
523 |
|
|
528 |
set_sensitive(d); |
set_sensitive(d); |
529 |
if (!d) return; |
if (!d) return; |
530 |
|
|
|
update_gui = false; |
|
531 |
wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL"); |
wSample->set_text(d->pSample ? d->pSample->pInfo->Name.c_str() : "NULL"); |
532 |
eEG1PreAttack.set_ptr(&d->EG1PreAttack); |
eEG1PreAttack.set_ptr(&d->EG1PreAttack); |
533 |
eEG1Attack.set_ptr(&d->EG1Attack); |
eEG1Attack.set_ptr(&d->EG1Attack); |
592 |
eReleaseVelocityResponseCurve.set_ptr(&d->ReleaseVelocityResponseCurve); |
eReleaseVelocityResponseCurve.set_ptr(&d->ReleaseVelocityResponseCurve); |
593 |
eReleaseVelocityResponseDepth.set_ptr(&d->ReleaseVelocityResponseDepth); |
eReleaseVelocityResponseDepth.set_ptr(&d->ReleaseVelocityResponseDepth); |
594 |
eReleaseTriggerDecay.set_ptr(&d->ReleaseTriggerDecay); |
eReleaseTriggerDecay.set_ptr(&d->ReleaseTriggerDecay); |
595 |
|
|
596 |
|
eCrossfade_in_start.set_ptr(0); |
597 |
|
eCrossfade_in_end.set_ptr(0); |
598 |
|
eCrossfade_out_start.set_ptr(0); |
599 |
|
eCrossfade_out_end.set_ptr(0); |
600 |
eCrossfade_in_start.set_ptr(&d->Crossfade.in_start); |
eCrossfade_in_start.set_ptr(&d->Crossfade.in_start); |
601 |
eCrossfade_in_end.set_ptr(&d->Crossfade.in_end); |
eCrossfade_in_end.set_ptr(&d->Crossfade.in_end); |
602 |
eCrossfade_out_start.set_ptr(&d->Crossfade.out_start); |
eCrossfade_out_start.set_ptr(&d->Crossfade.out_start); |
603 |
eCrossfade_out_end.set_ptr(&d->Crossfade.out_end); |
eCrossfade_out_end.set_ptr(&d->Crossfade.out_end); |
604 |
|
|
605 |
ePitchTrack.set_ptr(&d->PitchTrack); |
ePitchTrack.set_ptr(&d->PitchTrack); |
606 |
eDimensionBypass.set_ptr(&d->DimensionBypass); |
eDimensionBypass.set_ptr(&d->DimensionBypass); |
607 |
ePan.set_ptr(&d->Pan); |
ePan.set_ptr(&d->Pan); |
622 |
updateLoopElements(); |
updateLoopElements(); |
623 |
|
|
624 |
VCFEnabled_toggled(); |
VCFEnabled_toggled(); |
|
|
|
|
update_gui = true; |
|
625 |
} |
} |
626 |
|
|
627 |
void DimRegionEdit::VCFEnabled_toggled() |
void DimRegionEdit::VCFEnabled_toggled() |
792 |
loop.LoopLength = |
loop.LoopLength = |
793 |
(dimregion->pSample) ? dimregion->pSample->GetSize() : 0; |
(dimregion->pSample) ? dimregion->pSample->GetSize() : 0; |
794 |
dimregion->AddSampleLoop(&loop); |
dimregion->AddSampleLoop(&loop); |
795 |
|
dimreg_changed_signal(); |
796 |
} |
} |
797 |
} else { |
} else { |
798 |
// delete ALL existing sample loops |
if (dimregion->SampleLoops) { |
799 |
while (dimregion->SampleLoops) |
// delete ALL existing sample loops |
800 |
dimregion->DeleteSampleLoop(&dimregion->pSampleLoops[0]); |
while (dimregion->SampleLoops) { |
801 |
|
dimregion->DeleteSampleLoop(&dimregion->pSampleLoops[0]); |
802 |
|
} |
803 |
|
dimreg_changed_signal(); |
804 |
|
} |
805 |
} |
} |
806 |
updateLoopElements(); |
updateLoopElements(); |
807 |
} |
} |
813 |
eSampleLoopLength.set_sensitive(active); |
eSampleLoopLength.set_sensitive(active); |
814 |
eSampleLoopType.set_sensitive(active); |
eSampleLoopType.set_sensitive(active); |
815 |
eSampleLoopInfinite.set_sensitive(active); |
eSampleLoopInfinite.set_sensitive(active); |
816 |
|
eSampleLoopStart.set_ptr(0); |
817 |
|
eSampleLoopLength.set_ptr(0); |
818 |
|
eSampleLoopPlayCount.set_ptr(0); |
819 |
|
|
820 |
if (dimregion && dimregion->SampleLoops) { |
if (dimregion && dimregion->SampleLoops) { |
821 |
eSampleLoopStart.set_ptr(&dimregion->pSampleLoops[0].LoopStart); |
eSampleLoopStart.set_ptr(&dimregion->pSampleLoops[0].LoopStart); |
822 |
eSampleLoopLength.set_ptr(&dimregion->pSampleLoops[0].LoopLength); |
eSampleLoopLength.set_ptr(&dimregion->pSampleLoops[0].LoopLength); |
823 |
eSampleLoopType.set_ptr(&dimregion->pSampleLoops[0].LoopType); |
eSampleLoopType.set_ptr(&dimregion->pSampleLoops[0].LoopType); |
|
eSampleLoopPlayCount.set_ptr( |
|
|
(dimregion->pSample) ? &dimregion->pSample->LoopPlayCount : NULL |
|
|
); |
|
824 |
eSampleLoopInfinite.set_active( |
eSampleLoopInfinite.set_active( |
825 |
dimregion->pSample && !dimregion->pSample->LoopPlayCount |
dimregion->pSample && !dimregion->pSample->LoopPlayCount |
826 |
); |
); |
827 |
|
// updated enabled state of loop play count widget |
828 |
|
loop_infinite_toggled(); |
829 |
|
|
830 |
|
eSampleLoopPlayCount.set_ptr( |
831 |
|
(dimregion->pSample) ? &dimregion->pSample->LoopPlayCount : 0 |
832 |
|
); |
833 |
|
|
834 |
// sample loop shall never be longer than the actual sample size |
// sample loop shall never be longer than the actual sample size |
835 |
eSampleLoopStart.set_upper( |
eSampleLoopStart.set_upper( |
836 |
(dimregion->pSample) |
(dimregion->pSample) |
845 |
: 0 |
: 0 |
846 |
); |
); |
847 |
} else { // no sample loop(s) |
} else { // no sample loop(s) |
848 |
eSampleLoopStart.set_ptr(NULL); |
eSampleLoopType.set_ptr(0); |
849 |
eSampleLoopLength.set_ptr(NULL); |
// updated enabled state of loop play count widget |
850 |
eSampleLoopType.set_ptr(NULL); |
loop_infinite_toggled(); |
|
eSampleLoopPlayCount.set_ptr(NULL); |
|
851 |
} |
} |
|
// updated enabled state of loop play count widget |
|
|
loop_infinite_toggled(); |
|
852 |
} |
} |
853 |
|
|
854 |
void DimRegionEdit::loop_infinite_toggled() { |
void DimRegionEdit::loop_infinite_toggled() { |