]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - config.yml
Add config
[perso/Immae/Projets/Python/MusicSampler.git] / config.yml
index ae87de5be8f8d890fb6e9d11afd545e3c978002c..56221d99658623cf607bb733f1b414ddc96b646f 100644 (file)
+#################################
+##### General configuration #####
+## Keep in mind that in-line option override these
+
+#option listed here are the default options.
+config:
+# debug info
+  debug: false
+# languages. Available: fr, en
+  language: fr
+# path to the musics.
+  music_path: .
+# The awful red message that shows up when you lose the focus
+  focus_warning: true
+# built-in mixing, try this if your system can't mix the musics by itself
+  builtin_mixing: false
+# Device used for playing musics. Default value depends on your system
+#  device: 
+# Advanced parameters: use at your own risk! (your computer probably won't explode, though)
+  latency: high
+  blocksize: 0
+  frame_rate: 44100
+  sample_width: 2
+  channels: 2
+
+
+
+
+###################
+##### Aliases #####
+
 aliases:
-  jongle:
-    file: "/home/immae/temp/Pirates/PIRATE_01-1-intro_jonglacro.mp3"
-    volume: 110 # pouvoir dire que "par défaut" la musique a un volume à 110%
-  acros:
-    file: "../../temp/Pirates/PIRATE_01-2-jonglacro_suite.mp3"
+# for files
+  music1:
+    file: "short_blues.mp3"
+  music2:
+    file: "to_the_Fantasy_war.mp3"
+  noise:
+    file: "croco.mp3"
+# aliases for colors
+  blue:
+    color: [50, 50, 255]
+  orange:
+    color: [255, 126, 0]
+  yellow: 
+    color: [250, 250, 0]
+  red:
+    color: [255, 20, 20]
+  light_blue:
+    color: [100, 150, 255]
+  green:
+    color: [50, 180, 50]
+  light_green:
+    color: [150, 255, 100]
+  purple:
+    color: [190, 110, 236]
+  pink:
+    color: [255, 50, 255]
+
+####################################################
+##### Music properties: name and general gain ######
+
+music_properties:
+  "short_blues.mp3":
+    name: Short Blues (music 1)
+  "to_the_Fantasy_war.mp3":
+    name: To the Fantasy War (music 2)
+  "croco.mp3":
+    name: Crocodile noise
+    gain: 1.2
+
+###############################################################################
+##### Key properties: how do the key look like, and some other properties #####
+
+key_properties:
+  'common':
+    repeat_delay: 1
+    include: blue
 
-keys:
   'a':
-    - play:
-        include: jongle
-        fade_in: 5
-        restart_if_running: False
-  'z': 
-    - stop:
-        include: jongle
-    - wait:
-        duration: 3
-    - play:
-        include: acros
-        fade_in: 4
-        start_at: 40
-    - wait:
-        duration: 10
-    - volume:
-        include: acros
-        value:  50
-    - stop:
-        include: acros
-        fade_out: 10
+    description:
+      -  
+      - Music 1
+    include: light_blue
+    actions:
+      - play:
+          include: music1
+# Play the songs
+  'z':
+    description:
+      -  
+      - Music 2
+    include: light_blue
+    actions:
+      - play:
+          include: music2
   'e':
