10000 곡을 바꿀 때 키보드 동작과 마우스 동작이 다르게 반영 · Issue #31 · sunghwan2789/osu-lyrics · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

곡을 바꿀 때 키보드 동작과 마우스 동작이 다르게 반영 #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sunghwan2789 opened this issue Aug 16, 2016 · 58 comments

Comments

@sunghwan2789
Copy link
Owner

2016-08-16_221203

osu! 우상단의 컨트롤을 마우스로 눌러서 곡을 바꾸면 osu!Lyrics에서 마지막 가사가 나오고
키보드를 눌러서 곡을 바꾸면 osu!Lyrics에서 첫 가사가 나온다!

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

내일까지 디버깅해보고 말씀드리겟음.

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

아니 UNDO 하지 마시라고요....
다시 REUNDO 해주세요.

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

싱크 개꼬엿잖아요 하.....
이상한거 없에놨더니 왜 자꾸 이상한 방식으로 해결볼라고함.
언두해서 해결하면 아무 의미도없음...

83

@sunghwan2789
Copy link
Owner Author

BASS_ChannelGetAttribute으로 TEMPO 값을 얻을 때 실패하면 발생하는 문제.
왜 실패하는지는 모르겠고(ErrorCode = 19), out 변수에 기본값을 설정해서 해결.

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

아니 그건 둘째치고 Undo해서 꼬인코드는 어떡할건데요. Undo하지말라고했잖아요.

@sunghwan2789
Copy link
Owner Author

다시 받어..

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

아니 그럼 그게 문제가아니라 왜 그걸 롤백하냐고요. 그걸 롤백한게 문제지 하....

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

다시받으면 처음부터 다시짜야되는데 ㅡㅡ

@sunghwan2789
Copy link
Owner Author

수동으로 conflict 해결해..

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

제 발 좀 부탁이지만 코드 정리해두면 언두하지마요.... 이거 정리한 그대로 수정할 생각을 해야지 그걸 롤백해서 수정하면 아무 의미 없다고요. 할거면 이야기좀 하고해요. 문제있으면 이슈열고.

@sunghwan2789
Copy link
Owner Author

코드 정리를 제대로 하면 모르겠는데
탭 문자부터 시작해서 불필요한 부분에 최적화를 왜 하는지 모르겠네
뭔가 쓸데 없어 보이는 코드가 이유가 있어서 있는 거라는 생각을 좀 해줬으면 좋겠다
패치 노트도 좀 보고 왜 있나 보면 되잖아

@sunghwan2789
Copy link
Owner Author

조력자면 조력자답게 기존 코딩 철학(원형 유지)는 좀 지켜줄 수 없을까?

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

텝문자는 여러가지 프로젝트때문에 수정이 힘든거고 쓸데없어보이는코드는 블켓님이 더 많아요... 그레서 수정하는거에요... 지금 3시간동안 한게 이리저리얽혀서 기분이 안좋아졌단 말입니다 ㅡㅡ...

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

Path 함수부터 쓸데없는 undordered_map. 필요없는 문자커팅.

@sunghwan2789
Copy link
Owner Author

Path 함수는 내가 생각해도 별 쓸데없어
근데 나는 있는 걸 갖다 쓰자는 주의거든
그리고 audioInfo 데이터베이스가 왜 필요한지 내가 안 적어놨니

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

그건 다른 방식으로 수정해야된다고요. 그리고 그게 없어도 캐시된 값을 사용해도 이미 값이 set 되어있어서 동일한 결과가 나온다고요.... 내가 며칠이고 테스트해서 디버깅하고 확인한건데

@sunghwan2789
Copy link
Owner Author

??? 니가 원하는 동작 방식이 뭐였냐

@sunghwan2789
Copy link
Owner Author

나는 이거거든
비트맵 선택 화면에서 위아래 비트맵 번갈아서 선택하면 자막도 바껴야지
니가 전에 코드 삭제한대로 하면 이게 안 돼
심지어 이거는 내가 dll injection 시도하면서부터 유지한 동작이야

sunghwan2789 added a commit that referenced this issue Aug 16, 2016
@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016
  1. 이상하고 복잡한 shared_ptr를 이용한 instance 교환 방식 수정.
  2. 필요없는 Path함수를 이용한 //?/ 제거.
  3. struct로 해결할수있는걸 unordered_map을 통한 정보전달.
  4. 토큰인 문자를 #define이나 const char[]로 정의해주디 않아 무엇인지 확인하기 힘든 점.
  5. Hooked Function이 class 안에 static으로 정의된것은 기본 C++ 형식에 어긋남.

내가 며칠이고 시도해서 했을때에는 몆번이고 리컴파일하고 디버깅해서 확인할때는 잘 됬음.
비트맵 번갈아서 선택해도 아주 잘 작동했음.

내가 일부러 그럴까봐 보네는 값이 기존하고 같은지 수십번이나 테스트해서 확인함. 정확히 일치했음.

@sunghwan2789
Copy link
Owner Author

2번은 내가 말했지 원형 유지라고
5번은 좋은 생각 있으면 고쳐주고
1번은 싱글톤 패턴인데 공부삼아 넣어봤다. 이상한 건 아니야

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

