230 |
eMSDecode(_("Decode Mid/Side Recordings")), |
eMSDecode(_("Decode Mid/Side Recordings")), |
231 |
eSampleStartOffset(_("Sample start offset"), 0, 2000), |
eSampleStartOffset(_("Sample start offset"), 0, 2000), |
232 |
eUnityNote(_("Unity note")), |
eUnityNote(_("Unity note")), |
233 |
|
eSampleGroup(_("Sample Group")), |
234 |
eSampleFormatInfo(_("Sample Format")), |
eSampleFormatInfo(_("Sample Format")), |
235 |
eSampleID("Sample ID"), |
eSampleID("Sample ID"), |
236 |
|
eChecksum("Wave Data CRC-32"), |
237 |
eFineTune(_("Fine tune"), -49, 50), |
eFineTune(_("Fine tune"), -49, 50), |
238 |
eGain(_("Gain"), -96, 0, 2, -655360), |
eGain(_("Gain"), -96, 0, 2, -655360), |
239 |
eGainPlus6(_("Gain +6dB"), eGain, 6 * -655360), |
eGainPlus6(_("Gain +6dB"), eGain, 6 * -655360), |
469 |
wSample->set_tooltip_text(_("Drag & drop a sample here")); |
wSample->set_tooltip_text(_("Drag & drop a sample here")); |
470 |
#endif |
#endif |
471 |
addProp(eUnityNote); |
addProp(eUnityNote); |
472 |
|
addProp(eSampleGroup); |
473 |
addProp(eSampleFormatInfo); |
addProp(eSampleFormatInfo); |
474 |
addProp(eSampleID); |
addProp(eSampleID); |
475 |
|
addProp(eChecksum); |
476 |
addRightHandSide(buttonSelectSample); |
addRightHandSide(buttonSelectSample); |
477 |
addHeader(_("Optional Settings")); |
addHeader(_("Optional Settings")); |
478 |
addProp(eSampleStartOffset); |
addProp(eSampleStartOffset); |
1025 |
eMSDecode.set_value(d->MSDecode); |
eMSDecode.set_value(d->MSDecode); |
1026 |
eSampleStartOffset.set_value(d->SampleStartOffset); |
eSampleStartOffset.set_value(d->SampleStartOffset); |
1027 |
eUnityNote.set_value(d->UnityNote); |
eUnityNote.set_value(d->UnityNote); |
1028 |
|
// show sample group name |
1029 |
|
{ |
1030 |
|
Glib::ustring s = "---"; |
1031 |
|
if (d->pSample && d->pSample->GetGroup()) |
1032 |
|
s = d->pSample->GetGroup()->Name; |
1033 |
|
eSampleGroup.text.set_text(s); |
1034 |
|
} |
1035 |
// assemble sample format info string |
// assemble sample format info string |
1036 |
{ |
{ |
1037 |
Glib::ustring s; |
Glib::ustring s; |
1063 |
} |
} |
1064 |
eSampleID.text.set_text(s); |
eSampleID.text.set_text(s); |
1065 |
} |
} |
1066 |
|
// generate raw wave form data CRC-32 checksum string |
1067 |
|
{ |
1068 |
|
Glib::ustring s = "---"; |
1069 |
|
if (d->pSample) { |
1070 |
|
char buf[64] = {}; |
1071 |
|
snprintf(buf, sizeof(buf), "%x", d->pSample->GetWaveDataCRC32Checksum()); |
1072 |
|
s = buf; |
1073 |
|
} |
1074 |
|
eChecksum.text.set_text(s); |
1075 |
|
} |
1076 |
buttonSelectSample.set_sensitive(d && d->pSample); |
buttonSelectSample.set_sensitive(d && d->pSample); |
1077 |
eFineTune.set_value(d->FineTune); |
eFineTune.set_value(d->FineTune); |
1078 |
eGain.set_value(d->Gain); |
eGain.set_value(d->Gain); |
1324 |
|
|
1325 |
bool DimRegionEdit::set_sample(gig::DimensionRegion* dimreg, gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop) |
bool DimRegionEdit::set_sample(gig::DimensionRegion* dimreg, gig::Sample* sample, bool copy_sample_unity, bool copy_sample_tune, bool copy_sample_loop) |
1326 |
{ |
{ |
1327 |
if (dimregion) { |
if (dimreg) { |
1328 |
//TODO: we should better move the code from MainWindow::on_sample_label_drop_drag_data_received() here |
//TODO: we should better move the code from MainWindow::on_sample_label_drop_drag_data_received() here |
1329 |
|
|
1330 |
// currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received() |
// currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received() |
1333 |
// make sure stereo samples always are the same in both |
// make sure stereo samples always are the same in both |
1334 |
// dimregs in the samplechannel dimension |
// dimregs in the samplechannel dimension |
1335 |
int nbDimregs = 1; |
int nbDimregs = 1; |
1336 |
gig::DimensionRegion* d[2] = { dimregion, 0 }; |
gig::DimensionRegion* d[2] = { dimreg, 0 }; |
1337 |
if (sample->Channels == 2) { |
if (sample->Channels == 2) { |
1338 |
gig::Region* region = dimregion->GetParent(); |
gig::Region* region = dimreg->GetParent(); |
1339 |
|
|
1340 |
int bitcount = 0; |
int bitcount = 0; |
1341 |
int stereo_bit = 0; |
int stereo_bit = 0; |
1350 |
if (stereo_bit) { |
if (stereo_bit) { |
1351 |
int dimregno; |
int dimregno; |
1352 |
for (dimregno = 0 ; dimregno < region->DimensionRegions ; dimregno++) { |
for (dimregno = 0 ; dimregno < region->DimensionRegions ; dimregno++) { |
1353 |
if (region->pDimensionRegions[dimregno] == dimregion) { |
if (region->pDimensionRegions[dimregno] == dimreg) { |
1354 |
break; |
break; |
1355 |
} |
} |
1356 |
} |
} |
1360 |
} |
} |
1361 |
} |
} |
1362 |
|
|
1363 |
gig::Sample* oldref = dimregion->pSample; |
gig::Sample* oldref = dimreg->pSample; |
1364 |
|
|
1365 |
for (int i = 0 ; i < nbDimregs ; i++) { |
for (int i = 0 ; i < nbDimregs ; i++) { |
1366 |
d[i]->pSample = sample; |
d[i]->pSample = sample; |
1390 |
|
|
1391 |
// update ui |
// update ui |
1392 |
update_model++; |
update_model++; |
1393 |
wSample->set_text(gig_to_utf8(dimregion->pSample->pInfo->Name)); |
wSample->set_text(gig_to_utf8(dimreg->pSample->pInfo->Name)); |
1394 |
eUnityNote.set_value(dimregion->UnityNote); |
eUnityNote.set_value(dimreg->UnityNote); |
1395 |
eFineTune.set_value(dimregion->FineTune); |
eFineTune.set_value(dimreg->FineTune); |
1396 |
eSampleLoopEnabled.set_value(dimregion->SampleLoops); |
eSampleLoopEnabled.set_value(dimreg->SampleLoops); |
1397 |
update_loop_elements(); |
update_loop_elements(); |
1398 |
update_model--; |
update_model--; |
1399 |
|
|
1400 |
sample_ref_changed_signal.emit(oldref, sample); |
sample_ref_changed_signal.emit(oldref, sample); |
1401 |
// currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received() |
// currently commented because we're sending a similar signal in MainWindow::on_sample_label_drop_drag_data_received() |
1402 |
//dimreg_changed_signal.emit(dimregion); |
//dimreg_changed_signal.emit(dimreg); |
1403 |
return true; |
return true; |
1404 |
} |
} |
1405 |
return false; |
return false; |