Dan wrote:
> Hi -
>
> Compiling using latest svn portmidi on windows (winxp, visual c++ 2008
> express) fails like this:
> c:\......\portmidi\pm_win\pmwin.c(48) : fatal error C1019: unexpected #else
> Looking at the source code, the #else on line 48 is clearly one too
> many. It's the first one here:
>
> void pm_init(void)
> {
> #ifdef DEBUG
>     printf("registered pm_term with cleanup DLL\n");
> #endif
> #else
>     atexit(pm_exit);
> #ifdef DEBUG
>     printf("registered pm_exit with atexit()\n");
> #endif
> #endif
>     pm_winmm_init();
>     /* initialize other APIs (DirectX?) here */
> }
>
> I'm new to portmidi so I don't know for sure whether the first "endif"
> should be removed (which would be  the quickest route to balancing),
> or if  the "else" and one of the later "endif"s should bbe removed,
> which looks like it might be more correct.
>
> Any advice? Grateful for any suggestions.

Hi Dan,

I sent Roger Dannenberg the attached patch, but I don't think it has been applied. Hope this helps.

Pete
Index: portmidi/trunk/pm_win/pmwin.c
===================================================================
--- portmidi/trunk/pm_win/pmwin.c       (revision 113)
+++ portmidi/trunk/pm_win/pmwin.c       (working copy)
@@ -45,12 +45,10 @@
 #ifdef DEBUG
     printf("registered pm_term with cleanup DLL\n");
 #endif
-#else
     atexit(pm_exit);
 #ifdef DEBUG
     printf("registered pm_exit with atexit()\n");
 #endif
-#endif
     pm_winmm_init();
     /* initialize other APIs (DirectX?) here */
 }
Index: portmidi/trunk/pm_win/pmwinmm.c
===================================================================
--- portmidi/trunk/pm_win/pmwinmm.c     (revision 113)
+++ portmidi/trunk/pm_win/pmwinmm.c     (working copy)
@@ -668,6 +668,7 @@
     static int entry = 0;
     PmInternal *midi = (PmInternal *) dwInstance;
     midiwinmm_type m = (midiwinmm_type) midi->descriptor;
+    long new_driver_time;
 
     /* NOTE: we do not just EnterCriticalSection() here because an
      * MIM_CLOSE message arrives when the port is closed, but then
@@ -690,7 +691,7 @@
             in [ms] from when midiInStart called.
            each message is expanded to include the status byte */
 
-        long new_driver_time = dwParam2;
+        new_driver_time = dwParam2;
 
         if ((dwParam1 & 0x80) == 0) {
             /* not a status byte -- ignore it. This happened running the
_______________________________________________
media_api mailing list
media_api@create.ucsb.edu
http://lists.create.ucsb.edu/mailman/listinfo/media_api

Reply via email to