Commit Graph

1237 Commits

Author SHA1 Message Date
Tobias Doerffel
edb540da52 AboutDialog: advanced copyright
We're living in 2012 now.
2012-02-02 20:55:19 +01:00
Tobias Doerffel
89078c09a2 3rdparty/libsamplerate: updated to version 0.1.8
Updated 3rdparty libsamplerate to version 0.1.8 and bumped requirement
to system's libsamplerate to version 0.1.8.
2012-02-02 20:45:02 +01:00
Tobias Doerffel
5662ef9d44 PianoRoll: fix minimum and initial width
The PR window always had a too small initial size. Fix this by setting
a proper minimum width and set initial width to this value as well.
2012-02-02 20:24:30 +01:00
Tobias Doerffel
50bb56da05 InstrumentFunction/Arpeggiator: fixed upper loop boundary
The upper loop boundary was wrong as the size of a single chord was
taken instead of the whole chord table.
2012-02-01 17:22:27 +01:00
Tobias Doerffel
39010a12a3 InstrumentFunctions/ChordCreator: fixed localization support for chords
Recent commits broke localization support for chord names. Static strings
to be used with tr() have to be marked as QT_TRANSLATE_NOOP.
2012-02-01 17:21:05 +01:00
NoiseByNorthwest
59242adadc Piano-roll: bypass fixed initial width of the window
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-02-01 16:58:24 +01:00
NoiseByNorthwest
a6ae31a08e Piano-roll: scale & arpeggio combobox + micro refactoring of ChordCreator::Chord
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-02-01 16:58:24 +01:00
Raine M. Ekman
14f41fe7b3 TrackViews: added compact mode
Added an option to shrink the track buttons horizontally, mainly by
moving the track name into a tooltip.

Closes #3459241.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-01-29 23:49:16 +01:00
Tobias Doerffel
6899c8378c AudioFileWave: add "LMMS" as software metadata string
By Mikobuntu:

I have created a patch ( tested on stable) that adds a metadata entry
"Software" with the value "LMMS (libsndfile-1.0.21)" I'm not quite sure
what calls in the libsndfile entry as my only field entered was LMMS,
but i guess it does no harm anyway to know ;)

Closes #3374272.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-01-29 20:02:36 +01:00
Tobias Doerffel
67ca4d73f6 AutomationPattern: fixed loadSettings() when there's just one value
If the settings for an AutomationPattern contain just one value at
position 0, this value was not loaded properly. Thanks to raine for
pointing out this issue and providing a patch.

Closes #3448562.
2012-01-29 19:54:41 +01:00
NoiseByNorthwest
0fc20dffd3 Add tone marking feature
Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2012-01-29 19:42:23 +01:00
Tobias Doerffel
e5bc77f4c3 Mixer, Pattern: fixed pattern freeze with MIDI-based instruments
When freezing patterns the freezer hung forever as it checked for any
running play handles in order to render echoes etc. after the last note.
However if there are MIDI-based instruments such as LB302, ZASF,
Sf2Player etc. there will always be play handles (InstrumentPlayHandles)
in the mixer's play handle array. Therefore explicitely check for
remaining NotePlayHandles when freezing pattern. Furthermore added a
counter variable for safety reasons so rendering note tails will never
exceed 2000 buffer periods.

Thanks to Mikobuntu for reporting this issue!

Closes #3109262.
2012-01-29 13:07:17 +01:00
Tobias Doerffel
60758172b0 Standard filters: added 24 dB versions of RC filters as well as a vocal format filter
Thanks to Stefan Fendt!

(cherry picked from commit f5057ce6d2)
2012-01-29 12:12:50 +01:00
Paul Giblock
4712804b28 Initial addition of Stefan Fendt's RC filters, updated and fixed code style.
git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@2011 0778d3d1-df1d-0410-868b-ea421aaaa00d
(cherry picked from commit 46adbb2b34)
2012-01-29 12:07:17 +01:00
Tobias Doerffel
8c1019cdae MidiController: removed unused variable
The local "bytes" variable is never used and thus can be removed. Fixes
compiler warning.
2012-01-29 12:02:33 +01:00
Tobias Doerffel
3e4b824daf SampleTrack: set/update tooltip for samples when loading project
The tooltip for sample track object views was not restored properly
when loading projects. Thanks to Mikobuntu for pointing out this issue.
2012-01-29 12:01:21 +01:00
Tobias Doerffel
5977041b6e InstrumentTrack, NotePlayHandle: fixed note detuning processing
Note detuning did not work properly for patterns starting after the
first bar in the song editor. This has been fixed by introducing
additional information about parent's song-global offset to
NotePlayHandle objects.

