vault backup: 2025-12-19 13:13:11

This commit is contained in:
2025-12-19 13:13:11 -05:00
parent 3ae6edeb65
commit 77a05f9293
7 changed files with 313 additions and 173 deletions
+104 -16
View File
@@ -1,7 +1,7 @@
---
id:
aliases: []
title: "2025-12-19"
title: 2025-12-19
tags:
- authorship/original
- destiny/permanent
@@ -16,33 +16,121 @@ PowerShell module to assist in translating between banjo fingerings and concert
as well as between [[lilypond]] and conventional notation.
```powershell
$Db4 = [Note]::FromLilyPond("des'")
$Db4.PlayInTime(1/4,120)
$Db4 = [Pitch]::FromLilyPond("des'")
[Note]::($Db4,1/4).PlayInTime(120)
$str1 = [FrettedStringTuning]::FromOpen([Note]::FromLilyPond("d,,,"))
$str1 = [FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("d,,,"))
$str1c2 = $str1.Capo(2)
$openGtuning = [FrettedStringInstrumentTuning]::FromStringTunings(@(
[FrettedStringTuning]::FromOpen([Note]::FromLilyPond("d,,,")),
[FrettedStringTuning]::FromOpen([Note]::FromLilyPond("b,,")),
[FrettedStringTuning]::FromOpen([Note]::FromLilyPond("g,")),
[FrettedStringTuning]::FromOpen([Note]::FromLilyPond("d")),
[FrettedStringTuning]::FromOpen([Note]::FromLilyPond("g'")),
[FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("d,,,")),
[FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("b,,")),
[FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("g,")),
[FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("d")),
[FrettedStringTuning]::FromOpen([Pitch]::FromLilyPond("g'")),
# note: the notation used above is concert octave,
# banjo is transposed up one octave.
))
$openGtuning.GetNoteFromFingering(4,11).PlayInTime(1/4,120) # play Db4
[Note]::($openGc2tuning.GetPitchFromFingering(4,11)/4).PlayInTime(120) # play Db4
$openGc2tuning = $openGtuning.Capo(2)
$openGc2tuning.GetNoteFromFingering(4,9).PlayInTime(1/4,120) # play Db4
[Note]::($openGc2tuning.GetPitchFromFingering(4,9),1/4).PlayInTime(120) # play Db4
# TODO: class FrettedStringInstrument
# TODO: class iFrettedStringInstrument
# class Banjo implements iFrettedStringInstrument
```
```powershell
class Note {
[Note] TransposeOctave([Note]$note1,[Note]$note2) {}
[Note] TransposeOctave([int]$modifier) {}
class Pitch {
[Pitch] TransposeOctave([Note]$note1,[Note]$note2) {}
[Pitch] TransposeOctave([int]$modifier) {}
}
```
class Duration {
# 1/4, 1/8, etc.
# does not encode timing.
}
class Note {
[Pitch]$_pitch
[Duration]$_duration
}
```
```mermaid
classDiagram
%% simple score definition, does not support polyphony
class Score {
List~Note~ notes
float beatsPerMinute
+Beep() void
}
Score *-- Note
class Note {
Pitch pitch
float beats
+BeepInTime(int bpm)
}
Note *-- Pitch
class Pitch {
+Transpose(Pitch from, Pitch to) Pitch
+TransposeOctave(int modifier) Pitch
+FromLilyPond(string text) Pitch
+GetFrequency() float
+Beep(int milliseconds) void
}
class Banjo {
+FromNamedTuning(string tuningName) Banjo
}
Banjo <|.. iFrettedStringInstrument
class iFrettedStringInstrument {
-FrettedStringInstrumentTuning tuning
+GetPitchFromFingering(int string,int fret) Pitch
+GetFingeringsFromPitch(Pitch pitch) todo
}
iFrettedStringInstrument *-- FrettedStringInstrumentTuning
class FrettedStringInstrumentTuning {
-List~FrettedStringTuning~ stringTunings
+GetPitchFromFingering(int string,int fret) Pitch
+GetFingeringsFromPitch(Pitch pitch) todo
+Capo(int fret) FrettedStringInstrumentTuning
}
FrettedStringInstrumentTuning *-- FrettedStringTuning
class FrettedStringTuning {
Pitch openPitch
int fretOffset
+GetPitchFromFret(int fret) Pitch
+SetOffset(int fret) FrettedStringTuning
}
```
## 2025-12-19 10:44
#occupational/takeoff
> [!quote] Art Baldwin 2025-12-19, in reference to Howard University East Towers (pp.)
> When using PVC slab box assemblies where substantial insulation
> (e.g mineral wool, spray foam) is to be applied,
> add extension rings to compensate for the thickness
## 2025-12-19 10:44
#occupational/takeoff
This week (2025w51)
William Bonn, as part of [[units-takeoff]] for Howard University East Towers,
used an `Area` "Typical - Unit Balconies" for `Phase` "UNIT - RESIDENTIAL" takeoff.
Our senior Joel Jansen approved of the method.
I'd like to use the method tentatively for takeoff strictly typical of all units
(e.g. master switches, MSDE's, etc.),
but there is potential for significant efficiency gains
in treating units like panelboards in [[switchgear-takeoff]]:
picking one unit type to be typical of many nearly identical types.