Skip to content

Commit 8cd35d1

Browse files
committed
- When selecting an Aux-Send pseudo-plugin, also highlight the
respective target output bus mixer strip. (EXPERIMENTAL)
1 parent f039773 commit 8cd35d1

14 files changed

+434
-365
lines changed

ChangeLog

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ ChangeLog
66

77
GIT HEAD
88

9+
- When selecting an Aux-Send pseudo-plugin, also highlight the
10+
respective target output bus mixer strip. (EXPERIMENTAL)
11+
912
- Mitigate and compensate for padding and start-delay/latency to
1013
(lib)RubberBand time-stretching and pitch-shifting processing.
1114
(GH #513) (EXPERIMENTAL)

src/qtractorMixer.cpp

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1375,9 +1375,6 @@ void qtractorMixerRack::setSelectedStrip ( qtractorMixerStrip *pStrip )
13751375

13761376
void qtractorMixerRack::setSelectedStrip2 ( qtractorMixerStrip *pStrip )
13771377
{
1378-
if (m_pSelectedStrip2 == m_pSelectedStrip)
1379-
return;
1380-
13811378
if (m_pSelectedStrip2)
13821379
m_pSelectedStrip2->setSelected(false);
13831380

@@ -1798,5 +1795,30 @@ void qtractorMixer::keyPressEvent ( QKeyEvent *pKeyEvent )
17981795
}
17991796

18001797

1798+
// Current selected output bus (usually an Aux-Send target) accessors.
1799+
void qtractorMixer::setSelectedOutputBus ( qtractorBus *pOutputBus )
1800+
{
1801+
qtractorMixerStrip *pOutputStrip2 = nullptr;
1802+
1803+
if (pOutputBus && (pOutputBus->busMode() & qtractorBus::Output))
1804+
pOutputStrip2 = m_pOutputRack->findStrip(pOutputBus->monitor_out());
1805+
1806+
if (pOutputStrip2)
1807+
m_pOutputRack->setSelectedStrip2(pOutputStrip2);
1808+
}
1809+
1810+
1811+
qtractorBus *qtractorMixer::selectedOutputBus (void) const
1812+
{
1813+
qtractorBus *pOutputBus = nullptr;
1814+
1815+
qtractorMixerStrip *pOutputStrip2 = m_pOutputRack->selectedStrip2();
1816+
if (pOutputStrip2)
1817+
pOutputBus = pOutputStrip2->bus();
1818+
1819+
return pOutputBus;
1820+
}
1821+
1822+
18011823
// end of qtractorMixer.cpp
18021824

src/qtractorMixer.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -421,6 +421,10 @@ class qtractorMixer : public QMainWindow
421421
// Multi-row workspace layout method.
422422
void updateWorkspaces();
423423

424+
// Current selected output bus (usually an Aux-Send target) accessors.
425+
void setSelectedOutputBus(qtractorBus *pOutputBus);
426+
qtractorBus *selectedOutputBus() const;
427+
424428
protected:
425429

426430
// Just about to notify main-window that we're closing.

src/qtractorPluginListView.cpp

Lines changed: 50 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
#include "qtractorInsertPlugin.h"
4242
#include "qtractorMidiControlPlugin.h"
4343

44+
#include "qtractorMixer.h"
45+
4446
#include <QItemDelegate>
4547
#include <QPainter>
4648
#include <QMenu>
@@ -190,7 +192,7 @@ class qtractorPluginListItemDelegate : public QItemDelegate
190192
const QStyleOptionViewItem& option, const QModelIndex& index ) const
191193
{
192194
QSize size(QItemDelegate::sizeHint(option, index));
193-
size.setHeight(16);
195+
size.setHeight(qMax(size.height(), 16));
194196
return size;
195197
}
196198

@@ -301,15 +303,13 @@ qtractorPluginListView::qtractorPluginListView ( QWidget *pParent )
301303
// Trap for help/tool-tips events.
302304
QListWidget::viewport()->installEventFilter(this);
303305

