kitbash 1.8.0__tar.gz → 1.9.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.
Files changed (25) hide show
  1. {kitbash-1.8.0 → kitbash-1.9.0}/PKG-INFO +7 -2
  2. {kitbash-1.8.0 → kitbash-1.9.0}/README.md +6 -1
  3. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/__init__.py +1 -1
  4. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/gui/main_window.py +4 -1
  5. kitbash-1.9.0/kitbash/res/save-sfz-icon.svg +92 -0
  6. {kitbash-1.8.0 → kitbash-1.9.0}/pyproject.toml +1 -1
  7. {kitbash-1.8.0 → kitbash-1.9.0}/.gitignore +0 -0
  8. {kitbash-1.8.0 → kitbash-1.9.0}/LICENSE +0 -0
  9. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/__main__.py +0 -0
  10. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/gui/__init__.py +0 -0
  11. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/gui/drumkit_widget.py +0 -0
  12. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/gui/kit_save_dialog.py +0 -0
  13. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/gui/main_window.ui +0 -0
  14. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/install.py +0 -0
  15. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/jack_audio.py +0 -0
  16. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/res/empty.sfz +0 -0
  17. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/res/group_expanded.svg +0 -0
  18. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/res/group_hidden.svg +0 -0
  19. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/res/kitbash-icon.png +0 -0
  20. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/res/kitbash-icon.svg +0 -0
  21. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/scripts/bash_project.py +0 -0
  22. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/styles/light.css +0 -0
  23. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/styles/system.css +0 -0
  24. {kitbash-1.8.0 → kitbash-1.9.0}/kitbash/worker_threads.py +0 -0
  25. {kitbash-1.8.0 → kitbash-1.9.0}/tests/file_save_dialog.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kitbash
3
- Version: 1.8.0
3
+ Version: 1.9.0
4
4
  Summary: Provides universal settings, styles, cached icons, and pixmaps, and the base
5
5
  Author-email: Leon Dionne <ldionne@dridesign.sh.cn>
6
6
  Description-Content-Type: text/markdown
@@ -32,6 +32,8 @@ finished drumkit to a new SFZ.
32
32
 
33
33
  ## Usage
34
34
 
35
+ <img width="624" height="329" alt="kitbash-empty-window" src="https://github.com/user-attachments/assets/0b0295be-34d7-4873-9576-82b50b8d5876" />
36
+
35
37
  Starting with an empty project, use the "Edit" -> "Load Drumkit" menu, or click
36
38
  on the "plus" symbol in the toolbar. You'll see all the instruments defined in
37
39
  the drumkit you just loaded, grouped into categories, such as "Snares", "Tom
@@ -59,6 +61,9 @@ a MIDI keyboard, or the MIDI output of another program, such as
59
61
  The instruments selected to be included in your final drumkit are indicated by
60
62
  the check boxes next to the instrument and category names.
61
63
 
64
+ <img width="887" height="421" alt="kitbash-window" src="https://github.com/user-attachments/assets/56122b21-a409-4ff2-a22d-bdba960f7a91" />
65
+
66
+
62
67
  Check the box next to a category to select all the instruments in that category
63
68
  for inclusion in your new drumkit. Check the checkbox next to any individual
64
69
  instrument (i.e. "Ride Bell"), to include only that instrument.
@@ -72,7 +77,7 @@ You can make changes while playing a loop from the incoming MIDI source, and
72
77
  the changes are (almost) immediately made to the "bashed" drumkit you are
73
78
  making.
74
79
 
75
- ### Exporting SFZ
80
+ ### Exporting an SFZ
76
81
 
77
82
  When you're satisfied with what you've selected, you can save the "bashed"
78
83
  drumkit as an .sfz file in a new location. From the menu, select "File" ->
@@ -16,6 +16,8 @@ finished drumkit to a new SFZ.
16
16
 
17
17
  ## Usage
18
18
 
19
+ <img width="624" height="329" alt="kitbash-empty-window" src="https://github.com/user-attachments/assets/0b0295be-34d7-4873-9576-82b50b8d5876" />
20
+
19
21
  Starting with an empty project, use the "Edit" -> "Load Drumkit" menu, or click
20
22
  on the "plus" symbol in the toolbar. You'll see all the instruments defined in
21
23
  the drumkit you just loaded, grouped into categories, such as "Snares", "Tom
@@ -43,6 +45,9 @@ a MIDI keyboard, or the MIDI output of another program, such as
43
45
  The instruments selected to be included in your final drumkit are indicated by
44
46
  the check boxes next to the instrument and category names.
45
47
 
