Qt Quick 성능 좋다… 만족만족.
아래것은 근접화면
아래것은 플스에서 구동하면서 보여지는 모습
이게 뭐시다냐? 싶다면 아래 영상을 참조
https://www.youtube.com/watch?v=-igfCbdNeB4
나중에 코드 다듬어지면(언제가 될까?) github에 소스코드를 업로드 해볼생각.
끗.
Qt Quick 성능 좋다… 만족만족.
아래것은 근접화면
아래것은 플스에서 구동하면서 보여지는 모습
이게 뭐시다냐? 싶다면 아래 영상을 참조
https://www.youtube.com/watch?v=-igfCbdNeB4
나중에 코드 다듬어지면(언제가 될까?) github에 소스코드를 업로드 해볼생각.
끗.
Doki Doki! 활기찬 타이틀의 이 음성과는 뭔가 다른 반전들이 있는거같은데 이미 채널 섬네일과 인터넷 방송에서 도네 영상으로 중요한 몇몇 장면을 스포당한거같다 ㅠㅠ
그건 그거고 한국에서 맥 사용자 많지 않을거같지만 그냥 올려보는 잡다한 팁(?) 쉘 스크립트로 만들면 맥용으로도 배포할 수 있겠지만 그런건 한글패치 제작자에 대한 예의가 아닐테니 직접 수작업으로 패치하는 방법을 적어본다.
1. 먼저 최신버전의 한글패치를 받는다.
https://sites.google.com/view/dokidokikor/home
2. renpy 최신버전을 받는다.
https://www.renpy.org/latest.html
dmg파일로 받을필요 없이 tar.bz2 확장자 파일로 받는다. 그 후 다운로드 폴더에서 tar.bz2 파일을 더블클릭하여 압축을 풀어놓는다.
3. 게임 폴더를 연다.
– 한글 패치 다운 페이지를 참고하여 [로컬 컨텐츠 폴더]를 연다.
– 한글 패치의 파일 중 game 폴더 안의 파일 세개를 복사하여 [로컬 컨텐츠 폴더]의 game 폴더에서 덮어씌운다.
(모두 적용을 체크 후 대치를 클릭. game 폴더를 복사 후 병합을 하게되면 파일의 날짜가 대상폴더의 날짜보다 이전일 경우 덮어씌우지 않기때문에 이렇게 파일을 세개 선택하여 덮어씌우도록 한다.)
올바르게 복사되었다면 game폴더안의 fonts.rpa 파일의 크기가 2메가 미만에서 아래와같이 10메가가 넘는 파일로 변경된다.
– 한글 패치의 파일 중 renpy폴더를 [로컬 컨텐츠 폴더]에 붙여넣어 대치한다.
– [로컬 컨텐츠 폴더]에서 DDLC 패키지 폴더를 연다.
– 패키지 폴더에서 Contents – MacOS – lib – Darwin-x86_64 – Lib 폴더를 연다. 그럼 아래와같은 파일이 보인다.
– renpy 홈페이지에서 받은 sdk폴더에서 lib – darwin-x86_64 – lib – python2.7 폴더를 열면 아래와같은 파일이 보인다.
– 마지막으로 열어놓은 sdk의 python2.7폴더의 renpy폴더를 DDLC 패키지 폴더의 Lib폴더에 붙여넣어 기존 파일들을 대치한다.
4. 실행한다.
완료.
나중에 버전업데이트가 되어서 안되는 때가 있을지도 모르지만… 그럴리 없으려나? 암튼 이쯤에서 끝!
덧. 1차 플레이 후기(?)
엔딩 크레딧까지 봤는데 크레딧에서 나오는 CG의 절반정도밖에 못봤다. 첨부터 다시 해봐야겠다(…). 참고로 고어틱한거 싫어하는 사람은 플레이 전에 한번 상기하고 해보길. (어차피 지금 시점에 트위치 시청자라면 중요한거 다 스포 당했으려나?)
format은 아래와같이
QAudioFormat formatAudio; formatAudio.setSampleRate(44100); formatAudio.setChannelCount(2); formatAudio.setSampleSize(24); formatAudio.setCodec("audio/pcm"); formatAudio.setByteOrder(QAudioFormat::LittleEndian); formatAudio.setSampleType(QAudioFormat::SignedInt);
audio device info는 아래와같이
QAudioDeviceInfo getAudioDevice(const QString &name) { foreach(const QAudioDeviceInfo &deviceInfo, QAudioDeviceInfo::availableDevices(QAudio::AudioInput)) { if(deviceInfo.deviceName() == name) { return deviceInfo; } } return QAudioDeviceInfo(); }
audioDevice = getAudioDevice(“hw:CARD=G5,DEV=0”);
그 후 start하면 iodevice에 어떠한 데이터가 수신되지 않는다. 결론은 이유가 Qt는 24비트 셈플은 S24_LE로 초기화 하기때문이였다.
쉘에서 아래처럼 정보를 확인해보면 지원하는 포맷은 S24_3LE(…)
$ cat /proc/asound/card2/stream0 Creative Technology Ltd Sound BlasterX G5 at usb-3f980000.usb-1.3.1, high speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 1 OUT (ASYNC) Rates: 44100, 48000, 88200, 96000 Data packet interval: 500 us Capture: Status: Stop Interface 2 Altset 1 Format: S24_3LE Channels: 2 Endpoint: 2 IN (ASYNC) Rates: 44100, 48000, 88200, 96000 Data packet interval: 500 us
좀 더 깔끔하게 코딩하기위해 Qt의 Multmedia를 사용하려했지만 결국 alsa api를 써야할거같다. 아… 왜 저런 차이를 생각하지 못하고 네시간을 삽질했을까… PulseAudio를 활성화 시키면 리셈플링 되어 처리가 가능할거같은데 lite 이미지에서 PulseAudio를 활성화 하는 방법이 구글링되지않아 그건 포기해야겠다.
TV의 광 출력 -> USB DAC -> 스피커로 구성 된 환경.
TV가 광으로 소리를 출력할 경우 자체 볼륨조절이 안된다. (PCM출력일 경우 조절 되어서 출력되면 좋을텐데…)
몇번 헛돈을 쓴 끝에 SoundBlasterX G5가 광 입력을 USB 인터페이스와 관계없이 아날로그 출력이 가능하다는것을 알게되어 라즈베리 파이에 IR 수신기를 연결하고 리모컨으로 광 출력의 볼륨을 조절. 단점이있다면 전력 부족인지 정식적으로 리눅스에서 제품이 보장되지 않아서인지 DAC의 초기화가 잘 안된다. USB를 여러번 뽑고 꼽아봐야 인식된다. 라즈베리 파이를 재부팅시키면 USB 전원이 끊어졌다 연결되는데 이 때 인식이 안될경우 약 1분정도 뽑고 다시 꼽으면 대체로 인식되는 듯 하다. (내부 전원이 완전 방전되지 않아서 그런가?) 즉 왠만하면 리즈베리 파이는 끄지 말아야한다(…). 이 부분은 나중에 윈도 10 환경의 라떼판다 제품으로 때워 볼 예정.
일단 이정도로 해놓고 천천히 UI를 제외한 소스코드를 정리해서 올려봐야겠다.
덧.
볼륨조절을 노브(knob)로 돌려서 해야하는 제품은 스피커 볼륨 조절기로 조절하는것과 다를바 없으므로 의미가 없고, 그런 DAC가 아닐경우 보통 USB 인터페이스에서 OS로 신호를 받고 다시 DAC로 전송하는데 이 때 딜레이가 발생한다. 특히 리듬게임을 하면 정확도가 차이날 정도로 딜레이 발생.
덤으로 몇달이나 제품을 찾아봤지만 이 제품만큼의 가격으로 믿을만한 음질에 이런 구성이 가능한 하드웨어를 찾지 못했다. 스피커와 궁합이 꽤나 맞는건지 아날로그 출력도 상당히 만족 중.
사용할 때 마다 구글링하게되어 남기는 단순 메모목적 글.
– 파티션 테이블 초기화
mklabel [msdos | gpt | etc…]
– 파티션 생성
mkpart [primary | logical | extended] [btrfs | ext2~4 | fat32 | fat16 | etc…] start end
시작이 0이면 정렬되지 않은 파티션이라는 경고가 나온다.
2048s 이런식으로 s를 붙여서 윈도와 호환을 위한 정렬 된 파티션 생성 가능.
메뉴얼에서는 단위를 MiB로 지정하는데 이유는 몰라도 MiB로 지정하면 4K 섹터 정렬이 되는가보다(…)
ex)
mkpart p fat16 2048s 32MiB
mkpart p ext4 32MiB 512MiB
mkpart p ext4 512MiB -1s
위와같이 생성하면 경고 없이 잘 만들어졌다.
– 부팅가능 플레그 지정
set 1 boot on
– 결과
Disk /home/iruis/RPiCM3.img: 839MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 33.6MB 32.5MB primary boot, lba
2 33.6MB 537MB 503MB primary
3 537MB 839MB 302MB primary
좀 더 알아보고 싶지만 귀찮다. 그냥 이쯤에서 끝.