Gource shows Mangler’s Development

Mangler on Android… What’s the Deal?

Our Android port of Mangler is pretty much at a standstill. We are unable to find any Android/Java developers willing to work on the project. No one on our team is a Java developer — let alone an Android developer.

Dan has gotten our core lib and its major dependencies ported to the Andrdoid NDK and he has built JNI wrappers for the functions. In fact, last I heard, he could successfully connect to a server and send audio (a.k.a. noise) from his phone.

The missing ingredient at this point is a Java/Android developer to pick up the pieces and build a UI. Until someone volunteers, we’re pretty much stuck and/or moving at a snail’s pace. Dan and I have both reached out on the various Android forums and IRC channels looking for willing developers. So far, none seem to be interested.

Mangler Jukebox — A Ventrilo client that plays MP3s

As an example of what can be done with the libventrilo3 library, we’ve created the much requested jukebox bot that will play MP3s from your music library.

It’s not installed/compiled by default, it’s definitely not stable, and the only way to get it is to compile from source (and even then it takes some effort). The jukebox plays random songs from your music directory, allows users to search for songs, has volume control, and refuses to play Creed songs on principle.

You’ll need some additional libraries to get the jukebox working: libmpg123-dev libmpg123-0 libspeexdsp-dev libspeexdsp1

After the bot logs in, enter global chat with it and type: !start

Chat Commands:

!start -- start playing music
!stop -- stop playing music
!next -- play a new random track
!move -- move to your channel
!play [song/artist/file name] -- search for a song by filename and play the first random match
!volume [0-1] -- Set the volume to the specified level: ex: !volume 0.5

Usage:

mangler-jukebox \
    -h hostname:port \
    -u username \
    [-p password] \
    [-c channelid] \
    [-v volume_multipler] \
    [-s stereo; celt only] \
    /path/to/music

New Developer Snapshot: 1.1.20100227 is available

The 1.1.20100227 snapshot is available with the following new features:

  • Music player integration for Rhythmbox (show the currently playing song)
  • Voice activation for transmit
  • Support for setting a default channel at login. Right click on the channel and select “set default”
  • Allow custom ALSA device names to be entered
  • Fix clipping on amplification
  • Added a VU meter to show outbound transmission signal strength
  • Added a CLI jukebox client that will play MP3s to a channel and accept commands via global chat
  • Channel editor, user editor, and rank editor is available for admins
  • Many, many bugs were fixed
  • Many, many bugs were created

While the list may seem short, these features required quite a bit of work. I’d like to thank Haxar, Bob Shaffer, and Felyza Wishbringer for their efforts.

Dan is still plugging away at the Android port, but there’s still no ETA. If you know a Java developer, he sure could use the help.

New Developer Snapshot (1.1.20100116) Available

The latest developer snapshot is now available and contains the following new features:

  • Ability to compile libventrilo3 on Apple platforms
  • Added support for many admin functions in libventrilo3 (see the wiki for details)
  • Master volume control
  • Accessibility fixes for orca users
  • Per-user volume settings are saved across restarts
  • Channel passwords are saved across restarts
  • New admin button to log in as a server admin
  • Added an [ADMIN] flag if the user is logged in as a server admin
  • Added an [A] channel flag if you’re an admin on a specific channel
  • Admin users can drag/drop users into channels
  • Admin users can kick and ban users via right-click menu
  • Channel admins can move users between channels if they have appropriate access
  • Rank tags are prepended to the user’s name in the channel list
  • Users are now sorted alphabetically in the channel list
  • Added ability to mute a specific user via the right-click menu
  • Traffic statistics added to the server panel on the GUI
  • Private chat is available (work in progress… there’s some oddities on this one)
  • Added Mute Mic and Mute Sound checkboxes to the main GUI window
  • The Server Config is now split into tabs so it will be less cluttered
  • Auto-reconnect on disconnect and kick
  • Transmit button is now “sticky.” Pressing will toggle transmit.
  • Last, but certainly not least, support for direct ALSA access for audio

Polling Users for UI Thoughts…

So we’re ready to implement the Mute Sound and Mute Mic features in 1.1, but there’s some question as to how best to implement this in the GUI. We can either add this as an option under the menubar at the top or add this as checkboxes at the bottom. Here’s what the two would look like:


Minimal 1.1 With Checkboxes


Minimal 1.1 Without Checkboxes

Cast your vote in the right sidebar.

Mangler with ALSA support

For all of the PulseAudio haters out there, “Haxar” in our IRC channel has written a patch that gives Mangler native ALSA support. This is now in the latest SVN revision with a couple of new options to configure. To build with ALSA, run:

./configure --enable-alsa

Then rebuild Mangler and give it a go. It hasn’t been tested extensively, so let us know if it does or does not work for you. And come join us on IRC and give Haxar big slobbery kisses for his effort.

Update: In the latest SVN revision, ALSA is enabled by default if you have the appropriate libraries.

Mangler 1.0.1 is released

Mangler version 1.0.1 is now available. This release fixes a couple of minor bugs:

  • Removing/changing the mouse used for PTT no longer causes a crash
  • The server options in the server list configuration are now honored (accept pages, allow recording, etc)

This release also fixes a number of documentation errors that were preventing inclusion in the Ubuntu repositories. This means Mangler is on track for inclusion in Ubuntu 10.04.

Admin functionality progress update

Over the past month, we’ve taken what we feel is a well deserved break from coding. However, with the new year, we’re ready to start going again. We’re not quite to the point of having a new snapshot available, but we’ve made good headway in the past few days. If you’re running directly from SVN, the following features are now available:

  • You can now log in as an admin
  • Drag and drop users to move channels
  • You can kick and ban users via right-click
  • Per-user volume settings are saved between restarts
  • Channel passwords are saved between restarts
  • A master volume control is available in the Audio Settings menu

Remember, the SVN build is unstable. Things may or may not work as expected. But if you’re feeling adventurous, test it out.

As previously stated, the next release will focus primarily on administrator functionality. Also in the works is version 1.0.1 which fixes some minor issues and gets us on the path to inclusion into the Ubuntu repos.

Features for 1.1 Announced

We went through all open tickets and set up a targeted feature list for Mangler v. 1.1. Obviously other features are likely to be added as we go along. The majority of enhancements will be centered around administrator functionality. In addition to those already announced in the current 1.1 snapshot, we will be adding:

  • Private Chat support
  • Channel editor (creating, removing, modifying channels)
  • Server properties editor (setting idle time limits, chat filters, auto-kick, etc)
  • Master volume control
  • Saving per-user volume across restarts
  • Saving channel passwords across restarts
  • Force Channel Move
  • Kicking and banning users
  • Detecting voice level to auto-transmit
  • Sending and receiving pages

For a full list of raw tickets, you can view the Trac Roadmap. We have not yet set a date for the 1.1 release, but it will likely be some time around March or April.