multimodalart HF Staff commited on
Commit
23de8c0
·
verified ·
1 Parent(s): b758e58

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -26
app.py CHANGED
@@ -144,13 +144,8 @@ css = '''#col-container { max-width: 800px; margin: 0 auto; }
144
  .dark .progress-text{color: white !important}
145
  #examples{max-width: 800px; margin: 0 auto; }'''
146
 
147
- is_reset = gr.State(value=False)
148
-
149
  def reset_all():
150
- return [0, 0, 0, 0, False, True]
151
-
152
- def end_reset():
153
- return False
154
 
155
  def update_dimensions_on_upload(image):
156
  if image is None:
@@ -193,7 +188,7 @@ with gr.Blocks(theme=gr.themes.Citrus(), css=css) as demo:
193
  rotate_deg = gr.Slider(label="Rotate Left–Right (degrees °)", minimum=-90, maximum=90, step=45, value=0)
194
  move_forward = gr.Slider(label="Move Forward → Close-Up", minimum=0, maximum=10, step=5, value=0)
195
  vertical_tilt = gr.Slider(label="Vertical Angle (Bird ↔ Worm)", minimum=-1, maximum=1, step=1, value=0)
196
- wideangle = gr.Checkbox(label="Wide-Angle Lens", value=False)
197
  with gr.Row():
198
  reset_btn = gr.Button("Reset")
199
  run_btn = gr.Button("Generate", variant="primary")
@@ -225,9 +220,9 @@ with gr.Blocks(theme=gr.themes.Citrus(), css=css) as demo:
225
  reset_btn.click(
226
  fn=reset_all,
227
  inputs=None,
228
- outputs=[rotate_deg, move_forward, vertical_tilt, wideangle, is_reset],
229
  queue=False
230
- ).then(fn=end_reset, inputs=None, outputs=[is_reset], queue=False)
231
 
232
  # Manual generation
233
  run_event = run_btn.click(fn=infer_camera_edit, inputs=inputs, outputs=outputs)
@@ -258,34 +253,21 @@ with gr.Blocks(theme=gr.themes.Citrus(), css=css) as demo:
258
  ).then(
259
  fn=reset_all,
260
  inputs=None,
261
- outputs=[rotate_deg, move_forward, vertical_tilt, wideangle, is_reset],
262
- queue=False
263
- ).then(
264
- fn=end_reset,
265
- inputs=None,
266
- outputs=[is_reset],
267
  queue=False
268
  )
269
 
270
 
271
  # Live updates
272
- def maybe_infer(is_reset, progress=gr.Progress(track_tqdm=True), *args):
273
- if is_reset:
274
- return gr.update(), gr.update(), gr.update()
275
- else:
276
- return infer_camera_edit(*args)
277
-
278
  control_inputs = [
279
  image, rotate_deg, move_forward,
280
  vertical_tilt, wideangle,
281
  seed, randomize_seed, true_guidance_scale, num_inference_steps, height, width, prev_output
282
  ]
283
- control_inputs_with_flag = [is_reset] + control_inputs
284
 
285
- for control in [rotate_deg, move_forward, vertical_tilt]:
286
- control.release(fn=maybe_infer, inputs=control_inputs_with_flag, outputs=outputs)
287
-
288
- wideangle.change(fn=maybe_infer, inputs=control_inputs_with_flag, outputs=outputs)
289
 
290
  run_event.then(lambda img, *_: img, inputs=[result], outputs=[prev_output])
291
 
 
144
  .dark .progress-text{color: white !important}
145
  #examples{max-width: 800px; margin: 0 auto; }'''
146
 
 
 
147
  def reset_all():
148
+ return [0, 0, 0, 0]
 
 
 
149
 
150
  def update_dimensions_on_upload(image):
151
  if image is None:
 
188
  rotate_deg = gr.Slider(label="Rotate Left–Right (degrees °)", minimum=-90, maximum=90, step=45, value=0)
189
  move_forward = gr.Slider(label="Move Forward → Close-Up", minimum=0, maximum=10, step=5, value=0)
190
  vertical_tilt = gr.Slider(label="Vertical Angle (Bird ↔ Worm)", minimum=-1, maximum=1, step=1, value=0)
191
+ wideangle = gr.Slider(label="Wide-Angle Lens", minimum=0, maximum=1, step=1, value=0)
192
  with gr.Row():
193
  reset_btn = gr.Button("Reset")
194
  run_btn = gr.Button("Generate", variant="primary")
 
220
  reset_btn.click(
221
  fn=reset_all,
222
  inputs=None,
223
+ outputs=[rotate_deg, move_forward, vertical_tilt, wideangle],
224
  queue=False
225
+ )
226
 
227
  # Manual generation
228
  run_event = run_btn.click(fn=infer_camera_edit, inputs=inputs, outputs=outputs)
 
253
  ).then(
254
  fn=reset_all,
255
  inputs=None,
256
+ outputs=[rotate_deg, move_forward, vertical_tilt, wideangle],
 
 
 
 
 
257
  queue=False
258
  )
259
 
260
 
261
  # Live updates
 
 
 
 
 
 
262
  control_inputs = [
263
  image, rotate_deg, move_forward,
264
  vertical_tilt, wideangle,
265
  seed, randomize_seed, true_guidance_scale, num_inference_steps, height, width, prev_output
266
  ]
 
267
 
268
+ # All sliders use .release() to avoid triggering during reset
269
+ for control in [rotate_deg, move_forward, vertical_tilt, wideangle]:
270
+ control.release(fn=infer_camera_edit, inputs=control_inputs, outputs=outputs)
 
271
 
272
  run_event.then(lambda img, *_: img, inputs=[result], outputs=[prev_output])
273