From c338971e07c989064e2dd69733c0c2afbc78536d Mon Sep 17 00:00:00 2001
From: Ivica Ico Bukvic <ico@vt.edu>
Date: Thu, 28 Feb 2013 19:25:44 -0500
Subject: [PATCH] improved IO Error button on/off handling

---
 pd/src/m_sched.c | 2 +-
 pd/src/pd.tk     | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/pd/src/m_sched.c b/pd/src/m_sched.c
index 9ddb2624e..c8269c5f9 100644
--- a/pd/src/m_sched.c
+++ b/pd/src/m_sched.c
@@ -286,7 +286,7 @@ static void sched_pollformeters( void)
 
     if (sched_diored && (sched_diddsp - sched_dioredtime > 0))
     {
-        sys_vgui("pdtk_pd_dio 0\n");
+        //sys_vgui("pdtk_pd_dio 0\n");
         sched_diored = 0;
     }
     if (sched_diddsp - sched_nextmeterpolltime < 0)
diff --git a/pd/src/pd.tk b/pd/src/pd.tk
index 302caaaa0..5cb1c9cda 100644
--- a/pd/src/pd.tk
+++ b/pd/src/pd.tk
@@ -6175,15 +6175,21 @@ proc pdtk_pd_meters {indb outdb inclip outclip} {
     
 }
 
+set sched_dio_off 0
+
 proc pdtk_pd_dio {red} {
 #    puts stderr [concat dio $red]
 	global pd_nt
+	global sched_dio_off
     if {$red == 1} {
 		if {[info tclversion] >= 8.5 && $pd_nt == 0} {
 			.controls.dio configure -style IOErrorOn.TButton
 		} else {
 	        .controls.dio configure -background red -activebackground red
 		}
+		set current_window $tkcanvas
+		after cancel $sched_dio_off	
+		set sched_dio_off [after 1000 pdtk_pd_dio 0]
     } else {
 		if {[info tclversion] >= 8.5 && $pd_nt == 0} {
 			.controls.dio configure -style IOErrorOff.TButton
-- 
GitLab