From 01b64111abd3091e864b39d954605191d7005c04 Mon Sep 17 00:00:00 2001 From: Pedro Cuenca Date: Wed, 18 Jan 2023 13:19:56 +0100 Subject: [PATCH] Disable num images, make -1 mean random. --- Diffusion-macOS/ControlsView.swift | 30 ++++++++++++++++-------------- Diffusion/State.swift | 4 ++-- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Diffusion-macOS/ControlsView.swift b/Diffusion-macOS/ControlsView.swift index 492b74b..b6d9d47 100644 --- a/Diffusion-macOS/ControlsView.swift +++ b/Diffusion-macOS/ControlsView.swift @@ -112,26 +112,28 @@ struct ControlsView: View { } label: { Label("Step count", systemImage: "square.3.layers.3d.down.left").foregroundColor(.secondary) } - - Divider() - DisclosureGroup() { - CompactSlider(value: $generation.numImages, in: 0...10, step: 1) { - Text("Number of Images") - Spacer() - Text("\(Int(generation.numImages))") - }.padding(.leading, 10) - } label: { - Label("Number of images", systemImage: "photo.stack").foregroundColor(.secondary) - } Divider() + +// DisclosureGroup() { +// CompactSlider(value: $generation.numImages, in: 0...10, step: 1) { +// Text("Number of Images") +// Spacer() +// Text("\(Int(generation.numImages))") +// }.padding(.leading, 10) +// } label: { +// Label("Number of images", systemImage: "photo.stack").foregroundColor(.secondary) +// } +// Divider() + DisclosureGroup() { - CompactSlider(value: $generation.seed, in: 0...1000, step: 1) { - Text("Random seed") + let sliderLabel = generation.seed < 0 ? "Random Seed" : "Seed" + CompactSlider(value: $generation.seed, in: -1...1000, step: 1) { + Text(sliderLabel) Spacer() Text("\(Int(generation.seed))") }.padding(.leading, 10) } label: { - Label("Random Seed", systemImage: "leaf").foregroundColor(.secondary) + Label("Seed", systemImage: "leaf").foregroundColor(.secondary) } } } diff --git a/Diffusion/State.swift b/Diffusion/State.swift index 488e6df..fe607e3 100644 --- a/Diffusion/State.swift +++ b/Diffusion/State.swift @@ -41,13 +41,13 @@ class GenerationContext: ObservableObject { // FIXME: Double to support the slider component @Published var steps = 25.0 @Published var numImages = 1.0 - @Published var seed = 0.0 + @Published var seed = -1.0 private var progressSubscriber: Cancellable? func generate() async -> (CGImage, TimeInterval)? { guard let pipeline = pipeline else { return nil } - let seed = self.seed > 0 ? UInt32(self.seed) : nil + let seed = self.seed >= 0 ? UInt32(self.seed) : nil return try? pipeline.generate(prompt: positivePrompt, scheduler: scheduler, numInferenceSteps: Int(steps), seed: seed) } }