Closes #3462555.
2012-01-29 11:36:24 +01:00
NoiseByNorthwest
132ab41e5d Replace static var by property, see "Add magnetic effect..." commit 2012-01-26 19:06:34 +01:00
NoiseByNorthwest
b3b290f6dd Piano-roll: preserve melody when resizing a note by holding shift 2012-01-26 19:06:34 +01:00
NoiseByNorthwest
7f63351ca6 Piano-roll: remove from selection feature (shift + left-click) 2012-01-26 19:06:34 +01:00
NoiseByNorthwest
9215800114 Add magnetic effect (for init value) on knobs 2012-01-26 19:06:34 +01:00
Tobias Doerffel
14cfe77804 InstrumentTrack: make sure m_runningMidiNotes[x] does not become negative
Even though there's no known code path for this event to happen we
should always make sure m_runningMidiNotes[x] does not become negative
as this might mess up future key events.
2011-07-02 14:41:17 +02:00
Tobias Doerffel
83daa2d8fb SampleBuffer: do not use UTF-8 filenames on Windows
As libogg, libsndfile & friends do not seem to have an UTF8-compatible
implementation on Windows we have to pass the filename as local 8 bit
encoding in order to make the file being read properly.

Closes #2952858.
2011-07-02 14:15:52 +02:00
Tobias Doerffel
1e83b1e23b Reset filename when recovering project after unexpected exit
We must not use "recover.mmp" as regular filename after we recovered
the sesion from it as this causes following save cycles to go into
the recovery file. Instead load the recovery file via
song::createNewProjectFromTemplate() so the used will be asked for
a filename when saving the recovered project the first time.

Closes #3294122.
2011-07-02 13:52:44 +02:00
Tobias Doerffel
4d473a36fb ConfigMgr: properly write configuration file if it contains non-ASCII chars
There has been a problem UTF-8 characters in the configuration file
since 2006 (!), as the length of the data to be written was mis-
calculated. We can omit the specification of the data length at all
when just passing a QByteArray object to QFile::write().

Fixes setup dialog appearing each start if one of the configured paths
in the setup dialog contains non-ASCII characters.

Closes #3348920, #3017409, #2812054.
2011-07-02 13:37:36 +02:00
Tobias Doerffel
7b31be67ac ConfigMgr: do not silently fail to parse configuration file
Instead of failing silently when parsing configuration file show a
messagebox with helpful debugging information.
2011-07-02 13:28:02 +02:00
Tobias Doerffel
e338b34faf Widgets classes: use "WindowTitle" property instead of "AccessibleName"
As the interface for the "AccessibleName" property might not be available
when Qt was built without accessibility support, use the "WindowTitle"
property instead where appropriate.

Closes #3300101.
2011-06-27 20:43:09 +02:00
Tobias Doerffel
1cc77b72e3 Do not apply FX mixer effects twice when playing frozen pattern
We must not process the FX mixer if we notice that currently a pattern
is frozen. Furthermore renamed some state-reading messages of the
pattern class.

Closes #3316495.
2011-06-27 20:27:03 +02:00
Tobias Doerffel
d4684f3ab1 Faders in FX mixer: added peak value indicator
Based on the patch by Thorsten Müller provided at #3307037, I continued
the work to display nice indicators for the peak value of the last 1500
ms.

Closes #3307037.
2011-06-23 10:53:39 +02:00
Thorsten Müller
ee0f6ccd10 Add tooltips to fxmixer faders
Added tooltips to show the actual value when moving the fader handle.
This works mostly like the same feature we already have for the volume
knobs. Depending on settings the value is shown in a range between
0% to 200% or -inf/-34dBV to 6.02 dBV. Again that's the same as for the
volume knob. Value range could be adjusted easily if necessary.

Closes #3305914.

Signed-off-by: Tobias Doerffel <tobias.doerffel@gmail.com>
2011-06-23 10:16:45 +02:00
Tobias Doerffel
8f9d90df5d LadspaManager: really only load shared library on Linux
Testing the last two characters of the filename against "so" is
insufficient as this might cover e.g. ISO files as well. Therefore
explicitely check for ".so".

Thanks to Mikobuntu for the contribution.

Closes #3289932.
2011-06-23 09:56:56 +02:00
Tobias Doerffel
66d36b3071 MainWindow: skip autosave while playing or exporting
It's a very bad idea to autosave while playing as this causes severe
underrun problems. Therefore instead of autosaving, trigger a re-try
timer for 10 seconds.

Closes #3317776.
2011-06-22 11:15:20 +02:00
Tobias Doerffel
babf3edff8 Ask whether to recover session after unexpected exit
Instead of always loading the last auto-saved session (which might end
up in an endless cycle if recover.mmp is faulty or causes a crash) ask
the user whether to do so.
2011-04-06 18:35:20 +02:00
Tobias Doerffel
a90ffed0a8 SongEditor: made smoooth scrolling an optional feature
As smooth scrolling seems to cause problems for some users it now has
to be enabled explicitely in the settings dialog.

Closes #3194891.
2011-03-17 09:23:38 +01:00
Tobias Doerffel
dd9ba4b2ad AudioPulseAudio: do not initialize volume
Instead of passing an initialized pa_cvolume structure, pass NULL as
recommended by the documentation for pa_stream_connect_playback(). This
fixes the volume erroneously being set to 100% at startup.

