Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable track-wide color coding #5573

Merged
merged 77 commits into from Oct 20, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
0125289
Enable track-wide color coding
ryuukumar Jul 10, 2020
ac99a20
Add support for automation tracks
ryuukumar Jul 11, 2020
34388c1
Allow saving & loading track colors
ryuukumar Jul 11, 2020
7efa117
Allow track color to be reset to default
ryuukumar Jul 12, 2020
22299d4
Merge pull request #12 from LMMS/master
ryuukumar Jul 12, 2020
c6e8368
Partially migrate common settings to Track.cpp, fix bug
ryuukumar Jul 13, 2020
ae5f55c
Merge pull request #13 from LMMS/master
ryuukumar Jul 13, 2020
5a4d713
Merge pull request #14 from LMMS/master
ryuukumar Jul 14, 2020
b9a5fd8
Completely migrate local TCO color functions to TCO class, fix bug
ryuukumar Jul 14, 2020
9846089
Set QColorDialog colors to better colors
ryuukumar Jul 14, 2020
006a541
Color the side of the track according to TCO colors
ryuukumar Jul 15, 2020
1765938
Disable color gradient when muted
ryuukumar Jul 15, 2020
5cb48b8
Change selection color to depend on TCO color
ryuukumar Jul 15, 2020
aab2dd5
Fix breaking builds
ryuukumar Jul 16, 2020
9e3e81b
Bug fix
ryuukumar Jul 16, 2020
fbedb42
Fix another bug where BB track colors wouldn't load
ryuukumar Jul 16, 2020
c01581c
Restore changed demo to original state
ryuukumar Jul 16, 2020
a30566b
Fix BB Editor bug
ryuukumar Jul 16, 2020
79e42d6
Fix breaking builds
ryuukumar Jul 16, 2020
d3aebd3
Merge pull request #15 from LMMS/master
ryuukumar Jul 17, 2020
1035594
Allow random color picking
ryuukumar Jul 18, 2020
b500fac
Merge branch 'color-exp' of https://github.com/russiankumar/lmms into…
ryuukumar Jul 18, 2020
7481b8b
Fix copy-paste bug
ryuukumar Jul 20, 2020
9977740
Change how color is painted on a track
ryuukumar Jul 20, 2020
221992a
Merge pull request #16 from LMMS/master
ryuukumar Jul 20, 2020
b76d0c0
Cleanup, and implement per-pattern colors
ryuukumar Jul 21, 2020
9f7c2ea
Cleanup comments
ryuukumar Jul 22, 2020
af3f8ea
Merge pull request #17 from LMMS/master
ryuukumar Jul 22, 2020
44f1eb7
Migrate some functions
ryuukumar Jul 27, 2020
ca9608c
Remove redundant function
ryuukumar Jul 27, 2020
9bca5cd
Merge pull request #22 from LMMS/master
ryuukumar Aug 2, 2020
3a30096
Rename some functions
ryuukumar Aug 2, 2020
9293a15
Migrate duplicates to superclass
ryuukumar Aug 10, 2020
6a5e4a0
Merge pull request #24 from LMMS/master
ryuukumar Aug 10, 2020
05c42fd
Merge pull request #25 from LMMS/master
ryuukumar Aug 11, 2020
2eab5df
Use ColorChooser and reorder some includes
ryuukumar Aug 14, 2020
cc453d8
Change how colors are saved
ryuukumar Aug 14, 2020
f9d867d
Fix some formatting
ryuukumar Aug 14, 2020
d59d4fc
Fix some code
ryuukumar Aug 15, 2020
6dea3ab
Change how clip colors work
ryuukumar Aug 16, 2020
25edb51
Fix some unexpected behaviors
ryuukumar Aug 17, 2020
54295df
Fix note border coloring being green on colored tracks
ryuukumar Aug 17, 2020
c3860ee
Change name of an option
ryuukumar Aug 18, 2020
a9d6256
Remove redundant code
ryuukumar Aug 28, 2020
4b1d126
Fix ghost changes
ryuukumar Aug 28, 2020
e99ff57
Remove colorRgb
ryuukumar Aug 28, 2020
3b0aaf0
Rename backgroundColor, remove some variables we don't use
ryuukumar Aug 28, 2020
368fd1e
Remove a redundant variable
ryuukumar Aug 28, 2020
1bf904a
Migrate some duplicates to superclass
ryuukumar Aug 28, 2020
ed3884b
Check for nullpointer
ryuukumar Sep 11, 2020
391550d
Remove redundant variable
ryuukumar Sep 11, 2020
83bcbe9
Merge branch 'master' into color-exp
ryuukumar Sep 13, 2020
d8ee30f
Update some logic
ryuukumar Sep 13, 2020
7d06af1
Change how muted colors are displayed
ryuukumar Sep 16, 2020
1c672c6
Change how dark muted tracks become
ryuukumar Sep 16, 2020
a0db1f6
Merge branch 'master' into color-exp
ryuukumar Sep 25, 2020
25688c0
Place setModified() in appropriate places
ryuukumar Sep 25, 2020
c5ef164
Make getColorForDisplay() function
ryuukumar Sep 25, 2020
be89ef2
Change how colors are organised and saved
ryuukumar Sep 25, 2020
a601b50
Remove m_useStyleColor
ryuukumar Sep 29, 2020
747528e
Remove a comment
ryuukumar Sep 30, 2020
9515a66
Quick changes
ryuukumar Oct 1, 2020
8e780ec
Change how colors are saved
ryuukumar Oct 1, 2020
1fcb161
Remove redundant stuff
ryuukumar Oct 3, 2020
5492049
Remove redundant stuff pt. 2
ryuukumar Oct 3, 2020
a341ee9
Change how colors are copied
ryuukumar Oct 3, 2020
eff524b
Fixes pt. 3
ryuukumar Oct 4, 2020
e9a49f8
Fixes pt. 4
ryuukumar Oct 4, 2020
25f1e9c
Change spaces to tabs
ryuukumar Oct 4, 2020
1c06c17
Fix pseudochanges
ryuukumar Oct 4, 2020
c518669
Remove s_lastTCOColor
ryuukumar Oct 5, 2020
d53dd00
Fix pseudochanges pt. 2
ryuukumar Oct 5, 2020
55bbe67
Fix breaking builds
ryuukumar Oct 5, 2020
602ea8d
Add files via upload
ryuukumar Oct 8, 2020
cf75570
Edit demo
ryuukumar Oct 8, 2020
75617d5
Merge pull request #27 from LMMS/master
ryuukumar Oct 8, 2020
01ffe71
Add comments (again)
ryuukumar Oct 18, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Binary file not shown.
5 changes: 3 additions & 2 deletions include/AutomationPatternView.h
Expand Up @@ -27,10 +27,11 @@

