stretchplayer:stretchplayer.git
7 years agoPlayerWidget: Remove compiler warning about compositing.
Gabriel M. Beddingfield [Sun, 12 Sep 2010 05:00:58 +0000 (00:00 -0500)]
PlayerWidget: Remove compiler warning about compositing.

7 years agoEngine: Add extra brackets around vf4 initializer
Gabriel M. Beddingfield [Sun, 12 Sep 2010 04:59:28 +0000 (23:59 -0500)]
Engine: Add extra brackets around vf4 initializer

7 years agoAlsaAudioSystem: Remove an unused variable.
Gabriel M. Beddingfield [Sun, 12 Sep 2010 04:58:26 +0000 (23:58 -0500)]
AlsaAudioSystem: Remove an unused variable.

7 years agoEngineMessageCallback: Initialize the _parent pointer to 0.
Gabriel M. Beddingfield [Sun, 12 Sep 2010 04:45:00 +0000 (23:45 -0500)]
EngineMessageCallback: Initialize the _parent pointer to 0.

When an exception occurs with the audio driver, the unintialized
_parent pointer is dereferenced, causeing a segfault or a deadlock.

7 years agoUse new Configuration object to select drivers, etc.
Gabriel M. Beddingfield [Sun, 12 Sep 2010 04:28:38 +0000 (23:28 -0500)]
Use new Configuration object to select drivers, etc.

7 years agoCreate a Configuration class and get it plugged in.
Gabriel M. Beddingfield [Sat, 11 Sep 2010 21:30:36 +0000 (16:30 -0500)]
Create a Configuration class and get it plugged in.

Note that it doesn't actually affect anything, yet.

7 years agoPlug alsa driver into engine.
Gabriel M. Beddingfield [Fri, 10 Sep 2010 03:48:04 +0000 (22:48 -0500)]
Plug alsa driver into engine.

7 years agoCommit Alsa driver using libclalsadrv.
Gabriel M. Beddingfield [Fri, 10 Sep 2010 03:47:37 +0000 (22:47 -0500)]
Commit Alsa driver using libclalsadrv.

7 years agodebian/control: build requires libclalsadrv-dev
Gabriel M. Beddingfield [Thu, 9 Sep 2010 04:21:27 +0000 (23:21 -0500)]
debian/control: build requires libclalsadrv-dev

7 years agoAdd clalsadrv to CMake build system.
Gabriel M. Beddingfield [Thu, 9 Sep 2010 04:20:24 +0000 (23:20 -0500)]
Add clalsadrv to CMake build system.

7 years agodebian/control: build requires libasound2-dev.
Gabriel M. Beddingfield [Wed, 8 Sep 2010 03:12:55 +0000 (22:12 -0500)]
debian/control: build requires libasound2-dev.

7 years agoAdd ALSA to CMake build system.
Gabriel M. Beddingfield [Wed, 8 Sep 2010 03:10:54 +0000 (22:10 -0500)]
Add ALSA to CMake build system.

7 years agosrc/CMakeLists.txt: Replace INCLUDE() with INCLUDE_DIRECTORIES()
Gabriel M. Beddingfield [Wed, 8 Sep 2010 02:57:45 +0000 (21:57 -0500)]
src/CMakeLists.txt: Replace INCLUDE() with INCLUDE_DIRECTORIES()

This was a mistake... INCLUDE() sources the file that is the argument,
INCLUDE_DIRECTORIES() adds the arguments to the include directives
(i.e. for CFLAGS).

7 years agoEnable SIMD (SSE2) instructions when applying gain.
Gabriel M. Beddingfield [Fri, 20 Aug 2010 04:29:39 +0000 (23:29 -0500)]
Enable SIMD (SSE2) instructions when applying gain.

SIMD instructions allow four floats to be processed in a single
instruction.  The vectored notation in this commit is a GCC extension,
but still more portable than writing assembly code.  This typically
results in a 2x speed increase for this type of operation.

7 years agoNo longer clip the output.
Gabriel M. Beddingfield [Fri, 20 Aug 2010 04:25:34 +0000 (23:25 -0500)]
No longer clip the output.

I thought this was required... but it isn't.  Let the audio card clip
its own darn floats.  :-)

7 years agoReset RubberBandStretcher in init.
Gabriel M. Beddingfield [Fri, 30 Jul 2010 01:32:57 +0000 (20:32 -0500)]
Reset RubberBandStretcher in init.

Hopefully this will prevent the "first run" xrun we sometimes get.

