JUCE - рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо C ++ UI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ

рдЫрд╡рд┐

рдмрдбрд╝рдмреЛрд▓реЗрдкрди рдХреЛ рд╕рд▓рд╛рдо!
рд╕рдВрднрд╡рддрдГ рд╣рд░ рдХреЛрдИ рдЬреЛ рдкреЗрд╢реЗрд╡рд░ рд░реВрдк рд╕реЗ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдмрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдЖрдирдВрдж рд▓реЗрддрд╛ рд╣реИ, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░ рдЖрдпрд╛ред рдФрд░ рдЕрдЧрд░ рдЖрдк рдореВрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╡рд╛рддрд╛рд╡рд░рдг рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП C # рдХреЗ рд▓рд┐рдП рдпрд╛ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА рдЬрд┐рд╕рдореЗрдВ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рд╣реЛрддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рдХрд▓реНрдк рдмрд╣реБрдд рд╕рдореГрджреНрдз рдирд╣реАрдВ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╣рдо GUI рд╡рд┐рдХрд╛рд╕ рдЯреВрд▓ рдХреЗ рд▓рд┐рдП рдкреИрд╕реЗ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рд╣реЗрдмрд░ рдкрд░ рдЕрдкрдиреА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ рдореЗрдВ, рдореИрдВ JUCE рдЬреИрд╕реЗ рдврд╛рдВрдЪреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рд╣реИрдмрд░ рдореЗрдВ рдЦреЛрдЬ рдХреЗрд╡рд▓ 2 рд▓реЗрдЦреЛрдВ рдкрд░ рд▓реМрдЯрддреА рд╣реИ рдЬрд╣рд╛рдВ рдЗрд╕ рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛ рдХреЗрд╡рд▓ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЛрдИ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рджреА рдЧрдИ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рд▓реЛрдЧ C ++ рдореЗрдВ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╡реЗ рдРрд╕реЗ рд░рд╛рдХреНрд╖рд╕реЛрдВ рдХреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рдЗрдЪреНрдЫреБрдХ рд╣реЛрдВрдЧреЗ, рдЬреИрд╕реЗ рдХрд┐ Qt рдпрд╛ GTK + рдЬреИрд╕реЗ рдкреБрд░рд╛рдиреЗ рд▓реЛрдЧред


JUCE рдХреНрдпрд╛ рд╣реИ



рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ: juce.com ред

JUCE (рдЬреВрд▓реНрд╕ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреНрд▓рд╛рд╕ рдПрдХреНрд╕рдЯреЗрдВрд╢рдиреНрд╕) рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрд╛рдкрдХ C ++ рдХреНрд▓рд╛рд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИред
рдЗрд╕рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдЪреАрдЬреЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЬрдЯрд┐рд▓ рдЬреАрдпреВрдЖрдИ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдФрд░ рдСрдбрд┐рдпреЛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИред


рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛:
рдЬреАрдпреВрдЖрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реА ++ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдЬреВрд╕ рдПрдХ рдЦреБрд▓рд╛ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдЯреВрд▓рдХрд┐рдЯ (рдлреНрд░реЗрдорд╡рд░реНрдХ) рд╣реИред


JUCE рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ:


JUCE рдПрдХ рд╡реНрдпрдХреНрддрд┐ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдкреВрд░реНрдг рдврд╛рдВрдЪреЗ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИред
OpenSource рд▓рд╛рдЗрд╕реЗрдВрд╕ 2003 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдФрд░ 2005 рд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рдмрдВрдж рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рднреБрдЧрддрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдорд┐рд▓ рдЧрдпрд╛ред

рдЕрдзрд┐рдХрд╛рдВрд╢ рдлрд╝реНрд░реЗрдо рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдХ рдЦреБрд▓рд╛ рд▓рд╛рдЗрд╕реЗрдВрд╕ GPLv2, v3 рдФрд░ AGPLv3 рд╣реИ , рдХреЛрд░ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ ISC рд▓рд╛рдЗрд╕реЗрдВрд╕ рд╣реИ

рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреАрдорддреЛрдВ рдкрд░ рдПрдХ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдЦрд░реАрдж рд╕рдХрддреЗ рд╣реИрдВ:


рдврд╛рдВрдЪреЗ рдХреА рд░рдЪрдирд╛ рдФрд░ рдХрд╛рдо рдХреА рд╢реБрд░реБрдЖрдд



