Adds digital audio workstation. (#6342)

This commit is contained in:
Lamrr
2022-02-05 08:17:09 +11:00
committed by GitHub
parent 35d97b5f42
commit 44d2f8066b
12 changed files with 194 additions and 7 deletions

View File

@@ -303,6 +303,20 @@
- HydroponicsTrayMachineCircuitboard - HydroponicsTrayMachineCircuitboard
- SolarControlComputerCircuitboard - SolarControlComputerCircuitboard
- type: technology
name: "applied musicology"
id: AppliedMusicology
description: Bringing you the latest in audio-audio technology.
icon:
sprite: Objects/Fun/Instruments/guitar.rsi
state: icon
requiredPoints: 10000
requiredTechnologies:
- ElectromagneticTheory
unlockedRecipes:
- SynthesizerInstrument
- DawInstrumentMachineCircuitboard
# Basic Parts Technology Tree # Basic Parts Technology Tree
- type: technology - type: technology

View File

@@ -136,6 +136,42 @@
CableMV: 5 CableMV: 5
CableHV: 5 CableHV: 5
- type: entity
parent: BaseMachineCircuitboard
id: DawInstrumentMachineCircuitboard
name: Digital Audio Workstation (Machine Board)
components:
- type: MachineBoard
prototype: DawInstrument
requirements:
Capacitor: 4
ScanningModule: 5
materialRequirements:
Glass: 1
tagRequirements:
# One instrument to bring them all and in the darkness bind them...
KeyedInstrument:
Amount: 1
DefaultPrototype: SynthesizerInstrument
ExamineName: Keyed Instrument
StringInstrument:
Amount: 1
DefaultPrototype: AcousticGuitarInstrument
ExamineName: String Instrument
PercussionInstrument:
Amount: 1
DefaultPrototype: GlockenspielInstrument
ExamineName: Percussion Instrument
BrassInstrument:
Amount: 1
DefaultPrototype: TrumpetInstrument
ExamineName: Brass Instrument
WoodwindInstrument:
Amount: 1
DefaultPrototype: SaxophoneInstrument
ExamineName: Woodwind Instrument
- type: entity - type: entity
id: KitchenReagentGrinderMachineCircuitboard #unsure why the reagent grinder has 'kitchen' in the id name when multiple departments use it but that's for another time id: KitchenReagentGrinderMachineCircuitboard #unsure why the reagent grinder has 'kitchen' in the id name when multiple departments use it but that's for another time
parent: BaseMachineCircuitboard parent: BaseMachineCircuitboard

View File

@@ -29,6 +29,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/h_synthesizer.rsi sprite: Objects/Fun/Instruments/h_synthesizer.rsi
- type: Tag
tags:
- KeyedInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -43,6 +46,10 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/guitar.rsi sprite: Objects/Fun/Instruments/guitar.rsi
- type: Tag
tags:
- StringInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -57,6 +64,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/violin.rsi sprite: Objects/Fun/Instruments/violin.rsi
- type: Tag
tags:
- StringInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -71,6 +81,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/trumpet.rsi sprite: Objects/Fun/Instruments/trumpet.rsi
- type: Tag
tags:
- BrassInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -86,6 +99,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/gunpet.rsi sprite: Objects/Fun/Instruments/gunpet.rsi
- type: Tag
tags:
- BrassInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -100,6 +116,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/eguitar.rsi sprite: Objects/Fun/Instruments/eguitar.rsi
- type: Tag
tags:
- StringInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -114,6 +133,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/accordion.rsi sprite: Objects/Fun/Instruments/accordion.rsi
- type: Tag
tags:
- KeyedInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -128,6 +150,9 @@
- type: Item - type: Item
size: 10 size: 10
sprite: Objects/Fun/Instruments/harmonica.rsi sprite: Objects/Fun/Instruments/harmonica.rsi
- type: Tag
tags:
- WoodwindInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -142,6 +167,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/recorder.rsi sprite: Objects/Fun/Instruments/recorder.rsi
- type: Tag
tags:
- WoodwindInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -156,6 +184,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/trombone.rsi sprite: Objects/Fun/Instruments/trombone.rsi
- type: Tag
tags:
- BrassInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -171,6 +202,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/saxophone.rsi sprite: Objects/Fun/Instruments/saxophone.rsi
- type: Tag
tags:
- WoodwindInstrument
- type: Extractable - type: Extractable
grindableSolutionName: sax grindableSolutionName: sax
- type: SolutionContainerManager - type: SolutionContainerManager
@@ -180,7 +214,6 @@
- ReagentId: Saxoite - ReagentId: Saxoite
Quantity: 10 Quantity: 10
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
id: GlockenspielInstrument id: GlockenspielInstrument
@@ -194,6 +227,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/glockenspiel.rsi sprite: Objects/Fun/Instruments/glockenspiel.rsi
- type: Tag
tags:
- PercussionInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -208,6 +244,9 @@
- type: Item - type: Item
size: 24 size: 24
sprite: Objects/Fun/Instruments/banjo.rsi sprite: Objects/Fun/Instruments/banjo.rsi
- type: Tag
tags:
- StringInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument
@@ -221,6 +260,9 @@
- type: Sprite - type: Sprite
sprite: Objects/Fun/Instruments/bike_horn.rsi sprite: Objects/Fun/Instruments/bike_horn.rsi
state: icon state: icon
- type: Tag
tags:
- BrassInstrument #Go figure.
- type: Clothing - type: Clothing
size: 24 size: 24
sprite: Objects/Fun/Instruments/bike_horn.rsi sprite: Objects/Fun/Instruments/bike_horn.rsi
@@ -255,6 +297,9 @@
- type: Sprite - type: Sprite
sprite: Structures/Furniture/instruments.rsi sprite: Structures/Furniture/instruments.rsi
state: xylophone state: xylophone
- type: Tag
tags:
- PercussionInstrument
- type: entity - type: entity
parent: BaseHandheldInstrument parent: BaseHandheldInstrument

View File

@@ -10,8 +10,6 @@
singleUser: true singleUser: true
key: enum.InstrumentUiKey.Key key: enum.InstrumentUiKey.Key
- type: InteractionOutline - type: InteractionOutline
- type: Rotatable
rotateWhileAnchored: true
- type: Sprite - type: Sprite
sprite: Structures/Furniture/instruments.rsi sprite: Structures/Furniture/instruments.rsi
- type: Damageable - type: Damageable
@@ -31,8 +29,17 @@
type: InstrumentBoundUserInterface type: InstrumentBoundUserInterface
- type: entity - type: entity
name: piano
parent: BasePlaceableInstrument parent: BasePlaceableInstrument
id: BasePlaceableInstrumentRotatable
name: baseinstrumentrotatable
abstract: true
components:
- type: Rotatable
rotateWhileAnchored: true
- type: entity
name: piano
parent: BasePlaceableInstrumentRotatable
id: PianoInstrument id: PianoInstrument
description: Play Needles Piano Now. description: Play Needles Piano Now.
components: components:
@@ -44,7 +51,7 @@
- type: entity - type: entity
name: minimoog name: minimoog
parent: BasePlaceableInstrument parent: BasePlaceableInstrumentRotatable
id: MinimoogInstrument id: MinimoogInstrument
description: This is a minimoog, like a space piano, but more spacey! description: This is a minimoog, like a space piano, but more spacey!
components: components:
@@ -55,7 +62,7 @@
- type: entity - type: entity
name: church organ name: church organ
parent: BasePlaceableInstrument parent: BasePlaceableInstrumentRotatable
id: ChurchOrganInstrument id: ChurchOrganInstrument
description: This thing really blows! description: This thing really blows!
components: components:
@@ -63,3 +70,31 @@
program: 20 program: 20
- type: Sprite - type: Sprite
state: church-organ state: church-organ
- type: entity
parent: BasePlaceableInstrument
id: DawInstrument
name: digital audio workstaiton
description: Cutting edge music technology, straight from the 90s.
components:
- type: Sprite
layers:
- state: daw-base
- state: daw-display
shader: unshaded
- state: daw-panel
map: ["enum.WiresVisualLayers.MaintenancePanel"]
- type: Appearance
visuals:
- type: WiresVisualizer
- type: Construction
graph: Machine
node: machine
- type: Wires
BoardName: "DawInstrument"
LayoutId: DawInstrument
- type: Machine
board: DawInstrumentMachineCircuitboard
- type: Instrument
allowPercussion: true
allowProgramChange: true

View File

@@ -195,6 +195,8 @@
- KitchenReagentGrinderMachineCircuitboard - KitchenReagentGrinderMachineCircuitboard
- CrewMonitoringComputerCircuitboard - CrewMonitoringComputerCircuitboard
- ShuttleConsoleCircuitboard - ShuttleConsoleCircuitboard
- DawInstrumentMachineCircuitboard
- SynthesizerInstrument
- Bucket - Bucket
- MopItem - MopItem
- SprayBottle - SprayBottle

View File

@@ -159,3 +159,12 @@
materials: materials:
Steel: 100 Steel: 100
Plastic: 100 Plastic: 100
- type: latheRecipe
id: DawInstrumentMachineCircuitboard
icon: Objects/Misc/module.rsi/id_mod.png
result: DawInstrumentMachineCircuitboard
completetime: 1000
materials:
Steel: 100
Plastic: 100

View File

@@ -70,3 +70,15 @@
completetime: 10 completetime: 10
materials: materials:
Wood: 100 Wood: 100
- type: latheRecipe
id: SynthesizerInstrument
icon:
sprite: Objects/Fun/Instruments/h_synthesizer.rsi
state: icon
result: SynthesizerInstrument
completetime: 1000
materials:
Steel: 300
Plastic: 300
Glass: 100

View File

@@ -9,6 +9,9 @@
- type: Tag - type: Tag
id: Bee id: Bee
- type: Tag
id: BrassInstrument
- type: Tag - type: Tag
id: Brutepack id: Brutepack
@@ -174,6 +177,9 @@
- type: Tag - type: Tag
id: Katana id: Katana
- type: Tag
id: KeyedInstrument
- type: Tag - type: Tag
id: Knife id: Knife
@@ -198,6 +204,9 @@
- type: Tag - type: Tag
id: Ore id: Ore
- type: Tag
id: PercussionInstrument
- type: Tag - type: Tag
id: Pill id: Pill
@@ -252,6 +261,9 @@
- type: Tag - type: Tag
id: Spear id: Spear
- type: Tag
id: StringInstrument
- type: Tag - type: Tag
id: Taser id: Taser
@@ -267,6 +279,9 @@
- type: Tag - type: Tag
id: Wooden # just like our atmos id: Wooden # just like our atmos
- type: Tag
id: WoodwindInstrument # even more like our atmos
- type: Tag - type: Tag
id: Wrench id: Wrench

Binary file not shown.

After

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

View File

@@ -5,7 +5,7 @@
"y": 32 "y": 32
}, },
"license": "CC-BY-SA-3.0", "license": "CC-BY-SA-3.0",
"copyright": "https://github.com/vgstation-coders/vgstation13 at 8d9c91e19cb52713c7f7f1804c2b6f7203f8d331", "copyright": "https://github.com/vgstation-coders/vgstation13 at 8d9c91e19cb52713c7f7f1804c2b6f7203f8d331, daw-base/display from /tg/staiton at commit https://github.com/tgstation/tgstation/commit/ebcf2ab180037d400a7e8ac7a2ba011a0f03edf3",
"states": [ "states": [
{ {
"name": "minimoog", "name": "minimoog",
@@ -34,6 +34,25 @@
{ {
"name": "xylophone-broken", "name": "xylophone-broken",
"directions": 4 "directions": 4
},
{
"name": "daw-base",
"directions": 1
},
{
"name": "daw-panel",
"directions": 1
},
{
"name": "daw-display",
"directions": 1,
"delays": [
[
0.3,
0.3,
0.3
]
]
} }
] ]
} }