Eli의 여백

바쁜 나날들 사이에서 생각났던 이런저런 것들을 적어봅니다.

Project Eli 119

BMS구동기 v0.3

결과물 화면 현재까지 완료된 것 monogame으로 ogg 재생 안되던 문제를 외부 dll으로 해결 자체 작곡한 샘플 BMS를 넣음 (저작권이 나한테 있으므로 문제될 게 없다.) Garbage collection을 이해 다음단계 계획 이제 마음껏 wav ogg mp3를 재생시킬 수 있으니 BMS를 실제로 처음부터 끝까지 시간계산해서 소리나게 하는 것 하.. 여기까지 오는데 미친듯한 삽질을 많이 했다. monogame에서 wav나 ogg를 재생하려면 content.mgcb를 직접 열어서 일일이 wav는 wav importer로, ogg는 mp3 importer를 지정해주고 파일도 수작업 했어야 됐었다. 게다가 이렇게 하면 모든 음원이 xnb라는 자기네 자체 파일형식으로 컴파일이 되는데, 이 컴파일을 명시적..

프로그래밍 2016.01.24

BMS구동기 v0.2

결과물 모습 현재까지 완료된 것 BPM 읽기 regular expression을 이용한 종류별(소리, 노트, BGA별) crop 메인 클래스와 BMS읽는 클래스를 개별 파일로 분리 차후 해결과제 라인별로 읽으면서 데이터 정리 나중에 BMS 에디터도 개발하긴 하겠지만 (BMSE로 만들었을 때 uBMplay를 돌리면 윈10에서는 안돌아간다), 어차피 지금은 사람들이 BMSE로 제작하기 때문에 각 항목이 나오는 순서가 정해져 있다. 하지만 개발자인 야네 우라오씨는 (야네가 성이고 우라오가 이름이다) 포맷에 관해 별도의 순서를 지정하고 있지 않기 때문에(링크), 기존 BMS와의 호환성을 확인하는 차원에서 그냥 순차적으로 읽으면서 속도를 증가시키는 방향으로 다시 짤 것 같다. 일단 BMS파일 자체에는 용량이 그렇..

프로그래밍 2016.01.24

BMS구동기 v0.1

