Skip to content

Conversation

@ngocdh
Copy link
Contributor

@ngocdh ngocdh commented Apr 13, 2021

iOS now has stereo sound!

I had to modify opus lib because of "Compile sources as" "Objective C++" option when compiling for iOS.
-> not anymore thanks to @jeroenvv

Note that for the UI to work nicely (able to quit the settings window for example), #1450 is required.

TODO: Bluetooth headset not working correctly (maybe because of different sample rate). -> or is it, because Android Bluetooth is working fine?

Update: I also added a feature for mobile devices (iOS and Android) in this PR: possibility to switch to built-in mic instead of the external device chosen automatically by the OS, and back. It's helpful when I'm jamming on mobile without external soundcard and want to talk when I'm not playing. More info here: #1512 (comment)_

@ann0see ann0see linked an issue May 26, 2021 that may be closed by this pull request
@ann0see
Copy link
Member

ann0see commented May 26, 2021

Ok. This PR might be ready for the next release (not 3.8.0). Thank you for all your great work!

I‘ll leave this PR alone for now (= I’ll unsubscribe) and would be happy if someone else took over. Will need to focus on the website.

What should be checked:

  • Code style (see clang format); remove commented code
  • Basic code review: what can still be improved? Is the logic ok, can improvements be made?
  • Improve the commit history of this PR (or squash & merge it later on?)
  • Decide about code signing and distribution
  • What should we do about UI issues

@ann0see ann0see removed their assignment May 26, 2021
@ngocdh ngocdh marked this pull request as ready for review May 26, 2021 22:31
@ngocdh
Copy link
Contributor Author

ngocdh commented Jun 7, 2021

Been trying to fix the Connect button crash without success. Turns out it has to do with iOS sockets handling when device goes into idle mode.

Ref: https://www.b4x.com/android/forum/threads/udpsocket-silent-crash-of-app-after-using-iphone-standby-button.85565/

Crash solution: https://developer.apple.com/library/archive/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/CommonPitfalls/CommonPitfalls.html

However, TODO: reopen socket.

Update: no more crash after idle. Solution: ignore SIGPIPE, check return value of sendto, if < 0, reinit the socket and resend.

@emlynmac
Copy link
Contributor

So it seems (for beta testing at least), any dev account should be able to build and upload to TestFlight, no approval process involved.
https://developer.apple.com/support/app-store-connect/
It would be helpful if anyone with a dev account can help with this. Not sure though if the team is ok?

Are there anyone with an apple dev account voluteering already, or still out there to raise their hand? (sorry if I missed it)

Yes - I can help out here. I'll be working in the iOS build once I have the macOS build signed and figured out.

@ann0see
Copy link
Member

ann0see commented Jun 12, 2021

Hmm. Something seems to be wrong with this PR (the diff looks totally wrong). You should maybe apply your code on a clean branch again (and generate separate commits) afterwards open a new PR or git push --force it to your master branch. Have a look at the translation file: https://github.com/jamulussoftware/jamulus/blob/master/TRANSLATING.md which might help you getting the commit history right.

@ngocdh
Copy link
Contributor Author

ngocdh commented Jun 12, 2021

Ok I'll try that.

@ann0see
Copy link
Member

ann0see commented Jun 12, 2021

I've saved your changes now here: https://github.com/ann0see/jamulus/tree/ngSave

@ngocdh
Copy link
Contributor Author

ngocdh commented Jun 12, 2021

Thanks! I'm thinking about creating a brand new branch from jamulus/master, then merge from a blob from my branch before today's commits, without those language files. Do you think it's possible?

@ann0see
Copy link
Member

ann0see commented Jun 12, 2021

No. You should not merge your changes manually. I assume this will make it worse. The cleanest (and easiest way) would probably be to get your code and apply it manually on a new branch.

It's probably possible to fix it somehow, but I'm not that confident with git to tell you exactly how to fix this problem.

I know @hoffie is quite good at sorting git out. Maybe he can help you?

The best way is not a merge, but a rebase if you want to update your branch. It's more complicated sure. Since I also don't often use git rebase, I would probably get me a new branch, cherry pick the commits I want and then force push this branch. However I doubt this is a good solution here.

@ngocdh
Copy link
Contributor Author

ngocdh commented Jun 12, 2021

I would probably get me a new branch, cherry pick the commits I want and then force push this branch.

That's kind of like what I meant. Will try it first.

@ann0see
Copy link
Member

ann0see commented Jun 12, 2021

I think something like git rebase -i might work (search the net for interactive rebase).

@pljones
Copy link
Collaborator

pljones commented Jun 12, 2021

This still seems like a completely invalid commit, given what it's meant to be doing.

$ git status

That should show your current status on your current branch. When you're ready, you should have all your work committed to your branch locally, so there should be no changed files locally.

Ideally then do a git diff against the base commit of your branch - i.e. where you branched from the trunk of master - to check the changes are what you expect and only what you expect. It may be worth getting your local master back to that point and doing a rebase with squash, to reduce the number of commits, too.

Once you're happy with what you have on your branch...

$ git checkout master
$ git pull upstream master; git pull upstream master --tags --force
$ git push; git push --tags --force

This brings your local repository up to date with jamulussoftware/jamulus (assuming you've used upstream as the remote name for that) and the pushes those changes to your github repository.

$ git checkout -

...gets you back to your branch.

$ git rebase -i master

The reason for the -i is to get the list of commits that git think need applying. They should only be the commits you've just checked above. Anything else, delete it. Note that this can go horribly wrong, so it can be worth taking a copy of the whole of your working directory...

The rebase can also, quite legitimately, show conflicts. However, I'd be surprised here, as this should be fairly isolated code, right?

$ git push --force

And once you've resolved any problems, push the changes with --force to overwrite what's currently there.

It's well worth repeating the rebase process every time any commits have happened to jamulussoftware/jamulus - the sooner you get to see and fix conflicts the better.

@ngocdh
Copy link
Contributor Author

ngocdh commented Jun 12, 2021

I’ve got a new clean working branch here https://github.com/ngocdh/jamulus/tree/ngocdhmaster2. Should I just create a new pull request and ditch this one? Simpler, cleaner?

@ngocdh ngocdh mentioned this pull request Jun 12, 2021
@gilgongo
Copy link
Member

Closing and replacing with #1865

@gilgongo gilgongo closed this Jun 13, 2021
@ann0see ann0see removed this from the Release 3.9.0 milestone Feb 16, 2022
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

Successfully merging this pull request may close these issues.

[android] chat dialog cannot be closed

10 participants