#include <QStaticText>

#include "AutomationPattern.h"
#include "Song.h"
#include "SongEditor.h"
#include "Track.h"

class AutomationPattern;


class AutomationPatternView : public TrackContentObjectView
{
Expand Down
52 changes: 0 additions & 52 deletions include/BBTrack.h
Expand Up @@ -50,33 +50,11 @@ class BBTCO : public TrackContentObject
return( "bbtco" );
}

unsigned int color() const
{
return( m_color.rgb() );
}

QColor colorObj() const
{
return m_color;
}

void setColor( const QColor & c )
{
m_color = QColor( c );
}

void setUseStyleColor( bool b )
{
m_useStyleColor = b;
}

int bbTrackIndex();

TrackContentObjectView * createView( TrackView * _tv ) override;

private:
QColor m_color;
bool m_useStyleColor;


friend class BBTCOView;
Expand All @@ -92,11 +70,6 @@ class BBTCOView : public TrackContentObjectView
BBTCOView( TrackContentObject * _tco, TrackView * _tv );
virtual ~BBTCOView() = default;

QColor color() const
{
return( m_bbTCO->m_color );
}
void setColor( QColor _new_color );

public slots:
void update() override;
Expand All @@ -105,8 +78,6 @@ protected slots:
void openInBBEditor();
void resetName();
void changeName();
void changeColor();
void resetColor();


protected:
Expand Down Expand Up @@ -162,27 +133,6 @@ class LMMS_EXPORT BBTrack : public Track
m_disabledTracks.removeAll( _track );
}

static void setLastTCOColor( const QColor & c )
{
if( ! s_lastTCOColor )
{
s_lastTCOColor = new QColor( c );
}
else
{
*s_lastTCOColor = QColor( c );
}
}

static void clearLastTCOColor()
{
if( s_lastTCOColor )
{
delete s_lastTCOColor;
}
s_lastTCOColor = NULL;
}

