diff --git a/demo/meson.build b/demo/meson.build new file mode 100644 index 0000000..d22de53 --- /dev/null +++ b/demo/meson.build @@ -0,0 +1,23 @@ +state_files = files('Clarett Plus 2Pre.state', +'Clarett Plus 4Pre.state', +'Clarett Plus 8Pre.state', +'Scarlett Gen 2 18i20.state', +'Scarlett Gen 2 18i8.state', +'Scarlett Gen 2 6i6.state', +'Scarlett Gen 3 18i20.state', +'Scarlett Gen 3 18i8.state', +'Scarlett Gen 3 2i2.state', +'Scarlett Gen 3 4i4.state', +'Scarlett Gen 3 8i6.state', +'Scarlett Gen 3 Solo.state', +'Scarlett Gen 4 2i2.state', +'Scarlett Gen 4 4i4.state', +'Scarlett Gen 4 Solo.state', +'Vocaster One.state', +'Vocaster Two.state') + +install_data( + state_files, + install_dir: datadir / 'alsa-scarlett-gui/demo', +) + diff --git a/docs/meson.build b/docs/meson.build new file mode 100644 index 0000000..fd3c45a --- /dev/null +++ b/docs/meson.build @@ -0,0 +1,12 @@ +docs = files('INSTALL.md', +'OLDKERNEL.md', +'USAGE.md', +'iface-4th-gen.md', +'iface-large.md', +'iface-small.md') + +install_data( + docs, + install_dir: datadir / 'alsa-scarlett-gui/docs', +) + diff --git a/img/meson.build b/img/meson.build new file mode 100644 index 0000000..a4b883d --- /dev/null +++ b/img/meson.build @@ -0,0 +1,31 @@ +images = files('demo.gif', +'firmware-missing.png', +'firmware-update-required.png', +'firmware-updating.png', +'iface-4th-gen.png', +'iface-msd.png', +'iface-none.png', +'iface-small-gen3.png', +'main-global.png', +'main-inputs.png', +'main-outputs.png', +'routing-direct.png', +'scarlett-4th-gen-2i2-monitor.gif', +'scarlett-4th-gen-2i2-routing.png', +'scarlett-4th-gen-4i4-routing.png', +'scarlett-4th-gen-solo-mix-e-f.png', +'scarlett-4th-gen-solo-mix.gif', +'scarlett-4th-gen-solo-monitor.gif', +'window-levels-3rd-gen.png', +'window-levels-4th-gen.gif', +'window-main.png', +'window-mixer.png', +'window-routing.png', +'window-startup.png') + +install_data( + images , + install_dir: datadir / 'alsa-scarlett-gui/img', +) + + diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..fbbc870 --- /dev/null +++ b/meson.build @@ -0,0 +1,35 @@ +project('alsa-scarlett-gui','c', + version: run_command('git', 'describe', '--abbrev=4', '--dirty', '--always', check: true).stdout().strip(), + license: 'GPLv3, LGPLv3', + meson_version: '>= 1.0.0', + ) + +#add_global_arguments( '-DSOME_TOKEN=value', language : 'c') +add_project_arguments( '-DVERSION="@0@"'.format(meson.project_version()), language : 'c') + +gnome = import('gnome') + +cc = meson.get_compiler('c') + +prefix = get_option('prefix') + +bindir = join_paths(prefix, get_option('bindir')) +datadir = join_paths(prefix, get_option('datadir')) +libexecdir = join_paths(prefix, get_option('libexecdir')) +localedir = join_paths(prefix, get_option('localedir')) + +# Compile time and link time dependencies. +m_dep = cc.find_library('m', required : false) +crypto_dep = dependency('libcrypto', required : true) + +glib_dep = dependency('glib-2.0', version : '>= 2.56.0') +gtk4_dep = dependency('gtk4', version : '>= 4.5.0') +alsa_dep = dependency('alsa', version : '>= 1.2.0') + +root_inc = include_directories('.') + +subdir('src') +subdir('demo') +subdir('img') +subdir('docs') + diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..c6b27f0 --- /dev/null +++ b/src/meson.build @@ -0,0 +1,98 @@ +sources = ['about.c', +'about.h', +'alsa-sim.c', +'alsa-sim.h', +'alsa.c', +'alsa.h', +'const.h', +'device-reset-config.c', +'device-reset-config.h', +'device-update-firmware.c', +'device-update-firmware.h', +'error.c', +'error.h', +'file.c', +'file.h', +'gtkdial.c', +'gtkdial.h', +'gtkhelper.c', +'gtkhelper.h', +'hardware.c', +'hardware.h', +'iface-mixer.c', +'iface-mixer.h', +'iface-no-mixer.c', +'iface-no-mixer.h', +'iface-none.c', +'iface-none.h', +'iface-unknown.c', +'iface-unknown.h', +'iface-update.c', +'iface-update.h', +'main.c', +'main.h', +'menu.c', +'menu.h', +'routing-drag-line.c', +'routing-drag-line.h', +'routing-lines.c', +'routing-lines.h', +'scarlett2-firmware.c', +'scarlett2-firmware.h', +'scarlett2-ioctls.c', +'scarlett2-ioctls.h', +'scarlett2.h', +'stringhelper.c', +'stringhelper.h', +'tooltips.c', +'tooltips.h', +'widget-boolean.c', +'widget-boolean.h', +'widget-drop-down.c', +'widget-drop-down.h', +'widget-dual.c', +'widget-dual.h', +'widget-gain.c', +'widget-gain.h', +'widget-input-select.c', +'widget-input-select.h', +'widget-label.c', +'widget-label.h', +'widget-sample-rate.c', +'widget-sample-rate.h', +'window-hardware.c', +'window-hardware.h', +'window-helper.c', +'window-helper.h', +'window-iface.c', +'window-iface.h', +'window-levels.c', +'window-levels.h', +'window-mixer.c', +'window-mixer.h', +'window-modal.c', +'window-modal.h', +'window-routing.c', +'window-routing.h', +'window-startup.c', +'window-startup.h'] + + +resources = gnome.compile_resources('alsa-scarlett-gui-resources', + 'alsa-scarlett-gui-resources.xml', + source_dir: '.', + c_name: 'resources') + +executable( 'alsa-scarlett-gui' , sources + resources , + dependencies: [ + m_dep, + crypto_dep, + glib_dep, + gtk4_dep, + alsa_dep + ], + pie: true, + install: true ) + +#alsa-scarlett-gui.css +#vu.b4.alsa-scarlett-gui.desktop.template