2 |
// |
// |
3 |
// ui.h extension file, included from the uic-generated form implementation. |
// ui.h extension file, included from the uic-generated form implementation. |
4 |
/**************************************************************************** |
/**************************************************************************** |
5 |
Copyright (C) 2004, rncbc aka Rui Nuno Capela. All rights reserved. |
Copyright (C) 2004-2005, rncbc aka Rui Nuno Capela. All rights reserved. |
6 |
|
|
7 |
This program is free software; you can redistribute it and/or |
This program is free software; you can redistribute it and/or |
8 |
modify it under the terms of the GNU General Public License |
modify it under the terms of the GNU General Public License |
39 |
void qsamplerChannelStrip::init (void) |
void qsamplerChannelStrip::init (void) |
40 |
{ |
{ |
41 |
// Initialize locals. |
// Initialize locals. |
|
m_pMainForm = NULL; |
|
42 |
m_pChannel = NULL; |
m_pChannel = NULL; |
43 |
m_iDirtyChange = 0; |
m_iDirtyChange = 0; |
44 |
|
|
58 |
|
|
59 |
|
|
60 |
// Channel strip setup formal initializer. |
// Channel strip setup formal initializer. |
61 |
void qsamplerChannelStrip::setup ( qsamplerMainForm *pMainForm, int iChannelID ) |
void qsamplerChannelStrip::setup ( qsamplerChannel *pChannel ) |
62 |
{ |
{ |
63 |
// Set main form reference. |
// Destroy any previous channel descriptor; |
64 |
m_pMainForm = pMainForm; |
// (remember that once setup we own it!) |
|
|
|
|
// Destroy any previous channel descriptor. |
|
65 |
if (m_pChannel) |
if (m_pChannel) |
66 |
delete m_pChannel; |
delete m_pChannel; |
67 |
|
|
68 |
// Create a new one... |
// Set the new one... |
69 |
m_pChannel = new qsamplerChannel(pMainForm); |
m_pChannel = pChannel; |
|
// And set appropriate settings. |
|
|
if (m_pChannel && iChannelID >= 0) { |
|
|
m_pChannel->setChannelID(iChannelID); |
|
|
m_iDirtyChange = 0; |
|
|
} |
|
70 |
|
|
71 |
// Stabilize this around. |
// Stabilize this around. |
72 |
updateChannelInfo(); |
updateChannelInfo(); |
126 |
// Channel setup dialog slot. |
// Channel setup dialog slot. |
127 |
bool qsamplerChannelStrip::channelSetup (void) |
bool qsamplerChannelStrip::channelSetup (void) |
128 |
{ |
{ |
129 |
bool bResult = false; |
bool bResult = m_pChannel->channelSetup(this); |
|
|
|
|
qsamplerChannelForm *pChannelForm = new qsamplerChannelForm(this); |
|
|
if (pChannelForm) { |
|
|
pChannelForm->setup(m_pChannel); |
|
|
bResult = pChannelForm->exec(); |
|
|
delete pChannelForm; |
|
|
} |
|
130 |
|
|
131 |
if (bResult) |
if (bResult) |
132 |
emit channelChanged(this); |
emit channelChanged(this); |
135 |
} |
} |
136 |
|
|
137 |
|
|
138 |
|
// Update the channel instrument name. |
139 |
|
bool qsamplerChannelStrip::updateInstrumentName ( bool bForce ) |
140 |
|
{ |
141 |
|
if (m_pChannel == NULL) |
142 |
|
return false; |
143 |
|
|
144 |
|
// Do we refersh the actual name? |
145 |
|
if (bForce) |
146 |
|
m_pChannel->updateInstrumentName(); |
147 |
|
|
148 |
|
// Instrument name... |
149 |
|
if (m_pChannel->instrumentName().isEmpty()) |
150 |
|
InstrumentNameTextLabel->setText(' ' + tr("(No instrument)")); |
151 |
|
else |
152 |
|
InstrumentNameTextLabel->setText(' ' + m_pChannel->instrumentName()); |
153 |
|
|
154 |
|
return true; |
155 |
|
} |
156 |
|
|
157 |
|
|
158 |
// Update whole channel info state. |
// Update whole channel info state. |
159 |
bool qsamplerChannelStrip::updateChannelInfo (void) |
bool qsamplerChannelStrip::updateChannelInfo (void) |
160 |
{ |
{ |
173 |
// Read actual channel information. |
// Read actual channel information. |
174 |
m_pChannel->updateChannelInfo(); |
m_pChannel->updateChannelInfo(); |
175 |
|
|
|
// Set some proper display values. |
|
|
const QString sIndent = " "; |
|
|
|
|
176 |
// Engine name... |
// Engine name... |
177 |
if (m_pChannel->engineName().isEmpty()) |
if (m_pChannel->engineName().isEmpty()) |
178 |
EngineNameTextLabel->setText(sIndent + tr("(No engine)")); |
EngineNameTextLabel->setText(' ' + tr("(No engine)")); |
179 |
else |
else |
180 |
EngineNameTextLabel->setText(sIndent + m_pChannel->engineName()); |
EngineNameTextLabel->setText(' ' + m_pChannel->engineName()); |
181 |
|
|
182 |
// Instrument name... |
// Instrument name... |
183 |
if (m_pChannel->instrumentFile().isEmpty()) |
updateInstrumentName(false); |
|
InstrumentNameTextLabel->setText(sIndent + tr("(No instrument)")); |
|
|
else |
|
|
InstrumentNameTextLabel->setText(sIndent + qsamplerChannel::getInstrumentName(m_pChannel->instrumentFile(), m_pChannel->instrumentNr())); |
|
184 |
|
|
185 |
// Instrument status... |
// Instrument status... |
186 |
int iInstrumentStatus = m_pChannel->instrumentStatus(); |
int iInstrumentStatus = m_pChannel->instrumentStatus(); |
305 |
// Context menu event handler. |
// Context menu event handler. |
306 |
void qsamplerChannelStrip::contextMenuEvent( QContextMenuEvent *pEvent ) |
void qsamplerChannelStrip::contextMenuEvent( QContextMenuEvent *pEvent ) |
307 |
{ |
{ |
308 |
if (m_pMainForm == NULL) |
if (m_pChannel == NULL) |
309 |
return; |
return; |
310 |
|
|
311 |
// We'll just show up the main form's edit menu. |
// We'll just show up the main form's edit menu (thru qsamplerChannel). |
312 |
m_pMainForm->contextMenuEvent(pEvent); |
m_pChannel->contextMenuEvent(pEvent); |
313 |
} |
} |
314 |
|
|
315 |
|
|