더럽게 이상함. static인데 왜 대체 넣는거임...
static instance; 인데 왜 getInstance로 한번 더 얻는거임??

그냥 instance로 접속하면되는데. 저런 getInstance함수는 instance가 인수로 받아질때 shared_ptr를 사용해야될때 메인 instance에서 다른 object의 instance를 받아올때 사용하는 방식이에요....

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

void function(class Foo* parent) { Foo::BooObject *instance = parent->Boo.GetObjectInstance(); }

@sunghwan2789
Copy link
Owner Author

Singleton::GetInstance()를 안 쓰고 instance만 써도 초기화가 되?

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

당연히 초기화되죠 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

@sunghwan2789
Copy link
Owner Author

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

포인터일때 메뉴얼로 초기화가 필요해서 Instance를 만들 필요가 있는거지 포인터도 아닌 static인데 왜 초기화가 안됨... class object는 에초에 함수를 포함하는 pure virtual function object가 아닌데.

@sunghwan2789
Copy link
Owner Author

static shared 포인터이면 초기화가 필요 없어?

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

shared든이든 private이든 처음 process가 initalize 될때 전부 초기화됩니다.... 브릭포인트걸고해봐요;;;

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

그렇게치면 std:: 의 memory management도 처음에 초기화안해줘서 싱글톤해줘야됨?...

@sunghwan2789
Copy link
Owner Author

뭐여 여튼 그러면 http://silviuardelean.ro/2012/06/05/few-singleton-approaches/ 이 글에서는 왜 다 바로 instance를 갖다 쓰지 않은거야

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

저건 포인터잖아요... &로 헨들링하는게아니라 포인터니 new 써서 매뉴얼로 initalize해줘야죠...

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

static Observer instance해놧잖아요...

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

좀더 깔끔하게 다시 만들어놨으니 이곳에서 수정할곳이 있으면 해주세요.

@sunghwan2789
Copy link
Owner Author

그래? 좀 더 공부를 해봐야겠는뎅

@sunghwan2789
Copy link
Owner Author

아블아 근데
자막 안 바껴..

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

님 디버그로 컴파일하심? 디버그로 컴파일하고 쓰면 자막이 안바뀌더라고요

@sunghwan2789
Copy link
Owner Author

bloodcat.com/_data/static/2016-08-16_234221.wmv

ArtBlnd pushed a commit that referenced this issue Aug 16, 2016
This reverts commit 5c5aa35.
@sunghwan2789
Copy link
Owner Author

마리업서!

@sunghwan2789
Copy link
Owner Author

때릴거야 저걸 왜 돌린거야

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

일단이리해두고 곧 수정함. 일단 이리해두셈.... 제대로 작업해둠

@sunghwan2789
Copy link
Owner Author
sunghwan2789 commented Aug 16, 2016

모레 복귀야..

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

오늘안레 할거임밤새서

@sunghwan2789
Copy link
Owner Author

거 꼭 Revert할 필요가 있나ㅜㅜㅜㅜ

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

당연.... 아주 저거 볼때마다 언제 한번 정리해야지... 정리해야지... 하다가 드디어정리한건데 역정리당함... ㅂㄷㅂㄷ....

@sunghwan2789
Copy link
Owner Author

Detours 후킹 언후킹은 그대로 냅둬
거 뭐 빨라진다고

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

그건 냅둘예정... 만들기도 귀찮음. Detours 후킹은 이레뵈도 상당히 안전함

@sunghwan2789
Copy link
Owner Author

아야 cutstringfromindex 저거 뭐냐 저건!

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

말그대로 앞부분 잘라내는거임 //?/ 잘라내는용도

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

저거 API 함수하면 syscall하는데 시간 얼마나 걸리는지알음?.. 노트북할때는 레이턴시 느낌날정도임;; 저것때매 랙걸린적있음 실제로

@sunghwan2789
Copy link
Owner Author

수정한 거 보면 필요없긴 한데 영상 올린 게 해결될지 두고보자! ㅂㄷㅂㄷ

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

낼아침보면 수정되어있을거임 걱정 ㄴㄴㄴ OpenGL 후킹도 이번달안에 후닥 끝내버려야지

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

글자 출력은되니 이제 클라랑 링크해서 자막출력만하면됨

@sunghwan2789
Copy link
Owner Author

long unicode path prefix를 api 함수를 이용해 부자연스럽게 지우려고 하지 말라니ㅜㅜㅜ
없어져서 슬펐는데

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

https://github.com/dotnet/coreclr/issues/6527
CLR Debugger 탓이긴 하지만 이정도 분석능력이 되서 오시면 따지게 해드림 ㅎㅎㅎㅎ

@sunghwan2789
Copy link
Owner Author
sunghwan2789 commented Aug 16, 2016

저거랑 뭔 상관이야.. 여튼 힘내거라

@ArtBlnd
Copy link
Collaborator
ArtBlnd commented Aug 16, 2016

자랑임 나 저걸로 이슈트레킹해서 C# 컴파일러에 채택됨

ArtBlnd pushed a commit that referenced this issue Aug 17, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
0