7 years agoAdd several great ideas from Ivan Tarozzi
Gabriel M. Beddingfield [Sat, 24 Jul 2010 02:12:35 +0000 (21:12 -0500)]
Add several great ideas from Ivan Tarozzi

7 years agoAdd dep between stretchplayer and -dbg package. stretchplayer-0.503
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:39:33 +0000 (23:39 -0500)]
Add dep between stretchplayer and -dbg package.

7 years agoUpdate Debian standards versions.
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:38:07 +0000 (23:38 -0500)]
Update Debian standards versions.

7 years agoChange output tarball name to .orig.tar.gz
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:43:52 +0000 (23:43 -0500)]
Change output tarball name to .orig.tar.gz

...as a Debian convention.

7 years agoAdd -0 to debian packaging.
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:17:32 +0000 (23:17 -0500)]
Add -0 to debian packaging.

7 years agoUpdate ChangeLog.
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:06:40 +0000 (23:06 -0500)]
Update ChangeLog.

7 years agoBump version to 0.503.
Gabriel M. Beddingfield [Sun, 18 Jul 2010 04:05:41 +0000 (23:05 -0500)]
Bump version to 0.503.

7 years agoAdd a 'make dist' target.
Gabriel M. Beddingfield [Wed, 14 Jul 2010 06:00:12 +0000 (01:00 -0500)]
Add a 'make dist' target.

Note that it packages Git HEAD rather than the files in the current
working copy.

7 years agoExclude debian/ folder from tarball export.
Gabriel M. Beddingfield [Wed, 14 Jul 2010 06:04:22 +0000 (01:04 -0500)]
Exclude debian/ folder from tarball export.

Removed based on advice from Erik de Castro Lopo, that
shipping the debian/ folder in the tarball makes things
more difficult for downstream packagers.  He recommended
that it stay in the SCM, but not the source distribution.
His discussion was on LAU on 2010-07-14.

7 years agoAdd idea to move faders to default spot with right-click.
Gabriel M. Beddingfield [Wed, 14 Jul 2010 05:38:47 +0000 (00:38 -0500)]
Add idea to move faders to default spot with right-click.

Thanks to Dragan Noveski for the idea.

7 years agoFix minor errors in debian/control file. stretchplayer-0.502
Gabriel M. Beddingfield [Mon, 12 Jul 2010 03:01:31 +0000 (22:01 -0500)]
Fix minor errors in debian/control file.

7 years agoUpdate debian changelog.
Gabriel M. Beddingfield [Mon, 12 Jul 2010 02:46:12 +0000 (21:46 -0500)]
Update debian changelog.

7 years agoAdd a docs file.
Gabriel M. Beddingfield [Mon, 12 Jul 2010 02:38:34 +0000 (21:38 -0500)]
Add a docs file.

7 years agoAdd ChangeLog from Git log.
Gabriel M. Beddingfield [Mon, 12 Jul 2010 02:32:08 +0000 (21:32 -0500)]
Add ChangeLog from Git log.

7 years agoPlayerWidget::update_time(): Update _status instead of everything.
Gabriel M. Beddingfield [Mon, 12 Jul 2010 02:08:56 +0000 (21:08 -0500)]
PlayerWidget::update_time(): Update _status instead of everything.

This reduces Xorg's workload considerably, even when compositing is
enabled.  We're only updating internal widgets instead of the entire
window.

7 years agoRemove several resolved and "won't fix" items from BUGS.txt
Gabriel M. Beddingfield [Wed, 7 Jul 2010 02:50:22 +0000 (21:50 -0500)]
Remove several resolved and "won't fix" items from BUGS.txt

7 years agoAdd some resolutions to the BUGS.txt file:
Gabriel M. Beddingfield [Wed, 7 Jul 2010 02:46:48 +0000 (21:46 -0500)]
Add some resolutions to the BUGS.txt file:

* Immediate jack disconnects: bug in jack 2, solved in
  SVN.

* Over-active GUI fixed in ff4d4ebf4 2010-07-06.

7 years agoAdd CMake flag USE_COMPOSITING to en/dis-able compositing.
Gabriel M. Beddingfield [Wed, 7 Jul 2010 02:33:08 +0000 (21:33 -0500)]
Add CMake flag USE_COMPOSITING to en/dis-able compositing.

Use of compositing require some overhead with the X-server.  Some
users may have systems that enable compositing, but don't want the
overhead.  In the future, this should be a run-time configuration
setting, but for now it's compile time since there's no run-time
configuration infrastructure.

