ãªããªãŒãã³ãœãŒã¹ãªã®ã§ããïŒ ç§ãæ¹ãããŠããã®ã¯ïŒ
- å³å¯ãªéçºæéããªã
- ã¿ã¹ã¯ã®èªç±ãªéžæ
- ã¿ã¹ã¯ãéæããæ¹æ³ã®èªç±ãªéžæ
- 人æ°ã®ãã補åã«å€æŽãå ããæ©èœ
ãã®èšäºã§ã¯ã2ã€ã®ãããžã§ã¯ãïŒMedia Player Classic-Home CinemaãšSharpDevelopïŒã§ã®æåã®çµéšã«ã€ããŠèª¬æããŸãã åæ段éã§ã®ãªãŒãã³ãœãŒã¹ãããžã§ã¯ãã§ã®äœæ¥ã«é¢ããäžè¬çãªæšå¥šäºé ãè¿°ã¹ãããšæããŸãã ãã®èšäºã«ã¯ããœãŒã¹ã³ãŒãã®æ¬æ Œçãªåæãæ°ããæ©èœã®å®£äŒã¯å«ãŸããŠããŸããããããžã§ã¯ãã§ã®äœæ¥ã®ç¬¬äžå°è±¡ã«ã€ããŠã®ã¿èª¬æããŠããŸãã ãããããã®èšäºã¯ãéçºè ã®æ³šæãããã«èšèŒãããŠãããããžã§ã¯ããšãäžè¬çãªãªãŒãã³ãœãŒã¹éçºã«åããã§ãããã
Media Player Classic-ããŒã ã·ãã
ãŸããWindowsçšã®ãªãŒãã£ãªããã³ãããªãã¡ã€ã«çšã®ç¡æãã¬ãŒã€ãŒã§ããMedia Player Classic-Home CinemaïŒMPC-HCïŒã«èå³ãæã¡ãŸããã ç§ã¯ä»ã§ããã¬ã€ã€ãŒãæéãã€æã䟿å©ãªãã¬ã€ã€ãŒã®äžäººãšèããŠããŸãã ããã°ã©ã ã¯C ++ã§èšè¿°ãããŠãããã€ã³ã¿ãŒãã§ã€ã¹ã¯MFCã©ã€ãã©ãªã䜿çšããŠéçºãããŠããŸãã
ããã°ã©ã ã®ãœãŒã¹ã³ãŒãã¯githubã«ãããã¢ã¯ãã£ããªã¿ã¹ã¯ã®ãªã¹ãã¯ãTrackã·ã¹ãã ã®å¶åŸ¡äžã«ããå¥ã®ãã°ãã©ãã«ãŒã§ç¶æãããŸãã ããã«ãIRCãã£ã³ãã«ã§éçºããŒã ãšãªã¢ã«ã¿ã€ã ã§ãã£ããã§ããŸãã ãããè¡ãã«ã¯ãã»ãšãã©ã®éçºè ããšãŒãããè«žåœïŒãã€ãããã©ã³ã¹ããªã©ã³ããªã©ïŒã«ãããããæéãèæ ®ããå¿ èŠããããŸãã
ãœãŒã¹ã³ãŒãïŒ github.com/mpc-hc/mpc-hc
ã¿ã¹ã¯ãã©ãã«ãŒïŒ trac.mpc-hc.org
IRCéçºè ãã£ããïŒ webchat.freenode.net/?randomnick=1&channels=mpc-hc-dev&prompt=1&uio=d4
å ¬åŒãŠã§ããµã€ãïŒ mpc-hc.org
ã¿ã¹ã¯ã®ãªã¹ãã確èªããåŸãã¿ã¹ã¯ïŒ4328ãéžæããŸãããã¡ã€ã³ããã°ã©ã ããã«ã«é害ãæã€äººã ã®ããã«éãããã¿ã³ãè¿œå ããå¿ èŠããããŸããã æ°æéãè²»ãããåŸãæ°ãããã¿ã³ãè¿œå ããããã°ã©ã ããã§ãã¯ããŠãã«ãªã¯ãšã¹ããäœæããŸããã
ãã«ãªã¯ãšã¹ããžã®ã³ã¡ã³ãã§ãéçºè ã¯ãã®ãããªãã¿ã³ã¯äžèŠã§ãããšæžããŠããŸãã ãã®ãããªã¿ã¹ã¯ããã©ãã«ãŒã§ãã³ã°ããçç±ãå°ãããããšãã圌ãã¯ãæéã®äžè¶³ã®ããã«ããŒã ãèŠãªãã£ããã©ãã«ãŒã«ãã³ã°ããŠããèšå€§ãªæ°ã®ã¿ã¹ã¯ããããšçããŸããã 次ã«ãã³ã¡ã³ãã®äžã§ããã¬ãŒã€ãŒã«è¿œå ã§ãããã®ã«ã€ããŠè°è«ãå§ãŸããŸããããã«ã¹ã¯ãªãŒã³ã¢ãŒããçµäºãããã¿ã³ããŸãã¯ã¹ã¯ããŒã«ããŒã®ãã¬ãã¥ãŒãŠã£ã³ããŠïŒYoutubeãã¬ãŒã€ãŒïŒã§ãã æ®å¿µãªãããè°è«ã§ã¯å ·äœçãªçµæã¯åŸãããŸããã§ããã
ç§ãç解ããŠããããã«ããããžã§ã¯ãã«ã¯ã¿ã¹ã¯ãç©æ¥µçã«éçºããŠããéçºè ã®ããã¯ããŒã³ããããŸãã ãã©ãã«ãŒã§ãã³ã°ããã¿ã¹ã¯ã®ã»ãšãã©ã¯å€ããªã£ãŠããŸãã åºæ¬çã«ããããã¯ãŠãŒã¶ãŒããã®æ©èœèŠæ±ã§ãã éçºè ã¯ãæ°ããåå è ãã©ã®ãããªã¿ã¹ã¯ãéæã§ããããšãã質åã«çããæºåãã§ããŠããŸãããããã¬ãŒã€ãŒã«æ°ããæ©èœãææ¡ããå Žåãéçºè ã¯ããã«å¯ŸããŠè°è«ãããããšãã§ããŸãã ä»»æã®ã¿ã¹ã¯ãèªåã§éžæããŠå®è¡ã§ããŸãããã¿ã¹ã¯ãé¢é£ããå€æŽãã¡ã€ã³ãã©ã³ãã«å»¶æããããšããä¿èšŒã¯ãããŸããã ãã®ãããæ°ããåå è ããããžã§ã¯ãã«åå ããããšã¯éåžžã«å°é£ã§ãã
ã¡ãªã¿ã«ãããã°ã©ã ãéããããã®è¿œå ã®ãã¿ã³ãåãããã¬ãŒã€ãŒã®åç¬ããŒãžã§ã³ã¯ã³ã³ãã¥ãŒã¿ãŒã«æ®ããŸããã
ã·ã£ãŒãéçº
MPC-HCã§ã®åäœã«å€±æããåŸãç§ã®æèŠã¯ã.NETããŒã¹ã®ããã°ã©ãã³ã°èšèªã®ãªãŒãã³éçºç°å¢ã§ããSharpDevelopã«èœã¡ãŸããã ãããžã§ã¯ãã¯CïŒ.NET 4.5ã§éçºãããŸããã ããã°ã©ã ã€ã³ã¿ãŒãã§ã€ã¹ã¯ãWPFãšWinFormsã䜿çšããŠéçºãããŸãã Habréã®ããã°ã©ã ã®æ©èœã«ã€ããŠã¯ããã§ã«å€ãã®ããšãæžãããŠããŸããç¹°ãè¿ããŸããã
補åã®ãœãŒã¹ã³ãŒãã¯githubã«ãããã¢ã¯ãã£ããªã¿ã¹ã¯ã®ãªã¹ããããã«ä¿æãããŠããŸãã å¥ã®ãã©ãŒã©ã ã§éçºè ã«æçŽãæžãããšãã§ããŸããçãã¯1ã2æ¥ä»¥å ã«ååã«æ©ãå±ããŸãã ããã«ãçŸåšã®ããã°ã©ã ãã€ããªãŸãã¯ã€ã³ã¹ããŒã«ããã±ãŒãžãããŠã³ããŒãã§ãããã«ããµãŒããŒããããŸãã çµã¿ç«ãŠã¯2ã3æ¥ééã§è¡ãããŸãã
ãœãŒã¹ã³ãŒãïŒ github.com/icsharpcode/SharpDevelop
ãã©ãŒã©ã ïŒ community.sharpdevelop.net/forums
CIãµãŒããŒïŒ build.sharpdevelop.net/BuildArtefacts
å ¬åŒãŠã§ããµã€ãïŒ www.icsharpcode.net/OpenSource/SD
ãããžã§ã¯ãã®æ§é ã¯åã°ããããåŸãŸããããœãŒã¹ã³ãŒãã¯å¥ã ã®ã³ã³ããŒãã³ãã«é åžãããæ¬æ Œçãªãã©ã°ã€ã³ã·ã¹ãã ãå®è£ ãããŸãã
SubversionããŒãžã§ã³ç®¡çã·ã¹ãã ã®ãµããŒãã¯ãå¥åã®SubversionAddIn.dllãã©ã°ã€ã³ã§å®è£ ãããSubversionã§ã®äœæ¥ã¯SharpSvnã©ã€ãã©ãªã䜿çšããŠå®è¡ãããŸãã GitãµããŒãã¯å¥ã®ã¢ãžã¥ãŒã«GitAddIn.dllã§ãæäŸãããŸãããããŒãžã§ã³ç®¡çã·ã¹ãã ã§ã®äœæ¥ã¯gitã³ãã³ãã©ã€ã³ãä»ããŠæ¢ã«å®è¡ãããŠããŸãã
ããŸããŸãªããã°ã©ãã³ã°èšèªã®ãµããŒãããCppBinding.dllãCSharpBinding.dllãFSharpBinding.dllãVBBinding.dllãªã©ã®åå¥ã®ãã©ã°ã€ã³ã§é åžãããŸãã
ãœãŒã¹ã³ãŒãã解æããããã®ããžãã¯ã¯ãç¬ç«ããæ¬æ ŒçãªNRefactoryãããžã§ã¯ãã§äœ¿çšãããŸãã æ®å¿µãªãããRoslynãããžã§ã¯ããšã¯ç°ãªããNRefactoryã©ã€ãã©ãªã¯ILã³ãŒãã®ã³ã³ãã€ã«ãšVB.NETã³ãŒãã®è§£æãå®è£ ããŸããã
æåã«ãã¿ã¹ã¯ã®ãªã¹ããããšã©ãŒçªå·606ãéžæããŸããã ãæ§æãšãã£ã¿ãŒããŠã£ã³ããŠïŒæ§æèšå®ãŠã£ã³ããŠããã³ãœãªã¥ãŒã·ã§ã³ãã©ãããã©ãŒã ïŒãéããåŸãéžæãããããã°ãŸãã¯ãªãªãŒã¹æ§æããœãªã¥ãŒã·ã§ã³å šäœã«å¯ŸããŠã¢ã¯ãã£ãã«ãªããŸããã§ããã 1è¡ã®ã³ãŒãã§ãšã©ãŒãä¿®æ£ãããããã«ãªã¯ãšã¹ããäœæããŸããã æ°æ¥åŸãç§ã®å€æŽã¯éçºè ã®äžäººã«ãã£ãŠãããžã§ã¯ãã®ã¡ã€ã³ãã©ã³ãã«é©çšãããŸããã
次ã«ãïŒ96ãšããçªå·ã®ããèå³æ·±ãã¿ã¹ã¯ãéžæããŸãããVisualStudioãšåæ§ã«ãAssemblyInfo.csãã¡ã€ã«ãç·šéããããã®ãŠã£ã³ããŠãè¿œå ããå¿ èŠããããŸããã ããã§ãSharpDevelopãããžã§ã¯ãã®ããããã£ã«ãã¢ã»ã³ããªããããã£ã®å ¥åãã£ãŒã«ããæã€æ°ããã¿ããã¢ã»ã³ããªæ å ±ãã衚瀺ãããŸããã Visual Studioã®ãã€ã¢ãã°ããã¯ã¹ãšæ¯èŒããŠãããã€ãã®ã€ãããŒã·ã§ã³ããããŸããæ°ãããã«ãGUIDãçæããããã®[æ°ããGUID]ãã¿ã³ãšãã¢ã»ã³ããªã®JITæé©åãæå¹/ç¡å¹ã«ããæ©èœã§ãã
äžèšã®NRefactoryã©ã€ãã©ãªã䜿çšããŠãAssemblyInfo.csãã¡ã€ã«ã®ãœãŒã¹ã³ãŒããæäœããŸããã
æ°æ¥åŸãç§ã®å€æŽã¯è¿œå ã®ã³ã¡ã³ããªãã§ã¡ã€ã³è£œåãã©ã³ãã«æçš¿ãããŸããã æ°ããã¿ãã§ã³ã¡ã³ããææ¡ãèããšäºæ³ããŠããã®ã§ãããã¯å°ãäžå®ã«ãªããŸããã 誰ãããããžã§ã¯ããæ£ãããããšãã§ããã®ã§ã¯ãªãããšå¿é ããŠããŸããæ©èœãè€è£œããããããã°ã©ã ã®ã¡ã€ã³ããžãã¯ãšã¯ç°ãªãããžãã¯ãå°å ¥ããŸãã ããã§ãªãããšãæã¿ãéçºè ã®å€æŽã¯ãŸã äœããã®æ€èšŒãåããŠããŸãã
以äžã«ãæ°ãããã¢ã»ã³ããªæ å ±ãã¿ãã®ã¹ã¯ãªãŒã³ã·ã§ããã瀺ããŸãããã®ã¿ãã¯ã5.1.0.4954ã®ããŒã¿çã§æ¢ã«è¡šç€ºãããŠããŸãã
äžè¬çãªæšå¥šäºé
æåŸã«ãæ°ãããªãŒãã³ãœãŒã¹éçºè åãã®äŸ¿å©ãªãã³ãã
æåã®ã¿ã¹ã¯éžæ
ãããžã§ã¯ãã«å®å šã«åãçµãåã«ãã³ã¢éçºããŒã ããã®å¿çã確èªããå¿ èŠããããŸãã ç¡é§ã«å€ãã®æéãç¡é§ã«ããªãããã«ãå°ããªã¿ã¹ã¯ãéžæããå¿ èŠããããŸãã äœããããå€æŽãæ¬åœã«å¿ èŠã§ãã£ãããšã¯ééããªãã®ã§ãããã¯æ°ããæ©èœã§ã¯ãªããã°ã§ãã æ°ããæè¡ããããžã§ã¯ãã®è©³çŽ°ãå匷ããã®ã«æéããããããªãããã«ãããªããæã粟éããŠããåéããã¿ã¹ã¯ãéžæããããšããå§ãããŸãã
ç§ã®å Žåãããã°ã©ã ã®ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ã€ã¹ã«é¢é£ããã¿ã¹ã¯ãéžæããæ¹ãé©åã§ããã
éçºããŒã ãå€æŽèŠæ±ã«è¿ éã«å¯Ÿå¿ããŠããããšãå€æãããšãããæ·±å»ã§èå³æ·±ãã¿ã¹ã¯ãéžæããããšãå¯èœã«ãªããŸãã
ã³ãŒãèšèš
CïŒã³ãŒãã®èšèšã®ã«ãŒã«ã«ã€ããŠè©±ãå Žåããããã¯äž»ã«ããã©ã«ãã®ReSharper'aèšå®ã«ãã£ãŠé·ããæ瀺ãããŠãããã®ã§ãã ããããããŸããŸãªãããžã§ã¯ãã§ã¯ãäœããã®çç±ã§ãæã å°ããªéãããããŸãã ãããã®ããã€ãã次ã«ç€ºããŸãã
- ãã©ã€ããŒããã£ãŒã«ãã®ç»é²ïŒãã¬ãã£ãã¯ã¹ã_ããŸãã¯ãã¬ãã£ãã¯ã¹ãªã
- å®æ°ïŒUPPER_CASEãŸãã¯Pascalã¹ã¿ã€ã«
- namespace'aã®å®£èšã®åãŸãã¯åŸã«äœ¿çšãã
- varã®æ®å
ã³ã¡ã³ã
åžæããèšèªã§ã³ãŒãã«ã³ã¡ã³ããæžãããšãå¿ããªãã§ãã ããã ã»ãšãã©ã®å Žåãéžæãããããžã§ã¯ãã¯ããŸããŸãªåœã®äººã ã«ãã£ãŠéçºãããã³ã¡ã³ãã¯è±èªã§è¡ãããŸãã
ã©ã€ã»ã³ã¹ããã¹ã
å¿ èŠã«å¿ããŠãã©ã€ã»ã³ã¹ãã¡ã€ã«ãã³ãŒããã¡ã€ã«ã«è¿œå ããŸãã ããšãã°ãããŒãžã§ã³5以éã®SharpDevelopãããžã§ã¯ãã®å ŽåããœãŒã¹ãã¡ã€ã«ã«ã¯MITã©ã€ã»ã³ã¹ã®ããã¹ããå«ãŸããMedia Player Classicãããžã§ã¯ãã®å Žåã¯GNU GPLã©ã€ã»ã³ã¹ã®ããã¹ããå«ãŸããŸãã
ããŒã¿
ã³ãŒãã®ã€ã³ãã³ãã¯ãããžã§ã¯ãã«ãã£ãŠç°ãªãå ŽåããããŸããMediaPlayer Classicã®å Žåã¯ã¹ããŒã¹ãSharpDevelopã®å Žåã¯ã¿ãã§ãã
ããã°ã©ã ã®äžè¬çãªããžãã¯
ã¿ã¹ã¯ã§äœæ¥ãããšãã¯ãããã°ã©ã ã®äžè¬çãªããžãã¯ã«æ³šæããŠãã ããã ããšãã°ãäŸå€åŠçããžãã¯ãŸãã¯ãŠãŒã¶ãŒå ¥åæ€èšŒããžãã¯ã ç¬èªã®ã³ãŒãã§äŸå€ããã£ããããŠãšã©ãŒã¡ãã»ãŒãžã衚瀺ããã®ã¯çã«ããªã£ãŠããŸããããŸãã¯ããã°ã©ã ã§ã°ããŒãã«äŸå€ãã³ãã©ãŒãå®çŸ©ãããŠããŸããïŒ èª€ã£ãŠå ¥åãããããŒã¿ã«é¢ããèŠåããŠãŒã¶ãŒã«äžããæ¹æ³ é©ãã¹ãããšã«ãäœæ¥ã®è«çã¯ããã°ã©ã ã«ãã£ãŠæ ¹æ¬çã«ç°ãªãå ŽåããããŸãã
ãã«ãªã¯ãšã¹ããäœæããåã®æ€èšŒ
ã¿ã¹ã¯ãå®äºããåŸããã«ãªã¯ãšã¹ããäœæããåã«ãå€æŽãæ éã«ç¢ºèªããããšããå§ãããŸãã
å€æŽããããã¡ã€ã«ã®ãªã¹ã
ããŒãžã§ã³ç®¡çã·ã¹ãã ãŸãã¯çµã¿èŸŒã¿ã®éçºç°å¢ããŒã«ã䜿çšããŠãå€æŽããããã¡ã€ã«ã®ãªã¹ãã確èªããå¿ èŠããããŸãã éçºããã»ã¹äžã«ã³ãŒãã誀ã£ãŠå€æŽãããå¯èœæ§ããããŸãããããããéçºç°å¢ããã¡ã€ã«ãç¬èªã«å€æŽããããšã決å®ããå¯èœæ§ããããŸãã
ãããžã§ã¯ãã®çµã¿ç«ãŠ
çæ³çãªã±ãŒã¹ã§ã¯ããã©ãŒã¯ãªããžããªãããœãªã¥ãŒã·ã§ã³ãå«ãå¥ã®ãã©ã«ããŒãããŠã³ããŒãããå床ã³ã³ãã€ã«ããå¿ èŠããããŸãã çµã¿èŸŒã¿ã®gitãµããŒããåããVisual Studioã䜿çšãããšãäœåºŠã倱æãããããŸãããå€æŽããããã¡ã€ã«ã®ãªã¹ãã«æ°ãããœãŒã¹ãã¡ã€ã«ãè¿œå ãããŸããã§ããã åå¥ã«ããŠã³ããŒããããã©ã«ããŒãããããžã§ã¯ããåéããããšã«ãã£ãŠã®ã¿ãå€æŽã®æ£ç¢ºæ§ãæ€èšŒããããšãã§ããŸããã
ãã¹ãããã«ãããŠå®è¡ãã
ãã¹ãã¯ãå¥ã®ãããžã§ã¯ããŸãã¯ãœãªã¥ãŒã·ã§ã³ã§è¡ãããšãã§ããŸãã éçºäžã«ãããã«ã€ããŠç°¡åã«å¿ããããšãã§ããŸãã
ããã°ã©ã ã¯ããŸããŸãªãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§å®è¡ãããŸã
èšè¿°ãããã³ãŒãããµããŒããããŠãããã¹ãŠã®ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã§åäœããããšã100ïŒ ç¢ºä¿¡ã§ããªãå Žåã¯ãä»®æ³ãã·ã³ã§ããã°ã©ã ã®åäœã確èªããããšããå§ãããŸãã
ããã ãã§ãã ãªãŒãã³ãœãŒã¹ãããžã§ã¯ããæ€çŽ¢ããŠäœæ¥ããçµæãæ°ãã趣å³ãèŠã€ããããšãã§ããã ãã§ãªããèªåèªèº«ã®ããã«æ°ããããšãåŠã¶ããšãã§ããŸããã 次ã«ãSharpDevelopãããžã§ã¯ãã§ã®äœæ¥ãç¶ããããMedia Player Classicããåµã«ä¹ããŠããšæããŸãã Roslynã.NET CoreãEntity Frameworkãããã³ä»ã®å€ãã®ãããžã§ã¯ããå€æ°ãããããä»ã®ãããžã§ã¯ãã®æ¹åãèŠãããšãçã«ããªã£ãŠããå ŽåããããŸãã