-    - play:
-        include: acros
-        restart_if_running: true
-  'r':
-    - play:
-        include: acros
+    description:
+      - 
+      - Noise
+    include: light_blue
+    actions:
+      - play:
+          include: noise
+# Load the songs
+  'q':
+    description:
+      -  
+      - Load
+      - Music 1
+    include: light_blue
+    actions:
+      - load_music:
+          include: music1
+  's':
+    description:
+      -  
+      - Load
+      - Music 2
+    include: light_blue
+    actions:
+      - load_music:
+          include: music2
+  'd':
+    description:
+      - 
+      - Load
+      - Noise
+    include: light_blue
+    actions:
+      - load_music:
+          include: noise
+# Unload the songs
+  'w':
+    description:
+      -  
+      - Unload
+      - Music 1
+    include: light_blue
+    actions:
+      - unload_music:
+          include: music1
+  'x':
+    description:
+      -  
+      - Unload
+      - Music 2
+    include: light_blue
+    actions:
+      - unload_music:
+          include: music2
+  'c':
+    description:
+      - 
+      - Unload
+      - Noise
+    include: light_blue
+    actions:
+      - unload_music:
+          include: noise
+# Crossfade from any music to music 2
+  't':
+    description:
+      - 
+      - Crossfade
+      - music 2
+    include: green
+    repeat_delay: 5
+    actions:
+      - stop:
+          fade_out: 5
+      - play:
+          include: music2
+          fade_in: 5
+# Fade out, then wait and start music 2
+  'y':
+    description:
+      - 
+      - Stop wait
+      - music 2
+    include: green
+    actions:
+      - wait:
+          include: music2
+
+# Play music 1, starting at 30 seconds then seeks at 60 after 5 seconds
+  'g':
+    description:
+      - 
+      - Music 1
+      - Seek 30/60
+    include: purple
+    actions:
+      - play: 
+          include: music1
+          start_at: 30
+      - wait: 
+          duration: 5
+      - seek:
+          include: music1
+          delta: false
+          value: 60
+
+# Lowers the volume of music 1 and 2 (if playing), during the duration of noise + 1 second
+  'i':
+    description:
+      -
+      - Noise
+      - +low vol
+    include: green
+    actions:
+      - volume:
+          include: music1
+          value: 50
+      - volume:
+          include: music2
+          value: 50
+      - play:
+          include: noise
+      - wait:
+          include: noise
+          duration: 1
+      - volume:
+          include: music1
+          value: 100
+          fade: 1
+      - volume:
+          include: music2
+          value: 100
+          fade: 1
+
+# Stops all musics, then plays noise repeated twice (3 times)
+  'h':
+    description:
+      -
+      - Noise
+      - 3 times
+    include: purple
+    repeat_delay: 2
+    actions:
+      - stop:
+          fade_out: 0.5
+      - play:
+          include: noise
+          loop: 2
+
+# Play music 1 and 2, after stopping all musics with a fade_out (and wait for this fade out)
+  'm':
+    description:
+      - 
+      - Musics
+      - 1 & 2
+    include: purple
+    actions:
+      - stop:
+          fade_out: 2
+          wait: true
+      - play:
+          include: music1
+      - wait:
+          include: music1
+          set_wait_id: m
+      - play:
+          include: music2
+
+# Lowers the volume of music 1 and 2 (if playing) down to 10% with a 5 seconds fade, then back to 100% 
+  'n':
+    description:
+      -
+      - Low vol
+      - Up vol
+    include: green
+    actions:
+      - volume:
+          include: music1
+          value: 10
+          fade: 5
+      - volume:
+          include: music2
+          value: 10
+          fade: 5
+      - wait:
+          duration: 5
+      - volume:
+          include: music1
+          value: 100
+          fade: 5
+      - volume:
+          include: music2
+          value: 100
+          fade: 5
+# skip waiting for the end of music1
+  'ù':
+    description:
+      - 
+      - stop
+      - wait
+    actions:
+      - interrupt_wait:
+          wait_id: m
+
+  'home':
+    description:
+      - 
+      - vlc
+    include: orange
+    actions:
+      - run_command:
+          command: vlc *.mp3
+          wait: true
+
+
+## Some general useful keys
+
+# Emergency stop!
   'ESC':
-    - stop: ~
-    - stop_all_actions: ~
-  '-':
-    - volume:
-        value: 90
-  'p':
-    - command:
-        command: une_super_commande_de_feu_d'artifice
+    description:
+      - "!"
+      - STOP!
+    include: red
+    repeat_delay: 0
+    actions:
+      - stop_all_actions:
+          other_only: true
+      - stop:
+
+# Pause and unpause
+  'F5':
+    description:
+      - "||"
+      - PAUSE
+    include: light_green
+    repeat_delay: 0
+    actions:
+      - pause:
+
+  'F6':
+    description:
+      - ">"
+      - UNPAUSE
+    include: light_green
+    repeat_delay: 0
+    actions:
+      - unpause:
+
+# Stopping all musics, with a short fade (sounds natural)
+  'F1':
+    description:
+      -   
+      - Stop
+      - fade
+    include: orange
+    repeat_delay: 0
+    actions:
+      - stop:
+          fade_out: 1
+
+# Stopping all actions
+  'F2':
+    description:
+      - 
+      - Stop
+      - actions
+    include: orange
+    repeat_delay: 0
+    actions:
+      - stop_all_actions:
+
+# Skip wait
+  'F4':
+    description:
+      -   
+      - Skip
+      - wait
+    include: pink
+    repeat_delay: 0
+    actions:
+      - interrupt_wait:
+
+  'F8':
+    description:
+      - 
+      - Pause
+      - wait
+    actions:
+      - pause_wait:
+
+  'F9':
+    description:
+      - 
+      - Unpause
+      - wait
+    actions:
+      - unpause_wait:
+
+  'F10':
+    description:
+      - 
+      - Reset
+      - wait
+    actions:
+      - reset_wait:
+
+# Changing volume
+  'F12':
+    description:
+      - 
+      - vol+
+    include: yellow
+    repeat_delay: 0
+    actions:
+      - volume:
+          delta: true
+          value: +10
+          fade: 0.5
+
+  'F11':
+    description:
+      - 
+      - "vol-"
+    include: yellow
+    repeat_delay: 0
+    actions:
+      - volume:
+          delta: true
+          value: -10
+          fade: 0.5
+# Seek +- 10 seconds
+  'right':
+    description:
+      - 
+      - +10s
+    include: blue
+    repeat_delay: 0
+    actions:
+      - seek:
+          value: 10
+          delta: true
+
+  'left':
+    description:
+      - 
+      - -10s
+    include: blue
+    repeat_delay: 0
+    actions:
+      - seek:
+          value: -10
+          delta: true