7 years agoBump version to 0.502.
Gabriel M. Beddingfield [Tue, 6 Jul 2010 21:17:37 +0000 (16:17 -0500)]
Bump version to 0.502.

7 years agoRemove several redundant update() calls in GUI.
Gabriel M. Beddingfield [Tue, 6 Jul 2010 21:09:54 +0000 (16:09 -0500)]
Remove several redundant update() calls in GUI.

When idle, the GUI is using up to 30% CPU to update its status very
often.  It turns out that several of the widgets were getting the
update() call when their values changed.  This was thought to be safe,
but turns out to be too manu GUI updates.

Now, the GUI is totally disconnected from RT events in the audio
thread.  The only way the GUI is getting updated is by the timer that
is set up in PlayerWidget::_setup_signals_and_slots()... which is
currently set to update every 200 ms (5 times/sec).  This results in
about 3-5% CPU.

However, if compositing is enabled, the X server may still be using
20-30% CPU to calculate the compositing features.

7 years agoFix typo in share folder install directory.
Gabriel M. Beddingfield [Sun, 13 Jun 2010 12:36:19 +0000 (07:36 -0500)]
Fix typo in share folder install directory.

7 years agoUpdate the BUGS.txt file with two new bugs.
Gabriel M. Beddingfield [Sun, 13 Jun 2010 12:06:17 +0000 (07:06 -0500)]
Update the BUGS.txt file with two new bugs.

* Stretchplayer gets immediately disconnected when you hit the file
  open button.

* The GUI uses up a lot of CPU when idle.

Removed a bug:

* Clicks whenever a change is made.  (This was fixed in 0.501.)

7 years agoSuppress build errors.
Gabriel M. Beddingfield [Sat, 12 Jun 2010 15:30:48 +0000 (10:30 -0500)]
Suppress build errors.

* JackAudioSystem::activate() Possible (but unlikely) use of
  uninitialized 'rv' value.
* JackAudioSystem::deactivate() should return int, but does
  not return anything.

7 years agoFix 64-bit compile issue: s/size_t/uint32_t/g
Gabriel M. Beddingfield [Sat, 12 Jun 2010 15:25:28 +0000 (10:25 -0500)]
Fix 64-bit compile issue:  s/size_t/uint32_t/g

7 years agoFix installation issues with icon and .desktop files. stretchplayer-0.501
Gabriel M. Beddingfield [Fri, 21 May 2010 03:56:25 +0000 (22:56 -0500)]
Fix installation issues with icon and .desktop files.

For some reason, it wasn't finding my icons.  So, i chose to do a hard
path.

7 years agoCorrect icon installation directories.
Gabriel M. Beddingfield [Fri, 21 May 2010 03:34:29 +0000 (22:34 -0500)]
Correct icon installation directories.

E.g. /usr/share/icons instead of /usr/icons.

7 years agoAdd desktop file and icons, and install them.
Gabriel M. Beddingfield [Fri, 21 May 2010 03:26:45 +0000 (22:26 -0500)]
Add desktop file and icons, and install them.

7 years agoAdd build dependency on CMake and CDBS for Debian.
Gabriel M. Beddingfield [Fri, 7 May 2010 04:09:38 +0000 (23:09 -0500)]
Add build dependency on CMake and CDBS for Debian.

7 years agoGet the -dbg package working.
Gabriel M. Beddingfield [Sat, 24 Apr 2010 19:59:51 +0000 (14:59 -0500)]
Get the -dbg package working.

Had to up debhelper (and possibly 'compat') to 5.

7 years agoAdd debian packaging.
Gabriel M. Beddingfield [Tue, 20 Apr 2010 22:51:06 +0000 (17:51 -0500)]
Add debian packaging.

7 years agoReduce/remove click when changing speeds/pitch.
Gabriel M. Beddingfield [Sun, 11 Apr 2010 22:30:29 +0000 (17:30 -0500)]
Reduce/remove click when changing speeds/pitch.

The parameter change was causing a RubberBandStretcher::reset() to be
called, which not only causes a reboot of the audio calculated (time
delay) but also deleted whatever audio has already been fed.

7 years agoAdd Tritium::RingBuffer<> from Composite... which came from Ardour.
Gabriel M. Beddingfield [Thu, 8 Apr 2010 17:01:08 +0000 (12:01 -0500)]
Add Tritium::RingBuffer<> from Composite... which came from Ardour.