결과물 사진 사용한 것 Visual studio 2015, community edition (CE) monogame (C#기반이다) GitHub for visual studio (extension) 현재까지 완료된 사항 키를 누르면 하위 폴더에 포함된 사운드 재생 키를 누르면 하위 폴더에 포함된 BMS 읽기 키를 누르면 line by line으로 읽은 BMS 출력 Visual studio와 GitHub를 연동 차후 해결과제 읽은 BMS파일을 가지고 regular expression을 이용해서 노트 순서와 시간 계산 원래는 private repository가 되는 GitLab하고 연동하려고 했는데 잘 안되어서 어쩔 수 없이 코드가 공개되는 GitHub랑 연동한다. 이 코드를 숨기는 것보다 내가 개발하는 것..

프로그래밍 2016.01.24

02. Git 다운로드 및 GitLab과 연동

이제 local에서 버전관리를 할 수 있는 Git를 다운받고, 저번에 만든 GitLab과 연동하는 작업을 해 보겠다. 먼저 Git를 다운로드 하기 위해 다음의 사이트에 들어간다. http://git-scm.com/ 딱봐도 다운로드같이 생긴 버튼을 눌러서 받으면 된다. 본인이 windows 64bit가 아니라면 취소하고 다른 버전으로 받으면 된다. 실행하고 설치를 시작한다. 보통은 default 설정으로 하게 된다. 설치가 끝나면 default로 체크되어 있는 옵션에 의해 아무 폴더(바탕화면 포함)에나 가서 마우스 우클릭을 해보면 Git GUI here Git Bash here 이런 옵션이 추가적으로 뜨게 된다. 본인은 프로젝트용 폴더를 하나 만들고 마우스 우클릭으로 Git GUI Here을 선택했다. 그..

프로그래밍 2015.09.02

01. GitLab 가입 및 프로젝트 생성

10인 이하의 사용자에게는 무료로 원격 저장소를 제공하는 GitLab을 이용하여 local 계정의 code를 비밀리에 관리해 본다. GitHub는 공개가 원칙이라면, 여기는 비공개가 원칙이라는 점이 다르다. 인터넷에서 보이는 말들로는 local에 GitLab 서버를 따로 돌릴 수도 있다고 한다. 여튼 필자는 온라인에서 anywhere anytime access가 가능한 code basecamp를 만들고 싶었기 때문에 GitLab을 선택했다. 일단 적당한 ID와 비밀번호를 이용해서 https://gitlab.com에 계정을 만들고 로그인한다. 위와 같은 창이 뜬다. New project를 누른다. 적당하게 잘 입력해 준다. 새로 만드는 것이기 때문에 import는 선택하지 않았다. 그리고 개인 projec..

프로그래밍 2015.08.31

python 한글 출력을 위한 sublime text 3 build 설정

sublime text에서 한글을 print하려고 했는데, 자꾸 안되는 현상이 발생했다. 이럴 때는 다음과 같이 설정하면 된다. Tools-Build system-New build system을 누르면 빈 칸이 하나 뜨는데 다음과 같이 입력한다. { "cmd": ["C:/Program Files (x86)/Python34/python.exe", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python", "encoding": "cp949" } 그리고 적당한 이름으로 저장한다. 예를 들면 pythonmybuild.sublime-build 등으로 저장하면 된다. 마지막으로, build할 때, ..

프로그래밍 2015.08.27

Windows powershell 접근권한 변경

프로세스가 종료될 때 python으로 핸드폰에 notify하는 것을 구현하고 싶어서 windows powershell로 process binder를 만들었다. ps1확장자로 된 script를 실행하려 했더니 보안 오류가 떴다. Get-ExecutionPolicy를 해보니 Restricted 먼저 관리자 권한으로 Windows Powershell을 실행시킨다. 그리고 다음의 명령어를 입력한다. Set-ExecutionPolicy unrestricted 이러면 보안경고 어쩌고 뜬다. y 입력하고 엔터누른다. 그리고 스크립트를 실행하니 된다. 참고로 스크립트는 다음과 같다. Windows PowerShell ISE에서 할 수 있다. $b = 1 do { $a = get-process calc $a.waitfo..

IT/문제해결 2015.02.23

[겨울 터키+두바이+그리스] 숙소 및 투어 예약

일단 말하자면 터키는 겨울이 비수기이다. 즉 숙소나 투어 잔여공간 등이 대체로 널널하다는 얘기다. 우리는 3명이서 일정을 나눠서 숙소랑 투어를 예약하기로 했다. 한명은 두바이, 이스탄불 나는 카파도키아, 안탈리아, 파묵칼레 다른 한 명은 셀축, 아테네 이렇게 정해졌다. 투어 예약 필요성 조사 비행기를 예약하는 시점에서 다른 사람 2명에 의해 두바이에 사막 오프로드 투어가 예약되어 있었다. 이스탄불은 트램(지상으로 다니는 전철)이 잘 되어 있어서 따로 투어가 필요 없다고 판단했다. 괴레메는 마을은 작고 주변 돌지형이 엄청나게 광범위한 지역에 있어서 다른 사람 블로그들 보면 대체로 투어를 신청해서 했었다. 난 투어 4개중에 고르자고 같이 가는 사람들에게 선택지를 제시했는데 이사람들이 4개 다하자고 해서 돈 ..

[겨울 터키 자유여행] 계획 수립

왜 터키인가? 옛날부터 터키는 꼭 가보고 싶은 나라였다. 모자이크와 이슬람 사원, 이국적인 사람들. 반쯤 무너진 돌로 된 유적들. 그런 것들을 직접 내 눈으로 보고 싶었다. 우연찮은 기회로, 학기 중에 친구에게서 터키 여행 가보지 않겠냐고 연락을 받았다. 물론 기말고사도 닥쳐오고 기타등등이 있었지만 졸업하고 나서 대학원 가면 이제 장기여행은 완전 ㅂㅂ일 것 같아서 일단 가겠다고 했다. 비용은 어떻게 충당하나? 다행히도 집에서 돈을 대준다고 했다. 총 일정과 항공편 결정 친구랑 친구 룸메이트랑 나랑 해서 3명 가는데, 나만 기말고사가 늦게 끝나서 다른 사람들이 비행기 등등을 예약하기로 했다. 나는 아무것도 모른 채로 시험만 막 보다가 시험 끝나는날 하루 전에 비행기값 100만원+alpha를 입금하래서 일단..