ESC

Config: musicgear

Catalog Schema
catalog gear gear title [companies] → [credits] → [functions] model_number form_factor signal_path country dates_produced dimensions weight power_source frequency_response [specs] [channels] [connections] [controls] [displays] variant_of → variant_name [external_links] notes gear:variant_of->gear company company title profile [external_links] gear:companies->company credit credit title profile [external_links] gear:credits->credit

Entity Schemas

company
[:map
 [:title [:string {:default "Name"}]]
 [:profile {:optional true} [:string {:default ""}]]
 [:external_links
  {:optional true}
  [:vector
   [:map
    {:form/layout :stacked}
    [:url [:string {:default ""}]]
    [:notes {:optional true} [:string {:default ""}]]]]]]
credit
[:map
 [:title [:string {:default "Name"}]]
 [:profile {:optional true} [:string {:default ""}]]
 [:external_links
  {:optional true}
  [:vector
   [:map
    {:form/layout :stacked}
    [:url [:string {:default ""}]]
    [:notes {:optional true} [:string {:default ""}]]]]]]
gear
[:map
 [:title [:string {:default "", :form/placeholder "Model"}]]
 [:companies
  {:optional true}
  [:vector
   [:map
    [:name
     {:form/col 8}
     [:map
      [:id :int]
      [:etype [:= :company]]
      [:title :string]
      [:catkey {:optional true} :keyword]]]
    [:role
     {:optional true, :form/col 4}
     [:string
      {:default "",
       :form/options ["Brand" "Manufacturer" "Series" "Designer"]}]]]]]
 [:credits
  {:optional true}
  [:vector
   [:map
    [:name
     {:form/col 8}
     [:map
      [:id :int]
      [:etype [:= :credit]]
      [:title :string]
      [:catkey {:optional true} :keyword]]]
    [:role
     {:optional true, :form/col 4}
     [:string {:default "", :form/options ["Designer"]}]]]]]
 [:functions
  {:optional true}
  [:vector
   [:map
    [:function
     {:form/col 5}
     [:string
      {:default "",
       :form/options
       ["Accessory"
        "Amplifier, Bass"
        "Amplifier, Guitar"
        "Amplifier, Microphone"
        "Analog-to-Digital Converter (ADC)"
        "Audio Interface"
        "Cable"
        "Control Surface"
        "DJ Mixer"
        "Digital Recorder"
        "Drum Machine"
        "Dynamics"
        "EQ"
        "Effect"
        "Enclosure / Casing"
        "Guitar / Bass"
        "Instrument Tuner"
        "Keyboard / Piano"
        "Media & Data Storage"
        "Microphone"
        "Mixing Desk"
        "Power Supply"
        "Sampler"
        "Sequencer"
        "Signal Distribution"
        "Synchronizer / Clock Generator"
        "Synthesizer"]}]]
    [:detail
     {:optional true, :form/col 7}
     [:string {:default "", :form/input :text}]]]]]
 [:model_number {:optional true} [:string {:default ""}]]
 [:form_factor
  {:optional true}
  [:string
   {:default "",
    :form/options
    ["½\" Standard Mount"
     "19\" Rackmount"
     "Bookshelf / Stand Mounted"
     "Component - Cable"
     "Desktop"
     "Desktop / 19\" Rackmount Convertible"
     "Dongle"
     "Drum Rim Mount"
     "Floorstanding"
     "Floorstanding / Stand Mounted"
     "Footswitch"
     "Freestanding"
     "Half-Width"
     "Handheld"
     "Handheld / Stand Mounted"
     "Headphone - Circumaural"
     "Headphone - Earbud"
     "Headphone - Headset"
     "Headphone - In-ear"
     "Headphone - Supra-aural"
     "Keyboard"
     "Modular - 500 Series"
     "Modular - 5U"
     "Modular - Eurorack"
     "Modular - Frac"
     "Modular - System-100"
     "Modular - X-Rack"
     "Part"
     "Portable"
     "Software"
     "Stand Mounted"
     "Standard Width"
     "Tabletop"
     "Wall Wart"]}]]
 [:signal_path
  {:optional true}
  [:string
   {:default "",
    :form/options
    ["No Audio"
     "Analog Hardware"
     "Digital Hardware"
     "Digital Hardware (including Analog Connections)"
     "Hybrid Analog / Digital Hardware"
     "Passive Hardware"
     "Software"
     "Software with Digital Hardware"
     "Software with Digital Hardware (including Analog Connections)"
     "Software with Analog Hardware"
     "Software with Hybrid Hardware"]}]]
 [:country {:optional true} [:string {:default ""}]]
 [:dates_produced {:optional true} [:string {:default ""}]]
 [:dimensions {:optional true} [:string {:default ""}]]
 [:weight {:optional true} [:string {:default ""}]]
 [:power_source {:optional true} [:string {:default ""}]]
 [:frequency_response {:optional true} [:string {:default ""}]]
 [:specs
  {:optional true}
  [:vector
   [:map
    [:name {:form/col 4} [:string {:default ""}]]
    [:value {:form/col 5} [:string {:default ""}]]
    [:note
     {:optional true, :form/col 3}
     [:string {:default "", :form/input :text}]]]]]
 [:channels
  {:optional true}
  [:vector
   [:map
    [:type
     {:form/col 3}
     [:string
      {:default "", :form/options ["Channel" "Voice" "Track"]}]]
    [:quantity {:optional true, :form/col 2} [:string {:default ""}]]
    [:note
     {:optional true, :form/col 7}
     [:string {:default "", :form/input :text}]]]]]
 [:connections
  {:optional true}
  [:vector
   [:map
    [:name {:form/col 4} [:string {:default ""}]]
    [:connector
     {:optional true, :form/col 4}
     [:string
      {:default "",
       :form/options
       ["1/4\" Phone Jack (6.35mm)"
        "3.5mm Miniature Phone Jack (1/8\")"
        "2.5mm Sub-miniature Phone Jack (3/32\")"
        "Bantam Phone Jack (TT)"
        "RCA (Phono, Cinch)"
        "XLR"
        "Combo XLR / 1/4\""
        "DIN"
        "BNC"
        "USB"
        "Firewire"
        "D-Sub"
        "JIS F05 (Toslink, ADAT Lightpipe)"
        "Terminal Block"
        "EDAC"
        "Banana"
        "Binding Post"
        "Binding Post (Universal)"
        "Speakon"
        "RJ45"
        "Spring Terminal"
        "Other"]}]]
    [:description
     {:optional true, :form/col 4}
     [:string {:default "", :form/input :text}]]]]]
 [:controls
  {:optional true}
  [:vector
   [:map
    [:parameter {:form/col 4} [:string {:default ""}]]
    [:control_type
     {:optional true, :form/col 4}
     [:string
      {:default "",
       :form/options
       ["Rotary Pot"
        "Rotary Pot with Switch"
        "Slide Pot"
        "Rotary Encoder"
        "Rotary Encoder with Momentary Push Switch"
        "Slide Encoder"
        "Momentary Push Switch"
        "Latching Push Switch"
        "Slide Switch"
        "Rocker Switch"
        "Rotary Switch"
        "Toggle Switch"
        "DIP Switch"
        "Footswitch"]}]]
    [:range {:optional true, :form/col 4} [:string {:default ""}]]]]]
 [:displays
  {:optional true}
  [:vector
   [:map
    [:type {:form/col 4} [:string {:default ""}]]
    [:indication {:optional true, :form/col 5} [:string {:default ""}]]
    [:scale {:optional true, :form/col 3} [:string {:default ""}]]]]]
 [:variant_of
  {:optional true, :form/exclude-self true}
  [:map
   [:id :int]
   [:etype [:= :gear]]
   [:title :string]
   [:catkey {:optional true} :keyword]]]
 [:variant_name {:optional true} [:string {:default ""}]]
 [:external_links
  {:optional true}
  [:vector
   [:map
    {:form/layout :stacked}
    [:url [:string {:default ""}]]
    [:notes {:optional true} [:string {:default ""}]]]]]
 [:notes {:optional true} [:string {:default ""}]]]