Browse Source

add missing copyrights, move chords and automation into regions (WIP - refactor)

carla_vst
Alexandros Theodotou 4 years ago
parent
commit
b2edc0bac0
Signed by: alex
GPG Key ID: 022EAE42313D70F3
  1. 17
      .gitignore
  2. 13
      AUTHORS
  3. 10
      CHANGELOG.md
  4. 14
      CONTRIBUTING.md
  5. 27
      README.md
  6. 9
      THANKS
  7. 129
      THIRDPARTY_LICENSE
  8. 9
      TRANSLATORS
  9. 3
      data/README
  10. 20
      data/chat-matrix.svg
  11. 18
      data/meson.build
  12. 565
      data/midnams/MIDI.midnam
  13. 62
      data/osx/Info.plist.in
  14. 8
      data/osx/appdmg.json
  15. 172
      data/osx/gtk3-launcher.sh
  16. 31
      data/osx/osx_startup_script.sh
  17. 118
      data/osx/zrythm-gtk3.bundle
  18. BIN
      data/osx/zrythm.icns
  19. 17
      data/settings.ini
  20. 17
      data/zrythm.desktop
  21. 18
      doc/Doxyfile-mcss.in
  22. 19
      doc/Doxyfile.cfg.in
  23. 17
      doc/cyaml_schemas.h
  24. 17
      doc/mainpage.h
  25. 17
      doc/meson.build
  26. 17
      doc/processing_cycle.h
  27. 17
      doc/release_checklist.h
  28. 17
      doc/weblate.h
  29. 1
      ext/README
  30. 17
      ext/audio_decoder/meson.build
  31. 17
      ext/libcyaml/meson.build
  32. 17
      ext/meson.build
  33. 17
      ext/midilib/meson.build
  34. 17
      ext/zix/meson.build
  35. 17
      ext/zix/zix/meson.build
  36. 17
      flatpak/org.zrythm.Zrythm.json.README
  37. 19
      inc/Wrapper.h
  38. 71
      inc/actions/create_automation_selections_action.h
  39. 71
      inc/actions/create_chord_selections_action.h
  40. 21
      inc/actions/dir.h
  41. 66
      inc/actions/duplicate_automation_selections_action.h
  42. 66
      inc/actions/duplicate_chord_selections_action.h
  43. 66
      inc/actions/move_automation_selections_action.h
  44. 66
      inc/actions/move_chord_selections_action.h
  45. 98
      inc/audio/automation_curve.h
  46. 24
      inc/audio/automation_point.h
  47. 164
      inc/audio/automation_region.h
  48. 147
      inc/audio/automation_track.h
  49. 30
      inc/audio/chord_object.h
  50. 84
      inc/audio/chord_region.h
  51. 23
      inc/audio/chord_track.h
  52. 17
      inc/audio/dir.h
  53. 3
      inc/audio/marker_track.h
  54. 21
      inc/audio/midi_region.h
  55. 109
      inc/audio/region.h
  56. 69
      inc/audio/track.h
  57. 3
      inc/audio/track_lane.h
  58. 17
      inc/dir.h
  59. 309
      inc/gui/backend/arranger_selections.h
  60. 83
      inc/gui/backend/automation_editor.h
  61. 94
      inc/gui/backend/automation_selections.h
  62. 83
      inc/gui/backend/chord_editor.h
  63. 89
      inc/gui/backend/chord_selections.h
  64. 26
      inc/gui/backend/clip_editor.h
  65. 19
      inc/gui/backend/dir.h
  66. 4
      inc/gui/backend/events.h
  67. 167
      inc/gui/backend/midi_arranger_selections.h
  68. 4
      inc/gui/backend/piano_roll.h
  69. 196
      inc/gui/backend/timeline_selections.h
  70. 21
      inc/gui/dir.h
  71. 183
      inc/gui/widgets/arranger.h
  72. 41
      inc/gui/widgets/audio_arranger.h
  73. 101
      inc/gui/widgets/automation_arranger.h
  74. 71
      inc/gui/widgets/automation_arranger_bg.h
  75. 65
      inc/gui/widgets/automation_region.h
  76. 75
      inc/gui/widgets/chord_arranger.h
  77. 71
      inc/gui/widgets/chord_arranger_bg.h
  78. 65
      inc/gui/widgets/chord_region.h
  79. 21
      inc/gui/widgets/dir.h
  80. 129
      inc/gui/widgets/midi_arranger.h
  81. 93
      inc/gui/widgets/midi_modifier_arranger.h
  82. 13
      inc/gui/widgets/midi_region.h
  83. 206
      inc/gui/widgets/timeline_arranger.h
  84. 5
      inc/gui/widgets/timeline_bg.h
  85. 19
      inc/plugins/dir.h
  86. 18
      inc/project.h
  87. 129
      inc/utils/algorithms.h
  88. 6
      inc/utils/arrays.h
  89. 19
      inc/utils/dir.h
  90. 31
      inc/utils/stoat.h
  91. 15
      inc/utils/ui.h
  92. 17
      meson.build
  93. 17
      meson_options.txt
  94. 17
      po/meson.build
  95. 14
      resources/icons/ext/Bitcoin_logo.svg
  96. 3
      resources/icons/ext/Liberapay_logo_v2_white-on-yellow.svg.LICENSE
  97. BIN
      resources/icons/ext/pp-logo-200px.png
  98. 17
      resources/meson.build
  99. 2
      resources/ui/audio_clip_editor.ui
  100. 20
      resources/ui/automatable_selector.ui
  101. Some files were not shown because too many files have changed in this diff Show More

17
.gitignore vendored

@ -1,3 +1,20 @@ @@ -1,3 +1,20 @@
# Copyright (C) 2018-2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
# Build files
build
builddir

13
AUTHORS

@ -1,10 +1,19 @@ @@ -1,10 +1,19 @@
Alexandros Theodotou <alex@zrythm.org>
Contributors:
Alexandros Theodotou <alex@zrythm.org>
* Main developer
Sascha Bast <sash@mischkonsum.org>
* Piano roll auto-scroll
Robin Gareus <robin@gareus.org>
* Routing algorithm
Georg Krause
* Forward and backward button callbacks
----
Copyright (C) 2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

10
CHANGELOG.md

@ -279,3 +279,13 @@ All notable changes to this project will be documented in this file. @@ -279,3 +279,13 @@ All notable changes to this project will be documented in this file.
## [0.1.009] - 2019-03-05
- First release
----
Copyright (C) 2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

14
CONTRIBUTING.md

@ -1,11 +1,6 @@ @@ -1,11 +1,6 @@
Contributing Guidelines
=======================
*This file is part of Zrythm and is licensed under the
GNU Affero General Public License version 3. You should have received
a copy of the GNU Affero General Public License
along with Zrythm. If not, see <https://www.gnu.org/licenses/>.*
# CODE STRUCTURE
.
@ -108,3 +103,12 @@ Using g_idle_add without returning false in the GSourceFunc? Not using g_idle_ad @@ -108,3 +103,12 @@ Using g_idle_add without returning false in the GSourceFunc? Not using g_idle_ad
2. GUI widgets that exist no matter what (like the tracklist, mixer, browser, etc.) should be initialized by the UI files with no _new function. Widgets that are created dynamically like channels and tracks should have a _new function. In both cases they should have a _setup function to initialize them with data and a _refresh function to update the widget to reflect the backend data. _setup must only be called once and _refresh can be called any time, but excessive calling should be avoided on widgets with many children such as the mixer and tracklist to avoid performance issues.
Anything else just ask in the chatrooms!
----
Copyright (C) 2018-2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

27
README.md

