Collection of tools useful for audio production
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

609 lines
26KB

  1. #!/usr/bin/env python3
  2. # -*- coding: utf-8 -*-
  3. # PatchBay Canvas Themes
  4. # Copyright (C) 2010-2012 Filipe Coelho <falktx@falktx.com>
  5. #
  6. # This program is free software; you can redistribute it and/or modify
  7. # it under the terms of the GNU General Public License as published by
  8. # the Free Software Foundation; either version 2 of the License, or
  9. # any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU General Public License for more details.
  15. #
  16. # For a full copy of the GNU General Public License see the COPYING file
  17. # ------------------------------------------------------------------------------------------------------------
  18. # Imports (Global)
  19. from PyQt4.QtCore import Qt
  20. from PyQt4.QtGui import QColor, QFont, QFontMetrics, QPen, QPixmap
  21. # ------------------------------------------------------------------------------------------------------------
  22. # patchcanvas-theme.cpp
  23. class Theme(object):
  24. # enum PortType
  25. THEME_PORT_SQUARE = 0
  26. THEME_PORT_POLYGON = 1
  27. # enum List
  28. THEME_MODERN_DARK = 0
  29. THEME_MODERN_DARK_TINY = 1
  30. THEME_MODERN_LIGHT = 2
  31. THEME_CLASSIC_DARK = 3
  32. THEME_NEOCLASSIC_DARK = 4
  33. THEME_OOSTUDIO = 5
  34. THEME_MAX = 6
  35. # enum BackgroundType
  36. THEME_BG_SOLID = 0
  37. THEME_BG_GRADIENT = 1
  38. def __init__(self, idx):
  39. object.__init__(self)
  40. self.idx = idx
  41. if idx == self.THEME_MODERN_DARK:
  42. # Canvas
  43. self.canvas_bg = QColor(0, 0, 0)
  44. # Boxes
  45. self.box_pen = QPen(QColor(76, 77, 78), 1, Qt.SolidLine)
  46. self.box_pen_sel = QPen(QColor(206, 207, 208), 1, Qt.DashLine)
  47. self.box_bg_1 = QColor(32, 34, 35)
  48. self.box_bg_2 = QColor(43, 47, 48)
  49. self.box_shadow = QColor(89, 89, 89, 180)
  50. self.box_header_pixmap = None
  51. self.box_header_height = 24
  52. self.box_header_spacing = 0
  53. self.box_rounding = 3.0
  54. self.box_text = QPen(QColor(240, 240, 240), 0)
  55. self.box_text_sel = self.box_text
  56. self.box_font_name = "Deja Vu Sans"
  57. self.box_font_size = 8
  58. self.box_font_state = QFont.Bold
  59. self.box_bg_type = self.THEME_BG_GRADIENT
  60. self.box_use_icon = True
  61. # Ports
  62. self.port_text = QPen(QColor(250, 250, 250, 180), 0)
  63. self.port_bg_pixmap = None
  64. self.port_font_name = "Deja Vu Sans"
  65. self.port_font_size = 8
  66. self.port_font_state = QFont.Normal
  67. self.port_mode = self.THEME_PORT_POLYGON
  68. self.port_audio_jack_pen = QPen(QColor(63, 90, 126), 1)
  69. self.port_audio_jack_pen_sel = QPen(QColor(63 + 30, 90 + 30, 126 + 30), 1)
  70. self.port_midi_jack_pen = QPen(QColor(159, 44, 42), 1)
  71. self.port_midi_jack_pen_sel = QPen(QColor(159 + 30, 44 + 30, 42 + 30), 1)
  72. self.port_midi_a2j_pen = QPen(QColor(137, 76, 43), 1)
  73. self.port_midi_a2j_pen_sel = QPen(QColor(137 + 30, 76 + 30, 43 + 30), 1)
  74. self.port_midi_alsa_pen = QPen(QColor(93, 141, 46), 1)
  75. self.port_midi_alsa_pen_sel = QPen(QColor(93 + 30, 141 + 30, 46 + 30), 1)
  76. self.port_audio_jack_bg = QColor(35, 61, 99)
  77. self.port_audio_jack_bg_sel = QColor(35 + 50, 61 + 50, 99 + 50)
  78. self.port_midi_jack_bg = QColor(120, 15, 16)
  79. self.port_midi_jack_bg_sel = QColor(120 + 50, 15 + 50, 16 + 50)
  80. self.port_midi_a2j_bg = QColor(101, 47, 16)
  81. self.port_midi_a2j_bg_sel = QColor(101 + 50, 47 + 50, 16 + 50)
  82. self.port_midi_alsa_bg = QColor(64, 112, 18)
  83. self.port_midi_alsa_bg_sel = QColor(64 + 50, 112 + 50, 18 + 50)
  84. self.port_audio_jack_text = self.port_text
  85. self.port_audio_jack_text_sel = self.port_text
  86. self.port_midi_jack_text = self.port_text
  87. self.port_midi_jack_text_sel = self.port_text
  88. self.port_midi_a2j_text = self.port_text
  89. self.port_midi_a2j_text_sel = self.port_text
  90. self.port_midi_alsa_text = self.port_text
  91. self.port_midi_alsa_text_sel = self.port_text
  92. self.port_text_padding = 1
  93. self.port_offset = 0
  94. self.port_spacing = 3
  95. self.port_spacingT = 2
  96. self.port_rounding = 0.0
  97. # To not scale some line widths
  98. self.box_pen.setCosmetic(True)
  99. self.box_pen_sel.setCosmetic(True)
  100. self.port_audio_jack_pen.setCosmetic(True)
  101. self.port_audio_jack_pen_sel.setCosmetic(True)
  102. self.port_midi_jack_pen.setCosmetic(True)
  103. self.port_midi_jack_pen_sel.setCosmetic(True)
  104. self.port_midi_a2j_pen.setCosmetic(True)
  105. self.port_midi_a2j_pen_sel.setCosmetic(True)
  106. self.port_midi_alsa_pen.setCosmetic(True)
  107. self.port_midi_alsa_pen_sel.setCosmetic(True)
  108. # Lines
  109. self.line_audio_jack = QColor(63, 90, 126)
  110. self.line_audio_jack_sel = QColor(63 + 90, 90 + 90, 126 + 90)
  111. self.line_audio_jack_glow = QColor(100, 100, 200)
  112. self.line_midi_jack = QColor(159, 44, 42)
  113. self.line_midi_jack_sel = QColor(159 + 90, 44 + 90, 42 + 90)
  114. self.line_midi_jack_glow = QColor(200, 100, 100)
  115. self.line_midi_a2j = QColor(137, 76, 43)
  116. self.line_midi_a2j_sel = QColor(137 + 90, 76 + 90, 43 + 90)
  117. self.line_midi_a2j_glow = QColor(166, 133, 133)
  118. self.line_midi_alsa = QColor(93, 141, 46)
  119. self.line_midi_alsa_sel = QColor(93 + 90, 141 + 90, 46 + 90)
  120. self.line_midi_alsa_glow = QColor(100, 200, 100)
  121. self.rubberband_pen = QPen(QColor(206, 207, 208), 1, Qt.SolidLine)
  122. self.rubberband_brush = QColor(76, 77, 78, 100)
  123. elif idx == self.THEME_MODERN_DARK_TINY:
  124. # Canvas
  125. self.canvas_bg = QColor(0, 0, 0)
  126. # Boxes
  127. self.box_pen = QPen(QColor(76, 77, 78), 1, Qt.SolidLine)
  128. self.box_pen_sel = QPen(QColor(206, 207, 208), 1, Qt.DashLine)
  129. self.box_bg_1 = QColor(32, 34, 35)
  130. self.box_bg_2 = QColor(43, 47, 48)
  131. self.box_shadow = QColor(89, 89, 89, 180)
  132. self.box_header_pixmap = None
  133. self.box_header_height = 14
  134. self.box_header_spacing = 0
  135. self.box_rounding = 2.0
  136. self.box_text = QPen(QColor(240, 240, 240), 0)
  137. self.box_text_sel = self.box_text
  138. self.box_font_name = "Deja Vu Sans"
  139. self.box_font_size = 7
  140. self.box_font_state = QFont.Bold
  141. self.box_bg_type = self.THEME_BG_GRADIENT
  142. self.box_use_icon = False
  143. # Ports
  144. self.port_text = QPen(QColor(250, 250, 250, 180), 0)
  145. self.port_bg_pixmap = None
  146. self.port_font_name = "Deja Vu Sans"
  147. self.port_font_size = 6
  148. self.port_font_state = QFont.Normal
  149. self.port_mode = self.THEME_PORT_POLYGON
  150. self.port_audio_jack_pen = QPen(QColor(63, 90, 126), 1)
  151. self.port_audio_jack_pen_sel = QPen(QColor(63 + 30, 90 + 30, 126 + 30), 1)
  152. self.port_midi_jack_pen = QPen(QColor(159, 44, 42), 1)
  153. self.port_midi_jack_pen_sel = QPen(QColor(159 + 30, 44 + 30, 42 + 30), 1)
  154. self.port_midi_a2j_pen = QPen(QColor(137, 76, 43), 1)
  155. self.port_midi_a2j_pen_sel = QPen(QColor(137 + 30, 76 + 30, 43 + 30), 1)
  156. self.port_midi_alsa_pen = QPen(QColor(93, 141, 46), 1)
  157. self.port_midi_alsa_pen_sel = QPen(QColor(93 + 30, 141 + 30, 46 + 30), 1)
  158. self.port_audio_jack_bg = QColor(35, 61, 99)
  159. self.port_audio_jack_bg_sel = QColor(35 + 50, 61 + 50, 99 + 50)
  160. self.port_midi_jack_bg = QColor(120, 15, 16)
  161. self.port_midi_jack_bg_sel = QColor(120 + 50, 15 + 50, 16 + 50)
  162. self.port_midi_a2j_bg = QColor(101, 47, 16)
  163. self.port_midi_a2j_bg_sel = QColor(101 + 50, 47 + 50, 16 + 50)
  164. self.port_midi_alsa_bg = QColor(64, 112, 18)
  165. self.port_midi_alsa_bg_sel = QColor(64 + 50, 112 + 50, 18 + 50)
  166. self.port_audio_jack_text = self.port_text
  167. self.port_audio_jack_text_sel = self.port_text
  168. self.port_midi_jack_text = self.port_text
  169. self.port_midi_jack_text_sel = self.port_text
  170. self.port_midi_a2j_text = self.port_text
  171. self.port_midi_a2j_text_sel = self.port_text
  172. self.port_midi_alsa_text = self.port_text
  173. self.port_midi_alsa_text_sel = self.port_text
  174. self.port_text_padding = 1
  175. self.port_offset = 0
  176. self.port_spacing = 2
  177. self.port_spacingT = 1
  178. self.port_rounding = 0.0
  179. # To not scale some line widths
  180. self.box_pen.setCosmetic(True)
  181. self.box_pen_sel.setCosmetic(True)
  182. self.port_audio_jack_pen.setCosmetic(True)
  183. self.port_audio_jack_pen_sel.setCosmetic(True)
  184. self.port_midi_jack_pen.setCosmetic(True)
  185. self.port_midi_jack_pen_sel.setCosmetic(True)
  186. self.port_midi_a2j_pen.setCosmetic(True)
  187. self.port_midi_a2j_pen_sel.setCosmetic(True)
  188. self.port_midi_alsa_pen.setCosmetic(True)
  189. self.port_midi_alsa_pen_sel.setCosmetic(True)
  190. # Lines
  191. self.line_audio_jack = QColor(63, 90, 126)
  192. self.line_audio_jack_sel = QColor(63 + 90, 90 + 90, 126 + 90)
  193. self.line_audio_jack_glow = QColor(100, 100, 200)
  194. self.line_midi_jack = QColor(159, 44, 42)
  195. self.line_midi_jack_sel = QColor(159 + 90, 44 + 90, 42 + 90)
  196. self.line_midi_jack_glow = QColor(200, 100, 100)
  197. self.line_midi_a2j = QColor(137, 76, 43)
  198. self.line_midi_a2j_sel = QColor(137 + 90, 76 + 90, 43 + 90)
  199. self.line_midi_a2j_glow = QColor(166, 133, 133)
  200. self.line_midi_alsa = QColor(93, 141, 46)
  201. self.line_midi_alsa_sel = QColor(93 + 90, 141 + 90, 46 + 90)
  202. self.line_midi_alsa_glow = QColor(100, 200, 100)
  203. self.rubberband_pen = QPen(QColor(206, 207, 208), 1, Qt.SolidLine)
  204. self.rubberband_brush = QColor(76, 77, 78, 100)
  205. elif idx == self.THEME_MODERN_LIGHT:
  206. # Canvas
  207. self.canvas_bg = QColor(248, 249, 250)
  208. # Boxes
  209. self.box_pen = QPen(QColor(176, 177, 178), 1, Qt.SolidLine)
  210. self.box_pen_sel = QPen(QColor(1, 2, 3), 2, Qt.DashLine)
  211. self.box_bg_1 = QColor(250, 250, 250)
  212. self.box_bg_2 = QColor(200, 200, 200)
  213. self.box_shadow = QColor(1, 1, 1, 100)
  214. self.box_header_pixmap = None
  215. self.box_header_height = 24
  216. self.box_header_spacing = 0
  217. self.box_rounding = 3.0
  218. self.box_text = QPen(QColor(1, 1, 1), 0)
  219. self.box_text_sel = self.box_text
  220. self.box_font_name = "Ubuntu"
  221. self.box_font_size = 11
  222. self.box_font_state = QFont.Bold
  223. self.box_bg_type = self.THEME_BG_GRADIENT
  224. self.box_use_icon = True
  225. # Ports
  226. self.port_text = QPen(QColor(30, 30, 30, 180), 1)
  227. self.port_bg_pixmap = None
  228. self.port_font_name = "Ubuntu"
  229. self.port_font_size = 10
  230. self.port_font_state = QFont.Bold
  231. self.port_mode = self.THEME_PORT_POLYGON
  232. self.port_audio_jack_pen = QPen(QColor(50, 50, 150), 1)
  233. self.port_audio_jack_pen_sel = QPen(QColor(103 + 136, 190 + 130, 226 + 130), 1)
  234. self.port_midi_jack_pen = QPen(QColor(150, 50, 50), 1)
  235. self.port_midi_jack_pen_sel = QPen(QColor(90 + 30, 44 + 30, 42 + 30), 1)
  236. self.port_midi_a2j_pen = QPen(QColor(100, 50, 30), 1)
  237. self.port_midi_a2j_pen_sel = QPen(QColor(137 + 30, 76 + 30, 43 + 30), 1)
  238. self.port_midi_alsa_pen = QPen(QColor(45, 150, 50), 1)
  239. self.port_midi_alsa_pen_sel = QPen(QColor(93 + 30, 141 + 30, 46 + 30), 1)
  240. self.port_audio_jack_bg = QColor(150, 150, 255)
  241. self.port_audio_jack_bg_sel = QColor(135 + 150, 161 + 150, 199 + 150)
  242. self.port_midi_jack_bg = QColor(255, 150, 160)
  243. self.port_midi_jack_bg_sel = QColor(90 + 30, 15 + 50, 16 + 50)
  244. self.port_midi_a2j_bg = QColor(200, 135, 100)
  245. self.port_midi_a2j_bg_sel = QColor(101 + 50, 47 + 50, 16 + 50)
  246. self.port_midi_alsa_bg = QColor(160, 255, 150)
  247. self.port_midi_alsa_bg_sel = QColor(64 + 50, 112 + 50, 18 + 50)
  248. self.port_audio_jack_text = self.port_text
  249. self.port_audio_jack_text_sel = self.port_text
  250. self.port_midi_jack_text = self.port_text
  251. self.port_midi_jack_text_sel = self.port_text
  252. self.port_midi_a2j_text = self.port_text
  253. self.port_midi_a2j_text_sel = self.port_text
  254. self.port_midi_alsa_text = self.port_text
  255. self.port_midi_alsa_text_sel = self.port_text
  256. self.port_text_padding = 0
  257. self.port_offset = 0
  258. self.port_spacing = 3
  259. self.port_spacingT = 2
  260. self.port_rounding = 0.0
  261. # To not scale some line widths
  262. self.box_pen.setCosmetic(True)
  263. self.box_pen_sel.setCosmetic(True)
  264. self.port_audio_jack_pen.setCosmetic(True)
  265. self.port_audio_jack_pen_sel.setCosmetic(True)
  266. self.port_midi_jack_pen.setCosmetic(True)
  267. self.port_midi_jack_pen_sel.setCosmetic(True)
  268. self.port_midi_a2j_pen.setCosmetic(True)
  269. self.port_midi_a2j_pen_sel.setCosmetic(True)
  270. self.port_midi_alsa_pen.setCosmetic(True)
  271. self.port_midi_alsa_pen_sel.setCosmetic(True)
  272. # Lines
  273. self.line_audio_jack = QColor(63, 90, 126)
  274. self.line_audio_jack_sel = QColor(63 + 63, 90 + 90, 126 + 90)
  275. self.line_audio_jack_glow = QColor(100, 100, 200)
  276. self.line_midi_jack = QColor(159, 44, 42)
  277. self.line_midi_jack_sel = QColor(159 + 44, 44 + 90, 42 + 90)
  278. self.line_midi_jack_glow = QColor(200, 100, 100)
  279. self.line_midi_a2j = QColor(137, 43, 43)
  280. self.line_midi_a2j_sel = QColor(137 + 90, 76 + 90, 43 + 90)
  281. self.line_midi_a2j_glow = QColor(166, 133, 133)
  282. self.line_midi_alsa = QColor(93, 141, 46)
  283. self.line_midi_alsa_sel = QColor(93 + 90, 141 + 90, 46 + 90)
  284. self.line_midi_alsa_glow = QColor(100, 200, 100)
  285. self.rubberband_pen = QPen(QColor(206, 207, 208), 1, Qt.SolidLine)
  286. self.rubberband_brush = QColor(76, 77, 78, 100)
  287. elif idx == self.THEME_CLASSIC_DARK:
  288. # Canvas
  289. self.canvas_bg = QColor(0, 0, 0)
  290. # Boxes
  291. self.box_pen = QPen(QColor(143 - 70, 143 - 70, 143 - 70), 2, Qt.SolidLine)
  292. self.box_pen_sel = QPen(QColor(143, 143, 143), 2, Qt.DashLine)
  293. self.box_bg_1 = QColor(30, 34, 36)
  294. self.box_bg_2 = QColor(30, 34, 36)
  295. self.box_shadow = QColor(89, 89, 89, 180)
  296. self.box_header_pixmap = None
  297. self.box_header_height = 19
  298. self.box_header_spacing = 0
  299. self.box_rounding = 0.0
  300. self.box_text = QPen(QColor(255, 255, 255), 0)
  301. self.box_text_sel = self.box_text
  302. self.box_font_name = "Sans"
  303. self.box_font_size = 9
  304. self.box_font_state = QFont.Normal
  305. self.box_bg_type = self.THEME_BG_GRADIENT
  306. self.box_use_icon = False
  307. # Ports
  308. self.port_text = QPen(QColor(250, 250, 250), 0)
  309. self.port_bg_pixmap = None
  310. self.port_font_name = "Sans"
  311. self.port_font_size = 8
  312. self.port_font_state = QFont.Normal
  313. self.port_mode = self.THEME_PORT_SQUARE
  314. noPen = QPen(Qt.NoPen)
  315. self.port_audio_jack_pen = noPen
  316. self.port_audio_jack_pen_sel = noPen
  317. self.port_midi_jack_pen = noPen
  318. self.port_midi_jack_pen_sel = noPen
  319. self.port_midi_a2j_pen = noPen
  320. self.port_midi_a2j_pen_sel = noPen
  321. self.port_midi_alsa_pen = noPen
  322. self.port_midi_alsa_pen_sel = noPen
  323. self.port_audio_jack_bg = QColor(35, 61, 99)
  324. self.port_audio_jack_bg_sel = QColor(255, 0, 0)
  325. self.port_midi_jack_bg = QColor(120, 15, 16)
  326. self.port_midi_jack_bg_sel = QColor(255, 0, 0)
  327. self.port_midi_a2j_bg = QColor(101, 47, 17)
  328. self.port_midi_a2j_bg_sel = QColor(255, 0, 0)
  329. self.port_midi_alsa_bg = QColor(63, 112, 19)
  330. self.port_midi_alsa_bg_sel = QColor(255, 0, 0)
  331. self.port_audio_jack_text = self.port_text
  332. self.port_audio_jack_text_sel = self.port_text
  333. self.port_midi_jack_text = self.port_text
  334. self.port_midi_jack_text_sel = self.port_text
  335. self.port_midi_a2j_text = self.port_text
  336. self.port_midi_a2j_text_sel = self.port_text
  337. self.port_midi_alsa_text = self.port_text
  338. self.port_midi_alsa_text_sel = self.port_text
  339. self.port_text_padding = 0
  340. self.port_offset = 0
  341. self.port_spacing = 1
  342. self.port_spacingT = 0
  343. self.port_rounding = 0.0
  344. # Lines
  345. self.line_audio_jack = QColor(53, 78, 116)
  346. self.line_audio_jack_sel = QColor(255, 0, 0)
  347. self.line_audio_jack_glow = QColor(255, 0, 0)
  348. self.line_midi_jack = QColor(139, 32, 32)
  349. self.line_midi_jack_sel = QColor(255, 0, 0)
  350. self.line_midi_jack_glow = QColor(255, 0, 0)
  351. self.line_midi_a2j = QColor(120, 65, 33)
  352. self.line_midi_a2j_sel = QColor(255, 0, 0)
  353. self.line_midi_a2j_glow = QColor(255, 0, 0)
  354. self.line_midi_alsa = QColor(81, 130, 36)
  355. self.line_midi_alsa_sel = QColor(255, 0, 0)
  356. self.line_midi_alsa_glow = QColor(255, 0, 0)
  357. self.rubberband_pen = QPen(QColor(147, 151, 143), 2, Qt.SolidLine)
  358. self.rubberband_brush = QColor(35, 61, 99, 100)
  359. elif idx == self.THEME_NEOCLASSIC_DARK:
  360. # Canvas
  361. self.canvas_bg = QColor(0, 0, 0)
  362. # Boxes
  363. self.box_pen = QPen(QColor(143 - 70, 143 - 70, 143 - 70), 2, Qt.SolidLine)
  364. self.box_pen_sel = QPen(QColor(143, 143, 143), 2, Qt.DashLine)
  365. self.box_bg_1 = QColor(30, 34, 36)
  366. self.box_bg_2 = QColor(30, 34, 36)
  367. self.box_shadow = QColor(89, 89, 89, 180)
  368. self.box_header_pixmap = None
  369. self.box_header_height = 19
  370. self.box_header_spacing = 0
  371. self.box_rounding = 4.0
  372. self.box_text = QPen(QColor(255, 255, 255), 0)
  373. self.box_text_sel = self.box_text
  374. self.box_font_name = "Sans"
  375. self.box_font_size = 9
  376. self.box_font_state = QFont.Normal
  377. self.box_bg_type = self.THEME_BG_GRADIENT
  378. self.box_use_icon = False
  379. # Ports
  380. self.port_text = QPen(QColor(250, 250, 250), 0)
  381. self.port_bg_pixmap = None
  382. self.port_font_name = "Sans"
  383. self.port_font_size = 8
  384. self.port_font_state = QFont.Normal
  385. self.port_mode = self.THEME_PORT_SQUARE
  386. self.port_audio_jack_pen = QPen(QColor(55, 91, 149), 1)
  387. self.port_audio_jack_pen_sel = QPen(QColor(55, 91, 149), 1)
  388. self.port_midi_jack_pen = QPen(QColor(150, 25, 26), 1)
  389. self.port_midi_jack_pen_sel = QPen(QColor(150, 25, 26), 1)
  390. self.port_midi_a2j_pen = QPen(QColor(141, 67, 27), 1)
  391. self.port_midi_a2j_pen_sel = QPen(QColor(141, 67, 27), 1)
  392. self.port_midi_alsa_pen = QPen(QColor(83, 152, 29), 1)
  393. self.port_midi_alsa_pen_sel = QPen(QColor(83, 152, 29), 1)
  394. self.port_audio_jack_bg = QColor(35, 61, 99)
  395. self.port_audio_jack_bg_sel = QColor(255, 0, 0)
  396. self.port_midi_jack_bg = QColor(120, 15, 16)
  397. self.port_midi_jack_bg_sel = QColor(255, 0, 0)
  398. self.port_midi_a2j_bg = QColor(101, 47, 17)
  399. self.port_midi_a2j_bg_sel = QColor(255, 0, 0)
  400. self.port_midi_alsa_bg = QColor(63, 112, 19)
  401. self.port_midi_alsa_bg_sel = QColor(255, 0, 0)
  402. self.port_audio_jack_text = self.port_text
  403. self.port_audio_jack_text_sel = self.port_text
  404. self.port_midi_jack_text = self.port_text
  405. self.port_midi_jack_text_sel = self.port_text
  406. self.port_midi_a2j_text = self.port_text
  407. self.port_midi_a2j_text_sel = self.port_text
  408. self.port_midi_alsa_text = self.port_text
  409. self.port_midi_alsa_text_sel = self.port_text
  410. self.port_text_padding = 1
  411. self.port_offset = 0
  412. self.port_spacing = 1
  413. self.port_spacingT = 0
  414. self.port_rounding = 4.0
  415. # Lines
  416. self.line_audio_jack = QColor(53, 78, 116)
  417. self.line_audio_jack_sel = QColor(255, 0, 0)
  418. self.line_audio_jack_glow = QColor(255, 0, 0)
  419. self.line_midi_jack = QColor(139, 32, 32)
  420. self.line_midi_jack_sel = QColor(255, 0, 0)
  421. self.line_midi_jack_glow = QColor(255, 0, 0)
  422. self.line_midi_a2j = QColor(120, 65, 33)
  423. self.line_midi_a2j_sel = QColor(255, 0, 0)
  424. self.line_midi_a2j_glow = QColor(255, 0, 0)
  425. self.line_midi_alsa = QColor(81, 130, 36)
  426. self.line_midi_alsa_sel = QColor(255, 0, 0)
  427. self.line_midi_alsa_glow = QColor(255, 0, 0)
  428. self.rubberband_pen = QPen(QColor(147, 151, 143), 2, Qt.SolidLine)
  429. self.rubberband_brush = QColor(35, 61, 99, 100)
  430. elif idx == self.THEME_OOSTUDIO:
  431. # Canvas
  432. self.canvas_bg = QColor(11, 11, 11)
  433. # Boxes
  434. self.box_pen = QPen(QColor(76, 77, 78), 1, Qt.SolidLine)
  435. self.box_pen_sel = QPen(QColor(189, 122, 214), 1, Qt.DashLine)
  436. self.box_bg_1 = QColor(46, 46, 46)
  437. self.box_bg_2 = QColor(23, 23, 23)
  438. self.box_shadow = QColor(89, 89, 89, 180)
  439. self.box_header_pixmap = QPixmap(":/bitmaps/canvas/frame_node_header.png")
  440. self.box_header_height = 22
  441. self.box_header_spacing = 6
  442. self.box_rounding = 3.0
  443. self.box_text = QPen(QColor(144, 144, 144), 0)
  444. self.box_text_sel = QPen(QColor(189, 122, 214), 0)
  445. self.box_font_name = "Deja Vu Sans"
  446. self.box_font_size = 8
  447. self.box_font_state = QFont.Bold
  448. self.box_bg_type = self.THEME_BG_SOLID
  449. self.box_use_icon = False
  450. # Ports
  451. normalPortBG = QColor(46, 46, 46)
  452. selPortBG = QColor(23, 23, 23)
  453. self.port_text = QPen(QColor(155, 155, 155), 0)
  454. self.port_bg_pixmap = QPixmap(":/bitmaps/canvas/frame_port_bg.png")
  455. self.port_font_name = "Deja Vu Sans"
  456. self.port_font_size = 8
  457. self.port_font_state = QFont.Normal
  458. self.port_mode = self.THEME_PORT_SQUARE
  459. self.port_audio_jack_pen = QPen(selPortBG, 2)
  460. self.port_audio_jack_pen_sel = QPen(QColor(1, 230, 238), 1)
  461. self.port_midi_jack_pen = QPen(selPortBG, 2)
  462. self.port_midi_jack_pen_sel = QPen(QColor(252, 118, 118), 1)
  463. self.port_midi_a2j_pen = QPen(selPortBG, 2)
  464. self.port_midi_a2j_pen_sel = QPen(QColor(137, 76, 43), 1)
  465. self.port_midi_alsa_pen = QPen(selPortBG, 2)
  466. self.port_midi_alsa_pen_sel = QPen(QColor(129, 244, 118), 0)
  467. self.port_audio_jack_bg = normalPortBG
  468. self.port_audio_jack_bg_sel = selPortBG
  469. self.port_midi_jack_bg = normalPortBG
  470. self.port_midi_jack_bg_sel = selPortBG
  471. self.port_midi_a2j_bg = normalPortBG
  472. self.port_midi_a2j_bg_sel = selPortBG
  473. self.port_midi_alsa_bg = normalPortBG
  474. self.port_midi_alsa_bg_sel = selPortBG
  475. self.port_audio_jack_text = self.port_text
  476. self.port_audio_jack_text_sel = self.port_audio_jack_pen_sel
  477. self.port_midi_jack_text = self.port_text
  478. self.port_midi_jack_text_sel = self.port_midi_jack_pen_sel
  479. self.port_midi_a2j_text = self.port_text
  480. self.port_midi_a2j_text_sel = self.port_midi_a2j_pen_sel
  481. self.port_midi_alsa_text = self.port_text
  482. self.port_midi_alsa_text_sel = self.port_midi_alsa_pen_sel
  483. # missing, ports 2
  484. self.port_text_padding = 2
  485. self.port_offset = -1
  486. self.port_spacing = 5
  487. self.port_spacingT = 0
  488. self.port_rounding = 3.0
  489. # Lines
  490. self.line_audio_jack = QColor(64, 64, 64)
  491. self.line_audio_jack_sel = QColor(1, 230, 238)
  492. self.line_audio_jack_glow = QColor(100, 200, 100)
  493. self.line_midi_jack = QColor(64, 64, 64)
  494. self.line_midi_jack_sel = QColor(252, 118, 118)
  495. self.line_midi_jack_glow = QColor(200, 100, 100)
  496. self.line_midi_a2j = QColor(64, 64, 64)
  497. self.line_midi_a2j_sel = QColor(137+90, 76+90, 43+90)
  498. self.line_midi_a2j_glow = QColor(166, 133, 133)
  499. self.line_midi_alsa = QColor(64, 64, 64)
  500. self.line_midi_alsa_sel = QColor(129, 244, 118)
  501. self.line_midi_alsa_glow = QColor(100, 200, 100)
  502. self.rubberband_pen = QPen(QColor(1, 230, 238), 2, Qt.SolidLine)
  503. self.rubberband_brush = QColor(90, 90, 90, 100)
  504. port_font = QFont(self.port_font_name, self.port_font_size, self.port_font_state)
  505. self.port_height = QFontMetrics(port_font).height() + 2 * self.port_text_padding
  506. def getDefaultTheme():
  507. return Theme.THEME_MODERN_DARK
  508. def getThemeName(idx):
  509. if idx == Theme.THEME_MODERN_DARK:
  510. return "Modern Dark"
  511. elif idx == Theme.THEME_MODERN_DARK_TINY:
  512. return "Modern Dark (Tiny)"
  513. elif idx == Theme.THEME_MODERN_LIGHT:
  514. return "Modern Light"
  515. elif idx == Theme.THEME_CLASSIC_DARK:
  516. return "Classic Dark"
  517. elif idx == Theme.THEME_NEOCLASSIC_DARK:
  518. return "Neoclassic Dark"
  519. elif idx == Theme.THEME_OOSTUDIO:
  520. return "OpenOctave Studio"
  521. else:
  522. return ""
  523. def getDefaultThemeName():
  524. return "Modern Dark"