304-
// Double-click handling...
306+
// Double/simple-click handling...
305307
QObject::connect(this,
306308
SIGNAL(itemDoubleClicked(QListWidgetItem*)),
307309
SLOT(itemDoubleClickedSlot(QListWidgetItem*)));
308-
#if 0
309310
QObject::connect(this,
310311
SIGNAL(itemActivated(QListWidgetItem*)),
311312
SLOT(itemActivatedSlot(QListWidgetItem*)));
312-
#endif
313313
}
314314

315315

@@ -1376,13 +1376,8 @@ void qtractorPluginListView::midiControlAutoConnect (void)
13761376
}
13771377

13781378

1379-
// Show an existing plugin form slot.
1379+
// Double-click handler.
13801380
void qtractorPluginListView::itemDoubleClickedSlot ( QListWidgetItem *item )
1381-
{
1382-
itemActivatedSlot(item);
1383-
}
1384-
1385-
void qtractorPluginListView::itemActivatedSlot ( QListWidgetItem *item )
13861381
{
13871382
if (m_pPluginList == nullptr)
13881383
return;
@@ -1412,6 +1407,51 @@ void qtractorPluginListView::itemActivatedSlot ( QListWidgetItem *item )
14121407
}
14131408

14141409

1410+
// Simple-click handler.
1411+
void qtractorPluginListView::itemActivatedSlot ( QListWidgetItem *item )
1412+
{
1413+
if (m_pPluginList == nullptr)
1414+
return;
1415+
1416+
qtractorPluginListItem *pItem
1417+
= static_cast<qtractorPluginListItem *> (item);
1418+
if (pItem == nullptr)
1419+
return;
1420+
1421+
qtractorPlugin *pPlugin = pItem->plugin();
1422+
if (pPlugin == nullptr)
1423+
return;
1424+
1425+
qtractorPluginType *pType = pPlugin->type();
1426+
if (pType == nullptr)
1427+
return;
1428+
1429+
if (pType->typeHint() != qtractorPluginType::AuxSend)
1430+
return;
1431+
1432+
qtractorMainForm *pMainForm = qtractorMainForm::getInstance();
1433+
if (pMainForm == nullptr)
1434+
return;
1435+
1436+
qtractorMixer *pMixer = pMainForm->mixer();
1437+
if (pMixer == nullptr)
1438+
return;
1439+
1440+
if (pType->index() > 0) { // index == channels > 0 => Audio aux-send.
1441+
qtractorAudioAuxSendPlugin *pAudioAuxSendPlugin
1442+
= static_cast<qtractorAudioAuxSendPlugin *> (pPlugin);
1443+
if (pAudioAuxSendPlugin)
1444+
pMixer->setSelectedOutputBus(pAudioAuxSendPlugin->audioBus());
1445+
1446+
} else {
1447+
qtractorMidiAuxSendPlugin *pMidiAuxSendPlugin
1448+
= static_cast<qtractorMidiAuxSendPlugin *> (pPlugin);
1449+
if (pMidiAuxSendPlugin)
1450+
pMixer->setSelectedOutputBus(pMidiAuxSendPlugin->midiBus());
1451+
}
1452+
}
1453+
1454+
14151455
// Trap for help/tool-tip events.
14161456
bool qtractorPluginListView::eventFilter ( QObject *pObject, QEvent *pEvent )
14171457
{

src/qtractorPluginListView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ protected slots:
175175
void dropCopy();
176176
void dropCancel();
177177

178-
// Simple click handler.
178+
// Double/simple-click handler.
179179
void itemDoubleClickedSlot(QListWidgetItem *);
180180
void itemActivatedSlot(QListWidgetItem *);
181181

src/translations/qtractor_cs.ts

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11962,22 +11962,22 @@ P &lt; 0 : zpomalení posunu.
1196211962
<context>
1196311963
<name>qtractorMixer</name>
1196411964
<message>
11965-
<location filename="../qtractorMixer.cpp" line="1487"/>
11965+
<location filename="../qtractorMixer.cpp" line="1484"/>
1196611966
<source>Inputs</source>
1196711967
<translation>Vstupy</translation>
1196811968
</message>
1196911969
<message>
11970-
<location filename="../qtractorMixer.cpp" line="1488"/>
11970+
<location filename="../qtractorMixer.cpp" line="1485"/>
1197111971
<source>Tracks</source>
1197211972
<translation>Stopy</translation>
1197311973
</message>
1197411974
<message>
11975-
<location filename="../qtractorMixer.cpp" line="1489"/>
11975+
<location filename="../qtractorMixer.cpp" line="1486"/>
1197611976
<source>Outputs</source>
1197711977
<translation>Výstupy</translation>
1197811978
</message>
1197911979
<message>
11980-
<location filename="../qtractorMixer.cpp" line="1496"/>
11980+
<location filename="../qtractorMixer.cpp" line="1493"/>
1198111981
<source>Mixer</source>
1198211982
<translation>Mixážní pult</translation>
1198311983
</message>
@@ -14078,157 +14078,157 @@ Jste si jistý?</translation>
1407814078
<translation>Vyvést přídavné moduly</translation>
1407914079
</message>
1408014080
<message>
14081-
<location filename="../qtractorPluginListView.cpp" line="1437"/>
14081+
<location filename="../qtractorPluginListView.cpp" line="1477"/>
1408214082
<source>Aux Send: </source>
1408314083
<translation>Aux Send: </translation>
1408414084
</message>
1408514085
<message>
14086-
<location filename="../qtractorPluginListView.cpp" line="1756"/>
14086+
<location filename="../qtractorPluginListView.cpp" line="1796"/>
1408714087
<source>&amp;Move Here</source>
1408814088
<translation>&amp;Přesunout na toto místo</translation>
1408914089
</message>
1409014090
<message>
14091-
<location filename="../qtractorPluginListView.cpp" line="1757"/>
14091+
<location filename="../qtractorPluginListView.cpp" line="1797"/>
1409214092
<source>&amp;Copy Here</source>
1409314093
<translation>&amp;Kopírovat na toto místo</translation>
1409414094
</message>
1409514095
<message>
14096-
<location filename="../qtractorPluginListView.cpp" line="1760"/>
14096+
<location filename="../qtractorPluginListView.cpp" line="1800"/>
1409714097
<source>C&amp;ancel</source>
1409814098
<translation>Z&amp;rušit</translation>
1409914099
</message>
1410014100
<message>
14101-
<location filename="../qtractorPluginListView.cpp" line="1863"/>
14101+
<location filename="../qtractorPluginListView.cpp" line="1903"/>
1410214102
<source>&amp;Add Plugin...</source>
1410314103
<translation>&amp;Přidat přídavný modul...</translation>
1410414104
</message>
1410514105
<message>
14106-
<location filename="../qtractorPluginListView.cpp" line="1869"/>
14106+
<location filename="../qtractorPluginListView.cpp" line="1909"/>
1410714107
<source>&amp;Audio</source>
1410814108
<translation>&amp;Zvuk</translation>
1410914109
</message>
1411014110
<message>
14111-
<location filename="../qtractorPluginListView.cpp" line="1873"/>
14112-
<location filename="../qtractorPluginListView.cpp" line="1902"/>
14111+
<location filename="../qtractorPluginListView.cpp" line="1913"/>
14112+
<location filename="../qtractorPluginListView.cpp" line="1942"/>
1411314113
<source>Add &amp;Insert</source>
1411414114
<translation>Přidat &amp;vložku</translation>
1411514115
</message>
1411614116
<message>
14117-
<location filename="../qtractorPluginListView.cpp" line="1876"/>
14118-
<location filename="../qtractorPluginListView.cpp" line="1906"/>
14117+
<location filename="../qtractorPluginListView.cpp" line="1916"/>
14118+
<location filename="../qtractorPluginListView.cpp" line="1946"/>
1411914119
<source>Add &amp;Aux Send</source>
1412014120
<translation>Přidat &amp;aux-send</translation>
1412114121
</message>
1412214122
<message>
14123-
<location filename="../qtractorPluginListView.cpp" line="1885"/>
14124-
<location filename="../qtractorPluginListView.cpp" line="1918"/>
14123+
<location filename="../qtractorPluginListView.cpp" line="1925"/>
14124+
<location filename="../qtractorPluginListView.cpp" line="1958"/>
1412514125
<source>&amp;Sends</source>
1412614126
<translation>&amp;Poslání</translation>
1412714127
</message>
1412814128
<message>
14129-
<location filename="../qtractorPluginListView.cpp" line="1889"/>
14130-
<location filename="../qtractorPluginListView.cpp" line="1922"/>
14129+
<location filename="../qtractorPluginListView.cpp" line="1929"/>
14130+
<location filename="../qtractorPluginListView.cpp" line="1962"/>
1413114131
<source>&amp;Returns</source>
1413214132
<translation>&amp;Navrácení</translation>
1413314133
</message>
1413414134
<message>
14135-
<location filename="../qtractorPluginListView.cpp" line="1898"/>
14135+
<location filename="../qtractorPluginListView.cpp" line="1938"/>
1413614136
<source>&amp;MIDI</source>
1413714137
<translation>&amp;MIDI</translation>
1413814138
</message>
1413914139
<message>
14140-
<location filename="../qtractorPluginListView.cpp" line="1911"/>
14140+
<location filename="../qtractorPluginListView.cpp" line="1951"/>
1414114141
<source>Add &amp;Controller</source>
1414214142
<translation>Přidat &amp;ovladač</translation>
1414314143
</message>
1414414144
<message>
14145-
<location filename="../qtractorPluginListView.cpp" line="1940"/>
14145+
<location filename="../qtractorPluginListView.cpp" line="1980"/>
1414614146
<source>Ac&amp;tivate</source>
1414714147
<translation>&amp;Zapnout</translation>
1414814148
</message>
1414914149
<message>
14150-
<location filename="../qtractorPluginListView.cpp" line="1963"/>
14150+
<location filename="../qtractorPluginListView.cpp" line="2003"/>
1415114151
<source>&amp;Remove</source>
1415214152
<translation>&amp;Odstranit</translation>
1415314153
</message>
1415414154
<message>
14155-
<location filename="../qtractorPluginListView.cpp" line="1984"/>
14155+
<location filename="../qtractorPluginListView.cpp" line="2024"/>
1415614156
<source>Pre&amp;set</source>
1415714157
<translation>&amp;Přednastavení</translation>
1415814158
</message>
1415914159
<message>
14160-
<location filename="../qtractorPluginListView.cpp" line="2003"/>
14160+
<location filename="../qtractorPluginListView.cpp" line="2043"/>
1416114161
<source>Dire&amp;ct Access</source>
1416214162
<translation>Pří&amp;mý přístup</translation>
1416314163
</message>
1416414164
<message>
14165-
<location filename="../qtractorPluginListView.cpp" line="2022"/>
14165+
<location filename="../qtractorPluginListView.cpp" line="2062"/>
1416614166
<source>&amp;None</source>
1416714167
<translation>&amp;Žádný</translation>
1416814168
</message>
1416914169
<message>
14170-
<location filename="../qtractorPluginListView.cpp" line="2035"/>
14170+
<location filename="../qtractorPluginListView.cpp" line="2075"/>
1417114171
<source>&amp;Properties...</source>
1417214172
<translation>Vlastnosti&amp;...</translation>
1417314173
</message>
1417414174
<message>
14175-
<location filename="../qtractorPluginListView.cpp" line="2042"/>
14175+
<location filename="../qtractorPluginListView.cpp" line="2082"/>
1417614176
<source>&amp;Edit</source>
1417714177
<translation>&amp;Upravit</translation>
1417814178
</message>
1417914179
<message>
14180-
<location filename="../qtractorPluginListView.cpp" line="2050"/>
14180+
<location filename="../qtractorPluginListView.cpp" line="2090"/>
1418114181
<source>&amp;Import...</source>
1418214182
<translation>&amp;Zavést...</translation>
1418314183
</message>
1418414184
<message>
14185-
<location filename="../qtractorPluginListView.cpp" line="2054"/>
14185+
<location filename="../qtractorPluginListView.cpp" line="2094"/>
1418614186
<source>E&amp;xport...</source>
1418714187
<translation>V&amp;yvést...</translation>
1418814188
</message>
1418914189
<message>
14190-
<location filename="../qtractorPluginListView.cpp" line="1926"/>
14191-
<location filename="../qtractorPluginListView.cpp" line="2088"/>
14190+
<location filename="../qtractorPluginListView.cpp" line="1966"/>
14191+
<location filename="../qtractorPluginListView.cpp" line="2128"/>
1419214192
<source>&amp;Auto-connect</source>
1419314193
<translation>&amp;Připojit automaticky</translation>
1419414194
</message>
1419514195
<message>
14196-
<location filename="../qtractorPluginListView.cpp" line="1947"/>
14196+
<location filename="../qtractorPluginListView.cpp" line="1987"/>
1419714197
<source>Acti&amp;vate All</source>
1419814198
<translation>Z&amp;apnout vše</translation>
1419914199
</message>
1420014200
<message>
14201-
<location filename="../qtractorPluginListView.cpp" line="1866"/>
14201+
<location filename="../qtractorPluginListView.cpp" line="1906"/>
1420214202
<source>I&amp;nserts</source>
1420314203
<translation>&amp;Vložky</translation>
1420414204
</message>
1420514205
<message>
14206-
<location filename="../qtractorPluginListView.cpp" line="1954"/>
14206+
<location filename="../qtractorPluginListView.cpp" line="1994"/>
1420714207
<source>Deactivate Al&amp;l</source>
1420814208
<translation>Vypnout v&amp;še</translation>
1420914209
</message>
1421014210
<message>
14211-
<location filename="../qtractorPluginListView.cpp" line="1967"/>
14211+
<location filename="../qtractorPluginListView.cpp" line="2007"/>
1421214212
<source>Re&amp;move All</source>
1421314213
<translation>Od&amp;stranit vše</translation>
1421414214
</message>
1421514215
<message>
14216-
<location filename="../qtractorPluginListView.cpp" line="1974"/>
14216+
<location filename="../qtractorPluginListView.cpp" line="2014"/>
1421714217
<source>Move &amp;Up</source>
1421814218
<translation>Posunout &amp;nahoru</translation>
1421914219
</message>
1422014220
<message>
14221-
<location filename="../qtractorPluginListView.cpp" line="1979"/>
14221+
<location filename="../qtractorPluginListView.cpp" line="2019"/>
1422214222
<source>Move &amp;Down</source>
1422314223
<translation>Posunout &amp;dolů</translation>
1422414224
</message>
1422514225
<message>
14226-
<location filename="../qtractorPluginListView.cpp" line="2066"/>
14226+
<location filename="../qtractorPluginListView.cpp" line="2106"/>
1422714227
<source>&amp;Outputs</source>
1422814228
<translation>&amp;Výstupy</translation>
1422914229
</message>
1423014230
<message>
14231-
<location filename="../qtractorPluginListView.cpp" line="2084"/>
14231+
<location filename="../qtractorPluginListView.cpp" line="2124"/>
1423214232
<source>&amp;Dedicated</source>
1423314233
<translation>&amp;Jednoúčelové</translation>
1423414234
</message>

0 commit comments

Comments
 (0)