48
+ <img width="887" height="421" alt="kitbash-window" src="https://github.com/user-attachments/assets/56122b21-a409-4ff2-a22d-bdba960f7a91" />
49
+
50
+
46
51
  Check the box next to a category to select all the instruments in that category
47
52
  for inclusion in your new drumkit. Check the checkbox next to any individual
48
53
  instrument (i.e. "Ride Bell"), to include only that instrument.
@@ -56,7 +61,7 @@ You can make changes while playing a loop from the incoming MIDI source, and
56
61
  the changes are (almost) immediately made to the "bashed" drumkit you are
57
62
  making.
58
63
 
59
- ### Exporting SFZ
64
+ ### Exporting an SFZ
60
65
 
61
66
  When you're satisfied with what you've selected, you can save the "bashed"
62
67
  drumkit as an .sfz file in a new location. From the menu, select "File" ->
@@ -29,7 +29,7 @@ from PyQt5.QtCore import QSettings
29
29
  from PyQt5.QtWidgets import QApplication, QSplitter
30
30
  from qt_extras import DevilBox
31
31
 
32
- __version__ = "1.8.0"
32
+ __version__ = "1.9.0"
33
33
 
34
34
  APPLICATION_NAME = "kitbash"
35
35
  PACKAGE_DIR = dirname(__file__)
@@ -27,7 +27,8 @@ from os.path import dirname, realpath, exists, join, splitext
27
27
  from functools import partial
28
28
  from signal import signal, SIGINT, SIGTERM
29
29
  from PyQt5 import uic
30
- from PyQt5.QtCore import Qt, QObject, pyqtSlot, QTimer, QThreadPool, QPoint, QCoreApplication
30
+ from PyQt5.QtCore import (
31
+ Qt, QObject, pyqtSlot, QTimer, QThreadPool, QPoint, QSize, QCoreApplication)
31
32
  from PyQt5.QtWidgets import (
32
33
  QApplication, QMainWindow, QMessageBox, QFileDialog, QAction, QActionGroup, QMenu)
33
34
  from PyQt5.QtGui import QIcon
@@ -72,6 +73,8 @@ class MainWindow(QMainWindow, GeometrySaver):
72
73
  with ShutUpQT():
73
74
  uic.loadUi(join(PACKAGE_DIR, 'gui', 'main_window.ui'), self)
74
75
  self.setWindowIcon(QIcon(join(PACKAGE_DIR, 'res', 'kitbash-icon.png')))
76
+ self.b_save_kit.setIcon(QIcon(join(PACKAGE_DIR, 'res', 'save-sfz-icon.svg')))
77
+ self.b_save_kit.setIconSize(QSize(20, 20))
75
78
  # Setup signals
76
79
  signal(SIGINT, self.system_signal)
77
80
  signal(SIGTERM, self.system_signal)
