hoehermann / purple-gowhatsapp

Pidgin/libpurple plugin for WhatsApp Web.
GNU General Public License v3.0
276 stars 34 forks source link

Research PTT Flag #168

Closed hoehermann closed 10 months ago

hoehermann commented 1 year ago

Do I want to use it for voice messages?

beadon commented 1 year ago

Push To Talk -- a very neat addition, however it could be complex to manage a lot of these messages.I suspect this is lightly used.

However, it is called out in a few articles as a deficiency of Pidgin. Is this somethign supported natively within the Pidgin interface ?

The comparison is made here for PTT , WeChat vs Pidgin : https://www.slant.co/versus/1927/4381/~wechat_vs_pidgin

hoehermann commented 1 year ago

As far as it was described to me, "Push To Talk" is just a WhatsApp brand name for "voice message". I have not looked into it in detail.

This is not the "voice call" feature. That is as far as I know not supported by the WhatsApp Web API hence I cannot add it to this plug-in.

deuill commented 11 months ago

Since I'm driving through: Ptt: true is meant to denote voice messages, which offer slightly different UX in official clients (back-to-back voice messages play as one continuous message, there's waveform displays, etc.), but come with their own set of requirements:

There's some implementation here, with waveform bits here and some additional context/discussion here.

The distinction between Ptt: true and Ptt: false can be seen in official clients by sending a voice message vs. sending an audio message -- the latter presents slightly different UX, but is eminently workable either way.

hoehermann commented 11 months ago

Thank you for your contribution @deuill. Thanks to your information, I was able to add the feature to the plug-in. Well, almost. I am currently stricken with a case of stupidity and cannot get the waveform to look right.

beadon commented 11 months ago

@hoehermann which IRC channel ? Or whatsapp(?) channel are you in, let's collab ! direct message ..

hoehermann commented 10 months ago

Got it. I stumbled over C being C. Calling abs() instead of fabs() on a smallish float will dutifully return zero. 🤦 A true classic.

The waveform is not perfectly accurate, but close enough by my standards.

@beadon Thank you for the offer. 🙂 This one I wanted to find on my own. I will probably get back to you on another occasion.