Initial Commit

slip slop
This commit is contained in:
Ian Keane 2026-06-09 15:07:08 -04:00
commit 064e672ab7
61 changed files with 3504 additions and 0 deletions

46
ain/tunes/create.ain Normal file
View file

@ -0,0 +1,46 @@
# Create a tune with nested banjo, fiddle, notes, and references in one shot.
# All fields except the top-level ones are optional — remove any block you don't need.
# ain ain/base.ain ain/tunes/create.ain
[Host]
/tunes/
[Method]
POST
[Body]
{
"name": "Cluck Old Hen",
"key": "A",
"version": "full",
"banjo": {
"tuning": "double C",
"learned_from": "Earl Scruggs",
"date_learned": "2024-03-01",
"callable": true,
"review": false,
"to_learn": false,
"difficulty": null
},
"fiddle": {
"tuning": "cross",
"learned_from": "Alison Krauss",
"date_learned": "2024-06-15",
"callable": false,
"review": true,
"to_learn": false,
"difficulty": null
},
"notes": [
{ "note": "tricky B part — watch the timing" }
],
"references": [
{
"link": "https://www.youtube.com/watch?v=example",
"site": "YouTube",
"musicians": [
{ "name": "Alison Krauss" }
]
}
]
}

8
ain/tunes/delete.ain Normal file
View file

@ -0,0 +1,8 @@
# Delete a tune (cascades to all sub-records)
# ain ain/base.ain ain/tunes/delete.ain --vars ID=1
[Host]
/tunes/${ID}
[Method]
DELETE

8
ain/tunes/get.ain Normal file
View file

@ -0,0 +1,8 @@
# Get a single tune by ID
# ain ain/base.ain ain/tunes/get.ain --vars ID=1
[Host]
/tunes/${ID}
[Method]
GET

View file

@ -0,0 +1,21 @@
# Filter tunes — all params are optional, combine as needed
# ain ain/base.ain ain/tunes/list-filtered.ain
#
# Tweak the [Query] section before running.
# instrument must be set for tuning/callable/review/to_learn/difficulty to apply.
[Host]
/tunes/
[Query]
instrument=fiddle
key=A
tuning=cross
callable=true
review=false
to_learn=false
difficulty=easy
search=cluck
[Method]
GET

8
ain/tunes/list.ain Normal file
View file

@ -0,0 +1,8 @@
# List all tunes (no filters)
# ain ain/base.ain ain/tunes/list.ain
[Host]
/tunes/
[Method]
GET

15
ain/tunes/update.ain Normal file
View file

@ -0,0 +1,15 @@
# Update core tune fields (name, key, version)
# ain ain/base.ain ain/tunes/update.ain --vars ID=1
[Host]
/tunes/${ID}
[Method]
PATCH
[Body]
{
"name": "Cluck Old Hen",
"key": "D",
"version": "A part only"
}