JUCE рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╣рд▓реНрдХрд╛ рд╣реИ, 28 MB рд╕реЗ рдереЛрдбрд╝рд╛ рдЬреНрдпрд╛рджрд╛ред рдбреЙрдХреНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддреГрдд рджрд╕реНрддрд╛рд╡реЗрдЬ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЬреЗрдпреВрд╕реАрдИ рд╕рд╛рдорд╛рдиреНрдп рдЕрд░реНрдереЛрдВ рдореЗрдВ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ рдпрд╛ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдЖрдкрдХреЛ рд╕реНрдерд┐рд░ рдпрд╛ рдЧрддрд┐рд╢реАрд▓ рд▓рд┐рдВрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рд╕рдВрдХрд▓рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рднреА рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рди рдХреЗрд╡рд▓ рд╡рд┐рддрд░рдг рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рддреЗ рд╣реБрдП, рдПрдХ рдордВрдЪ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдкреНрд░рд╡рд╛рд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдмрд┐рдЯ рдХреНрд╖рдорддрд╛ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рднреА рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдЖрдзреБрдирд┐рдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдорд╛рдирдХ рд╡рд╛рддрд╛рд╡рд░рдг рдЬреЛ рдХрд┐ JUCE рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ рд╕рднреА рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ) рдЖрдорддреМрд░ рдкрд░ 32 рдФрд░ 64 рдмрд┐рдЯ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдЙрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдмрд┐рдЯрдиреЗрд╕ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рд╕рднреА рдврд╛рдВрдЪреЗ рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВред рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рд╣реИрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдХреА рдЧрдИ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред
рдПрдХреНрд╕реНрдЯреНрд░рд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЖрдк рдлреНрд░реЗрдорд╡рд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рджреЛ рд╕реБрд╡рд┐рдзрд╛рдПрдВ рдорд┐рд▓реЗрдВрдЧреА рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдорджрдж рдХрд░реЗрдВрдЧреАред рдЗрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдФрд░ рдЖрдИрдбреАрдИ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рддреИрдпрд╛рд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИрдВ, рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЦреЛрд▓рдирд╛ рдФрд░ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдирд╛ рд╣реИред
рдкрд╣рд▓реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдЗрдВрдЯреНрд░реЛрдЬреНрдпреВрд╕рд░ рд╣реИ , рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдкрд╕реНрд╡реА рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рдЬреЛ рд╕реНрд╡рдпрдВ JUCE рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдПрдХ рдЬреНрд╡рд▓рдВрдд рдЙрджрд╛рд╣рд░рдг рд╣реИред рдХрд┐рдЯ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рд╢рд╛рдорд┐рд▓ рд╣реИ, рд╕реЛрд░реНрд╕ рдХреЛрдб рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдФрд░ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝ - рдПрдХ рд╡рд┐рдЬреБрдЕрд▓ GUI рдПрдбрд┐рдЯрд░ рдЬреЛ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕реЛрд░реНрд╕ рдХреЛрдб рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдкрдХреЗ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреЗрд╡рд▓ C ++ рдХреЛрдб рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рдкрд╣рд▓реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ ), рдПрдХ рдХреЛрдб рд╕рдВрдкрд╛рджрдХ, рдПрдХ рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рд╡рд┐рдЬрд╝рд╛рд░реНрдб, рдФрд░ рдХрдИ рдЕрдиреНрдп рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдгред
рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рддрд╕реНрд╡реАрд░реЗрдВ
рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

рдХреЛрдб рд╕рдВрдкрд╛рджрдХ
рдЫрд╡рд┐
рдЬреАрдпреВрдЖрдИ рд╕рдВрдкрд╛рджрдХ
рдЫрд╡рд┐
рд╕реНрд░реЛрдд рдХреЛрдб рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛
рдЫрд╡рд┐


рдЗрдВрдЯреНрд░реЛрдЬреНрдпреВрд╕рд░ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫреА рд╣рд╛рдЗрд▓рд╛рдЗрдЯ, рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИ, рдЬреЛ рд╕рднреА рдЖрдИрдбреАрдИ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдбреЗрд╡рд▓рдкрд░ рд╕реЗ рдХреЛрдб рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЗрдВрдЯреНрд░реЛрдЬреНрдпреВрд╕рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдЙрдкрдпреЛрдЧрд┐рддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рд▓рдХреНрд╖реНрдп рдЖрдИрдбреАрдИ рдореЗрдВ рдЦреЛрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдЕрдкрдиреЗ рдУрдПрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдЫрд╡рд┐