@ -53,8 +53,10 @@ Alternatively if you don't want to install anything on your system you can run ` @@ -53,8 +53,10 @@ Alternatively if you don't want to install anything on your system you can run `
## Non-standard locations
When installing in non-standard locations, glib
needs to find the gsettings schema. By default,
it looks in /usr and /usr/share.
needs to find the corresponding gsettings schema.
At runtime, GSettings looks for schemas in the
`glib-2.0/schemas` subdirectories of all directories
specified in the `XDG_DATA_DIRS`.
It is possible to set
the `GSETTINGS_SCHEMA_DIR` environment variable to
`<your prefix>/share/glib-2.0/schemas` or prepend
@ -63,14 +65,14 @@ running `<your prefix>/bin/zrythm` to make glib @@ -63,14 +65,14 @@ running `<your prefix>/bin/zrythm` to make glib
use the schema installed in the custom location.
There are also translations installed in the custom
location so XDG_DATA_DIRS might be a better idea.
location so `XDG_DATA_DIRS` might be a better idea.
Generally, we recommend installing under /usr or
/usr/local (default) to avoid these problems.
Generally, we recommend installing under `/usr/local`
(default) or `/usr` to avoid these problems.
## Packages
For easy package installation use the download
links on the website or see
For easy package installation
see
[Installation](https://manual.zrythm.org/en/configuration/installation/intro.html) in the manual.
## Using
@ -92,8 +94,6 @@ For any bugs please raise an issue or join a chatroom below @@ -92,8 +94,6 @@ For any bugs please raise an issue or join a chatroom below
zrythm-dev@nongnu.org for developers, zrythm-user@nongnu.org for users
## License
Copyright (C) 2018-2019 Alexandros Theodotou et al.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
@ -121,3 +121,12 @@ https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LZWVK6228PQ @@ -121,3 +121,12 @@ https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=LZWVK6228PQ
https://liberapay.com/Zrythm/
### Bitcoin
bc1qjfyu2ruyfwv3r6u4hf2nvdh900djep2dlk746j
----
Copyright (C) 2018-2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

9
THANKS

@ -12,3 +12,12 @@ Thanks: @@ -12,3 +12,12 @@ Thanks:
* Coming up with the Zrythm tagline
Yuri
* FreeBSD packager
----
Copyright (C) 2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

129
THIRDPARTY_LICENSE

@ -1,21 +1,5 @@ @@ -1,21 +1,5 @@
Third party libraries
atk
Upstream URL: https://developer.gnome.org/atk/
License: LGPL2
bzip2
Upstream URL: http://sources.redhat.com/bzip2
License: Custom BSD
cairo
Upstream URL: https://cairographics.org/
License: LGPL
croco
Upstream URL: http://www.gnome.org/browse/libcroco
License: LGPL
datrie
Upstream URL: https://linux.thai.net/projects/datrie
License: LGPL
@ -24,102 +8,26 @@ dlfcn @@ -24,102 +8,26 @@ dlfcn
Upstream URL: https://github.com/dlfcn-win32/dlfcn-win32
License: LGPL
epoxy
Upstream URL: https://github.com/anholt/libepoxy
License: MIT
expat
Upstream URL: http://expat.sourceforge.net/
License: custom
libffi
Upstream URL: http://expat.sourceforge.net/
License: MIT
flac
Upstream URL: http://flac.sourceforge.net/
License: GPL
fontconfig
Upstream URL: https://www.freedesktop.org/wiki/Software/fontconfig/
License: custom
freetype2
Upstream URL: https://www.freetype.org/
License: GPL
fribidi
Upstream URL: http://fribidi.org/
License: LGPL
gcc
Upstream URL: http://gcc.gnu.org/
License: GPL, custom, LGPL, FDL
gdk-pixbuf2
Upstream URL: http://www.gtk.org/
License: LGPL
glib2
Upstream URL: https://wiki.gnome.org/Projects/GLib
License: LGPL2.1
graphite
Upstream URL: https://github.com/silnrsi/graphite
License: GPL, custom, LGPL
gtk3
Upstream URL: http://www.gtk.org/
License: LGPL
harfbuzz
Upstream URL: https://www.freedesktop.org/wiki/Software/HarfBuzz
License: MIT
libiconv
Upstream URL: http://www.gnu.org/software/libiconv/
License: LGPL
gettext
Upstream URL: http://www.gnu.org/software/gettext/
License: GPL
jasper
Upstream URL: http://www.ece.uvic.ca/~mdadams/jasper
License: custom:JasPer2.0
libjpeg
Upstream URL: http://ijg.org/
License: custom
xz
Upstream URL: https://tukaani.org/xz
License: GPL, custom, LGPL
libogg
Upstream URL: http://xiph.org/
License: BSD
pango
Upstream URL: http://www.pango.org/
License: LGPL
pcre
Upstream URL: http://www.pcre.org/
License: BSD
libpng
Upstream URL: http://www.libpng.org/pub/png/libpng.html
License: custom
portaudio
Upstream URL: http://www.portaudio.com/
License: custom
librsvg
Upstream URL: https://wiki.gnome.org/action/show/Projects/LibRsvg
License: LGPL
libsamplerate
Upstream URL: http://www.mega-nerd.com/SRC/index.html
License: BSD
@ -128,42 +36,19 @@ libsndfile @@ -128,42 +36,19 @@ libsndfile
Upstream URL: http://www.mega-nerd.com/libsndfile
License: LGPL
libthai
Upstream URL: https://linux.thai.net/projects/libthai
License: LGPL
libtiff
Upstream URL: http://www.simplesystems.org/libtiff/
License: custom
libvorbis
Upstream URL: http://xiph.org/
License: custom
libxml2
Upstream URL: http://www.xmlsoft.org/
License: LGPL
lilv
Upstream URL: https://drobilla.net/software/lilv/
License: custom:ISC
serd
Upstream URL: https://drobilla.net/software/serd/
License: custom:ISC
License: ISC
sord
Upstream URL: https://drobilla.net/software/sord/
License: custom:ISC
----
sratom
Upstream URL: https://drobilla.net/software/sratom/
License: custom:ISC
Copyright (C) 2019 Alexandros Theodotou
zlib
Upstream URL: http://www.zlib.net/
License: custom:zlib
pixman
Upstream URL: http://xorg.freedesktop.org/
License: custom
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

9
TRANSLATORS

@ -16,3 +16,12 @@ Norwegian Bokmal: @@ -16,3 +16,12 @@ Norwegian Bokmal:
Polish:
* WaldiS <admin@sto.ugu.pl>
----
Copyright (C) 2019 Alexandros Theodotou
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without any warranty.

3
data/README

@ -0,0 +1,3 @@ @@ -0,0 +1,3 @@
All images in this directory are licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
You should have received a copy of the Creative Commons Attribution-ShareAlike 4.0 International License along with Zrythm. If not, see <https://creativecommons.org/licenses/by-sa/4.0/>

20
data/chat-matrix.svg

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
<svg xmlns="http://www.w3.org/2000/svg" width="99" height="20">
<linearGradient id="b" x2="0" y2="100%">
<stop offset="0" stop-color="#bbb" stop-opacity=".1"/>
<stop offset="1" stop-opacity=".1"/>
</linearGradient>
<mask id="a">
<rect width="99" height="20" rx="3" fill="#fff"/>
</mask>
<g mask="url(#a)">
<path fill="#555" d="M0 0h42v20H0z"/>
<path fill="#46BC99" d="M42 0h59v20H42z"/>
<path fill="url(#b)" d="M0 0h99v20H0z"/>
</g>
<g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="11">
<text x="21" y="15" fill="#010101" fill-opacity=".3">matrix</text>
<text x="21" y="14">matrix</text>
<text x="68.5" y="15" fill="#010101" fill-opacity=".3">join chat</text>
<text x="68.5" y="14">join chat</text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 773 B

18
data/meson.build

@ -1,3 +1,20 @@ @@ -1,3 +1,20 @@
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
install_data (
'org.zrythm.gschema.xml',
install_dir: schemasdir)
@ -5,4 +22,3 @@ install_data ( @@ -5,4 +22,3 @@ install_data (
'zrythm.desktop',
install_dir: join_paths (datadir, 'applications'))
#FIXME add the windows .exe icon

565
data/midnams/MIDI.midnam

@ -1,565 +0,0 @@ @@ -1,565 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE MIDINameDocument PUBLIC "-//MIDI Manufacturers Association//DTD MIDINameDocument 1.0//EN" "http://www.midi.org/dtds/MIDINameDocument10.dtd">
<MIDINameDocument>
<!-- Originally "MIDI Manufacturers Association" and modified by myself,
though I don't know if this document actually originated from the MMA -->
<Author>David Robillard</Author>
<MasterDeviceNames>
<Manufacturer>MMA</Manufacturer>
<Model>Generic</Model>
<CustomDeviceMode Name="MIDI">
<ChannelNameSetAssignments>
<ChannelNameSetAssign Channel="1" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="2" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="3" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="4" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="5" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="6" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="7" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="8" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="9" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="10" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="11" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="12" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="13" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="14" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="15" NameSet="MIDI Voices"/>
<ChannelNameSetAssign Channel="16" NameSet="MIDI Voices"/>
</ChannelNameSetAssignments>
</CustomDeviceMode>
<CustomDeviceMode Name="General MIDI">
<ChannelNameSetAssignments>
<ChannelNameSetAssign Channel="1" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="2" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="3" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="4" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="5" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="6" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="7" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="8" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="9" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="10" NameSet="General MIDI Drums"/>
<ChannelNameSetAssign Channel="11" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="12" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="13" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="14" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="15" NameSet="General MIDI Voices"/>
<ChannelNameSetAssign Channel="16" NameSet="General MIDI Voices"/>
</ChannelNameSetAssignments>
</CustomDeviceMode>
<ChannelNameSet Name="MIDI Voices">
<AvailableForChannels>
<AvailableChannel Channel="1" Available="true"/>
<AvailableChannel Channel="2" Available="true"/>
<AvailableChannel Channel="3" Available="true"/>
<AvailableChannel Channel="4" Available="true"/>
<AvailableChannel Channel="5" Available="true"/>
<AvailableChannel Channel="6" Available="true"/>
<AvailableChannel Channel="7" Available="true"/>
<AvailableChannel Channel="8" Available="true"/>
<AvailableChannel Channel="9" Available="true"/>
<AvailableChannel Channel="10" Available="true"/>
<AvailableChannel Channel="11" Available="true"/>
<AvailableChannel Channel="12" Available="true"/>
<AvailableChannel Channel="13" Available="true"/>
<AvailableChannel Channel="14" Available="true"/>
<AvailableChannel Channel="15" Available="true"/>
<AvailableChannel Channel="16" Available="true"/>
</AvailableForChannels>
<UsesControlNameList Name="Controls"/>
<PatchBank Name="Patches">
<UsesPatchNameList Name="Unnamed Patches"/>
</PatchBank>
</ChannelNameSet>
<ChannelNameSet Name="General MIDI Voices">
<AvailableForChannels>
<AvailableChannel Channel="1" Available="true"/>
<AvailableChannel Channel="2" Available="true"/>
<AvailableChannel Channel="3" Available="true"/>
<AvailableChannel Channel="4" Available="true"/>
<AvailableChannel Channel="5" Available="true"/>
<AvailableChannel Channel="6" Available="true"/>
<AvailableChannel Channel="7" Available="true"/>
<AvailableChannel Channel="8" Available="true"/>
<AvailableChannel Channel="9" Available="true"/>
<AvailableChannel Channel="11" Available="true"/>
<AvailableChannel Channel="12" Available="true"/>
<AvailableChannel Channel="13" Available="true"/>
<AvailableChannel Channel="14" Available="true"/>
<AvailableChannel Channel="15" Available="true"/>
<AvailableChannel Channel="16" Available="true"/>
</AvailableForChannels>
<UsesControlNameList Name="Controls"/>
<PatchBank Name="Patches" ROM="false">
<MIDICommands>
<ControlChange Control="32" Value="0"/>
</MIDICommands>
<UsesPatchNameList Name="General MIDI Patches"/>
</PatchBank>
</ChannelNameSet>
<ChannelNameSet Name="General MIDI Drums">
<AvailableForChannels>
<AvailableChannel Channel="10" Available="true"/>
</AvailableForChannels>
<UsesNoteNameList Name="General MIDI Drums"/>
<PatchBank Name="Patches" ROM="false">
<MIDICommands>
<ControlChange Control="120" Value="120"/>
<ControlChange Control="32" Value="0"/>
</MIDICommands>
<UsesPatchNameList Name="General MIDI Drum Patches"/>
</PatchBank>
</ChannelNameSet>
<PatchNameList Name="Unnamed Patches">
<Patch Number="1" Name="Patch 1" ProgramChange="0"/>
<Patch Number="2" Name="Patch 2" ProgramChange="1"/>
<Patch Number="3" Name="Patch 3" ProgramChange="2"/>
<Patch Number="4" Name="Patch 4" ProgramChange="3"/>
<Patch Number="5" Name="Patch 5" ProgramChange="4"/>
<Patch Number="6" Name="Patch 6" ProgramChange="5"/>
<Patch Number="7" Name="Patch 7" ProgramChange="6"/>
<Patch Number="8" Name="Patch 8" ProgramChange="7"/>
<Patch Number="9" Name="Patch 9" ProgramChange="8"/>
<Patch Number="10" Name="Patch 10" ProgramChange="9"/>
<Patch Number="11" Name="Patch 11" ProgramChange="10"/>
<Patch Number="12" Name="Patch 12" ProgramChange="11"/>
<Patch Number="13" Name="Patch 13" ProgramChange="12"/>
<Patch Number="14" Name="Patch 14" ProgramChange="13"/>
<Patch Number="15" Name="Patch 15" ProgramChange="14"/>
<Patch Number="16" Name="Patch 16" ProgramChange="15"/>
<Patch Number="17" Name="Patch 17" ProgramChange="16"/>
<Patch Number="18" Name="Patch 18" ProgramChange="17"/>
<Patch Number="19" Name="Patch 19" ProgramChange="18"/>
<Patch Number="20" Name="Patch 20" ProgramChange="19"/>
<Patch Number="21" Name="Patch 21" ProgramChange="20"/>
<Patch Number="22" Name="Patch 22" ProgramChange="21"/>
<Patch Number="23" Name="Patch 23" ProgramChange="22"/>
<Patch Number="24" Name="Patch 24" ProgramChange="23"/>
<Patch Number="25" Name="Patch 25" ProgramChange="24"/>
<Patch Number="26" Name="Patch 26" ProgramChange="25"/>
<Patch Number="27" Name="Patch 27" ProgramChange="26"/>
<Patch Number="28" Name="Patch 28" ProgramChange="27"/>
<Patch Number="29" Name="Patch 29" ProgramChange="28"/>
<Patch Number="30" Name="Patch 30" ProgramChange="29"/>
<Patch Number="31" Name="Patch 31" ProgramChange="30"/>
<Patch Number="32" Name="Patch 32" ProgramChange="31"/>
<Patch Number="33" Name="Patch 33" ProgramChange="32"/>
<Patch Number="34" Name="Patch 34" ProgramChange="33"/>
<Patch Number="35" Name="Patch 35" ProgramChange="34"/>
<Patch Number="36" Name="Patch 36" ProgramChange="35"/>
<Patch Number="37" Name="Patch 37" ProgramChange="36"/>
<Patch Number="38" Name="Patch 38" ProgramChange="37"/>
<Patch Number="39" Name="Patch 39" ProgramChange="38"/>
<Patch Number="40" Name="Patch 40" ProgramChange="39"/>
<Patch Number="41" Name="Patch 41" ProgramChange="40"/>
<Patch Number="42" Name="Patch 42" ProgramChange="41"/>
<Patch Number="43" Name="Patch 43" ProgramChange="42"/>
<Patch Number="44" Name="Patch 44" ProgramChange="43"/>
<Patch Number="45" Name="Patch 45" ProgramChange="44"/>
<Patch Number="46" Name="Patch 46" ProgramChange="45"/>
<Patch Number="47" Name="Patch 47" ProgramChange="46"/>
<Patch Number="48" Name="Patch 48" ProgramChange="47"/>
<Patch Number="49" Name="Patch 49" ProgramChange="48"/>
<Patch Number="50" Name="Patch 50" ProgramChange="49"/>
<Patch Number="51" Name="Patch 51" ProgramChange="50"/>
<Patch Number="52" Name="Patch 52" ProgramChange="51"/>
<Patch Number="53" Name="Patch 53" ProgramChange="52"/>
<Patch Number="54" Name="Patch 54" ProgramChange="53"/>
<Patch Number="55" Name="Patch 55" ProgramChange="54"/>
<Patch Number="56" Name="Patch 56" ProgramChange="55"/>
<Patch Number="57" Name="Patch 57" ProgramChange="56"/>
<Patch Number="58" Name="Patch 58" ProgramChange="57"/>
<Patch Number="59" Name="Patch 59" ProgramChange="58"/>
<Patch Number="60" Name="Patch 60" ProgramChange="59"/>
<Patch Number="61" Name="Patch 61" ProgramChange="60"/>
<Patch Number="62" Name="Patch 62" ProgramChange="61"/>
<Patch Number="63" Name="Patch 63" ProgramChange="62"/>
<Patch Number="64" Name="Patch 64" ProgramChange="63"/>
<Patch Number="65" Name="Patch 65" ProgramChange="64"/>
<Patch Number="66" Name="Patch 66" ProgramChange="65"/>
<Patch Number="67" Name="Patch 67" ProgramChange="66"/>
<Patch Number="68" Name="Patch 68" ProgramChange="67"/>
<Patch Number="69" Name="Patch 69" ProgramChange="68"/>
<Patch Number="70" Name="Patch 70" ProgramChange="69"/>
<Patch Number="71" Name="Patch 71" ProgramChange="70"/>
<Patch Number="72" Name="Patch 72" ProgramChange="71"/>
<Patch Number="73" Name="Patch 73" ProgramChange="72"/>
<Patch Number="74" Name="Patch 74" ProgramChange="73"/>
<Patch Number="75" Name="Patch 75" ProgramChange="74"/>
<Patch Number="76" Name="Patch 76" ProgramChange="75"/>
<Patch Number="77" Name="Patch 77" ProgramChange="76"/>
<Patch Number="78" Name="Patch 78" ProgramChange="77"/>
<Patch Number="79" Name="Patch 79" ProgramChange="78"/>
<Patch Number="80" Name="Patch 80" ProgramChange="79"/>
<Patch Number="81" Name="Patch 81" ProgramChange="80"/>
<Patch Number="82" Name="Patch 82" ProgramChange="81"/>
<Patch Number="83" Name="Patch 83" ProgramChange="82"/>
<Patch Number="84" Name="Patch 84" ProgramChange="83"/>
<Patch Number="85" Name="Patch 85" ProgramChange="84"/>
<Patch Number="86" Name="Patch 86" ProgramChange="85"/>
<Patch Number="87" Name="Patch 87" ProgramChange="86"/>
<Patch Number="88" Name="Patch 88" ProgramChange="87"/>
<Patch Number="89" Name="Patch 89" ProgramChange="88"/>
<Patch Number="90" Name="Patch 90" ProgramChange="89"/>
<Patch Number="91" Name="Patch 91" ProgramChange="90"/>
<Patch Number="92" Name="Patch 92" ProgramChange="91"/>
<Patch Number="93" Name="Patch 93" ProgramChange="92"/>
<Patch Number="94" Name="Patch 94" ProgramChange="93"/>
<Patch Number="95" Name="Patch 95" ProgramChange="94"/>
<Patch Number="96" Name="Patch 96" ProgramChange="95"/>
<Patch Number="97" Name="Patch 97" ProgramChange="96"/>
<Patch Number="98" Name="Patch 98" ProgramChange="97"/>
<Patch Number="99" Name="Patch 99" ProgramChange="98"/>
<Patch Number="100" Name="Patch 100" ProgramChange="99"/>
<Patch Number="101" Name="Patch 101" ProgramChange="100"/>
<Patch Number="102" Name="Patch 102" ProgramChange="101"/>
<Patch Number="103" Name="Patch 103" ProgramChange="102"/>
<Patch Number="104" Name="Patch 104" ProgramChange="103"/>
<Patch Number="105" Name="Patch 105" ProgramChange="104"/>
<Patch Number="106" Name="Patch 106" ProgramChange="105"/>
<Patch Number="107" Name="Patch 107" ProgramChange="106"/>
<Patch Number="108" Name="Patch 108" ProgramChange="107"/>
<Patch Number="109" Name="Patch 109" ProgramChange="108"/>
<Patch Number="110" Name="Patch 110" ProgramChange="109"/>
<Patch Number="111" Name="Patch 111" ProgramChange="110"/>
<Patch Number="112" Name="Patch 112" ProgramChange="111"/>
<Patch Number="113" Name="Patch 113" ProgramChange="112"/>
<Patch Number="114" Name="Patch 114" ProgramChange="113"/>
<Patch Number="115" Name="Patch 115" ProgramChange="114"/>
<Patch Number="116" Name="Patch 116" ProgramChange="115"/>
<Patch Number="117" Name="Patch 117" ProgramChange="116"/>
<Patch Number="118" Name="Patch 118" ProgramChange="117"/>
<Patch Number="119" Name="Patch 119" ProgramChange="118"/>
<Patch Number="120" Name="Patch 120" ProgramChange="119"/>
<Patch Number="121" Name="Patch 121" ProgramChange="120"/>
<Patch Number="122" Name="Patch 122" ProgramChange="121"/>
<Patch Number="123" Name="Patch 123" ProgramChange="122"/>
<Patch Number="124" Name="Patch 124" ProgramChange="123"/>
<Patch Number="125" Name="Patch 125" ProgramChange="124"/>
<Patch Number="126" Name="Patch 126" ProgramChange="125"/>
<Patch Number="127" Name="Patch 127" ProgramChange="126"/>
<Patch Number="128" Name="Patch 128" ProgramChange="127"/>
</PatchNameList>
<PatchNameList Name="General MIDI Patches">
<Patch Number="0" Name="Acoustic Grand Piano" ProgramChange="0"/>
<Patch Number="1" Name="Bright Acoustic Piano" ProgramChange="1"/>
<Patch Number="2" Name="Electric Grand Piano" ProgramChange="2"/>
<Patch Number="3" Name="Honky-tonk Piano" ProgramChange="3"/>
<Patch Number="4" Name="Rhodes Piano" ProgramChange="4"/>
<Patch Number="5" Name="Chorused Piano" ProgramChange="5"/>
<Patch Number="6" Name="Harpsichord" ProgramChange="6"/>
<Patch Number="7" Name="Clavinet" ProgramChange="7"/>
<Patch Number="8" Name="Celesta" ProgramChange="8"/>
<Patch Number="9" Name="Glockenspiel" ProgramChange="9"/>
<Patch Number="10" Name="Music Box" ProgramChange="10"/>
<Patch Number="11" Name="Vibraphone" ProgramChange="11"/>
<Patch Number="12" Name="Marimba" ProgramChange="12"/>
<Patch Number="13" Name="Xylophone" ProgramChange="13"/>
<Patch Number="14" Name="Tubular Bells" ProgramChange="14"/>
<Patch Number="15" Name="Dulcimer" ProgramChange="15"/>
<Patch Number="16" Name="Hammond Organ" ProgramChange="16"/>
<Patch Number="17" Name="Percussive Organ" ProgramChange="17"/>
<Patch Number="18" Name="Rock Organ" ProgramChange="18"/>
<Patch Number="19" Name="Church Organ" ProgramChange="19"/>
<Patch Number="20" Name="Reed Organ" ProgramChange="20"/>
<Patch Number="21" Name="Accordion" ProgramChange="21"/>
<Patch Number="22" Name="Harmonica" ProgramChange="22"/>
<Patch Number="23" Name="Tango Accordion" ProgramChange="23"/>
<Patch Number="24" Name="Acoustic Guitar (nylon)" ProgramChange="24"/>
<Patch Number="25" Name="Acoustic Guitar (steel)" ProgramChange="25"/>
<Patch Number="26" Name="Electric Guitar (jazz)" ProgramChange="26"/>
<Patch Number="27" Name="Electric Guitar (clean)" ProgramChange="27"/>
<Patch Number="28" Name="Electric Guitar (muted)" ProgramChange="28"/>
<Patch Number="29" Name="Overdriven Guitar" ProgramChange="29"/>
<Patch Number="30" Name="Distortion Guitar" ProgramChange="30"/>
<Patch Number="31" Name="Guitar Harmonics" ProgramChange="31"/>
<Patch Number="32" Name="Acoustic Bass" ProgramChange="32"/>
<Patch Number="33" Name="Electric Bass (finger)" ProgramChange="33"/>
<Patch Number="34" Name="Electric Bass (pick)" ProgramChange="34"/>
<Patch Number="35" Name="Fretless Bass" ProgramChange="35"/>
<Patch Number="36" Name="Slap Bass 1" ProgramChange="36"/>
<Patch Number="37" Name="Slap Bass 2" ProgramChange="37"/>
<Patch Number="38" Name="Synth Bass 1" ProgramChange="38"/>
<Patch Number="39" Name="Synth Bass 2" ProgramChange="39"/>
<Patch Number="40" Name="Violin" ProgramChange="40"/>
<Patch Number="41" Name="Viola" ProgramChange="41"/>
<Patch Number="42" Name="Cello" ProgramChange="42"/>
<Patch Number="43" Name="Contrabass" ProgramChange="43"/>
<Patch Number="44" Name="Tremolo Strings" ProgramChange="44"/>
<Patch Number="45" Name="Pizzicato Strings" ProgramChange="45"/>
<Patch Number="46" Name="Orchestral Harp" ProgramChange="46"/>
<Patch Number="47" Name="Timpani" ProgramChange="47"/>
<Patch Number="48" Name="String Ensemble 1" ProgramChange="48"/>
<Patch Number="49" Name="String Ensemble 2" ProgramChange="49"/>
<Patch Number="50" Name="SynthStrings 1" ProgramChange="50"/>
<Patch Number="51" Name="SynthStrings 2" ProgramChange="51"/>
<Patch Number="52" Name="Choir Aahs" ProgramChange="52"/>
<Patch Number="53" Name="Voice Oohs" ProgramChange="53"/>
<Patch Number="54" Name="Synth Voice" ProgramChange="54"/>
<Patch Number="55" Name="Orchestra Hit" ProgramChange="55"/>
<Patch Number="56" Name="Trumpet" ProgramChange="56"/>
<Patch Number="57" Name="Trombone" ProgramChange="57"/>
<Patch Number="58" Name="Tuba" ProgramChange="58"/>
<Patch Number="59" Name="Muted Trumpet" ProgramChange="59"/>
<Patch Number="60" Name="French Horn" ProgramChange="60"/>
<Patch Number="61" Name="Brass Section" ProgramChange="61"/>
<Patch Number="62" Name="Synth Brass 1" ProgramChange="62"/>
<Patch Number="63" Name="Synth Brass 2" ProgramChange="63"/>
<Patch Number="64" Name="Soprano Sax" ProgramChange="64"/>
<Patch Number="65" Name="Alto Sax" ProgramChange="65"/>
<Patch Number="66" Name="Tenor Sax" ProgramChange="66"/>
<Patch Number="67" Name="Baritone Sax" ProgramChange="67"/>
<Patch Number="68" Name="Oboe" ProgramChange="68"/>
<Patch Number="69" Name="English Horn" ProgramChange="69"/>
<Patch Number="70" Name="Bassoon" ProgramChange="70"/>
<Patch Number="71" Name="Clarinet" ProgramChange="71"/>
<Patch Number="72" Name="Piccolo" ProgramChange="72"/>
<Patch Number="73" Name="Flute" ProgramChange="73"/>
<Patch Number="74" Name="Recorder" ProgramChange="74"/>
<Patch Number="75" Name="Pan Flute" ProgramChange="75"/>
<Patch Number="76" Name="Bottle Blow" ProgramChange="76"/>
<Patch Number="77" Name="Shakuhachi" ProgramChange="77"/>
<Patch Number="78" Name="Whistle" ProgramChange="78"/>
<Patch Number="79" Name="Ocarina" ProgramChange="79"/>
<Patch Number="80" Name="Lead 1 (square)" ProgramChange="80"/>
<Patch Number="81" Name="Lead 2 (sawtooth)" ProgramChange="81"/>
<Patch Number="82" Name="Lead 3 (calliope lead)" ProgramChange="82"/>
<Patch Number="83" Name="Lead 4 (chiff lead)" ProgramChange="83"/>
<Patch Number="84" Name="Lead 5 (charang)" ProgramChange="84"/>
<Patch Number="85" Name="Lead 6 (voice)" ProgramChange="85"/>
<Patch Number="86" Name="Lead 7 (fifths)" ProgramChange="86"/>
<Patch Number="87" Name="Lead 8 (bass + lead)" ProgramChange="87"/>
<Patch Number="88" Name="Pad 1 (new age)" ProgramChange="88"/>
<Patch Number="89" Name="Pad 2 (warm)" ProgramChange="89"/>
<Patch Number="90" Name="Pad 3 (polysynth)" ProgramChange="90"/>
<Patch Number="91" Name="Pad 4 (choir)" ProgramChange="91"/>
<Patch Number="92" Name="Pad 5 (bowed)" ProgramChange="92"/>
<Patch Number="93" Name="Pad 6 (metallic)" ProgramChange="93"/>
<Patch Number="94" Name="Pad 7 (halo)" ProgramChange="94"/>
<Patch Number="95" Name="Pad 8 (sweep)" ProgramChange="95"/>
<Patch Number="96" Name="FX 1 (rain)" ProgramChange="96"/>
<Patch Number="97" Name="FX 2 (soundtrack)" ProgramChange="97"/>
<Patch Number="98" Name="FX 3 (crystal)" ProgramChange="98"/>
<Patch Number="99" Name="FX 4 (atmosphere)" ProgramChange="99"/>
<Patch Number="100" Name="FX 5 (brightness)" ProgramChange="100"/>
<Patch Number="101" Name="FX 6 (goblins)" ProgramChange="101"/>
<Patch Number="102" Name="FX 7 (echoes)" ProgramChange="102"/>
<Patch Number="103" Name="FX 8 (sci-fi)" ProgramChange="103"/>
<Patch Number="104" Name="Sitar" ProgramChange="104"/>
<Patch Number="105" Name="Banjo" ProgramChange="105"/>
<Patch Number="106" Name="Shamisen" ProgramChange="106"/>
<Patch Number="107" Name="Koto" ProgramChange="107"/>
<Patch Number="108" Name="Kalimba" ProgramChange="108"/>
<Patch Number="109" Name="Bagpipe" ProgramChange="109"/>
<Patch Number="110" Name="Fiddle" ProgramChange="110"/>
<Patch Number="111" Name="Shanai" ProgramChange="111"/>
<Patch Number="112" Name="Tinkle Bell" ProgramChange="112"/>
<Patch Number="113" Name="Agogo" ProgramChange="113"/>
<Patch Number="114" Name="Steel Drums" ProgramChange="114"/>
<Patch Number="115" Name="Woodblock" ProgramChange="115"/>
<Patch Number="116" Name="Taiko Drum" ProgramChange="116"/>
<Patch Number="117" Name="Melodic Tom" ProgramChange="117"/>
<Patch Number="118" Name="Synth Drum" ProgramChange="118"/>
<Patch Number="119" Name="Reverse Cymbal" ProgramChange="119"/>
<Patch Number="120" Name="Guitar Fret Noise" ProgramChange="120"/>
<Patch Number="121" Name="Breath Noise" ProgramChange="121"/>
<Patch Number="122" Name="Seashore" ProgramChange="122"/>
<Patch Number="123" Name="Bird Tweet" ProgramChange="123"/>
<Patch Number="124" Name="Telephone Ring" ProgramChange="124"/>
<Patch Number="125" Name="Helicopter" ProgramChange="125"/>
<Patch Number="126" Name="Applause" ProgramChange="126"/>
<Patch Number="127" Name="Gunshot" ProgramChange="127"/>
</PatchNameList>
<PatchNameList Name="General MIDI Drum Patches">
<Patch Number="1" Name="Standard Kit" ProgramChange="1"/>
<Patch Number="9" Name="Room Kit" ProgramChange="9"/>
<Patch Number="17" Name="Power Kit" ProgramChange="17"/>
<Patch Number="25" Name="Electronic Kit" ProgramChange="25"/>
<Patch Number="26" Name="TR-808 Kit" ProgramChange="26"/>
<Patch Number="33" Name="Jazz Kit" ProgramChange="33"/>
<Patch Number="41" Name="Brush Kit" ProgramChange="41"/>
<Patch Number="49" Name="Orchestra Kit" ProgramChange="49"/>
<Patch Number="57" Name="Sound FX Kit" ProgramChange="57"/>
<Patch Number="128" Name="CM-64/CM-32L" ProgramChange="128"/>
</PatchNameList>
<ControlNameList Name="Controls">
<Control Type="7bit" Number="0" Name="Bank Select"/>
<Control Type="7bit" Number="1" Name="Modulation Wheel or Lever"/>
<Control Type="7bit" Number="2" Name="Breath Controller"/>
<Control Type="7bit" Number="3" Name="Undefined"/>
<Control Type="7bit" Number="4" Name="Foot Controller"/>
<Control Type="7bit" Number="5" Name="Portamento Time"/>
<Control Type="7bit" Number="6" Name="Data Entry MSB"/>
<Control Type="7bit" Number="7" Name="Channel Volume"/>
<Control Type="7bit" Number="8" Name="Balance"/>
<Control Type="7bit" Number="9" Name="Undefined"/>
<Control Type="7bit" Number="10" Name="Pan"/>
<Control Type="7bit" Number="11" Name="Expression Controller"/>
<Control Type="7bit" Number="12" Name="Effect Control 1"/>
<Control Type="7bit" Number="13" Name="Effect Control 2"/>
<Control Type="7bit" Number="14" Name="Undefined"/>
<Control Type="7bit" Number="15" Name="Undefined"/>
<Control Type="7bit" Number="16" Name="General Purpose Controller 1"/>
<Control Type="7bit" Number="17" Name="General Purpose Controller 2"/>
<Control Type="7bit" Number="18" Name="General Purpose Controller 3"/>
<Control Type="7bit" Number="19" Name="General Purpose Controller 4"/>
<Control Type="7bit" Number="20" Name="Undefined"/>
<Control Type="7bit" Number="21" Name="Undefined"/>
<Control Type="7bit" Number="22" Name="Undefined"/>
<Control Type="7bit" Number="23" Name="Undefined"/>
<Control Type="7bit" Number="24" Name="Undefined"/>
<Control Type="7bit" Number="25" Name="Undefined"/>
<Control Type="7bit" Number="26" Name="Undefined"/>
<Control Type="7bit" Number="27" Name="Undefined"/>
<Control Type="7bit" Number="28" Name="Undefined"/>
<Control Type="7bit" Number="29" Name="Undefined"/>
<Control Type="7bit" Number="30" Name="Undefined"/>
<Control Type="7bit" Number="31" Name="Undefined"/>
<Control Type="7bit" Number="32" Name="LSB for Control 0 (Bank Select) (Fine)"/>
<Control Type="7bit" Number="33" Name="LSB for Control 1 (Modulation Wheel or Lever) (Fine)"/>
<Control Type="7bit" Number="34" Name="LSB for Control 2 (Breath Controller) (Fine)"/>
<Control Type="7bit" Number="35" Name="LSB for Control 3 (Undefined) (Fine)"/>
<Control Type="7bit" Number="36" Name="LSB for Control 4 (Foot Controller) (Fine)"/>
<Control Type="7bit" Number="37" Name="LSB for Control 5 (Portamento Time) (Fine)"/>
<Control Type="7bit" Number="38" Name="LSB for Control 6 (Data Entry) (Fine)"/>
<Control Type="7bit" Number="39" Name="LSB for Control 7 (Channel Volume) (Fine)"/>
<Control Type="7bit" Number="40" Name="LSB for Control 8 (Balance) (Fine)"/>
<Control Type="7bit" Number="41" Name="LSB for Control 9 (Undefined) (Fine)"/>
<Control Type="7bit" Number="42" Name="LSB for Control 10 (Pan) (Fine)"/>
<Control Type="7bit" Number="43" Name="LSB for Control 11 (Expression Controller) (Fine)"/>
<Control Type="7bit" Number="44" Name="LSB for Control 12 (Effect control 1) (Fine)"/>
<Control Type="7bit" Number="45" Name="LSB for Control 13 (Effect control 2) (Fine)"/>
<Control Type="7bit" Number="46" Name="LSB for Control 14 (Undefined) (Fine)"/>
<Control Type="7bit" Number="47" Name="LSB for Control 15 (Undefined) (Fine)"/>
<Control Type="7bit" Number="48" Name="LSB for Control 16 (General Purpose Controller 1) (Fine)"/>
<Control Type="7bit" Number="49" Name="LSB for Control 17 (General Purpose Controller 2) (Fine)"/>
<Control Type="7bit" Number="50" Name="LSB for Control 18 (General Purpose Controller 3) (Fine)"/>
<Control Type="7bit" Number="51" Name="LSB for Control 19 (General Purpose Controller 4) (Fine)"/>
<Control Type="7bit" Number="52" Name="LSB for Control 20 (Undefined) (Fine)"/>
<Control Type="7bit" Number="53" Name="LSB for Control 21 (Undefined) (Fine)"/>
<Control Type="7bit" Number="54" Name="LSB for Control 22 (Undefined) (Fine)"/>
<Control Type="7bit" Number="55" Name="LSB for Control 23 (Undefined) (Fine)"/>
<Control Type="7bit" Number="56" Name="LSB for Control 24 (Undefined) (Fine)"/>
<Control Type="7bit" Number="57" Name="LSB for Control 25 (Undefined) (Fine)"/>
<Control Type="7bit" Number="58" Name="LSB for Control 26 (Undefined) (Fine)"/>
<Control Type="7bit" Number="59" Name="LSB for Control 27 (Undefined) (Fine)"/>
<Control Type="7bit" Number="60" Name="LSB for Control 28 (Undefined) (Fine)"/>
<Control Type="7bit" Number="61" Name="LSB for Control 29 (Undefined) (Fine)"/>
<Control Type="7bit" Number="62" Name="LSB for Control 30 (Undefined) (Fine)"/>
<Control Type="7bit" Number="63" Name="LSB for Control 31 (Undefined) (Fine)"/>
<Control Type="7bit" Number="64" Name="Damper Pedal on/off (Sustain) ≤63 off, ≥64 on"/>
<Control Type="7bit" Number="65" Name="Portamento On/Off ≤63 off, ≥64 on"/>
<Control Type="7bit" Number="66" Name="Sostenuto On/Off ≤63 off, ≥64 on"/>
<Control Type="7bit" Number="67" Name="Soft Pedal On/Off ≤63 off, ≥64 on"/>
<Control Type="7bit" Number="68" Name="Legato Footswitch ≤63 Normal, ≥64 Legato"/>
<Control Type="7bit" Number="69" Name="Hold 2 ≤63 off, ≥64 on"/>
<Control Type="7bit" Number="70" Name="Sound Controller 1 (default: Sound Variation) (Fine)"/>
<Control Type="7bit" Number="71" Name="Sound Controller 2 (default: Timbre/Harmonic Intens.) (Fine)"/>
<Control Type="7bit" Number="72" Name="Sound Controller 3 (default: Release Time) (Fine)"/>
<Control Type="7bit" Number="73" Name="Sound Controller 4 (default: Attack Time) (Fine)"/>
<Control Type="7bit" Number="74" Name="Sound Controller 5 (default: Brightness) (Fine)"/>
<Control Type="7bit" Number="75" Name="Sound Controller 6 (default: Decay Time) (Fine)"/>
<Control Type="7bit" Number="76" Name="Sound Controller 7 (default: Vibrato Rate) (Fine)"/>
<Control Type="7bit" Number="77" Name="Sound Controller 8 (default: Vibrato Depth) (Fine)"/>
<Control Type="7bit" Number="78" Name="Sound Controller 9 (default: Vibrato Delay) (Fine)"/>
<Control Type="7bit" Number="79" Name="Sound Controller 10 (default undefined) (Fine)"/>
<Control Type="7bit" Number="80" Name="General Purpose Controller 5 (Fine)"/>
<Control Type="7bit" Number="81" Name="General Purpose Controller 6 (Fine)"/>
<Control Type="7bit" Number="82" Name="General Purpose Controller 7 (Fine)"/>
<Control Type="7bit" Number="83" Name="General Purpose Controller 8 (Fine)"/>
<Control Type="7bit" Number="84" Name="Portamento Control (Fine)"/>
<Control Type="7bit" Number="85" Name="(Undefined)"/>
<Control Type="7bit" Number="86" Name="(Undefined)"/>
<Control Type="7bit" Number="87" Name="(Undefined)"/>
<Control Type="7bit" Number="88" Name="High Resolution Velocity Prefix (Velocity LSB)"/>
<Control Type="7bit" Number="89" Name="(Undefined)"/>
<Control Type="7bit" Number="90" Name="(Undefined)"/>
<Control Type="7bit" Number="91" Name="Effects 1 Depth (default: Reverb Send Level)"/>
<Control Type="7bit" Number="92" Name="Effects 2 Depth"/>
<Control Type="7bit" Number="93" Name="Effects 3 Depth (default: Chorus Send Level)"/>
<Control Type="7bit" Number="94" Name="Effects 4 Depth"/>
<Control Type="7bit" Number="95" Name="Effects 5 Depth"/>
<Control Type="7bit" Number="96" Name="Data Increment (Data Entry +1)"/>
<Control Type="7bit" Number="97" Name="Data Decrement (Data Entry -1)"/>
<Control Type="7bit" Number="98" Name="Non-Registered Parameter Number LSB"/>
<Control Type="7bit" Number="99" Name="Non-Registered Parameter Number MSB"/>
<Control Type="7bit" Number="100" Name="Registered Parameter Number LSB"/>
<Control Type="7bit" Number="101" Name="Registered Parameter Number MSB"/>
<Control Type="7bit" Number="102" Name="(Undefined)"/>
<Control Type="7bit" Number="103" Name="(Undefined)"/>
<Control Type="7bit" Number="104" Name="(Undefined)"/>
<Control Type="7bit" Number="105" Name="(Undefined)"/>
<Control Type="7bit" Number="106" Name="(Undefined)"/>
<Control Type="7bit" Number="107" Name="(Undefined)"/>
<Control Type="7bit" Number="108" Name="(Undefined)"/>
<Control Type="7bit" Number="109" Name="(Undefined)"/>
<Control Type="7bit" Number="110" Name="(Undefined)"/>
<Control Type="7bit" Number="111" Name="(Undefined)"/>
<Control Type="7bit" Number="112" Name="(Undefined)"/>
<Control Type="7bit" Number="113" Name="(Undefined)"/>
<Control Type="7bit" Number="114" Name="(Undefined)"/>
<Control Type="7bit" Number="115" Name="(Undefined)"/>
<Control Type="7bit" Number="116" Name="(Undefined)"/>
<Control Type="7bit" Number="117" Name="(Undefined)"/>
<Control Type="7bit" Number="118" Name="(Undefined)"/>
<Control Type="7bit" Number="119" Name="(Undefined)"/>
<Control Type="7bit" Number="120" Name="[Channel Mode Message] All Sound Off"/>
<Control Type="7bit" Number="121" Name="[Channel Mode Message] Reset All Controllers"/>
<Control Type="7bit" Number="122" Name="[Channel Mode Message] Local Control On/Off 0 off, 127 on"/>
<Control Type="7bit" Number="123" Name="[Channel Mode Message] All Notes Off"/>
<Control Type="7bit" Number="124" Name="[Channel Mode Message] Omni Mode Off (+ all notes off)"/>
<Control Type="7bit" Number="125" Name="[Channel Mode Message] Omni Mode On (+ all notes off)"/>
<Control Type="7bit" Number="126" Name="[Channel Mode Message] Mono Mode On (+ poly off, + all notes off)"/>
<Control Type="7bit" Number="127" Name="[Channel Mode Message] Poly Mode On (+ mono off, +all notes off) 0"/>
</ControlNameList>
<NoteNameList Name="General MIDI Drums">
<Note Number="35" Name="Bass Drum 2"/>
<Note Number="36" Name="Bass Drum 1"/>
<Note Number="37" Name="Side Stick/Rimshot"/>
<Note Number="38" Name="Snare Drum 1"/>
<Note Number="39" Name="Hand Clap"/>
<Note Number="40" Name="Snare Drum 2"/>
<Note Number="41" Name="Low Tom 2"/>
<Note Number="42" Name="Closed Hi-hat"/>
<Note Number="43" Name="Low Tom 1"/>
<Note Number="44" Name="Pedal Hi-hat"/>
<Note Number="45" Name="Mid Tom 2"/>
<Note Number="46" Name="Open Hi-hat"/>
<Note Number="47" Name="Mid Tom 1"/>
<Note Number="48" Name="High Tom 2"/>
<Note Number="49" Name="Crash Cymbal 1"/>
<Note Number="50" Name="High Tom 1"/>
<Note Number="51" Name="Ride Cymbal 1"/>
<Note Number="52" Name="Chinese Cymbal"/>
<Note Number="53" Name="Ride Bell"/>
<Note Number="54" Name="Tambourine"/>
<Note Number="55" Name="Splash Cymbal"/>
<Note Number="56" Name="Cowbell"/>
<Note Number="57" Name="Crash Cymbal 2"/>
<Note Number="58" Name="Vibra Slap"/>
<Note Number="59" Name="Ride Cymbal 2"/>
<Note Number="60" Name="High Bongo"/>
<Note Number="61" Name="Low Bongo"/>
<Note Number="62" Name="Mute High Conga"/>
<Note Number="63" Name="Open High Conga"/>
<Note Number="64" Name="Low Conga"/>
<Note Number="65" Name="High Timbale"/>
<Note Number="66" Name="Low Timbale"/>
<Note Number="67" Name="High Agogô"/>
<Note Number="68" Name="Low Agogô"/>
<Note Number="69" Name="Cabasa"/>
<Note Number="70" Name="Maracas"/>
<Note Number="71" Name="Short Whistle"/>
<Note Number="72" Name="Long Whistle"/>
<Note Number="73" Name="Short Güiro"/>
<Note Number="74" Name="Long Güiro"/>
<Note Number="75" Name="Claves"/>
<Note Number="76" Name="High Wood Block"/>
<Note Number="77" Name="Low Wood Block"/>
<Note Number="78" Name="Mute Cuíca"/>
<Note Number="79" Name="Open Cuíca"/>
<Note Number="80" Name="Mute Triangle"/>
<Note Number="81" Name="Open Triangle"/>
</NoteNameList>
</MasterDeviceNames>
</MIDINameDocument>

62
data/osx/Info.plist.in

@ -1,62 +0,0 @@ @@ -1,62 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>zrythm</string>
</array>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
<string>fold</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleTypeIconFile</key>
<string>zrythm.icns</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>zrythm</string>
<key>CFBundleGetInfoString</key>
<string>@PACKAGE_VERSION@, (C) 2018-2019 Alexandros Theodotou https://www.zrythm.org</string>
<key>CFBundleIconFile</key>
<string>zrythm.icns</string>
<key>CFBundleIdentifier</key>
<string>org.zrythm.Zrythm</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Zrythm</string>
<key>CFBundleDisplayName</key>
<string>Zrythm</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersions</key>
<string>@PACKAGE_VERSION@</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>@PACKAGE_VERSION@</string>
<key>LSUIElement</key>
<string>0</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2018 - 2019 Alexandros Theodotou, GNU General Public LIcense.</string>
<key>LSMinimumSystemVersion</key>
<string>10.4</string>
<key>GtkOSXLaunchScriptFile</key>
<string>gtk3-launcher.sh</string>
<key>NSHighResolutionCapable</key>
<true/>
</dict>
</plist>

8
data/osx/appdmg.json

@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
{
"title": "Zrythm",
"icon": "zrythm.icns",
"contents": [
{ "x": 448, "y": 344, "type": "link", "path": "/Applications" },
{ "x": 192, "y": 344, "type": "file", "path": "../../build/osx/Zrythm.app" }
]
}

172
data/osx/gtk3-launcher.sh

@ -1,172 +0,0 @@ @@ -1,172 +0,0 @@
#!/bin/sh
if test "x$GTK_DEBUG_LAUNCHER" != x; then
set -x
fi
if test "x$GTK_DEBUG_GDB" != x; then
EXEC="gdb --args"
else
EXEC=exec
fi
name=`basename "$0"`
tmp="$0"
tmp=`dirname "$tmp"`
tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents
bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib
bundle_bin="$bundle_res"/bin
bundle_data="$bundle_res"/share
bundle_etc="$bundle_res"/etc
export XDG_CONFIG_DIRS="$bundle_etc"/xdg
export XDG_DATA_DIRS="$bundle_data"
export GTK_DATA_PREFIX="$bundle_res"
export GTK_EXE_PREFIX="$bundle_res"
export GTK_PATH="$bundle_res"
# PANGO_* is no longer needed for pango >= 1.38
export PANGO_RC_FILE="$bundle_etc/pango/pangorc"
export PANGO_SYSCONFDIR="$bundle_etc"
export PANGO_LIBDIR="$bundle_lib"
export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
if [ `uname -r | cut -d . -f 1` -ge 10 ]; then
export GTK_IM_MODULE_FILE="$bundle_etc/gtk-3.0/gtk.immodules"
fi
APP=$name
I18NDIR="$bundle_data/locale"
# Set the locale-related variables appropriately:
unset LANG LC_MESSAGES LC_MONETARY LC_COLLATE
# Has a language ordering been set?
# If so, set LC_MESSAGES and LANG accordingly; otherwise skip it.
# First step uses sed to clean off the quotes and commas, to change - to _, and change the names for the chinese scripts from "Hans" to CN and "Hant" to TW.
APPLELANGUAGES=`defaults read .GlobalPreferences AppleLanguages | sed -En -e 's/\-/_/' -e 's/Hant/TW/' -e 's/Hans/CN/' -e 's/[[:space:]]*\"?([[:alnum:]_]+)\"?,?/\1/p' `
if test "$APPLELANGUAGES"; then
# A language ordering exists.
# Test, item per item, to see whether there is an corresponding locale.
for L in $APPLELANGUAGES; do
#test for exact matches:
if test -f "$I18NDIR/${L}/LC_MESSAGES/$APP.mo"; then
export LANG=$L
break
fi
#This is a special case, because often the original strings are in US
#English and there is no translation file.
if test "x$L" == "xen_US"; then
export LANG=$L
break
fi
#OK, now test for just the first two letters:
if test -f "$I18NDIR/${L:0:2}/LC_MESSAGES/$APP.mo"; then
export LANG=${L:0:2}
break
fi
#Same thing, but checking for any english variant.
if test "x${L:0:2}" == "xen"; then
export LANG=$L
break
fi;
done
fi
unset APPLELANGUAGES L
# If we didn't get a language from the language list, try the Collation preference, in case it's the only setting that exists.
APPLECOLLATION=`defaults read .GlobalPreferences AppleCollationOrder`
if test -z ${LANG} -a -n $APPLECOLLATION; then
if test -f "$I18NDIR/${APPLECOLLATION:0:2}/LC_MESSAGES/$APP.mo"; then
export LANG=${APPLECOLLATION:0:2}
fi
fi
if test ! -z $APPLECOLLATION; then
export LC_COLLATE=$APPLECOLLATION
fi
unset APPLECOLLATION
# Continue by attempting to find the Locale preference.
APPLELOCALE=`defaults read .GlobalPreferences AppleLocale`
if test -f "$I18NDIR/${APPLELOCALE:0:5}/LC_MESSAGES/$APP.mo"; then
if test -z $LANG; then
export LANG="${APPLELOCALE:0:5}"
fi
elif test -z $LANG -a -f "$I18NDIR/${APPLELOCALE:0:2}/LC_MESSAGES/$APP.mo"; then
export LANG="${APPLELOCALE:0:2}"
fi
#Next we need to set LC_MESSAGES. If at all possilbe, we want a full
#5-character locale to avoid the "Locale not supported by C library"
#warning from Gtk -- even though Gtk will translate with a
#two-character code.
if test -n $LANG; then
#If the language code matches the applelocale, then that's the message
#locale; otherwise, if it's longer than two characters, then it's
#probably a good message locale and we'll go with it.
if test $LANG == ${APPLELOCALE:0:5} -o $LANG != ${LANG:0:2}; then
export LC_MESSAGES=$LANG
#Next try if the Applelocale is longer than 2 chars and the language
#bit matches $LANG
elif test $LANG == ${APPLELOCALE:0:2} -a $APPLELOCALE > ${APPLELOCALE:0:2}; then
export LC_MESSAGES=${APPLELOCALE:0:5}
#Fail. Get a list of the locales in $PREFIX/share/locale that match
#our two letter language code and pick the first one, special casing
#english to set en_US
elif test $LANG == "en"; then
export LC_MESSAGES="en_US"
else
LOC=`find $PREFIX/share/locale -name $LANG???`
for L in $LOC; do
export LC_MESSAGES=$L
done
fi
else
#All efforts have failed, so default to US english
export LANG="en_US"
export LC_MESSAGES="en_US"
fi
CURRENCY=`echo $APPLELOCALE | sed -En 's/.*currency=([[:alpha:]]+).*/\1/p'`
if test "x$CURRENCY" != "x"; then
#The user has set a special currency. Gtk doesn't install LC_MONETARY files, but Apple does in /usr/share/locale, so we're going to look there for a locale to set LC_CURRENCY to.
if test -f /usr/local/share/$LC_MESSAGES/LC_MONETARY; then
if test -a `cat /usr/local/share/$LC_MESSAGES/LC_MONETARY` == $CURRENCY; then
export LC_MONETARY=$LC_MESSAGES
fi
fi
if test -z "$LC_MONETARY"; then
FILES=`find /usr/share/locale -name LC_MONETARY -exec grep -H $CURRENCY {} \;`
if test -n "$FILES"; then
export LC_MONETARY=`echo $FILES | sed -En 's%/usr/share/locale/([[:alpha:]_]+)/LC_MONETARY.*%\1%p'`
fi
fi
fi
#No currency value means that the AppleLocale governs:
if test -z "$LC_MONETARY"; then
LC_MONETARY=${APPLELOCALE:0:5}
fi
#For Gtk, which only looks at LC_ALL:
export LC_ALL=$LC_MESSAGES
unset APPLELOCALE FILES LOC
if test -f "$bundle_lib/charset.alias"; then
export CHARSETALIASDIR="$bundle_lib"
fi
# Extra arguments can be added in environment.sh.
EXTRA_ARGS=
if test -f "$bundle_res/environment.sh"; then
source "$bundle_res/environment.sh"
fi
# Strip out the argument added by the OS.
if /bin/expr "x$1" : '^x-psn_' > /dev/null; then
shift 1
fi
$EXEC "$bundle_contents/MacOS/$name-bin" "$@" $EXTRA_ARGS

31
data/osx/osx_startup_script.sh

@ -1,31 +0,0 @@ @@ -1,31 +0,0 @@
#!/bin/sh
name=`basename "$0"`
tmp="$0"
tmp=`dirname "$tmp"`
tmp=`dirname "$tmp"`
bundle=`dirname "$tmp"`
bundle_contents="$bundle"/Contents
bundle_res="$bundle_contents"/Resources
bundle_lib="$bundle_res"/lib
bundle_bin="$bundle_res"/bin
bundle_data="$bundle_res"/share
bundle_etc="$bundle_res"/etc
export XDG_DATA_DIRS="$bundle_data"
export GTK_DATA_PREFIX="$bundle_res"
export GTK_EXE_PREFIX="$bundle_res"
export GTK_PATH="$bundle_res"
export GDK_PIXBUF_MODULE_FILE="$bundle_lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
I18NDIR="$bundle_data/locale"
# Strip out the argument added by the OS.
if /bin/expr "x$1" : '^x-psn_' > /dev/null; then
shift 1
fi
export GDK_DEBUG=interactive
exec "$bundle_bin/zrythm" "$@"

118
data/osx/zrythm-gtk3.bundle

@ -1,118 +0,0 @@ @@ -1,118 +0,0 @@
<?xml version="1.0" standalone="no"?> <!--*- mode: xml -*-->
<app-bundle>
<meta>
<!-- Where to pick up the GTK+ installation, icon themes,
etc. Note that "${env:JHBUILD_PREFIX}" is evaluated to the
value of the environment variable JHBUILD_PREFIX. You can
define additional prefixes and refer to them in paths
throughout this file on the form "${prefix:name}". This is
useful for installing certain libraries or even the
application itself separately. Note that JHBUILD_PREFIX is
defined by jhbuild, so it you are not using jhbuild you can
either define your own or just hardcode the path here.
-->
<!--<prefix name="jhbuild">${env:JHBUILD_PREFIX}</prefix>-->
<prefix name="default">/usr/local</prefix>
<prefix name="brew">/usr/local</prefix>
<!-- The project directory is the default location of the created
app. If you leave out the path, the current directory is
used. Note the usage of an environment variable here again.
-->
<destination overwrite="yes">${env:HOME}/Desktop</destination>
<image>
<!-- Not implemented yet (DMG image). -->
</image>
<!-- Comment this out to keep the install names in binaries -->
<run-install-name-tool/>
<!-- Optionally specify a launcher script to use. If the
application sets up everything needed itself, like
environment variable, linker paths, etc, a launcher script is
not needed. If the source path is left out, the default
script will be used.
-->
<launcher-script>${project}/gtk3-launcher.sh</launcher-script >
<!-- Not implemented: Optional runtime, could be python or mono
for example.
-->
<!-- runtime copy="yes">/usr/bin/python</runtime -->
<!-- Indicate the active gtk version to use. This is needed only
for gtk+-3.0 projects. -->
<gtk>gtk+-3.0</gtk>
</meta>
<!-- The special macro "${project}" refers to the directory where
this bundle file is located. The application name and bundle
identifier are taken from the plist file.
-->
<plist>${project}/Info.plist</plist>
<main-binary dest="${bundle}/bin/zrythm">${project}/../../build/zrythm</main-binary>
<!-- Copy in the input methods. Dunno if they actually work with
OSX. Note the ${gtkdir} macro, which expands to the correct
library subdirectory for the specified gtk version. -->
<binary>
${prefix:brew}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/immodules/*.so
</binary>
<!-- And the print backends -->
<binary>
${prefix:brew}/lib/${gtkdir}/${pkg:${gtk}:gtk_binary_version}/printbackends/*.so
</binary>
<!-- Starting with 2.24, gdk-pixbuf installs into its own directory. -->
<binary>
${prefix:brew}/lib/gdk-pixbuf-2.0/${pkg:gdk-pixbuf-2.0:gdk_pixbuf_binary_version}/loaders/*.so
</binary>
<!-- No longer needed for pango >= 1.38
<binary>
${prefix:brew}/lib/pango/${pkg:pango:pango_module_version}/modules/
</binary>
-->
<!-- Translation filenames, one for each program or library that you
want to copy in to the bundle. The "dest" attribute is
optional, as usual. Bundler will find all translations of that
library/program under the indicated directory and copy them.-->
<translations name="zrythm" dest="${bundle}/locale">
${project}/../../po
</translations>
<!-- Data to copy in, usually Glade/UI files, images, sounds files
etc. The destination inside the bundle can be specified if the
files should end up at a different location, by using the
"dest" property. The destination must then start with the macro
"${bundle}", which refers to the bundle root directory.
-->
<!-- data>
${prefix}/share/gtk3-demo
</data -->
<!-- Copy in the themes data. You may want to trim this to save space
in your bundle. -->
<data>
${prefix:brew}/share/themes
</data>
<data>
${prefix:brew}/share/icons
</data>
<!-- Copy icons. Note that the .icns file is an Apple format which
contains up to 4 sizes of icon. You can use
/Developer/Applications/Utilities/Icon Composer.app to import
artwork and create the file. -->
<data dest="${bundle}/Contents/Resources">
${project}/zrythm.icns
</data>
</app-bundle>

BIN
data/osx/zrythm.icns

Binary file not shown.

17
data/settings.ini

@ -1,3 +1,20 @@ @@ -1,3 +1,20 @@
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
[Settings]
gtk-theme-name=Windows10
gtk-font-name=Segoe UI 9

17
data/zrythm.desktop

@ -1,3 +1,20 @@ @@ -1,3 +1,20 @@
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
[Desktop Entry]
Name=Zrythm
Version=1.0

18
doc/Doxyfile-mcss.in

@ -1,3 +1,21 @@ @@ -1,3 +1,21 @@
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
#
@INCLUDE = Doxyfile.cfg
GENERATE_HTML = NO
GENERATE_XML = YES

19
doc/Doxyfile.cfg.in

@ -1,4 +1,21 @@ @@ -1,4 +1,21 @@
# Doxyfile 1.8.13
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
#
# ----------------------------------
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.

17
doc/cyaml_schemas.h

@ -1,4 +1,21 @@ @@ -1,4 +1,21 @@
/**
* Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
*
* This file is part of Zrythm
*
* Zrythm is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Zrythm is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
*
* \page cyaml_schemas Cyaml Schemas
*
* \section introduction_cyaml Introduction

17
doc/mainpage.h

@ -1,4 +1,21 @@ @@ -1,4 +1,21 @@
/**
* Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
*
* This file is part of Zrythm
*
* Zrythm is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Zrythm is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with Zrythm. If not, see <https://www.gnu.org/licenses/>.
*
*
* \mainpage Documentation
*

17
doc/meson.build

@ -1,3 +1,20 @@ @@ -1,3 +1,20 @@
# Copyright (C) 2019 Alexandros Theodotou <alex at zrythm dot org>
#
# This file is part of Zrythm
#
# Zrythm is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Zrythm is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You sho