1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
//
// ContentView.swift
// WaterfallFile_UI
//
// Created by Jacky Jack on 23/12/2024.
//
import SwiftUI
import SwiftData
import AppKit
struct ContentView: View {
@Environment(\.modelContext) private var modelContext
@EnvironmentObject var fileSpectrum: FileSpectrum
@State private var image: Image?
@Query private var items: [Item]
var body: some View {
/*
NavigationSplitView {
List {
ForEach(items) { item in
NavigationLink {
Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))")
} label: {
Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))
}
}
.onDelete(perform: deleteItems)
}
.navigationSplitViewColumnWidth(min: 180, ideal: 200)
.toolbar {
ToolbarItem {
Button(action: addItem) {
Label("Add Item", systemImage: "plus")
}
}
}
} detail: {
Text("Select an item")
}
*/
//Image(decorative: fileSpectrum.makeSpectrogramImage(), scale: 1.0, orientation: .left)
VStack {
//Image(nsImage:fileSpectrum.outputImage)
Image(decorative: fileSpectrum.outputImage,
scale: 1,
orientation: .left)
//.resizable()
//Image(fileSpectrum.makeSpectrogramImage(), scale: 1, orientation:.left, label: "Image")
//Image(decorative: fileSpectrum.makeSpectrogramImage(), scale: 1.0, orientation: .left)
//Image(nsImage: fileSpectrum.makeSpectrogramImage())
HStack {
Text("Hello world")
.padding()
Button("Start") {
print("Start")
}
Button("Stop") {
print("Stop")
}
Button("Load") {
print("Load")
}
}
}
}
private func addItem() {
withAnimation {
let newItem = Item(timestamp: Date())
modelContext.insert(newItem)
}
}
private func deleteItems(offsets: IndexSet) {
withAnimation {
for index in offsets {
modelContext.delete(items[index])
}
}
}
}
#Preview {
ContentView()
.modelContainer(for: Item.self, inMemory: true)
}
|