рджреВрд╕рд░реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрд╛рдЗрдирд░реАрдмрд┐рд▓реНрдбрд░ рд╣реИ , рдЬреЛ рдЖрдкрдХреЛ рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реАрдзреЗ рдЕрдкрдиреЗ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЪрд┐рддреНрд░ рдФрд░ рд▓реЛрдЧреЛ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдбреЗрдЯрд╛ рдХреЗ рдПрдХ рд╕реЗрдЯ рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдВрдЧреЗ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдк рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрд┐рддрд╛ Introjucer рдХрд╛ рднреА рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдФрд░ GUI рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕рдВрд╕рд╛рдзрди рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЫрд╡рд┐

рдирдорд╕реНрддреЗ рджреБрдирд┐рдпрд╛



рдФрд░ рдЬрд╣рд╛рдВ рдПрдХ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд┐рдирд╛ ...
рдЖрдЗрдП рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдкрд░ рдХрд░реАрдм рд╕реЗ рдирдЬрд╝рд░ рдбрд╛рд▓реЗрдВ:
../extras/example рдкреНрд░реЛрдЬреЗрдХреНрдЯ:
JUCE рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ , рд╕рднреА рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЗрдВ рдЕрдВрддрддрдГ рдПрдХ рд╣реА рдлрд╛рдЗрд▓ "../JuceLibraryCode/JuceHeader.h" рдореЗрдВ рдЕрдВрддрдГрд╕реНрдерд╛рдкрд┐рдд рд╣реЛрддреА рд╣реИрдВ ред
рдЗрд╕рд▓рд┐рдП рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдлреНрд░реЗрдо рд╕реЗ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдкреВрд░рд╛ рдЧреБрдЪреНрдЫрд╛ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рджреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЙрдбреНрдпреВрд▓ рд╣реИрдВ:

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ JUCE рдореЗрдВ, рд╕рднреА GUI рд╕рд╛рдордЧреНрд░реА рдПрдХ рд╡рд░реНрдЧ рд╣реИ рдЬреЛ JUCE рдШрдЯрдХ рд╡рд░реНрдЧ рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╣реИред
рд╣рдорд╛рд░реЗ MainComponent.h рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
#ifndef __JUCE_HEADER_9002020A4DD09B20__ #define __JUCE_HEADER_9002020A4DD09B20__ //   #include "../JuceLibraryCode/JuceHeader.h" //    class MainComponent : public Component, //     public ButtonListener //        


рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛ рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░, рдЗрд╕рдХреЗ рдирд┐рд░реНрдорд╛рдгрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╡рд┐рдирд╛рд╢рдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдиреБрднрд╛рдЧ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╣реИ:
 MainComponent (); ~MainComponent(); void paint (Graphics& g); //     canvas void resized(); //     void buttonClicked (Button* buttonThatWasClicked); //      

рдирд┐рдЬреА рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡ рд╣реИрдВ:
  ScopedPointer<Label> helloWorldLabel; ScopedPointer<TextButton> quitButton; Path internalPath1; 


