This file is indexed.

/usr/share/doc/mididings-doc/examples/output.py is in mididings-doc 0~20120419~ds0-6.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#
# output.py - uses the Output() unit to simplify MIDI routing and sending
# program changes
#
# This script assumes that the folling sound sources are connected to
# mididings:
#
# - A sampler, connected to the first output port, listening on channel 1.
#   Program 1 is an acoustic piano sound, program 4 is a Rhodes piano.
#
# - A synthesizer, connected to the second output port. On channel 3, there's
#   an organ sound. On channel 4, there's a string sound.
#
# Program changes on channel 16 switch between scenes.
#

from mididings import *


config(
    # create two output ports
    out_ports = ['sampler', 'synth'],
)

piano   = Output('sampler', 1, 1)
rhodes  = Output('sampler', 1, 4)
organ   = Output('synth',   3)
strings = Output('synth',   4)


run(
    scenes = {
        # scene 1: play piano.
        # this will switch the sampler to program 1, then route all events
        # to it
        1:  piano,

        # scene 2: play organ, transposed one octave down
        2:  Transpose(-12) >> organ,

        # scene 3: split keyboard at C3, the lower part plays rhodes, the
        # upper part plays strings
        3:  KeySplit('c3', rhodes, strings),
    },

    # control patch: use program changes on channel 16 to switch between
    # scenes
    control = Filter(PROGRAM) >> ChannelFilter(16) >> SceneSwitch(),

    # preprocessing: filter out program changes, everything else is sent to
    # the current scene
    pre = ~Filter(PROGRAM),
)