
    ̺i                     H
   S r SSKrSSKrSSKrSr\R
                  S:X  a  \R                  R                  S5      rO\R
                  S;   a  SrOSr\R                  " \5      r	Sr
SrS	rS
rS r\R                  rSrSrSrSrSrSrSrSrSrSr\\	R6                  l        \\	R:                  l        \R                  r\R>                  r \ r!\RD                  " \ 5      r#\R                  \	RH                  l        \ /\	RH                  l%        \RL                  \	RN                  l        \/\	RN                  l%        \RL                  \RP                  /\	RR                  l%        Sr* " S S\RV                  5      r,\RD                  " \,5      r-\R                  \	R\                  l        \\	R^                  l        \\	R`                  l        \Rb                  r2\Rf                  " \2\R>                  5      r4\Rj                  " \
\45      r6\/\	Rn                  l%        \-\	Rn                  l        \\	Rp                  l        \#\\R>                  \Rb                  \4\R>                  /\	Rp                  l%        \\	Rr                  l        \#\\R>                  \Rb                  \4\R>                  \Rb                  /\	Rr                  l%        \\	Rt                  l        \ \Rb                  /\	Rt                  l%        \\	Rv                  l        \ \R                  /\	Rv                  l%        \\	Rx                  l        \ /\	Rx                  l%        \\	Rz                  l        \ /\	Rz                  l%        \Rb                  r> " S S\RV                  5      r?\RD                  " \?5      r@\\	R                  l        \ \@\Rb                  /\	R                  l%        \\	R                  l        \ /\	R                  l%        \\	R                  l        \ \@\Rb                  /\	R                  l%        \\	R                  l        \ \2\Rb                  /\	R                  l%        \\	R                  l        \ \2\RL                  /\	R                  l%        \R                  rFSrGSrHSrISrJSrK\Rb                  rL\Rf                  " \2\R>                  5      rM\F\	R                  l        \R                  \M\R>                  /\	R                  l%        \F\	R                  l        \R                  \	R                  l        \L\	R                  l        g)zw
Low-level wrapper for PortMidi library

Copied straight from Grant Yoshida's portmidizero, with slight
modifications.
    N darwinzlibportmidi.dylib)win32cygwinzportmidi.dllzlibportmidi.so      c                      [         R                  " [        5      n [        R	                  U [        5        U R
                  R                  5       R                  S5      $ )zReturn host error message. )ctypescreate_string_bufferPM_HOST_ERROR_MSG_LENlibPm_GetHostErrorTextrawdecoderstrip)bufs    Z/var/www/piano.thomer.com/venv/lib/python3.13/site-packages/mido/backends/portmidi_init.pyget_host_error_messager   #   s@    

%
%&;
<CC!6777>>""4((    iiiiiiiiic                       \ rS rSrS\R
                  4S\R                  4S\R                  4S\R
                  4S\R
                  4S\R
                  4/rSrg	)
PmDeviceInfoK   structVersion	interfacenameis_input	is_outputopened N)	__name__
__module____qualname____firstlineno__r   c_intc_char_p_fields___static_attributes__r!   r   r   r   r   K   sQ     &,,/foo.)V\\*fll+6<<(*Hr   r   c                   $    \ rS rSrS\4S\4/rSrg)PmEvent   message	timestampr!   N)r"   r#   r$   r%   	PmMessagePmTimestampr(   r)   r!   r   r   r+   r+      s    I&k*,Hr   r+   ii)R__doc__r   ctypes.utilsysdll_nameplatformutilfind_libraryCDLLr   nullfalsetruer   r   r&   PmError	pmNoErrorpmHostErrorpmInvalidDeviceIdpmInsufficientMemorypmBufferTooSmallpmBufferOverflowpmBadPtr	pmBadDatapmInternalErrorpmBufferMaxSizePm_InitializerestypePm_Terminate
PmDeviceIDc_void_pPortMidiStreamPtrPmStreamPtrPOINTERPortMidiStreamPtrPtrPm_HasHostErrorargtypesr'   Pm_GetErrorTextc_uintr   
pmNoDevice	Structurer   PmDeviceInfoPtrPm_CountDevicesPm_GetDefaultOutputDeviceIDPm_GetDefaultInputDeviceIDc_longr0   	CFUNCTYPEPmTimeProcPtrcastNullTimeProcPtrPm_GetDeviceInfoPm_OpenInputPm_OpenOutputPm_SetFilterPm_SetChannelMaskPm_AbortPm_Closer/   r+   
PmEventPtrPm_ReadPm_PollPm_WritePm_WriteShortPm_WriteSysExPtError	ptNoErrorptHostErrorptAlreadyStartedptAlreadyStoppedptInsufficientMemoryPtTimestamp
PtCallbackPt_StartPt_Stop
Pt_StartedPt_Timer!   r   r   <module>rx      sw  
   
<<8{{''(;<H\\((HHkk(	
  ) ,,	    	#   "   \\
OO ~~&78 $ll    12   $oo    'y   $*OOV]]#C    
*6## * ...$ll   *4   ')3   &mm  foo>++dM2 ",   .   "   1'#__#]]*#__.    $   2($oo$mm+$oo$mm-    #   .>    '   "3V\\!B    *+  *+ MM	,f ,
 ^^G$
 ):v}}E  )*  *JF #   /fmmL   #   /fooN   
 ,,	   mmk6??;
 z6??C   ! r   