Siina는 다중 오실레이터 및 마스터 볼륨(앰프) ADSR이 지원되는 간단한 웹 기반 피아노 앱입니다.
군 복무 기간 중에 심심풀이로 개발을 시작하여 약 1년 동안 업데이트를 했던 토이 프로젝트입니다.
현재 GitHub Pages로 v1.0.0 버전을 배포하고 있습니다. 하지만 후술된 바와 같이 Siina는 PC 상에서의 로컬 환경에서만 작동될 것을 목적으로 개발되었기에, 일부 기능이 제대로 작동되지 않거나 오작동할 수 있습니다. Siina v1.0.0을 사용해보려면 여기를 클릭하세요!
국방의 의무를 다하기 위해 팔도 각지에서 각자 맡은 바를 다하고 계시는 모든 장병분들 불철주야 고생이 많으십니다!
전역 (미복귀 휴가) 을 하고 1년이 넘은 시점이 되니 제가 올렸던 이 토이 프로젝트가 여러 장병분들 사이에서 근무의 무료함을 해소해주고 있는지 사실 궁금해지긴 하네요..! 어떻게 직접 확인해볼 수 있는 방법도 없고
의향이 있으시다면, 군 인트라넷 내에서 제 프로젝트의 근황(?)이 어떤지 제보해주시면 좋겠어요! 장병분들의 국방 퀘스트가 무미건조하다는 것은 마찬가지란건 저 또한 매우 잘 알지만, 여러분의 제보가 저의 무미건조한 일상에 물을 뿌려줄 수 있습니다😇
📧 me [at] somni.one / 🕊️ Twitter @somni_somni / 🐘 Mastodon @somni@planet.moe
본 버전(v1.0.0, 브랜치 old-v1.0.0
)는 전역 전 미복귀 휴가를 실시하기 전에 업데이트된 마지막 버전이고, 직전 버전(v0.0.4-preview, 브랜치 old-v0.0.4
)에 비해 오실레이터 부분에 WebAudio API를 적극 이용한 것이 주된 변경 사항입니다.
또한 이 버전부터 사운드폰트 데이터를 JSON 형태로 공유가 가능해졌습니다.
버전 v1.0.0까지의 Siina는 로컬 환경 (서버 없이 소스 코드를 내려받아 사용자의 웹 브라우저에서 직접 실행) 에서만 작동될 것을 목적으로 개발되었습니다.
여기를 참고하거나, 이 링크로 직접 다운로드하여 해당 버전의 소스 다운로드 및 압축 해제한 후, siina.html
을 웹 브라우저로 실행해주세요.
이 외 자세한 사항은 QuickStart.txt 파일을 참고해주세요.
- Flyout의 바깥 부분에 마우스 버튼을 누를 때의 이벤트(
MouseDown
) 콜백에서, Flyout을 닫을지 판단하는 부분에서mouseEvent.path
가 쓰였는데, 이는 비표준 기능으로 현재 Chrome 및 기타 브라우저에서 더 이상 지원되지 않고 삭제(deprecated)되어 개발자 콘솔 상에 오류를 표시하고 정상적으로 동작하지 않습니다. Event.path
와 동일한 값을 제공하는 표준 함수로Event.composedPath()
가 있어 대체만 하면 되지만, 이 브랜치(버전)은 보존용이므로 소스 코드를 수정하지 않습니다.
프린트된 Siina v1.0.0 소스 코드, 총 30장 60페이지
그간 개발한 Siina의 소스 코드를 인터넷에 올리기 위해 도합 60페이지 가까이 프린트하여(...) 가져왔고, 손수 옮길 예정이였습니다...만! 익명의 사용자분께서 어떠한 방법을 통해 이 버전의 소스 코드를 전부 보내주신 덕분에 고생을 덜 수 있었습니다. 감사합니다!
소스 코드에서 일부 민감한 정보는 자체 마스킹하여 업로드하였습니다. 그 외에는 군 내에서 개발을 진행했던 내용물과 일치합니다.