Blog dedicated to Open Source

[GSOC 2015] P2PSP GUI Project Progress

Below are the latest updates from the P2PSP GUI Project.

For more information about the implementaion,discussions and changes after Midterm Evaluation go through the gui branch at p2psp repo , Pull Requests and documentation of modules on github.

Issue #47 : Volume Bar for Player

  • Volume controls inside Player Area have been develop using GtkVolumeButton.

  • Actually Volume Button is GtkScaleButton.After click , A GtkScale appears. Using Scale , volume can be adjusted.

Pull Request resolving this issue:

Volume Button.

Issue #15 : tests for player

Player tested separately with gtk2 and gtk3(GObject Introspection).


  • Mouse pointer did not disappear using gtk2.Media was played inside GtkDrawingArea(Player Surface) using libvlc.
  • However with gtk3 , mouse cursor disappears as it moves inside Player Area. But it happens only when some media is being played through libvlc.Otherwise everything is fine.

Pull Request resolving this issue:

Issue #54 : Use p2psp as file extension

Channels are exported or imported in JSON format. For unique identification of P2PSP channels, "p2psp" will be used as file extension.

Pull Request resolving this issue:

Main changes related to this PR :

  • Doxygen configuration file added to doc folder.
  • Replaced Button events with Key events inside Player Surface(GtkDrawingArea).
  • When Player Surface is fullscreen ,after pressing "ESC" , one can escape fullscreen.
  • "p2psp" is used as file extension for importing/exporting channels.
  • "Play" button plays only selected channels from Iconview of channels.

Export as P2PSP file

Issue #58 : App Crashes when run for long time

App kept crashing when run for long period of time. This was resolved by calling functions inside "GObject.idle_add()". To know more , go through documentation of p2pspapplicationgui module.

Gtk and Threads

Pull Request resolving this issue:

Main changes related to this PR :

  • Gui updated using gobject's idle_add function(Thread Safe).
  • Added "" in src folder(has to be a Python package for tests).
  • A default channel can be played without importing.

Issue #53 : Proper Documentation.

Source Code documented using Doxygen.

Pull Request resolving this issue:

Main changes related to this PR :

  • All the Python packages(except core) in P2PSP Project were documented.