рдЪрд▓рд┐рдП рд╕реАрдзреЗ рд╕реАрдзреЗ рд╣рдорд╛рд░реЗ GUI рдХреЗ рддрд░реНрдХ рдХреЛ MainComponent.cpp рдореЗрдВ рдкрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ :
 //       #include "MainComponent.h" //    MainComponent::MainComponent () { addAndMakeVisible (helloWorldLabel = new Label (String::empty, "Hello World!")); //   ,        helloWorldLabel->setFont (Font (40.00f, Font::bold)); helloWorldLabel->setJustificationType (Justification::centred); helloWorldLabel->setEditable (false, false, false); helloWorldLabel->setColour (Label::textColourId, Colours::black); helloWorldLabel->setColour (TextEditor::textColourId, Colours::black); helloWorldLabel->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); addAndMakeVisible (quitButton = new TextButton (String::empty)); //       quitButton->setButtonText ("Quit"); quitButton->addListener (this); setSize (600, 300); //    } //     GUI MainComponent::~MainComponent() { helloWorldLabel = nullptr; quitButton = nullptr; } //      void MainComponent::paint (Graphics& g) { g.fillAll (Colour (0xffc1d0ff)); g.setColour (Colours::white); g.fillPath (internalPath1); g.setColour (Colour (0xff6f6f6f)); g.strokePath (internalPath1, PathStrokeType (5.200f)); } void MainComponent::resized() { helloWorldLabel->setBounds (152, 80, 296, 48); quitButton->setBounds (getWidth() - 176, getHeight() - 60, 120, 32); internalPath1.clear(); internalPath1.startNewSubPath (136.0f, 80.0f); internalPath1.quadraticTo (176.0f, 24.0f, 328.0f, 32.0f); internalPath1.quadraticTo (472.0f, 40.0f, 472.0f, 104.0f); internalPath1.quadraticTo (472.0f, 192.0f, 232.0f, 176.0f); internalPath1.lineTo (184.0f, 216.0f); internalPath1.lineTo (200.0f, 168.0f); internalPath1.quadraticTo (96.0f, 136.0f, 136.0f, 80.0f); internalPath1.closeSubPath(); } void MainComponent::buttonClicked (Button* buttonThatWasClicked) { if (buttonThatWasClicked == quitButton) { JUCEApplication::quit(); } } 

рдЗрд╕ рдкрд░, рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛ рдореЗрдВ рдмрд╕рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЪрд▓рд┐рдП Main.cpp рдкрд░ рдЪрд▓рддреЗ рд╣реИрдВ рдФрд░ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдЙрджрд╛рд╣рд░рдг рдХреИрд╕реЗ рд╢реБрд░реВ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
 //      #include "../JuceLibraryCode/JuceHeader.h" #include "MainComponent.h" //    class HelloWorldWindow : public DocumentWindow { public: HelloWorldWindow(): DocumentWindow ("JUCE Hello World!", Colours::lightgrey, DocumentWindow::allButtons, true) { //     setContentOwned (new MainComponent(), true); //     centreWithSize (getWidth(), getHeight()); //    setVisible (true); } ~HelloWorldWindow() { //       } void closeButtonPressed() { //       JUCEApplication::quit(); } }; 

рд╣рдордиреЗ рд╡рд┐рдВрдбреЛ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рд╣реИ, рдЕрдм рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдмрд╛рд░реА рд╣реИ:
 class JUCEHelloWorldApplication : public JUCEApplication //     JUCE { public: JUCEHelloWorldApplication() {} void initialise (const String& commandLine) { //      helloWorldWindow = new HelloWorldWindow(); } void shutdown() { //      helloWorldWindow = nullptr; } //         const String getApplicationName() { return "Hello World for JUCE"; } const String getApplicationVersion() { // ProjectInfo::versionString   Jucer,  //   JuceHeader.h      return ProjectInfo::versionString; } bool moreThanOneInstanceAllowed() //    { return true; } void anotherInstanceStarted (const String& commandLine) { } private: ScopedPointer<HelloWorldWindow> helloWorldWindow; //   ,         //      main()  . START_JUCE_APPLICATION (JUCEHelloWorldApplication) 


рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реИ, рдЕрдЧрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдЗрдХрдЯреНрдард╛ рдФрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдпрд╣ рдкрд░рд┐рдгрд╛рдо рдорд┐рд▓рддрд╛ рд╣реИ:
рдЫрд╡рд┐

рдпрджрд┐ рдЖрдк рдпрд╣ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЬреЗрдпреВрд╕реАрдИ рдФрд░ рдХреНрдпрд╛ рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдореИрдВ рдПрдХреНрд╕реНрдЯреНрд░рд╛рд╕ рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рдбреЗрдореЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдмрдирд╛рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ , рдЬреЛ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдХрдИ рдФрд░ рднреА рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдм рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИред

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ




рдЕрдВрддрднрд╛рд╖рдг


рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рди рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдореЗрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░рд╛рдп рдпрд╣ рд╣реИ: рдпрд╣ рд░реВрдкрд░реЗрдЦрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдФрд░ рдЫреЛрдЯреА рдФрд░ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рдЖрд▓реЛрдЪрдирд╛ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА, рдЗрд╕ рдкреЛрд╕реНрдЯ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In209956/


All Articles