File copied from Ardour to Composite to Here.

7 years agoAbstract audio system to make room for other audio API's.
Gabriel M. Beddingfield [Thu, 8 Apr 2010 16:56:59 +0000 (11:56 -0500)]
Abstract audio system to make room for other audio API's.

7 years agoAdd a BUGS.txt file.
Gabriel M. Beddingfield [Wed, 7 Apr 2010 01:49:28 +0000 (20:49 -0500)]
Add a BUGS.txt file.

7 years agoRemove a test string. stretchplayer-0.500
Gabriel M. Beddingfield [Tue, 6 Apr 2010 07:06:40 +0000 (02:06 -0500)]
Remove a test string.

I had a really long string for testing the scroll.  As it happened,
when you started up StretchPlayer... that's the first thing you see.
:-)

7 years agoReverse order of incr/decr pitch buttons.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 06:48:55 +0000 (01:48 -0500)]
Reverse order of incr/decr pitch buttons.

7 years agoUpdate documentation for [HOME] key and performance issues.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 06:05:32 +0000 (01:05 -0500)]
Update documentation for [HOME] key and performance issues.

7 years agoAdd a Marquee widget with scrolling text.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 05:55:49 +0000 (00:55 -0500)]
Add a Marquee widget with scrolling text.

7 years agoAdd version info and make responsive while song loading.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 03:09:23 +0000 (22:09 -0500)]
Add version info and make responsive while song loading.

7 years agoAllow for sane rendering when compositing not avail.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 02:53:47 +0000 (21:53 -0500)]
Allow for sane rendering when compositing not avail.

I.e. Qt 4.4.

7 years agoIncrease the max buffer size for RubberBand.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 02:30:45 +0000 (21:30 -0500)]
Increase the max buffer size for RubberBand.

7 years agoAdjust for memory issues.
Gabriel M. Beddingfield [Tue, 6 Apr 2010 02:17:50 +0000 (21:17 -0500)]
Adjust for memory issues.

On some systems, I was getting OOM problems because of the way that
the audio file buffer and the PlayerWidget were being allocated.

7 years agoMake the stats text come out bolder.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 23:50:18 +0000 (18:50 -0500)]
Make the stats text come out bolder.

7 years agoAdd a README file.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:50:27 +0000 (12:50 -0500)]
Add a README file.

7 years agoUpdate Qt version requirement.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:37:26 +0000 (12:37 -0500)]
Update Qt version requirement.

7 years agoAdd installation instructions.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:37:10 +0000 (12:37 -0500)]
Add installation instructions.

7 years agoAdd an AUTHORS file.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:24:37 +0000 (12:24 -0500)]
Add an AUTHORS file.

7 years agoAdd license files.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:24:15 +0000 (12:24 -0500)]
Add license files.

7 years agoAdd CMake module for finding librubberband.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:17:30 +0000 (12:17 -0500)]
Add CMake module for finding librubberband.

7 years agoAdd library status for JACK and LibSndfile.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:08:05 +0000 (12:08 -0500)]
Add library status for JACK and LibSndfile.

7 years agoConvert to CMake build system (was qmake).
Gabriel M. Beddingfield [Mon, 5 Apr 2010 17:04:07 +0000 (12:04 -0500)]
Convert to CMake build system (was qmake).

7 years agoAdd some CMake modules from Composite.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 12:53:21 +0000 (07:53 -0500)]
Add some CMake modules from Composite.

7 years agoWatch out for a corner case when looping.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 12:36:41 +0000 (07:36 -0500)]
Watch out for a corner case when looping.

Prevent _loop_a == _loop_b.

7 years agoTweak how samples are fed/read from rubberband when looping.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 12:34:18 +0000 (07:34 -0500)]
Tweak how samples are fed/read from rubberband when looping.

7 years agoEnable threading for RubberBand.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 06:43:46 +0000 (01:43 -0500)]
Enable threading for RubberBand.

I didn't notice much of a performance difference.

7 years agoAvoid buffer overflows with RubberBand engine.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 06:32:20 +0000 (01:32 -0500)]
Avoid buffer overflows with RubberBand engine.

7 years agoReset the rubber band stretcher after a state change.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 05:44:21 +0000 (00:44 -0500)]
Reset the rubber band stretcher after a state change.

7 years agoAdd Actions for volume control.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 05:31:19 +0000 (00:31 -0500)]
Add Actions for volume control.