@@ -0,0 +1,92 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="600"
6
+ height="600"
7
+ viewBox="0 0 600 600"
8
+ id="svg2"
9
+ version="1.1"
10
+ xmlns:xlink="http://www.w3.org/1999/xlink"
11
+ xmlns="http://www.w3.org/2000/svg"
12
+ xmlns:svg="http://www.w3.org/2000/svg"
13
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
14
+ xmlns:cc="http://creativecommons.org/ns#"
15
+ xmlns:dc="http://purl.org/dc/elements/1.1/">
16
+ <defs
17
+ id="defs4">
18
+ <linearGradient
19
+ id="linearGradient3772">
20
+ <stop
21
+ style="stop-color:#999999;stop-opacity:1;"
22
+ offset="0.375784"
23
+ id="stop3768" />
24
+ <stop
25
+ style="stop-color:#cdd4df;stop-opacity:1;"
26
+ offset="1"
27
+ id="stop3770" />
28
+ </linearGradient>
29
+ <linearGradient
30
+ xlink:href="#linearGradient3772"
31
+ id="linearGradient3774"
32
+ x1="109.431"
33
+ y1="549.968"
34
+ x2="220.251"
35
+ y2="18.7833"
36
+ gradientUnits="userSpaceOnUse" />
37
+ </defs>
38
+ <metadata
39
+ id="metadata7">
40
+ <rdf:RDF>
41
+ <cc:Work
42
+ rdf:about="">
43
+ <dc:format>image/svg+xml</dc:format>
44
+ <dc:type
45
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
46
+ </cc:Work>
47
+ </rdf:RDF>
48
+ </metadata>
49
+ <g
50
+ id="layer1"
51
+ transform="translate(0,-452.36)">
52
+ <g
53
+ id="g1078"
54
+ transform="translate(-262.858,485.714)">
55
+ <g
56
+ id="g3430"
57
+ transform="matrix(1.02414,0,0,1.02414,-13.2997,0.475953)"
58
+ style="stroke-width:0.976431">
59
+ <path
60
+ id="rect864"
61
+ style="overflow:visible;fill:url(#linearGradient3774);fill-opacity:1;fill-rule:evenodd;stroke-width:0.585858"
62
+ transform="translate(262.858,-33.354)"
63
+ d="M 75.2027,4.34041 409.518,4.34 530.095,124.917 V 589.699 H 75.2027 Z" />
64
+ <path
65
+ id="path2357"
66
+ style="overflow:visible;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke-width:0.585858"
67
+ d="m 97.2031,567.699 c 136.9639,0 273.9289,0 410.8929,0 0,-144.557 0,-289.114 0,-433.672 C 472.2,98.1315 436.304,62.2357 400.408,26.3398 c -101.068,0 -202.137,0 -303.2049,0 0,180.4532 0,360.9062 0,541.3592 z"
68
+ transform="translate(262.858,-33.354)" />
69
+ </g>
70
+ <path
71
+ id="path6081"
72
+ style="font-size:14.6667px;line-height:100%;font-family:Z003;-inkscape-font-specification:Z003;text-align:center;letter-spacing:-0.99px;text-anchor:middle;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0127256;stroke-miterlimit:3"
73
+ d="m 184.994,352.959 c -1.502,0.211 -2.55,1.622 -2.707,3.07 -0.243,0.575 -0.819,-0.01 -1.085,-0.261 -1.23,-1.12 -3.704,-0.65 -4.14,1.052 -0.291,1.219 0.858,2.064 1.764,2.608 0.878,0.307 0.743,1.658 -0.133,1.853 -0.488,0.161 -1.471,0.06 -1.396,-0.635 0.302,-0.441 1.102,-0.281 1.281,-0.816 -0.487,-1.005 -2.163,-1.14 -2.782,-0.181 -0.716,0.87 -0.54,2.364 0.533,2.868 0.536,0.45 1.479,0.589 2.001,0.629 -0.55,0.315 -0.89,1.217 -0.23,1.606 1.221,0.987 3.303,0.437 3.804,-1.082 0.903,-1.771 1.173,-3.766 1.75,-5.65 0.842,-0.268 2.019,0.4 2.606,-0.516 0.04,-0.298 0.526,-0.312 0.693,-0.145 -1.623,1.263 -3.139,2.744 -4.215,4.493 0.08,0.58 0.731,1.184 1.315,0.916 0.259,-0.616 1.035,-0.334 1.415,0 1.506,0.731 3.8,0.263 4.326,-1.495 0.321,-0.958 0.193,-2.216 -0.649,-2.859 -0.782,-0.04 -1.677,0.511 -1.768,1.319 0.249,0.399 1.126,0.88 0.545,1.369 -0.631,0.485 -1.486,0.203 -2.1,-0.16 1.087,-1.707 2.699,-2.977 4.211,-4.28 0.348,-0.687 -0.786,-1.364 -1.24,-0.756 -0.669,0.313 -1.408,0 -2.07,-0.17 0.571,-0.149 1.428,-0.72 1.019,-1.394 -0.549,-0.924 -1.589,-1.603 -2.691,-1.382 z m 0.477,1.502 c 0.626,0 0.638,0.707 0.602,1.125 -0.648,0.01 -1.361,0.334 -1.975,0.639 0.113,-0.751 0.455,-1.763 1.373,-1.764 z m -5.746,2.391 c 0.669,0.07 -0.344,0.692 0.115,0.982 0.567,0.356 1.298,-0.107 1.894,0.127 0.271,0.499 -0.204,1.046 -0.213,1.588 -0.106,0.359 -0.125,1.124 -0.278,0.406 -0.358,-0.944 -1.396,-1.305 -2.014,-2.006 -0.384,-0.379 -0.227,-1.2 0.412,-1.096 h 0.08 z m 1.189,5.287 c -0.207,0.541 -0.502,1.264 -1.137,1.392 -0.456,-0.201 -0.483,-0.674 0.05,-0.715 0.501,-0.228 0.937,-0.614 1.214,-1.091 -0.04,0.138 -0.09,0.276 -0.129,0.414 z"
74
+ transform="matrix(39.2909,0,0,39.2909,-6616.21,-13836.7)" />
75
+ <path
76
+ d="m 175.591,360.898 c -0.01,1.204 1.433,1.971 2.831,1.98 1.163,0 2.053,-0.543 2.488,-1.447 0.717,-1.49 -0.471,-2.162 -1.382,-2.854 -0.351,-0.249 -1.032,-0.864 -0.715,-1.529 0.136,-0.482 0.647,-0.497 1.164,-0.391 0.434,0.09 0.7,0.674 0.63,1.03 l 0.932,-0.848 c 0,0 0.03,-0.57 -0.518,-0.964 -0.398,-0.289 -1.12,-0.418 -1.519,-0.441 -0.813,-0.05 -2.075,0.355 -2.258,1.785 0.07,1.018 1.047,1.549 1.744,2.009 0.861,0.43 1.015,1.667 0.08,2.158 -0.902,0.473 -1.988,0.09 -2.097,-0.488 -0.116,-0.621 0.89,-0.842 1.318,-1 0.416,-0.154 -1.172,-0.772 -1.443,-0.695 -0.797,0.349 -1.247,1.036 -1.255,1.695 z"
77
+ style="font-size:14.6667px;line-height:100%;font-family:Z003;-inkscape-font-specification:Z003;text-align:center;letter-spacing:-0.99px;text-anchor:middle;fill:#3a6973;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0127256;stroke-miterlimit:3"
78
+ id="path2715"
79
+ transform="matrix(39.2909,0,0,39.2909,-6616.21,-13836.7)" />
80
+ <path
81
+ d="m 178.058,364.076 c -0.03,0.28 0.364,0.979 1.951,0.945 2.107,-0.05 2.62,-3.953 3.578,-7.291 l 2.26,0.05 0.877,-1.282 -2.902,0.169 c 0.339,-1.447 0.626,-2.352 1.684,-2.405 0.951,-0.05 1.069,0.843 0.856,1.363 0.306,-0.02 1.284,-0.393 1.394,-0.86 -0.623,-1.01 -0.974,-1.518 -2.134,-1.513 -2.17,-0.06 -2.666,1.494 -3.111,3.288 l -1.591,-0.05 -0.917,1.185 2.348,0.05 c -0.626,1.92 -0.878,5.9 -2.311,6.083 -0.896,0.08 -0.583,-0.675 -0.804,-0.743 -0.524,0.183 -1.16,0.702 -1.178,1.008 z"
82
+ style="font-size:14.6667px;line-height:100%;font-family:Z003;-inkscape-font-specification:Z003;text-align:center;letter-spacing:-0.99px;text-anchor:middle;fill:#438561;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0127256;stroke-miterlimit:3"
83
+ id="path2717"
84
+ transform="matrix(39.2909,0,0,39.2909,-6620.37,-13837.6)" />
85
+ <path
86
+ d="m 184.183,362.603 c 0.129,-0.01 0.232,-0.275 0.369,-0.399 0.148,-0.133 0.464,-0.231 0.618,-0.125 0.734,0.401 1.423,0.801 2.411,0.709 1.863,-0.173 2.469,-1.121 2.498,-2.593 0.01,-0.743 -0.408,-1.493 -0.557,-1.568 -0.529,-0.162 -1.484,0.604 -1.546,0.93 0.04,0.296 0.989,0.648 0.815,1.287 -0.522,1.046 -1.79,0.88 -2.943,0.151 0.268,-0.674 1.474,-1.932 2.313,-2.776 0.631,-0.635 1.94,-1.544 2.081,-1.789 0.1,-0.171 -0.405,-0.715 -0.657,-0.519 -0.302,0.228 -0.651,0.39 -1.031,0.373 -0.841,0.01 -0.938,-0.41 -2.164,-0.427 -0.929,-0.01 -1.967,0.667 -1.967,0.667 0,0 -0.218,1.079 -0.03,1.059 1.372,-1.047 2.383,-0.648 3.555,-0.39 -1.535,0.997 -3.105,2.706 -3.895,3.698 -0.198,0.248 -0.528,0.614 -0.692,0.886 -0.04,0.36 0.645,0.856 0.82,0.83 z"
87
+ style="font-size:14.6667px;line-height:100%;font-family:Z003;-inkscape-font-specification:Z003;text-align:center;letter-spacing:-0.99px;text-anchor:middle;fill:#574f4b;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.0127256;stroke-miterlimit:3"
88
+ id="path2719"
89
+ transform="matrix(39.2909,0,0,39.2909,-6631.07,-13834.7)" />
90
+ </g>
91
+ </g>
92
+ </svg>
@@ -27,7 +27,7 @@ requires = ["flit_core >=3.2,<4"]
27
27
  build-backend = "flit_core.buildapi"
28
28
 
29
29
  [bumpver]
30
- current_version = "1.8.0"
30
+ current_version = "1.9.0"
31
31
  version_pattern = "MAJOR.MINOR.PATCH"
32
32
  commit_message = "Bump version {old_version} -> {new_version}"
33
33
  commit = true
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes