B
    _,                 @   sT   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d Zdd Z	dS )    Nc             C   s&   yt | S  tk
r    t| S X d S )N)int
ValueErrorfloat)s r   k/home/gub/NewGub/gub/target/mingw/src/lilypond-git.sv.gnu.org--lilypond.git-stable-2.22/python/utilities.pystring_to_number   s    r   c             C   s"   t | }t|tr|S t|S d S )N)r   
isinstancer   )r   Znumr   r   r   string_to_integer    s    
r
   c             C   s.   | }t d| }|r*d|dd d }|S )Nu   ^[a-zA-ZäöüÜÄÖßñ]*$"z\")rematchreplace)Zinput_stringZreturn_stringZneeds_quotesr   r   r   escape_ly_output_string(   s
    r   c             C   s,   d}| r(t |  }t|ttfkr(|}|S )Nr   )evalZget_texttyper   r   )Z	alter_elmZaltervalr   r   r   interpret_alter_element0   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_log9   s    r   c             C   s8   yt | d}|dkrd}|d S  tk
r2   dS X d S )N         g      p@g        )r   r   )hex_valvr   r   r   hexcolorval_to_nrH   s    
r%   c             C   s4   t d| t j}|r,dd |dddD S 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>X   s    z hex_to_color.<locals>.<listcomp>r   r   r   )r   r   
IGNORECASEgroup)r#   Zresr   r   r   hex_to_colorR   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_substrings]   s    
r0   c             C   s  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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/d0d1d&d2d2d3d2d4d5d2d6d7d8d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdOdOdOdOdOdOdOdOdOdOdOdOdOdPdOdQdRdSdTdTdTdTdTdTdTdTddUdUdUdUdUdUdUdUdUdUdVdWdWdXdYdZdYdYdYdYdYdYdYdYdYdYd9dZd[d\d\d[d[d[d[d[d]d]d^d^d^d_d_d_d_d`d^dadbdcdcdd}| | dS )eNzfrench hornzbrass sectionzsynthbrass 1ZtromboneZtrumpetZtubaZtimpanizmelodic tomz
synth drumZapplausezslap bass 1z
bird tweetzbreath noisezguitar fret noiseZgunshotZ
helicopterZ	woodblockz
fx1 (rain)Zseashoreztelephone ringZ	accordionZcelestaZclavZ
concertinaZharpsichordZocarinazchurch organzdrawbar organzpercussive organz
reed organzacoustic grandzelectric piano 1z
honky-tonkZagogoztinkle bellzreverse cymbalZglockenspielZdulcimerZkalimbaZmarimbaz	music boxztubular bellsZ
vibraphoneZ	xylophoneZbanjozacoustic basszelectric basszfretless basszsynth bass 1zacoustic guitar (nylon)zelectric guitar (jazz)zacoustic guitar (steel)zorchestral harpZshamisenZsitarZcelloZ
contrabassZfiddlezsynth strings 1ZviolaZviolinzfx 4 (atmosphere)zfx 5 (brightness)zfx 3 (crystal)zfx 7 echoeszfx 6 goblinsz	fx 1 rainzfx 8 sci-fizfx 2 (soundtrack)zpad 5 bowedzpad 4 choirz
pad 7 halozpad 6 metalliczpad 3 polysynthzpad 8 sweepz
pad 2 warmzlead 1 (square)zlead 2 (sawtooth)z
choir aahsz
voice oohszsynth voicezblown bottlezlead 3 (calliope)ZfluteZrecorderZ
shakuhachiZwhistleZbagpipeZclarinetZbassoonZoboeZ	harmonicazalto saxzbaritone saxzsoprano saxzsoprano, saxz	tenor saxZshanaiz
wood block)zbrass.french-hornzbrass.groupzbrass.group.synthzbrass.trombonezbrass.trombone.altozbrass.trombone.basszbrass.trombone.contrabasszbrass.trombone.tenorzbrass.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brass.tuba.basszbrass.tuba.subcontrabasszbrass.wagner-tubazdrum.timpanizdrum.tom-tomzdrum.tom-tom.synthzeffect.applausezeffect.bass-string-slapzeffect.birdzeffect.bird.tweetzeffect.breathzeffect.guitar-fretzeffect.gunshotzeffect.helicopterzeffect.metronome-clickzeffect.rainzeffect.seashorezeffect.telephone-ringzkeyboard.accordionzkeyboard.bandoneonzkeyboard.celestazkeyboard.clavichordzkeyboard.concertinazkeyboard.harpsichordzkeyboard.ondes-martenotzkeyboard.organzkeyboard.organ.drawbarzkeyboard.organ.percussivezkeyboard.organ.pipezkeyboard.organ.reedzkeyboard.pianozkeyboard.piano.electriczkeyboard.piano.grandzkeyboard.piano.honky-tonkzmetal.bells.agogozmetal.bells.tinklebellzmetal.cymbal.reversezpitched-percussion.glockenspielz$pitched-percussion.glockenspiel.altoz'pitched-percussion.glockenspiel.sopranoz"pitched-percussion.hammer-dulcimerzpitched-percussion.kalimbazpitched-percussion.marimbazpitched-percussion.marimba.basszpitched-percussion.music-boxz pitched-percussion.tubular-bellszpitched-percussion.vibraphonezpitched-percussion.xylophonez!pitched-percussion.xylophone.altoz!pitched-percussion.xylophone.bassz$pitched-percussion.xylophone.sopranozpitched-percussion.xylorimbazpluck.banjozpluck.banjo.tenorz
pluck.basszpluck.bass.acousticzpluck.bass.electriczpluck.bass.fretlesszpluck.bass.synthzpluck.dulcimerzpluck.guitarzpluck.guitar.acousticzpluck.guitar.electriczpluck.guitar.nylon-stringzpluck.guitar.steel-stringz
pluck.harpz
pluck.lutezpluck.shamisenzpluck.sitarzstrings.cellozstrings.cello.piccolozstrings.contrabasszstrings.fiddlezstrings.group.synthzstrings.violazstrings.violinzsynth.effects.atmospherezsynth.effects.brightnesszsynth.effects.crystalzsynth.effects.echoeszsynth.effects.goblinszsynth.effects.rainzsynth.effects.sci-fizsynth.effects.soundtrackzsynth.pad.bowedzsynth.pad.choirzsynth.pad.halozsynth.pad.metalliczsynth.pad.polysynthzsynth.pad.sweepzsynth.pad.warmzsynth.tone.sawtoothzsynth.tone.squarezvoice.aaz
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.sopranozvoice.synthzwind.flutes.blown-bottlezwind.flutes.calliopezwind.flutes.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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wind.flutes.whistlezwind.flutes.whistle.altozwind.pipes.bagpipeszwind.reed.basset-hornzwind.reed.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wind.reed.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wind.reed.saxophone.altozwind.reed.saxophone.baritonezwind.reed.saxophone.basszwind.reed.saxophone.contrabasszwind.reed.saxophone.melodyz!wind.reed.saxophone.mezzo-sopranozwind.reed.saxophone.sopraninoz wind.reed.saxophone.sopranissimozwind.reed.saxophone.sopranoz!wind.reed.saxophone.subcontrabasszwind.reed.saxophone.tenorzwind.reed.shenaizwood.temple-blockzwood.wood-block)r   )ZsoundZsoundsr   r   r   *musicxml_sound_to_lilypond_midi_instrumentf   s   r1   )
r   r   r
   r   r   r   r%   r+   r0   r1   r   r   r   r   <module>   s   	
	