목록전체 글 (483)
음악, 삶, 개발
회전툴의 핵심은 회전할 anchor 포인트를 잘 선택해줘야하는것이다. 원을 둘러싼 원을 그리는 예제를 해보자. 1. 원 주의를 둘러쌀 작은 원을 그린다. 2. 두 원을 Align 패널을 사용하여 정렬한다. 3. 위의 작은 원을 적당히 아래로 붙여준다. 4. 이제 R 키를 눌러, Rotate 툴로 변경후, cetner 지점을 alt 클릭해준다. 이때 중요한건 선택툴로 먼저 돌릴 도형을 선택한뒤에, R 키를 눌러 Rotate 툴로 변경하는것이다. 5. Ctrl + D 를 연타한다. 여기서 Ctrl + D 는 전에 내가 수행한 작업을 반복시켜준다.
이 부분에 대해, 추가적인 연구가 필요한데 일단 Nathan 과 Peter 가 얘기해준 부분을 남겨놓는다. 추후 공부하면서 이 포스팅은 다시 업데이트 하는걸로. Nathan Quick tip that my be helpful to you. If you set JUCE_ENABLE_REPAINT_DEBUGGING to enabled in the projucer under the juce_gui_basics module, then you can see when areas of the screen are being redrawn. I have found that using a child component for drawing ui elements means that it will only redraw the ..
Debug 모드가 2배정도 Relase Mode 보다 높다. 따라서, CPU 사용량을 정확히 측정하려면 Release Mode 로 VST3 를 컴파일해야한다.
아래 포스팅한 오디오 thread 와 메세지 thread 에 대한 글들을 숙지하였다면, 이제는 먼가를 그려볼 시간이다. PPQ 의 값을 사용하여야한다. 공식문서 ppq 값을 가지고있는 클래스로써, AudioProcessor 클래스의 함수 getPlayHead() 함수를 이용하여, 오디오 thread, 즉 processBlock() 안에서 가져와야한다. 아래는 AudioProcessor 클래스의 getPlayHead() 에 대한 설명이다. 반드시 processBlock() 에서만 호출하라고 되어있다. getPlayHead() 는 AudioPlayHead 객체의 포인터를 return 한다. 이 포인터로 juce::AudioPlayHead::CurrentPositionInfo 객체를 얻는다. void proc..
앞선 포스팅들에서, processBlock() 과 audio thread, gui thread 에 대해 알아보았다. audio thread 와 message thread 를 공유하는 변수를 사용하기위해서는 std::atomic 에 대해 알아야한다. 아래의 링크들을 먼저 읽어보도록 한다. [C++11] atomic cplusplus 닷컴 cplusplus 닷컴 위의 링크에서는 아래와 같이 설명하고있다. Atomic types are types that encapsulate a value whose access is guaranteed to not cause data races, and can be used to synchronize memory accesses a..
프로세스는 뭐고 스레드는 뭔가요? 위의 강의를 강력 추천하다. 짧게 프로세스와 쓰레드를 이해할수있다. 하나의 processor 는 여러개의 process 를 갖는다. ( 크롬, 카카오톡, 윈엠프 등등..) 하나의 process 는 여러개의 thread 를 갖는다. 이 thread 들은 process 가 제공하는 한정된 자원을 공유한다. 서로 다른 thread 가 하나의 변수에 동시에 손을 대면 error 이다. 따라서, processBlock() 같은 함수는 audio thread 이기때문에, gui thread 또는 message thread 가 해야할 다른 일들을 절대 시켜서는 안된다. 또한 audio thread 와 gui thread 가 공유하는 변수..
한 객체의 색깔을 다른 객체에게 복사할때 사용한다. 사용시 주의할점은, 색깔을 복사당할 객체가 먼저 선택되어야한다. 그후 Eye dropper 툴을 선택하여 색깔을 선택한다. 복사당할 객체를 먼저 선택하는것을 볼수있다. Eye dropper 툴을 사용하여, 여러개의 객체의 색깔을 서로 다르게 주고자할때, 선택툴과 Eye Dropper 툴을 단축키로 V 눌렀다가 I 눌러다가 하면서 왔다갔다 하는것은 번거러운일이다. 이때 Ctrl 키를 누르면 Eye Dropper 에서 일시적으로 선택툴로 갈수있다. 이렇게 Eye dropper 를 사용하기위해서, 유튜브 강좌를 보면 많은 사람들이 팔레트로 사용할 색깔을..
아직 이해못함. 추후 정리.
클리핑 마스크 나는 클리핑 마스크의 개념이 언제나 잘 이해가 가지않았다. 그리고 2개의 도형을 선택후 클리핑 마스크를 할때 어떤 도형이 위인지 아래인지 항상 헷깔렸다. 아래와 같은 방식으로 외우기로하였다. 클리핑 마스크 : a 라는 틀을 가져와서 도형 b 위에서 망치로 내려치는것. 1. 망치로 내려치는 명령어 : 2개의 객체를 선택후 Make Clipping Mask 2. 망치로 내려치기때문에, 틀이 될 도형이 당연히 위에 있어야한다. 3. 틀은 색이 없다. 따라서 내가 이 틀에 색깔을 부여한다고해도, 망치로 치고나면 소용이없다. 이때 눈여겨볼것은, 망치로 내려치는순간 즉 Make Clipping Mask 를 실행한 순간 2개의 도형은 Clip Group 의 하위..
일러스트레이터에서는 3가지 방법을 사용하여 마스크를 만들수있다. 이중 첫번째 방법인 Draw Inside 를 소개한다. 일단, 이 포스팅을 만들기위해 내가 시청한 유튜브 tutorial 들을 보는것을 추천한다. 영어지만, 못알아듣는다 하더라도 화면만 봐도 이해할수있을것이다. Masking in Adobe Illustrator CC Illustrator - Place one object inside another - Clipping Mask vs Draw Inside 1. Draw Inside 툴박스 하단에 보면 Draw Inside 라는 버튼을 볼수있다. 객체를 선택후 Draw Inside 를 클릭후 그위에 그리면 된다. 이때 이 객체는 이미 마스크인 객체여서는 안된..