kitbash 1.0.1__tar.gz → 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {kitbash-1.0.1 → kitbash-1.1.0}/.gitignore +2 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/PKG-INFO +2 -3
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/__init__.py +1 -1
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/gui/main_window.py +16 -8
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/gui/main_window.ui +54 -11
- {kitbash-1.0.1 → kitbash-1.1.0}/pyproject.toml +1 -1
- {kitbash-1.0.1 → kitbash-1.1.0}/LICENSE +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/README.md +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/gui/__init__.py +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/gui/samples_explorer.py +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/gui/samples_explorer.ui +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/res/group_expanded.svg +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/res/group_hidden.svg +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/res/kitbash-icon.png +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/scripts/bash_project.py +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/styles/light.css +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/kitbash/styles/system.css +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/tests/file_save_dialog.py +0 -0
- {kitbash-1.0.1 → kitbash-1.1.0}/tests/liquid_pool.py +0 -0
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
2
|
Name: kitbash
|
|
3
|
-
Version: 1.0
|
|
3
|
+
Version: 1.1.0
|
|
4
4
|
Summary: kitbash is a program you can use to combine parts of various SFZ files into a
|
|
5
5
|
Author-email: Leon Dionne <ldionne@dridesign.sh.cn>
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
|
|
8
|
-
License-File: LICENSE
|
|
9
8
|
Requires-Dist: PyQt5
|
|
10
9
|
Requires-Dist: conn_jack
|
|
11
10
|
Requires-Dist: jack_audio_player
|
|
@@ -353,18 +353,14 @@ class MainWindow(QMainWindow, GeometrySaver):
|
|
|
353
353
|
self.clear()
|
|
354
354
|
# Setup background threadpool for KitLoader and KitBasher workers
|
|
355
355
|
self.background_threadpool = QThreadPool()
|
|
356
|
-
|
|
357
|
-
self.conn_man = JackConnectionManager()
|
|
358
|
-
self.conn_man.on_error(self.jack_error)
|
|
359
|
-
self.conn_man.on_xrun(self.jack_xrun)
|
|
360
|
-
self.conn_man.on_shutdown(self.jack_shutdown)
|
|
361
|
-
self.conn_man.on_client_registration(self.jack_client_registration)
|
|
362
|
-
self.conn_man.on_port_registration(self.jack_port_registration)
|
|
356
|
+
self.setup_conn_man()
|
|
363
357
|
# Fill sink/source menus:
|
|
364
358
|
self.fill_cmb_sources()
|
|
365
359
|
self.fill_cmb_sinks()
|
|
366
360
|
# Setup signals
|
|
367
|
-
|
|
361
|
+
# Note: sig_ports_complete is emitted from a JACK.Client process thread.
|
|
362
|
+
# That is why we force use of QueuedConnection between that signal and the main GUI thread.
|
|
363
|
+
self.sig_ports_complete.connect(self.slot_ports_complete, type = Qt.QueuedConnection)
|
|
368
364
|
self.cmb_midi_srcs.currentTextChanged.connect(self.slot_midi_src_changed)
|
|
369
365
|
self.cmb_audio_sinks.currentTextChanged.connect(self.slot_audio_sink_changed)
|
|
370
366
|
# Setup MidiSplitter
|
|
@@ -391,6 +387,7 @@ class MainWindow(QMainWindow, GeometrySaver):
|
|
|
391
387
|
self.action_save_bashed_kit.triggered.connect(self.slot_save_kit)
|
|
392
388
|
self.action_save_kit_as.triggered.connect(self.slot_save_kit_as)
|
|
393
389
|
self.action_add_drumkit.triggered.connect(self.slot_add_drumkit)
|
|
390
|
+
self.b_add_drumkit.clicked.connect(self.slot_add_drumkit)
|
|
394
391
|
self.action_remove_all_kits.triggered.connect(self.slot_remove_all_kits)
|
|
395
392
|
self.action_reload_style.triggered.connect(self.slot_reload_style)
|
|
396
393
|
self.menu_recent_project.aboutToShow.connect(self.slot_show_recent_projects)
|
|
@@ -400,6 +397,15 @@ class MainWindow(QMainWindow, GeometrySaver):
|
|
|
400
397
|
self.b_copy_path.clicked.connect(self.slot_copy_kit_path)
|
|
401
398
|
self.b_xruns.clicked.connect(self.slot_xruns_clicked)
|
|
402
399
|
|
|
400
|
+
def setup_conn_man(self):
|
|
401
|
+
# Setup JackConnectionManager
|
|
402
|
+
self.conn_man = JackConnectionManager()
|
|
403
|
+
self.conn_man.on_error(self.jack_error)
|
|
404
|
+
self.conn_man.on_xrun(self.jack_xrun)
|
|
405
|
+
self.conn_man.on_shutdown(self.jack_shutdown)
|
|
406
|
+
self.conn_man.on_client_registration(self.jack_client_registration)
|
|
407
|
+
self.conn_man.on_port_registration(self.jack_port_registration)
|
|
408
|
+
|
|
403
409
|
def update_ui(self):
|
|
404
410
|
title = APPLICATION_NAME \
|
|
405
411
|
if self.project_filename is None \
|
|
@@ -411,6 +417,7 @@ class MainWindow(QMainWindow, GeometrySaver):
|
|
|
411
417
|
self.action_remove_all_kits.setEnabled(has_kits)
|
|
412
418
|
self.action_new_project.setEnabled(has_kits)
|
|
413
419
|
self.action_save_project.setEnabled(has_kits and self.dirty)
|
|
420
|
+
self.action_save_project_as.setEnabled(has_kits)
|
|
414
421
|
self.action_save_bashed_kit.setEnabled(has_kits)
|
|
415
422
|
self.b_save_kit.setEnabled(has_kits)
|
|
416
423
|
self.b_copy_path.setVisible(bool(self.bashed_sfz_filename))
|
|
@@ -549,6 +556,7 @@ class MainWindow(QMainWindow, GeometrySaver):
|
|
|
549
556
|
PyQt closeEvent overload.
|
|
550
557
|
"""
|
|
551
558
|
if self.okay_to_clear():
|
|
559
|
+
self.conn_man.close()
|
|
552
560
|
for drumkit_widget in self.drumkit_widgets:
|
|
553
561
|
drumkit_widget.synth.quit()
|
|
554
562
|
self.save_geometry()
|
|
@@ -53,6 +53,9 @@
|
|
|
53
53
|
<verstretch>0</verstretch>
|
|
54
54
|
</sizepolicy>
|
|
55
55
|
</property>
|
|
56
|
+
<property name="toolTip">
|
|
57
|
+
<string>Save this bashed kit</string>
|
|
58
|
+
</property>
|
|
56
59
|
<property name="text">
|
|
57
60
|
<string/>
|
|
58
61
|
</property>
|
|
@@ -62,6 +65,25 @@
|
|
|
62
65
|
</property>
|
|
63
66
|
</widget>
|
|
64
67
|
</item>
|
|
68
|
+
<item>
|
|
69
|
+
<widget class="QPushButton" name="b_add_drumkit">
|
|
70
|
+
<property name="sizePolicy">
|
|
71
|
+
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
|
|
72
|
+
<horstretch>0</horstretch>
|
|
73
|
+
<verstretch>0</verstretch>
|
|
74
|
+
</sizepolicy>
|
|
75
|
+
</property>
|
|
76
|
+
<property name="toolTip">
|
|
77
|
+
<string>Add an existing drumkit to the mix</string>
|
|
78
|
+
</property>
|
|
79
|
+
<property name="text">
|
|
80
|
+
<string/>
|
|
81
|
+
</property>
|
|
82
|
+
<property name="icon">
|
|
83
|
+
<iconset theme="list-add"/>
|
|
84
|
+
</property>
|
|
85
|
+
</widget>
|
|
86
|
+
</item>
|
|
65
87
|
<item>
|
|
66
88
|
<widget class="QLabel" name="lbl_bashed_sfz_filename">
|
|
67
89
|
<property name="minimumSize">
|
|
@@ -70,6 +92,9 @@
|
|
|
70
92
|
<height>0</height>
|
|
71
93
|
</size>
|
|
72
94
|
</property>
|
|
95
|
+
<property name="toolTip">
|
|
96
|
+
<string>Path to the current bashed kit</string>
|
|
97
|
+
</property>
|
|
73
98
|
<property name="text">
|
|
74
99
|
<string/>
|
|
75
100
|
</property>
|
|
@@ -80,11 +105,15 @@
|
|
|
80
105
|
<property name="enabled">
|
|
81
106
|
<bool>true</bool>
|
|
82
107
|
</property>
|
|
108
|
+
<property name="toolTip">
|
|
109
|
+
<string>Copy the path to the current bashed kit to the clipboard</string>
|
|
110
|
+
</property>
|
|
83
111
|
<property name="text">
|
|
84
112
|
<string/>
|
|
85
113
|
</property>
|
|
86
114
|
<property name="icon">
|
|
87
|
-
<iconset theme="edit-copy"
|
|
115
|
+
<iconset theme="edit-copy">
|
|
116
|
+
<normaloff>.</normaloff>.</iconset>
|
|
88
117
|
</property>
|
|
89
118
|
</widget>
|
|
90
119
|
</item>
|
|
@@ -114,7 +143,11 @@
|
|
|
114
143
|
</widget>
|
|
115
144
|
</item>
|
|
116
145
|
<item>
|
|
117
|
-
<widget class="QComboBox" name="cmb_midi_srcs"
|
|
146
|
+
<widget class="QComboBox" name="cmb_midi_srcs">
|
|
147
|
+
<property name="toolTip">
|
|
148
|
+
<string>Get MIDI input from this JACK client</string>
|
|
149
|
+
</property>
|
|
150
|
+
</widget>
|
|
118
151
|
</item>
|
|
119
152
|
</layout>
|
|
120
153
|
</item>
|
|
@@ -131,7 +164,11 @@
|
|
|
131
164
|
</widget>
|
|
132
165
|
</item>
|
|
133
166
|
<item>
|
|
134
|
-
<widget class="QComboBox" name="cmb_audio_sinks"
|
|
167
|
+
<widget class="QComboBox" name="cmb_audio_sinks">
|
|
168
|
+
<property name="toolTip">
|
|
169
|
+
<string>Send audio out to this JACK client</string>
|
|
170
|
+
</property>
|
|
171
|
+
</widget>
|
|
135
172
|
</item>
|
|
136
173
|
</layout>
|
|
137
174
|
</item>
|
|
@@ -143,12 +180,15 @@
|
|
|
143
180
|
<item>
|
|
144
181
|
<widget class="QLabel" name="lbl3">
|
|
145
182
|
<property name="text">
|
|
146
|
-
<string>
|
|
183
|
+
<string>Touch vel.:</string>
|
|
147
184
|
</property>
|
|
148
185
|
</widget>
|
|
149
186
|
</item>
|
|
150
187
|
<item>
|
|
151
188
|
<widget class="QSpinBox" name="spn_velocity">
|
|
189
|
+
<property name="toolTip">
|
|
190
|
+
<string>Play instruments when clicked at this MIDI velocity</string>
|
|
191
|
+
</property>
|
|
152
192
|
<property name="maximum">
|
|
153
193
|
<number>127</number>
|
|
154
194
|
</property>
|
|
@@ -179,6 +219,9 @@
|
|
|
179
219
|
<height>16777215</height>
|
|
180
220
|
</size>
|
|
181
221
|
</property>
|
|
222
|
+
<property name="toolTip">
|
|
223
|
+
<string>JACK "xruns" - click to reset</string>
|
|
224
|
+
</property>
|
|
182
225
|
<property name="text">
|
|
183
226
|
<string>0</string>
|
|
184
227
|
</property>
|
|
@@ -242,11 +285,6 @@
|
|
|
242
285
|
<string>&Recent Projects ...</string>
|
|
243
286
|
</property>
|
|
244
287
|
</widget>
|
|
245
|
-
<widget class="QMenu" name="menu_recent_drumkits">
|
|
246
|
-
<property name="title">
|
|
247
|
-
<string>Recent &Drumkits</string>
|
|
248
|
-
</property>
|
|
249
|
-
</widget>
|
|
250
288
|
<addaction name="action_new_project"/>
|
|
251
289
|
<addaction name="action_open_project"/>
|
|
252
290
|
<addaction name="action_save_project"/>
|
|
@@ -256,8 +294,6 @@
|
|
|
256
294
|
<addaction name="action_save_bashed_kit"/>
|
|
257
295
|
<addaction name="action_save_kit_as"/>
|
|
258
296
|
<addaction name="separator"/>
|
|
259
|
-
<addaction name="menu_recent_drumkits"/>
|
|
260
|
-
<addaction name="separator"/>
|
|
261
297
|
<addaction name="action_quit"/>
|
|
262
298
|
</widget>
|
|
263
299
|
<widget class="QMenu" name="menu_View">
|
|
@@ -278,7 +314,14 @@
|
|
|
278
314
|
<property name="title">
|
|
279
315
|
<string>&Edit</string>
|
|
280
316
|
</property>
|
|
317
|
+
<widget class="QMenu" name="menu_recent_drumkits">
|
|
318
|
+
<property name="title">
|
|
319
|
+
<string>Recent &Drumkits</string>
|
|
320
|
+
</property>
|
|
321
|
+
</widget>
|
|
281
322
|
<addaction name="action_add_drumkit"/>
|
|
323
|
+
<addaction name="menu_recent_drumkits"/>
|
|
324
|
+
<addaction name="separator"/>
|
|
282
325
|
<addaction name="action_remove_all_kits"/>
|
|
283
326
|
</widget>
|
|
284
327
|
<addaction name="menu_File"/>
|
|
@@ -30,7 +30,7 @@ requires = ["flit_core >=3.2,<4"]
|
|
|
30
30
|
build-backend = "flit_core.buildapi"
|
|
31
31
|
|
|
32
32
|
[bumpver]
|
|
33
|
-
current_version = "1.0
|
|
33
|
+
current_version = "1.1.0"
|
|
34
34
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
35
35
|
commit_message = "Bump version {old_version} -> {new_version}"
|
|
36
36
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|