7 years agoFix small possible error when setting stretch factors.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 05:13:36 +0000 (00:13 -0500)]
Fix small possible error when setting stretch factors.

7 years agoRename StatusWidget::_status to _message.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 05:09:50 +0000 (00:09 -0500)]
Rename StatusWidget::_status to _message.

7 years agoTweak fonts on the layout.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 05:01:07 +0000 (00:01 -0500)]
Tweak fonts on the layout.

7 years agoFix a resizing thinko.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 04:51:02 +0000 (23:51 -0500)]
Fix a resizing thinko.

Was accidentally doing drag resizes on the _which_cursor()
results... rather than the actual current cursor.

7 years agoAdd rudimentary window resizing.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 04:47:49 +0000 (23:47 -0500)]
Add rudimentary window resizing.

7 years agoAdd a little more margin around the status widget.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 03:01:02 +0000 (22:01 -0500)]
Add a little more margin around the status widget.

7 years agoRemove a little extra space from the stats.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 02:55:49 +0000 (21:55 -0500)]
Remove a little extra space from the stats.

7 years agoLay out all the status text by hand.
Gabriel M. Beddingfield [Mon, 5 Apr 2010 02:49:13 +0000 (21:49 -0500)]
Lay out all the status text by hand.

7 years agoUpdate status position line size.
Gabriel M. Beddingfield [Sun, 4 Apr 2010 18:03:34 +0000 (13:03 -0500)]
Update status position line size.

7 years agoLay out widgets manually.
Gabriel M. Beddingfield [Sun, 4 Apr 2010 17:52:03 +0000 (12:52 -0500)]
Lay out widgets manually.

The Layouts were great... but I couldn't get the control that I wanted
from them.

7 years agoGet the widgets to resize when the window resizes.
Gabriel M. Beddingfield [Sun, 4 Apr 2010 12:37:23 +0000 (07:37 -0500)]
Get the widgets to resize when the window resizes.

7 years agoAdd a text height field for PlayerSizes.
Gabriel M. Beddingfield [Sun, 4 Apr 2010 11:47:46 +0000 (06:47 -0500)]
Add a text height field for PlayerSizes.

7 years agoIncrease size of icons on widgets.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 23:55:06 +0000 (18:55 -0500)]
Increase size of icons on widgets.

7 years agoFix a couple widget layout thinkos.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 23:41:43 +0000 (18:41 -0500)]
Fix a couple widget layout thinkos.

7 years agoExport icons and use them in the player.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 23:36:36 +0000 (18:36 -0500)]
Export icons and use them in the player.

7 years agoAdd all icons as SVG file.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 22:50:46 +0000 (17:50 -0500)]
Add all icons as SVG file.

7 years agoTweak the fader so that we don't get 10x vol.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 21:28:38 +0000 (16:28 -0500)]
Tweak the fader so that we don't get 10x vol.

Also, the volume indicator now scales 0-100%... which will make a lot
of people very happy (was 0-200%).

7 years agoImplement volume control.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 21:18:15 +0000 (16:18 -0500)]
Implement volume control.

I put in a typical mixer fader... not happy with it.

7 years agoImplement QActions for major control functions.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 19:59:44 +0000 (14:59 -0500)]
Implement QActions for major control functions.

This implements keyboard shorcuts like P (play/stop), Escape (quit),
etc.  It also ties them to buttons visible on the GUI.

The setup of all the widgets has been refactored a bit.

7 years agoMake the ThinSlider work with mouse events.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 17:30:26 +0000 (12:30 -0500)]
Make the ThinSlider work with mouse events.

7 years agoConvert color scheme to use QPalette.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 15:50:31 +0000 (10:50 -0500)]
Convert color scheme to use QPalette.

7 years agoAdd background for status widget.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 14:47:09 +0000 (09:47 -0500)]
Add background for status widget.

7 years agoAdd a custom progress-bar-like slider, ThinSlider.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 14:34:27 +0000 (09:34 -0500)]
Add a custom progress-bar-like slider, ThinSlider.

7 years agoAdd a color management class.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 12:42:04 +0000 (07:42 -0500)]
Add a color management class.

7 years agoAutoconnect to output ports.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 12:12:51 +0000 (07:12 -0500)]
Autoconnect to output ports.

7 years agoDivide up the widgets according to the intended design.
Gabriel M. Beddingfield [Sat, 3 Apr 2010 00:23:12 +0000 (19:23 -0500)]
Divide up the widgets according to the intended design.