protected:
inline QString nodeName() const override
{
Expand All @@ -196,8 +146,6 @@ class LMMS_EXPORT BBTrack : public Track
typedef QMap<BBTrack *, int> infoMap;
static infoMap s_infoMap;

static QColor * s_lastTCOColor;

friend class BBTrackView;

} ;
Expand Down
53 changes: 52 additions & 1 deletion include/Track.h
Expand Up @@ -133,6 +133,25 @@ class LMMS_EXPORT TrackContentObject : public Model, public JournallingObject
{
return m_autoResize;
}

QColor color() const
{
return m_color;
}

void setColor( const QColor & c )
{
m_color = c;
}

bool hasColor();

void useCustomClipColor( bool b );

bool usesCustomClipColor()
{
return m_useCustomClipColor;
}

virtual void movePosition( const MidiTime & pos );
virtual void changeLength( const MidiTime & length );
Expand All @@ -154,6 +173,8 @@ class LMMS_EXPORT TrackContentObject : public Model, public JournallingObject

MidiTime startTimeOffset() const;
void setStartTimeOffset( const MidiTime &startTimeOffset );

void updateColor();

public slots:
void copy();
Expand All @@ -165,6 +186,7 @@ public slots:
void lengthChanged();
void positionChanged();
void destroyedTCO();
void trackColorChanged();


private:
Expand All @@ -188,6 +210,9 @@ public slots:

bool m_selectViewOnCreate;

QColor m_color;
bool m_useCustomClipColor;

friend class TrackContentObjectView;

} ;
Expand Down Expand Up @@ -263,12 +288,17 @@ class TrackContentObjectView : public selectableObject, public ModelView
// some metadata to be written to the clipboard.
static void remove( QVector<TrackContentObjectView *> tcovs );
static void toggleMute( QVector<TrackContentObjectView *> tcovs );

QColor getColorForDisplay( QColor );

public slots:
virtual bool close();
void cut();
void remove();
void update() override;

void changeClipColor();
void useTrackColor();

protected:
enum ContextMenuAction
Expand Down Expand Up @@ -486,6 +516,10 @@ private slots:
void cloneTrack();
void removeTrack();
void updateMenu();
void changeTrackColor();
void randomTrackColor();
void resetTrackColor();
void useTrackColor();
void toggleRecording(bool on);
void recordingOn();
void recordingOff();
Expand All @@ -503,6 +537,9 @@ private slots:

signals:
void trackRemovalScheduled( TrackView * t );
void colorChanged( QColor & c );
void colorParented();
void colorReset();

} ;

Expand Down Expand Up @@ -635,7 +672,16 @@ class LMMS_EXPORT Track : public Model, public JournallingObject
{
return m_processingLock.tryLock();
}


QColor color()
{
return m_color;
}
bool useColor()
{
return m_hasColor;
}

BoolModel* getMutedModel();

public slots:
Expand All @@ -647,6 +693,8 @@ public slots:

void toggleSolo();

void trackColorChanged( QColor & c );
void trackColorReset();

private:
TrackContainer* m_trackContainer;
Expand All @@ -665,6 +713,9 @@ public slots:
tcoVector m_trackContentObjects;

QMutex m_processingLock;

QColor m_color;
bool m_hasColor;

friend class TrackView;

Expand Down
11 changes: 11 additions & 0 deletions src/core/AutomationPattern.cpp
Expand Up @@ -538,6 +538,11 @@ void AutomationPattern::saveSettings( QDomDocument & _doc, QDomElement & _this )
_this.setAttribute( "prog", QString::number( progressionType() ) );
_this.setAttribute( "tens", QString::number( getTension() ) );
_this.setAttribute( "mute", QString::number( isMuted() ) );

if( usesCustomClipColor() )
{
_this.setAttribute( "color", color().name() );
}

for( timeMap::const_iterator it = m_timeMap.begin();
it != m_timeMap.end(); ++it )
Expand Down Expand Up @@ -593,6 +598,12 @@ void AutomationPattern::loadSettings( const QDomElement & _this )
m_idsToResolve << element.attribute( "id" ).toInt();
}
}

if( _this.hasAttribute( "color" ) )
{
useCustomClipColor( true );
setColor( _this.attribute( "color" ) );
}

int len = _this.attribute( "len" ).toInt();
if( len <= 0 )
Expand Down