o
    f+                     @   sD   d dl Z dd Zdd Zdd Zdd	 Zd
d Zdd Zdd ZdS )    Nc                 C   s.   | }t d| }|rd|dd d }|S )Nu   ^[a-zA-ZäöüÜÄÖßñ]*$"z\")rematchreplace)Zinput_stringZreturn_stringZneeds_quotes r   ^/home/lily/lilypond-2.24.4/release/binaries/mingw/lilypond/lilypond-2.24.4/python/utilities.pyescape_ly_output_string   s
   r   c                 C   s,   d}| rt |  }t|ttfv r|}|S )Nr   )evalZget_texttypeintfloat)Z	alter_elmZaltervalr   r   r   interpret_alter_element    s   r   c                 C   s&   ddddddddd	d
ddd | d	S )N                        r   )Z256thZ128thZ64thZ32ndZ16thZeighthZquarterZhalfZwholeZbreveZlongaZlongget)Zdurr   r   r   musicxml_duration_to_log)   s   r   c                 C   s6   zt | d}|dkrd}|d W S  ty   Y dS w )N         g      p@g        )r   
ValueError)hex_valvr   r   r   hexcolorval_to_nr8   s   

r"   c                 C   s0   t d| t j}|rdd |dddD S d S )NzK#([0-9a-f][0-9a-f]|)([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])$c                 S   s   g | ]}t |qS r   )r"   ).0xr   r   r   
<listcomp>H   s    z hex_to_color.<locals>.<listcomp>r   r   r   )r   r   
IGNORECASEgroup)r    resr   r   r   hex_to_colorB   s   r)   c                 C   s,   dd l }| | }d|_d|_d|_t|S )Nr   r   T )shlexZquotesZwhitespace_splitZ
commenterslist)valuer+   Zlexr   r   r   1split_string_and_preserve_doublequoted_substringsM   s   
r.   c                 C   s  i ddddddddd	dd
dddddddddddddddddddddddi dddddddddddddd d!d"d#d$d%d&d'd(d)d(d*d+d,d-d.d/d0d1d2d3i d4d5d6d7d8d9d:d;d<d;d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdHdNdOdPdQdRdSi dTdQdUdVdWdXdYdZd[d\d]d^d_d^d`d^dadbdcdddedfdgdfdhdidjdkdldmdndodpdoi dqdodrdodsdodtdudvdudwdxdydxdzd{d|d}d~dddbddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddddddddddddddddddddi ddddddddddddddddϓddddғddԓdd֓ddؓddؓddؓddؓddؓi ddؓddؓddؓddFddddddddddddddddddddddddddi ddddddddddddddddddddddddd dddddddddi ddddd	dd
dddddddddddddddddddddddddddddddd}| | dQS (   Nzbrass.french-hornzfrench hornzbrass.groupzbrass sectionzbrass.group.synthzsynthbrass 1zbrass.tromboneZtrombonezbrass.trombone.altozbrass.trombone.basszbrass.trombone.contrabasszbrass.trombone.tenorzbrass.trumpetZtrumpetzbrass.trumpet.baroquezbrass.trumpet.basszbrass.trumpet.bflatzbrass.trumpet.czbrass.trumpet.dzbrass.trumpet.piccolozbrass.trumpet.pocketzbrass.trumpet.slidezbrass.trumpet.tenorz
brass.tubaZtubazbrass.tuba.basszbrass.tuba.subcontrabasszbrass.wagner-tubazdrum.timpaniZtimpanizdrum.tom-tomzmelodic tomzdrum.tom-tom.synthz
synth drumzeffect.applauseZapplausezeffect.bass-string-slapzslap bass 1zeffect.birdz
bird tweetzeffect.bird.tweetzeffect.breathzbreath noisezeffect.guitar-fretzguitar fret noisezeffect.gunshotZgunshotzeffect.helicopterZ
helicopterzeffect.metronome-clickZ	woodblockzeffect.rainz
fx1 (rain)zeffect.seashoreZseashorezeffect.telephone-ringztelephone ringzkeyboard.accordionZ	accordionzkeyboard.bandoneonzkeyboard.celestaZcelestazkeyboard.clavichordZclavzkeyboard.concertinaZ
concertinazkeyboard.harpsichordZharpsichordzkeyboard.ondes-martenotZocarinazkeyboard.organzchurch organzkeyboard.organ.drawbarzdrawbar organzkeyboard.organ.percussivezpercussive organzkeyboard.organ.pipezkeyboard.organ.reedz
reed organzkeyboard.pianozacoustic grandzkeyboard.piano.electriczelectric piano 1zkeyboard.piano.grandzkeyboard.piano.honky-tonkz
honky-tonkzmetal.bells.agogoZagogozmetal.bells.tinklebellztinkle bellzmetal.cymbal.reversezreverse cymbalzpitched-percussion.glockenspielZglockenspielz$pitched-percussion.glockenspiel.altoz'pitched-percussion.glockenspiel.sopranoz"pitched-percussion.hammer-dulcimerZdulcimerzpitched-percussion.kalimbaZkalimbazpitched-percussion.marimbaZmarimbazpitched-percussion.marimba.basszpitched-percussion.music-boxz	music boxz pitched-percussion.tubular-bellsztubular bellszpitched-percussion.vibraphoneZ
vibraphonezpitched-percussion.xylophoneZ	xylophonez!pitched-percussion.xylophone.altoz!pitched-percussion.xylophone.bassz$pitched-percussion.xylophone.sopranozpitched-percussion.xylorimbazpluck.banjoZbanjozpluck.banjo.tenorz
pluck.basszacoustic basszpluck.bass.acousticzpluck.bass.electriczelectric basszpluck.bass.fretlesszfretless basszpluck.bass.synthzsynth bass 1zpluck.dulcimerzpluck.guitarzacoustic guitar (nylon)zpluck.guitar.acousticzpluck.guitar.electriczelectric guitar (jazz)zpluck.guitar.nylon-stringzpluck.guitar.steel-stringzacoustic guitar (steel)z
pluck.harpzorchestral harpz
pluck.lutezpluck.shamisenZshamisenzpluck.sitarZsitarzstrings.celloZcellozstrings.cello.piccolozstrings.contrabassZ
contrabasszstrings.fiddleZfiddlezstrings.group.synthzsynth strings 1zstrings.violaZviolazstrings.violinZviolinzsynth.effects.atmospherezfx 4 (atmosphere)zsynth.effects.brightnesszfx 5 (brightness)zsynth.effects.crystalzfx 3 (crystal)zsynth.effects.echoeszfx 7 echoeszsynth.effects.goblinszfx 6 goblinszsynth.effects.rainz	fx 1 rainzsynth.effects.sci-fizfx 8 sci-fizsynth.effects.soundtrackzfx 2 (soundtrack)zsynth.pad.bowedzpad 5 bowedzsynth.pad.choirzpad 4 choirzsynth.pad.haloz
pad 7 halozsynth.pad.metalliczpad 6 metalliczsynth.pad.polysynthzpad 3 polysynthzsynth.pad.sweepzpad 8 sweepzsynth.pad.warmz
pad 2 warmzsynth.tone.sawtoothzlead 1 (square)zsynth.tone.squarezlead 2 (sawtooth)zvoice.aaz
choir aahsz
voice.altozvoice.awzvoice.baritonez
voice.basszvoice.childzvoice.countertenorz	voice.doozvoice.eezvoice.femalezvoice.kazooz
voice.malezvoice.mezzo-sopranozvoice.mmzvoice.ooz
voice oohszvoice.sopranozvoice.synthzsynth voicezwind.flutes.blown-bottlezblown bottlezwind.flutes.calliopezlead 3 (calliope)zwind.flutes.fluteZflutezwind.flutes.flute.altozwind.flutes.flute.basszwind.flutes.flute.contra-altozwind.flutes.flute.contrabassz#wind.flutes.flute.double-contrabasszwind.flutes.flute.piccolozwind.flutes.flute.subcontrabasszwind.flutes.ocarinazwind.flutes.recorderZrecorderzwind.flutes.recorder.altozwind.flutes.recorder.basszwind.flutes.recorder.contrabasszwind.flutes.recorder.descantzwind.flutes.recorder.garkleinzwind.flutes.recorder.great-basszwind.flutes.recorder.sopraninozwind.flutes.recorder.sopranozwind.flutes.recorder.tenorzwind.flutes.shakuhachiZ
shakuhachizwind.flutes.whistleZwhistlezwind.flutes.whistle.altozwind.pipes.bagpipesZbagpipezwind.reed.basset-hornZclarinetzwind.reed.bassoonZbassoonzwind.reed.clarinetzwind.reed.clarinet.azwind.reed.clarinet.altozwind.reed.clarinet.basszwind.reed.clarinet.bassetzwind.reed.clarinet.bflatzwind.reed.clarinet.contra-altozwind.reed.clarinet.contrabasszwind.reed.clarinet.eflatz wind.reed.clarinet.piccolo.aflatzwind.reed.contrabasszwind.reed.contrabassoonzwind.reed.english-hornZoboezwind.reed.harmonicaZ	harmonicazwind.reed.harmonica.basszwind.reed.oboezwind.reed.oboe.basszwind.reed.oboe.piccolozwind.reed.oboe-da-cacciazwind.reed.oboe-damorezwind.reed.saxophonezalto saxzwind.reed.saxophone.altozwind.reed.saxophone.baritonezbaritone saxzwind.reed.saxophone.basszwind.reed.saxophone.contrabasszwind.reed.saxophone.melodyzsoprano saxz!wind.reed.saxophone.mezzo-sopranozwind.reed.saxophone.sopraninoz wind.reed.saxophone.sopranissimozwind.reed.saxophone.sopranozsoprano, saxz!wind.reed.saxophone.subcontrabassz	tenor saxZshanaiz
wood block)zwind.reed.saxophone.tenorzwind.reed.shenaizwood.temple-blockzwood.wood-blockr   )ZsoundZsoundsr   r   r   *musicxml_sound_to_lilypond_midi_instrumentV   s  	
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                 	  
                                               !  "  #  $  %  &  '  (  )  *  +  ,  -  .  /  0  1  2  3  4  5  6  7  8  9  :  ;  <  = 
 Br/   )r   r   r   r   r"   r)   r.   r/   r   r   r   r   <module>   s   	
	