86 changed files with 12686 additions and 14187 deletions
@ -0,0 +1,2 @@
@@ -0,0 +1,2 @@
|
||||
All scripts in this directory are in the public |
||||
domain (CC-0). |
@ -0,0 +1,54 @@
@@ -0,0 +1,54 @@
|
||||
;;; Create Geonkick with FX track |
||||
(use-modules |
||||
(actions create-tracks-action) |
||||
(actions port-connection-action) |
||||
(actions undo-manager) |
||||
(audio channel) |
||||
(audio port) |
||||
(audio track-processor) |
||||
(audio tracklist) |
||||
(audio track) |
||||
(plugins plugin) |
||||
(plugins plugin-manager)) |
||||
(define zrythm-script |
||||
(lambda () |
||||
(let* |
||||
((action |
||||
(create-tracks-action-new-with-plugin |
||||
;; track type (0 = instrument) |
||||
0 |
||||
;; plugin to add |
||||
(plugin-manager-find-plugin-from-uri |
||||
"http://geontime.com/geonkick") |
||||
;; track pos to insert at |
||||
4 |
||||
;; number of tracks to create |
||||
1))) |
||||
(undo-manager-perform action)) |
||||
(let* |
||||
((action |
||||
(create-tracks-action-new-audio-fx |
||||
;; track pos to insert at |
||||
5 |
||||
;; number of tracks to create |
||||
1))) |
||||
(undo-manager-perform action)) |
||||
(let* |
||||
((geonkick-track (tracklist-get-track-at-pos 4)) |
||||
(geonkick-channel (track-get-channel geonkick-track)) |
||||
(geonkick (channel-get-instrument geonkick-channel)) |
||||
(geonkick-mono-out (plugin-get-out-port geonkick 1)) |
||||
(fx-track (tracklist-get-track-at-pos 5)) |
||||
(fx-processor (track-get-processor fx-track)) |
||||
(fx-stereo-in (track-processor-get-stereo-in fx-processor)) |
||||
(fx-stereo-in-l (stereo-ports-get-port fx-stereo-in #t)) |
||||
(fx-stereo-in-r (stereo-ports-get-port fx-stereo-in #f)) |
||||
(action-1 |
||||
(port-connection-action-new-connect |
||||
geonkick-mono-out fx-stereo-in-l)) |
||||
(action-2 |
||||
(port-connection-action-new-connect |
||||
geonkick-mono-out fx-stereo-in-r))) |
||||
(undo-manager-perform action-1) |
||||
(undo-manager-perform action-2) |
||||
(track-set-muted geonkick-track #t)))) |
@ -0,0 +1,28 @@
@@ -0,0 +1,28 @@
|
||||
;;; Create MIDI track with notes |
||||
(use-modules (audio track) |
||||
(audio midi-note) |
||||
(audio midi-region) |
||||
(audio position) |
||||
(audio tracklist) |
||||
(project) |
||||
(zrythm)) |
||||
(define zrythm-script |
||||
(lambda () |
||||
(let* ((prj (zrythm-get-project)) |
||||
(tracklist (project-get-tracklist prj)) |
||||
(track-slot 3) |
||||
(track (midi-track-new track-slot "my midi track")) |
||||
(r-start-pos (position-new 1 1 1 0 0)) |
||||
(r-end-pos (position-new 4 1 1 0 0)) |
||||
(region (midi-region-new r-start-pos r-end-pos track-slot 0 0)) |
||||
(mn-start-pos (position-new 2 1 1 0 0)) |
||||
(mn-end-pos (position-new 3 1 1 0 0)) |
||||
(note (midi-note-new region mn-start-pos mn-end-pos 80 90))) |
||||
(for-each |
||||
(lambda (pitch) |
||||
(let ((note (midi-note-new region mn-start-pos mn-end-pos pitch 90))) |
||||
(midi-region-add-midi-note region note))) |
||||
'(56 60 63)) |
||||
(tracklist-insert-track tracklist track |
||||
track-slot) |
||||
(track-add-lane-region track region 0)))) |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
;;; Hello world |
||||
(define zrythm-script |
||||
(lambda () |
||||
(display "Hello, World!"))) |
@ -0,0 +1,32 @@
@@ -0,0 +1,32 @@
|
||||
# Copyright (C) 2021 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/>. |
||||
|
||||
data_script_filenames = [ |
||||
# FIXME test fails |
||||
#'create-geonkick-with-fx-track.scm', |
||||
'create-midi-track-with-notes.scm', |
||||
'hello-world.scm', |
||||
'print-all-tracks.scm', |
||||
] |
||||
|
||||
data_scripts = files (data_script_filenames) |
||||
|
||||
foreach script : data_scripts |
||||
install_data ( |
||||
script, |
||||
install_dir: scriptsdir) |
||||
endforeach |
@ -0,0 +1,21 @@
@@ -0,0 +1,21 @@
|
||||
;;; Print all tracks |
||||
;;; |
||||
;;; This is an example GNU Guile script using modules provided by Zrythm. |
||||
;;; See https://www.gnu.org/software/guile/ for more info about GNU Guile. |
||||
;;; See https://manual.zrythm.org/en/scripting/intro.html for more info |
||||
;;; about scripting in Zrythm. |
||||
(use-modules (audio track) |
||||
(audio tracklist) |
||||
(project) |
||||
(zrythm)) |
||||
(define zrythm-script |
||||
(lambda () |
||||
(let* ((prj (zrythm-get-project)) |
||||
(tracklist (project-get-tracklist prj)) |
||||
(num-tracks (tracklist-get-num-tracks tracklist))) |
||||
(let loop ((i 0)) |
||||
(when (< i num-tracks) |
||||
(let ((track (tracklist-get-track-at-pos tracklist i))) |
||||
(display (track-get-name track)) |
||||
(newline)) |
||||
(loop (+ i 1))))))) |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
custom_css_target = custom_target ( |
||||
'custom-css', |
||||
input: 'custom_css.scss', |
||||
output: 'custom.css', |
||||
command: [ |
||||
sass, '@INPUT@', '@OUTPUT@', |
||||
] |
||||
) |
||||
|
||||
run_target ( |
||||
'manual_compile_css', |
||||
command : [ |
||||
'echo', 'Compiled custom CSS', |
||||
], |
||||
depends: custom_css_target) |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
c = run_command ([ |
||||
'find', '.', '-name', '*.png', |
||||
]) |
||||
png_files = c.stdout().strip().split('\n') |
||||
|
||||
foreach f : png_files |
||||
configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
configure_file ( |
||||
copy: true, |
||||
input: 'bootstrap.min.js', |
||||
output: '@PLAINNAME@') |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
copy_files = [ |
||||
'favicon.ico', |
||||
'z.svg', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
||||
|
||||
subdir ('css') |
||||
subdir ('img') |
||||
subdir ('js') |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
copy_files = [ |
||||
'environment.rst', |
||||
'files-and-directories.rst', |
||||
'gnu-free-documentation-license.rst', |
||||
'intro.rst', |
||||
'menu-actions.rst', |
||||
'meson.build', |
||||
'shortcut-keys.rst', |
||||
'troubleshooting.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,11 @@
@@ -0,0 +1,11 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
'overview.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
copy_files = [ |
||||
'additional-settings.rst', |
||||
'device-setup.rst', |
||||
'intro.rst', |
||||
'preferences.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
copy_files = [ |
||||
'audio-editor.rst', |
||||
'automation-editor.rst', |
||||
'chord-editor.rst', |
||||
'intro.rst', |
||||
'overview.rst', |
||||
'piano-roll.rst', |
||||
'ruler.rst', |
||||
'toolbar.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,18 @@
@@ -0,0 +1,18 @@
|
||||
copy_files = [ |
||||
'common-operations.rst', |
||||
'edit-tools.rst', |
||||
'intro.rst', |
||||
'overview.rst', |
||||
'quantization.rst', |
||||
'snapping-grid-options.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
||||
|
||||
subdir ('clip-editors') |
||||
subdir ('timeline') |
@ -0,0 +1,16 @@
@@ -0,0 +1,16 @@
|
||||
copy_files = [ |
||||
'arranger.rst', |
||||
'event-viewer.rst', |
||||
'intro.rst', |
||||
'overview.rst', |
||||
'ruler.rst', |
||||
'toolbar.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
||||
|
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
copy_files = [ |
||||
'audio-and-midi.rst', |
||||
'intro.rst', |
||||
'routing-graph.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
copy_files = [ |
||||
'getting-plugins.rst', |
||||
'intro.rst', |
||||
'installation.rst', |
||||
'running-zrythm.rst', |
||||
'system-requirements.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
'overview.rst', |
||||
'routing.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
copy_files = [ |
||||
'bpm-and-time-signatures.rst', |
||||
'intro.rst', |
||||
'loop-points-and-markers.rst', |
||||
'overview.rst', |
||||
'recording.rst', |
||||
'transport-controls.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
copy_files = [ |
||||
'file-browser.rst', |
||||
'intro.rst', |
||||
'overview.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
||||
|
||||
subdir ('audio-midi-files') |
||||
subdir ('plugins') |
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
copy_files = [ |
||||
'inspector-page.rst', |
||||
'intro.rst', |
||||
'plugin-browser.rst', |
||||
'plugin-info.rst', |
||||
'plugin-window.rst', |
||||
'scanning.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
'project-info.rst', |
||||
'project-management-and-compatibility.rst', |
||||
'saving-loading.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,14 @@
@@ -0,0 +1,14 @@
|
||||
copy_files = [ |
||||
'control-room.rst', |
||||
'inserts-sends.rst', |
||||
'intro.rst', |
||||
'making-connections.rst', |
||||
'ports.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,80 @@
@@ -0,0 +1,80 @@
|
||||
# used to only create guile docs when possible, |
||||
# otherwise reuse what is already there |
||||
can_make_guile_docs = guile_dep.found () and get_option ('guile_snarf_docs_path') != '' |
||||
|
||||
# Create custom targets (each API .rst file) and save |
||||
# them in guile_docs |
||||
guile_docs = [] |
||||
if can_make_guile_docs |
||||
gen_texi_docs_sh = find_program ( |
||||
'guile_gen_texi_docs.sh') |
||||
foreach snarfable_src : guile_snarfable_srcs |
||||
split_by_dot = snarfable_src.split('.') |
||||
without_ext = '' |
||||
foreach sp : split_by_dot |
||||
if sp == split_by_dot[split_by_dot.length() - 2] |
||||
without_ext += sp |
||||
elif sp != split_by_dot[split_by_dot.length() - 1] |
||||
without_ext += sp + '.' |
||||
endif |
||||
endforeach |
||||
base_file = ' '.join(without_ext.split ( |
||||
meson_src_root)[1].split('/')) |
||||
base_file = base_file.split('src guile ')[1] |
||||
rst_file = base_file + '.rst' |
||||
texi_file = '-'.join (base_file.split ('_')) + '.texi' |
||||
texi_doc = configure_file ( |
||||
output: texi_file, |
||||
command: [ |
||||
gen_texi_docs_sh, |
||||
get_option ('guile_snarf_docs_path'), |
||||
guile_dep.name(), snarfable_src, |
||||
texi_file, texi_file + '.p', |
||||
guild.full_path (), |
||||
'-I' + meson_src_root / 'inc', |
||||
], |
||||
) |
||||
rst_doc = configure_file ( |
||||
output: rst_file, |
||||
input: texi_doc, |
||||
command: [ |
||||
guile_gen_docs_scm, |
||||
guile_dep.name(), |
||||
meson.current_build_dir () / texi_file, |
||||
meson.current_build_dir () / rst_file, |
||||
meson.current_build_dir () / rst_file + '.p', |
||||
], |
||||
) |
||||
rst_files += rst_doc |
||||
guile_docs += rst_doc |
||||
endforeach |
||||
endif |
||||
|
||||
# copy the Guile API docs to /api in the |
||||
# source code (note: this edits rst source code) |
||||
copy_guile_docs_sh = configure_file ( |
||||
output: 'copy_guile_docs.sh', |
||||
input: 'copy_guile_docs.sh', |
||||
configuration: { |
||||
'BASH': bash.full_path (), |
||||
'GUILE_DOCS_SRCDIR': meson.current_build_dir (), |
||||
'GUILE_DOCS_DESTDIR': meson.current_source_dir (), |
||||
}) |
||||
copy_guile_docs_target = custom_target ( |
||||
'guile_localized_docs', |
||||
output: 'guile_localized_docs', |
||||
command: copy_guile_docs_sh, |
||||
depend_files: [ |
||||
guile_docs, |
||||
]) |
||||
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,12 @@
@@ -0,0 +1,12 @@
|
||||
.. This is part of the Zrythm Manual. |
||||
Copyright (C) 2020-2021 Alexandros Theodotou <alex at zrythm dot org> |
||||
See the file index.rst for copying conditions. |
||||
|
||||
Examples |
||||
======== |
||||
|
||||
The following examples are in the public domain |
||||
(`CC 0 <https://creativecommons.org/publicdomain/zero/1.0/>`_). |
||||
Feel free to copy and modify them. |
||||
|
||||
@SCRIPTS@ |
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
script_contents = '' |
||||
foreach script : data_script_filenames |
||||
path = meson_src_root / 'data/scripts' / script |
||||
content = fs.read (path) |
||||
content_lines = content.split ('\n') |
||||
title = content_lines[0].substring (4) |
||||
script_contents += title + '\n' |
||||
script_contents += '-------------------------------------------------------------------------------' |
||||
script_contents += '\n\n' |
||||
script_contents += '.. code-block:: scheme\n\n' |
||||
foreach line : content.split('\n') |
||||
script_contents += ' ' + line + '\n' |
||||
endforeach |
||||
script_contents += '\n' |
||||
endforeach |
||||
|
||||
scripting_examples_rst = configure_file ( |
||||
output: 'examples.rst', |
||||
input: 'examples.rst.in', |
||||
configuration: { 'SCRIPTS': script_contents }) |
||||
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
'overview.rst', |
||||
'scripting-interface.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
||||
|
||||
subdir ('api') |
@ -0,0 +1,13 @@
@@ -0,0 +1,13 @@
|
||||
copy_files = [ |
||||
'css.rst', |
||||
'icon-themes.rst', |
||||
'intro.rst', |
||||
'overview.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
copy_files = [ |
||||
'audio-track.rst', |
||||
'bus-track-audio.rst', |
||||
'chord-track.rst', |
||||
'group-track-audio.rst', |
||||
'inspector-page.rst', |
||||
'intro.rst', |
||||
'master-track.rst', |
||||
'modulator-track.rst', |
||||
'tempo-track.rst', |
||||
'track-types.rst', |
||||
'automation.rst', |
||||
'bus-track-midi.rst', |
||||
'creating-tracks.rst', |
||||
'group-track-midi.rst', |
||||
'instrument-track.rst', |
||||
'marker-track.rst', |
||||
'midi-track.rst', |
||||
'overview.rst', |
||||
'track-operations.rst', |
||||
'track-visibility.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,10 @@
@@ -0,0 +1,10 @@
|
||||
copy_files = [ |
||||
'intro.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
rst_files += configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |
@ -0,0 +1,17 @@
@@ -0,0 +1,17 @@
|
||||
copy_files = [ |
||||
'bottom-panel.rst', |
||||
'intro.rst', |
||||
'left-panel.rst', |
||||
'main-toolbar.rst', |
||||
'right-panel.rst', |
||||
'timeline.rst', |
||||
'transport-bar.rst', |
||||
'zrythm-interface-overview.rst', |
||||
] |
||||
|
||||
foreach f : copy_files |
||||
configure_file ( |
||||
copy: true, |
||||
input: f, |
||||
output: '@PLAINNAME@') |
||||
endforeach |