Thanks to Thomas Moschny for forwarding the bug report.
2011-01-26 22:08:49 +01:00
Tobias Doerffel
f67e8e0af7 ControllerRackView: fixed widget size issues after closing
There were some issues with the ControllerRackView when closing it
with recent Qt versions. Issue seems to be fixed by not setting a
size constraint policy for the QMdiSubWindow.

Partially closes #3149779.
2011-01-23 23:54:06 +01:00
Tobias Doerffel
b8ad5bf025 ControllerView: fixed minor artifacts at widget drop shadow
We must not set the Qt::WA_OpaquePaintEvent attribute when painting
semi-transparent a drop shadow for the ControllerView.
2011-01-23 23:52:59 +01:00
Tobias Doerffel
4cad9517aa Add BB track when adding track to empty BB editor
When there's no BB track but a track is added to the BB editor,
automatically create a BB track so that the user doesn't get confused
by new empty track (not even showing clickable beats).

Partially closes #3149779.
2011-01-23 23:10:04 +01:00
Tobias Doerffel
4851839327 LadspaManager: print error string when failing to load LADSPA library
In order to ease debugging of problems with the LADSPA library loader
print QLibrary::errorString() if loading a library fails.
2011-01-16 18:50:01 +01:00
Andrew Kelley
7b7dc0bfb2 don't change the current project when auto-saving
every time auto-save ran, it would change the current project to
"recover.mmp". Now it doesn't do this because Song has
guiSaveProject(), guiSaveProjectAs(), and saveProjectFile().
(the latter is used for auto-save)
(cherry picked from commit 953522f34a)
2011-01-12 17:09:45 +01:00
Andrew Kelley
d75677b9d3 auto-saves every minute and recovers upon crash
auto-save time is not configurable yet. saves "recover.mmp" to
WORKING_DIR every 60 seconds. Deletes recover.mmp on successful
close of LMMS. If recover.mmp is found upon start, it loads that
project.
(cherry picked from comit f73ccadc17)
2011-01-12 17:09:14 +01:00
Tobias Doerffel
6280fd9faf Mixer: free m_inputBuffer[i] at exit
In Mixer::~Mixer make sure to free resources allocated in the
m_inputBuffer[] array.
(cherry picked from commit 1f6039340b)
2011-01-08 01:30:02 +01:00
Tobias Doerffel
cfce2bc827 Fixed various minor semantic glitches
There were various minor semantic glitches reported by cppcheck and
Andrei Smirnov.
(cherry picked from commit a4de8fa16a)
2011-01-08 00:19:11 +01:00
Tobias Doerffel
ea94e6aa32 SongEditor: added smooth autoscroll
Instead of flipping to next page when the play position marker reaches
the right edge, scroll to next page smoothly using the QTimeLine class.

Closes #3144318.
2011-01-05 12:36:14 +01:00
Tobias Doerffel
6be555d61a SongEditor: always bring up to front after loading a project
When just opening a song in order to listen to it, it's very annyoing to
manually bring up the song editor each time, therefore do it
automatically.
2011-01-05 11:53:56 +01:00
Tobias Doerffel
4641fcc6d3 Audio: Re-enabled PortAudio backend
The PortAudio backend lay down broken for quite a while. However as it
offers much better realtime capabilities on Windows compared to SDL, I
started to resurrect it, removed support for PortAudio < 1.9 and fixed
various bugs and crashes.
2011-01-02 00:54:43 +01:00
Tobias Doerffel
a9717c0cc3 NotePlayHandle: send correct MidiNoteOff events if base note changed
When changing an InstrumentTrack's base note while NotePlayHandles are
active, they will send a wrong MidiNoteOff event due to the masterKey()
translation in InstrumentTrack::processOutEvent().

Therefore in NotePlayHandle remember the original base note value and
add the difference between original and current base note to the value
returned by NotePlayHandle::key(). Fixes hanging notes in MIDI-based
instruments such as ZynAddSubFX.

Furthermore some coding style improvements.

Closes #3146975.
2010-12-31 13:23:08 +01:00
Tobias Doerffel
65a0313807 Merge branch 'win64-vst'
* win64-vst:
  VST support layer: fixed non-working 64 bit VST plugins
  VST support layer: added 32 bit VST plugin support for Win64
  Win64Toolchain: added 32 bit compiler configuration
  ZynAddSubFX: use new RemotePlugin::init() method
  RemotePlugin: added support for running remote process multiple times
(cherry picked from commit 65c073ec63)
2010-12-26 11:25:54 +01:00
Tobias Doerffel
8c4a8182ab MidiWinMM: fixed compiler warning
Pass 0 instead of NULL for 3rd and 4th argument of midiOutOpen().
2010-12-05 23:29:23 +01:00
Tobias Doerffel
60d302d09e InstrumentTrackView: use QMdiArea's window activation history
There's no need to implement an own (buggy) window activation history
for InstrumentTrackWindows. Use QMdiArea::subWindowList(...) instead.
Fixes buggy keyboard focus when switching between InstrumentTrackWindows.
(cherry picked from commit c05965117c)
2010-10-06 10:17:48 +02:00