Commit 581ee75
xxwhirlpool
·
2026-04-09 14:15:12 -0400 EDT
parent fd1f0ce
`music4coding`
1 files changed,
+71,
-0
+71,
-0
| ... | ... | @@ -0,0 +1,71 @@ | |
| 1 | + | #!/usr/bin/env bash | |
| 2 | + | # | |
| 3 | + | # mixtapes from musicForProgramming.net | |
| 4 | + | # https://musicforprogramming.net | |
| 5 | + | ||
| 6 | + | # this is not all of the mixes cuz i'm lazy | |
| 7 | + | ||
| 8 | + | declare -A mixtapes=( | |
| 9 | + | ["1"]="https://datashat.net/music_for_programming_1-datassette.mp3" | |
| 10 | + | ["2"]="https://datashat.net/music_for_programming_2-sunjammer.mp3" | |
| 11 | + | ["3"]="https://datashat.net/music_for_programming_3-datassette.mp3" | |
| 12 | + | ["4"]="https://datashat.net/music_for_programming_4-com_truise.mp3" | |
| 13 | + | ["5"]="https://datashat.net/music_for_programming_5-abe_mangger.mp3" | |
| 14 | + | ["6"]="https://datashat.net/music_for_programming_6-gods_of_the_new_age.mp3" | |
| 15 | + | ["7"]="https://datashat.net/music_for_programming_7-tahlhoff_garten_and_untitled.mp3" | |
| 16 | + | ["8"]="https://datashat.net/music_for_programming_8-connectedness_locus.mp3" | |
| 17 | + | ["9"]="https://datashat.net/music_for_programming_9-datassette.mp3" | |
| 18 | + | ["10"]="https://datashat.net/music_for_programming_10-unity_gain_temple.mp3" | |
| 19 | + | ["11"]="https://datashat.net/music_for_programming_11-miles_tilmann.mp3" | |
| 20 | + | ["12"]="https://datashat.net/music_for_programming_12-forgotten_light.mp3" | |
| 21 | + | ["13"]="https://datashat.net/music_for_programming_13-matt_whitehead.mp3" | |
| 22 | + | ["14"]="https://datashat.net/music_for_programming_14-tahlhoff_garten_and_untitled.mp3" | |
| 23 | + | ["15"]="https://datashat.net/music_for_programming_15-dan_adeyemi.mp3" | |
| 24 | + | ["16"]="https://datashat.net/music_for_programming_16-silent_stelios.mp3" | |
| 25 | + | ["17"]="https://datashat.net/music_for_programming_17-graphplan.mp3" | |
| 26 | + | ["18"]="https://datashat.net/music_for_programming_18-konx_om_pax.mp3" | |
| 27 | + | ["19"]="https://datashat.net/music_for_programming_19-hivemind.mp3" | |
| 28 | + | ["20"]="https://datashat.net/music_for_programming_20-uberdog.mp3" | |
| 29 | + | ) | |
| 30 | + | ||
| 31 | + | # little header text graphic to show before playback | |
| 32 | + | ||
| 33 | + | gum_echo() { | |
| 34 | + | top=$(gum style --bold --foreground "#a6d189" --border none --width 50 --margin "1 0" --align center "musicForProgramming();") | |
| 35 | + | bottom=$(gum style --foreground "#f4b8e4" --border none --width 50 --margin "1 0" --align center "$@") | |
| 36 | + | ||
| 37 | + | joingum=$(gum join --vertical --align center "$top" "$bottom") | |
| 38 | + | all=$(gum style --border-foreground "#99d1db" --border double --width 50 --padding "0 0" --align center "$joingum") | |
| 39 | + | ||
| 40 | + | gum join --vertical "$all" | |
| 41 | + | } | |
| 42 | + | ||
| 43 | + | # run the script | |
| 44 | + | ||
| 45 | + | choice() { | |
| 46 | + | choose=$(gum choose --header "mixtapes" {1..20} --height 20) | |
| 47 | + | case "$choose" in | |
| 48 | + | 1) gum_echo "datasette" && mpv "${mixtapes['1']}";; | |
| 49 | + | 2) gum_echo "sunjammer" && mpv "${mixtapes['2']}";; | |
| 50 | + | 3) gum_echo "datassette" && mpv "${mixtapes['3']}";; | |
| 51 | + | 4) gum_echo "com truise" && mpv "${mixtapes['4']}";; | |
| 52 | + | 5) gum_echo "abe mangger" && mpv "${mixtapes['5']}";; | |
| 53 | + | 6) gum_echo "gods of the new age" && mpv "${mixtapes['6']}";; | |
| 54 | + | 7) gum_echo "tahlhoff garten + untitled" && mpv "${mixtapes['7']}";; | |
| 55 | + | 8) gum_echo "connectedness locus" && mpv "${mixtapes['8']}";; | |
| 56 | + | 9) gum_echo "datassette" && mpv "${mixtapes['9']}";; | |
| 57 | + | 10) gum_echo "unity gain temple" && mpv "${mixtapes['10']}";; | |
| 58 | + | 11) gum_echo "miles tilmann" && mpv "${mixtapes['11']}";; | |
| 59 | + | 12) gum_echo "forgotten light" && mpv "${mixtapes['12']}";; | |
| 60 | + | 13) gum_echo "matt whitehead" && mpv "${mixtapes['13']}";; | |
| 61 | + | 14) gum_echo "tahlhoff garten + untitled" && mpv "${mixtapes['14']}";; | |
| 62 | + | 15) gum_echo "dan adeyemi" && mpv "${mixtapes['15']}";; | |
| 63 | + | 16) gum_echo "silent stelios" && mpv "${mixtapes['16']}";; | |
| 64 | + | 17) gum_echo "graphplan" && mpv "${mixtapes['17']}";; | |
| 65 | + | 18) gum_echo "konx om par" && mpv "${mixtapes['18']}";; | |
| 66 | + | 19) gum_echo "hivemind" && mpv "${mixtapes['19']}";; | |
| 67 | + | 20) gum_echo "uberdog" && mpv "${mixtapes['20']}";; | |
| 68 | + | esac | |
| 69 | + | } | |
| 70 | + | ||
| 71 | + | choice |