6 | #endif
7 |
8 |
9 |
10 |
11 | /*
12 | created for working with the MutNRLockArray class.
13 |
14 | basically, you create an instance of this class and give it a reference to an
15 | instance of an object. the instance is NOT retained- but you're now free to
16 | pass ObjectHolder to stuff which will otherwise retain/release it without
17 | worrying about whether the passed instance is retained/released.
18 |
19 | if you call a method on an instance of ObjectHolder and the ObjectHolder
20 | class doesn't respond to that method, the instance will try to call the
21 | method on its object. this means that working with ObjectHolder should-
22 | theoretically, at any rate- be transparent...
23 | */
24 |
25 |
26 |
27 |
28 | @interface ObjectHolder : NSObject {
29 | BOOL deleted;
30 | id object;
31 | }
32 |
33 | + (id) createWithObject:(id)o;
34 | - (id) initWithObject:(id)o;
35 |
36 | - (id) object;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVBasicMacros.h:
--------------------------------------------------------------------------------
1 |
2 | // macros for checking to see if something is nil, and if it's not releasing and setting it to nil
3 | #define VVRELEASE(item) {if (item != nil) { \
4 | [item release]; \
5 | item = nil; \
6 | }}
7 | #define VVAUTORELEASE(item) {if (item != nil) { \
8 | [item autorelease]; \
9 | item = nil; \
10 | }}
11 |
12 |
13 |
14 | // macros for making a CGRect from an NSRect
15 | #define NSMAKECGRECT(n) CGRectMake(n.origin.x, n.origin.y, n.size.width, n.size.height)
16 | #define NSMAKECGPOINT(n) CGPointMake(n.x, n.y)
17 | #define NSMAKECGSIZE(n) CGSizeMake(n.width, n.height)
18 | // macros for making an NSRect from a CGRect
19 | #define CGMAKENSRECT(n) NSMakeRect(n.origin.x, n.origin.y, n.size.width, n.size.height)
20 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVBasics.h:
--------------------------------------------------------------------------------
1 |
2 | #import "VVBasicMacros.h"
3 |
4 | #import "VVThreadLoop.h"
5 | #import "VVStopwatch.h"
6 | #import "ObjectHolder.h"
7 | #import "MutLockArray.h"
8 | #import "MutLockDict.h"
9 | #import "MutNRLockArray.h"
10 | #import "MutNRLockDict.h"
11 | #import "NamedMutLockArray.h"
12 |
13 | #if !IPHONE
14 | #import "VVCURLDL.h"
15 | #import "VVSprite.h"
16 | #import "VVSpriteManager.h"
17 | #import "VVSpriteView.h"
18 | #import "VVSpriteControl.h"
19 | #import "VVSpriteControlCell.h"
20 | #import "VVSpriteGLView.h"
21 | #import "VVCrashReporter.h"
22 | #endif
23 |
24 | /*
25 | the following stuff is for doxygen
26 | */
27 |
28 | /*!
29 | \mainpage
30 |
31 | \htmlonly
32 |
33 |
46 |
47 | Introduction
48 |
49 | VVBasics is an Objective-c framework with a number of classes which perform functions that i need regularly- but, for whatever reason, aren't provided by the stock frameworks. Expect pretty much everything to link against this framework for one reason or another- macros, useful classes, etc- and expect this framework to continuously grow as I start to open-source more and more of my bag of tricks.
50 |
51 |
52 | \endhtmlonly
53 | */
54 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVCrashReporterDescriptionField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting or dragging huge amounts of text (like
6 | crash/console logs!) into the description field of the crash reporter. sounds weird, but trust
7 | me- it's necessary.
8 | */
9 |
10 |
11 | @interface VVCrashReporterDescriptionField : NSTextView {
12 |
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVCrashReporterEmailField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting huge amounts of text into the email field
6 | */
7 |
8 |
9 | @interface VVCrashReporterEmailField : NSTextField {
10 |
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVSpriteControl.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 |
5 |
6 |
7 |
8 | int _maxSpriteControlCount;
9 | int _spriteControlCount;
10 |
11 |
12 |
13 |
14 | @interface VVSpriteControl : NSControl {
15 | BOOL deleted;
16 | VVSpriteManager *spriteManager;
17 | BOOL spritesNeedUpdate;
18 | NSEvent *lastMouseEvent;
19 | NSColor *clearColor;
20 | int mouseDownModifierFlags;
21 | BOOL mouseIsDown;
22 | NSView *clickedSubview; // NOT RETAINED
23 | }
24 |
25 | - (void) generalInit;
26 |
27 | - (void) prepareToBeDeleted;
28 |
29 | - (void) finishedDrawing;
30 |
31 | - (void) updateSprites;
32 |
33 | @property (readonly) BOOL deleted;
34 | @property (readonly) VVSpriteManager *spriteManager;
35 | @property (assign, readwrite) BOOL spritesNeedUpdate;
36 | - (void) setSpritesNeedUpdate;
37 | @property (readonly) NSEvent *lastMouseEvent;
38 | @property (retain,readwrite) NSColor *clearColor;
39 | @property (readonly) BOOL mouseIsDown;
40 |
41 | @end
42 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVSpriteControlCell.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 |
5 |
6 |
7 | @interface VVSpriteControlCell : NSActionCell {
8 |
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVSpriteManager.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSprite.h"
4 | #import "MutLockArray.h"
5 |
6 |
7 |
8 |
9 | @interface VVSpriteManager : NSObject {
10 | BOOL deleted;
11 | MutLockArray *spriteArray; // searched from beginning to end, so order is like z-index!
12 | VVSprite *spriteInUse; // array of VVSprite objects currently tracking drag info
13 | long spriteIndexCount;
14 | }
15 |
16 | - (void) prepareToBeDeleted;
17 |
18 | - (BOOL) localMouseDown:(NSPoint)p;
19 | - (BOOL) localRightMouseDown:(NSPoint)p;
20 | - (void) localRightMouseUp:(NSPoint)p;
21 | - (void) localMouseDragged:(NSPoint)p;
22 | - (void) localMouseUp:(NSPoint)p;
23 |
24 | - (id) newSpriteAtBottomForRect:(NSRect)r;
25 | - (id) newSpriteAtTopForRect:(NSRect)r;
26 | - (long) getUniqueSpriteIndex;
27 |
28 | - (VVSprite *) spriteAtPoint:(NSPoint)p;
29 | - (VVSprite *) spriteForIndex:(long)i;
30 | - (void) removeSpriteForIndex:(long)i;
31 | - (void) removeSprite:(id)z;
32 | - (void) removeSpritesFromArray:(NSArray *)array;
33 | - (void) removeAllSprites;
34 | //- (void) moveSpriteToFront:(VVSprite *)z;
35 |
36 | - (void) draw;
37 | - (void) drawRect:(NSRect)r;
38 |
39 | - (VVSprite *) spriteInUse;
40 | - (void) setSpriteInUse:(VVSprite *)z;
41 |
42 | @property (readonly) MutLockArray *spriteArray;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVSpriteView.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 |
5 |
6 |
7 |
8 | int _spriteViewCount;
9 |
10 |
11 |
12 |
13 | @interface VVSpriteView : NSView {
14 | BOOL deleted;
15 | VVSpriteManager *spriteManager;
16 | BOOL spritesNeedUpdate;
17 | NSEvent *lastMouseEvent;
18 | NSColor *clearColor;
19 | int mouseDownModifierFlags;
20 | BOOL mouseIsDown;
21 | NSView *clickedSubview; // NOT RETAINED
22 | }
23 |
24 | - (void) generalInit;
25 |
26 | - (void) prepareToBeDeleted;
27 |
28 | - (void) finishedDrawing;
29 |
30 | - (void) updateSprites;
31 |
32 | @property (readonly) BOOL deleted;
33 | @property (readonly) VVSpriteManager *spriteManager;
34 | @property (assign, readwrite) BOOL spritesNeedUpdate;
35 | - (void) setSpritesNeedUpdate;
36 | @property (readonly) NSEvent *lastMouseEvent;
37 | @property (retain,readwrite) NSColor *clearColor;
38 | @property (readonly) BOOL mouseIsDown;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Headers/VVStopwatch.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #include
8 |
9 |
10 |
11 | /// This class is used to measure how long it takes to do things; much easier to work with than NSDate.
12 |
13 | @interface VVStopwatch : NSObject {
14 | struct timeval startTime;
15 | }
16 |
17 | /// Returns an auto-released instance of VVStopwatch; the stopwatch is started on creation.
18 | + (id) create;
19 |
20 | /// Starts the stopwatch over again
21 | - (void) start;
22 | /// Returns a float representing the time (in seconds) since the stopwatch was started
23 | - (float) timeSinceStart;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 10J869
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVBasics
11 | CFBundleIdentifier
12 | com.vidvox.VVBasics
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1.0
21 | DTCompiler
22 |
23 | DTPlatformBuild
24 | 4A304a
25 | DTPlatformVersion
26 | GM
27 | DTSDKBuild
28 | 4A304a
29 | DTSDKName
30 | macosx10.6
31 | DTXcode
32 | 0400
33 | DTXcodeBuild
34 | 4A304a
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Resources/VVCrashReporter.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Resources/VVCrashReporter.nib
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/VVBasics:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/VVBasics
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/MutLockDict.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import
8 |
9 |
10 |
11 | /// MutLockDict is a thread-safe version of NSMutableDictionary.
12 | /*!
13 | This class exists because NSMutableDictionary is not thread-safe by default: if you call methods on it from two different threads at the same time, it will try to execute both, often crashing in the process. This class has methods which allow you to work with a mutable dictionary in a transparent and thread-safe manner.
14 | */
15 |
16 | @interface MutLockDict : NSObject {
17 | NSMutableDictionary *dict;
18 | pthread_rwlock_t dictLock;
19 | }
20 |
21 | + (id) dictionaryWithCapacity:(NSUInteger)c;
22 | - (id) initWithCapacity:(NSUInteger)c;
23 |
24 | - (void) rdlock;
25 | - (void) wrlock;
26 | - (void) unlock;
27 |
28 | - (NSMutableDictionary *) dict;
29 | - (NSMutableDictionary *) createDictCopy;
30 | - (NSMutableDictionary *) lockCreateDictCopy;
31 |
32 | - (void) setObject:(id)o forKey:(NSString *)s;
33 | - (void) lockSetObject:(id)o forKey:(NSString *)s;
34 | - (void) setValue:(id)v forKey:(NSString *)s;
35 | - (void) lockSetValue:(id)v forKey:(NSString *)s;
36 | - (void) removeAllObjects;
37 | - (void) lockRemoveAllObjects;
38 | - (id) objectForKey:(NSString *)k;
39 | - (id) lockObjectForKey:(NSString *)k;
40 | - (void) removeObjectForKey:(NSString *)k;
41 | - (void) lockRemoveObjectForKey:(NSString *)k;
42 | - (void) addEntriesFromDictionary:(NSDictionary *)otherDictionary;
43 | - (void) lockAddEntriesFromDictionary:(NSDictionary *)otherDictionary;
44 | - (NSArray *) allKeys;
45 | - (NSArray *) lockAllKeys;
46 | - (NSArray *) allValues;
47 | - (NSArray *) lockAllValues;
48 |
49 | - (void) lockMakeObjectsPerformSelector:(SEL)s;
50 | - (void) makeObjectsPerformSelector:(SEL)s;
51 |
52 | - (NSUInteger) count;
53 | - (NSUInteger) lockCount;
54 |
55 | @end
56 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/MutNRLockDict.h:
--------------------------------------------------------------------------------
1 | //
2 | // MutNRLockDict.h
3 | // VVOpenSource
4 | //
5 | // Created by David Lublin on 12/22/09.
6 | // Copyright 2009 Vidvox. All rights reserved.
7 | //
8 |
9 | #if IPHONE
10 | #import
11 | #else
12 | #import
13 | #endif
14 |
15 | #import "MutLockDict.h"
16 | #import "ObjectHolder.h"
17 |
18 |
19 |
20 | /// Subclass of MutLockDict; this class does NOT retain the objects in its array!
21 | /*
22 | this class exists because i frequently find myself in situations where i want to add an instance of an object to an array/dict/[any class which retains the passed instance], but i don't actually want the item to be retained.
23 |
24 | Instead of adding (and therefore retaining) objects to an array like my superclass, this class makes an ObjectHolder for objects which are added to it (so they don't get retained), and adds the ObjectHolder to me. when other classes ask me for the index of an object, or ask for the object at a particular index, i'll find the relevant ObjectHolder and then return the object it's storing.
25 | */
26 |
27 |
28 | @interface MutNRLockDict : MutLockDict {
29 |
30 | }
31 |
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) setValue:(id)v forKey:(NSString *)s;
35 | - (id) objectForKey:(NSString *)k;
36 | - (void) addEntriesFromDictionary:(id)otherDictionary;
37 | - (NSArray *) allValues;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/NamedMutLockArray.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import "VVBasicMacros.h"
8 | #import "MutLockArray.h"
9 |
10 |
11 |
12 |
13 | /*
14 | // only difference between this and MutLockArray is the "name" variable.
15 | */
16 |
17 |
18 |
19 |
20 | @interface NamedMutLockArray : MutLockArray {
21 | NSString *name;
22 | }
23 |
24 | + (id) arrayWithCapacity:(int)c;
25 | + (id) create;
26 |
27 | - (NSComparisonResult) nameCompare:(NamedMutLockArray *)comp;
28 |
29 | @property (assign, readwrite) NSString *name;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/ObjectHolder.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | /*
12 | created for working with the MutNRLockArray class.
13 |
14 | basically, you create an instance of this class and give it a reference to an
15 | instance of an object. the instance is NOT retained- but you're now free to
16 | pass ObjectHolder to stuff which will otherwise retain/release it without
17 | worrying about whether the passed instance is retained/released.
18 |
19 | if you call a method on an instance of ObjectHolder and the ObjectHolder
20 | class doesn't respond to that method, the instance will try to call the
21 | method on its object. this means that working with ObjectHolder should-
22 | theoretically, at any rate- be transparent...
23 | */
24 |
25 |
26 |
27 |
28 | @interface ObjectHolder : NSObject {
29 | BOOL deleted;
30 | id object;
31 | }
32 |
33 | + (id) createWithObject:(id)o;
34 | - (id) initWithObject:(id)o;
35 |
36 | - (id) object;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVBasicMacros.h:
--------------------------------------------------------------------------------
1 |
2 | // macros for checking to see if something is nil, and if it's not releasing and setting it to nil
3 | #define VVRELEASE(item) {if (item != nil) { \
4 | [item release]; \
5 | item = nil; \
6 | }}
7 | #define VVAUTORELEASE(item) {if (item != nil) { \
8 | [item autorelease]; \
9 | item = nil; \
10 | }}
11 |
12 |
13 |
14 | // macros for making a CGRect from an NSRect
15 | #define NSMAKECGRECT(n) CGRectMake(n.origin.x, n.origin.y, n.size.width, n.size.height)
16 | #define NSMAKECGPOINT(n) CGPointMake(n.x, n.y)
17 | #define NSMAKECGSIZE(n) CGSizeMake(n.width, n.height)
18 | // macros for making an NSRect from a CGRect
19 | #define CGMAKENSRECT(n) NSMakeRect(n.origin.x, n.origin.y, n.size.width, n.size.height)
20 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVBasics.h:
--------------------------------------------------------------------------------
1 |
2 | #import "VVBasicMacros.h"
3 |
4 | #import "VVThreadLoop.h"
5 | #import "VVStopwatch.h"
6 | #import "ObjectHolder.h"
7 | #import "MutLockArray.h"
8 | #import "MutLockDict.h"
9 | #import "MutNRLockArray.h"
10 | #import "MutNRLockDict.h"
11 | #import "NamedMutLockArray.h"
12 |
13 | #if !IPHONE
14 | #import "VVCURLDL.h"
15 | #import "VVSprite.h"
16 | #import "VVSpriteManager.h"
17 | #import "VVSpriteView.h"
18 | #import "VVSpriteControl.h"
19 | #import "VVSpriteControlCell.h"
20 | #import "VVSpriteGLView.h"
21 | #import "VVCrashReporter.h"
22 | #endif
23 |
24 | /*
25 | the following stuff is for doxygen
26 | */
27 |
28 | /*!
29 | \mainpage
30 |
31 | \htmlonly
32 |
33 |
46 |
47 | Introduction
48 |
49 | VVBasics is an Objective-c framework with a number of classes which perform functions that i need regularly- but, for whatever reason, aren't provided by the stock frameworks. Expect pretty much everything to link against this framework for one reason or another- macros, useful classes, etc- and expect this framework to continuously grow as I start to open-source more and more of my bag of tricks.
50 |
51 |
52 | \endhtmlonly
53 | */
54 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVCrashReporterDescriptionField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting or dragging huge amounts of text (like
6 | crash/console logs!) into the description field of the crash reporter. sounds weird, but trust
7 | me- it's necessary.
8 | */
9 |
10 |
11 | @interface VVCrashReporterDescriptionField : NSTextView {
12 |
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVCrashReporterEmailField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting huge amounts of text into the email field
6 | */
7 |
8 |
9 | @interface VVCrashReporterEmailField : NSTextField {
10 |
11 | }
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVSpriteControl.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 |
5 |
6 |
7 |
8 | int _maxSpriteControlCount;
9 | int _spriteControlCount;
10 |
11 |
12 |
13 |
14 | @interface VVSpriteControl : NSControl {
15 | BOOL deleted;
16 | VVSpriteManager *spriteManager;
17 | BOOL spritesNeedUpdate;
18 | NSEvent *lastMouseEvent;
19 | NSColor *clearColor;
20 | int mouseDownModifierFlags;
21 | BOOL mouseIsDown;
22 | NSView *clickedSubview; // NOT RETAINED
23 | }
24 |
25 | - (void) generalInit;
26 |
27 | - (void) prepareToBeDeleted;
28 |
29 | - (void) finishedDrawing;
30 |
31 | - (void) updateSprites;
32 |
33 | @property (readonly) BOOL deleted;
34 | @property (readonly) VVSpriteManager *spriteManager;
35 | @property (assign, readwrite) BOOL spritesNeedUpdate;
36 | - (void) setSpritesNeedUpdate;
37 | @property (readonly) NSEvent *lastMouseEvent;
38 | @property (retain,readwrite) NSColor *clearColor;
39 | @property (readonly) BOOL mouseIsDown;
40 |
41 | @end
42 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVSpriteControlCell.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 |
5 |
6 |
7 | @interface VVSpriteControlCell : NSActionCell {
8 |
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVSpriteManager.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSprite.h"
4 | #import "MutLockArray.h"
5 |
6 |
7 |
8 |
9 | @interface VVSpriteManager : NSObject {
10 | BOOL deleted;
11 | MutLockArray *spriteArray; // searched from beginning to end, so order is like z-index!
12 | VVSprite *spriteInUse; // array of VVSprite objects currently tracking drag info
13 | long spriteIndexCount;
14 | }
15 |
16 | - (void) prepareToBeDeleted;
17 |
18 | - (BOOL) localMouseDown:(NSPoint)p;
19 | - (BOOL) localRightMouseDown:(NSPoint)p;
20 | - (void) localRightMouseUp:(NSPoint)p;
21 | - (void) localMouseDragged:(NSPoint)p;
22 | - (void) localMouseUp:(NSPoint)p;
23 |
24 | - (id) newSpriteAtBottomForRect:(NSRect)r;
25 | - (id) newSpriteAtTopForRect:(NSRect)r;
26 | - (long) getUniqueSpriteIndex;
27 |
28 | - (VVSprite *) spriteAtPoint:(NSPoint)p;
29 | - (VVSprite *) spriteForIndex:(long)i;
30 | - (void) removeSpriteForIndex:(long)i;
31 | - (void) removeSprite:(id)z;
32 | - (void) removeSpritesFromArray:(NSArray *)array;
33 | - (void) removeAllSprites;
34 | //- (void) moveSpriteToFront:(VVSprite *)z;
35 |
36 | - (void) draw;
37 | - (void) drawRect:(NSRect)r;
38 |
39 | - (VVSprite *) spriteInUse;
40 | - (void) setSpriteInUse:(VVSprite *)z;
41 |
42 | @property (readonly) MutLockArray *spriteArray;
43 |
44 | @end
45 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVSpriteView.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 |
5 |
6 |
7 |
8 | int _spriteViewCount;
9 |
10 |
11 |
12 |
13 | @interface VVSpriteView : NSView {
14 | BOOL deleted;
15 | VVSpriteManager *spriteManager;
16 | BOOL spritesNeedUpdate;
17 | NSEvent *lastMouseEvent;
18 | NSColor *clearColor;
19 | int mouseDownModifierFlags;
20 | BOOL mouseIsDown;
21 | NSView *clickedSubview; // NOT RETAINED
22 | }
23 |
24 | - (void) generalInit;
25 |
26 | - (void) prepareToBeDeleted;
27 |
28 | - (void) finishedDrawing;
29 |
30 | - (void) updateSprites;
31 |
32 | @property (readonly) BOOL deleted;
33 | @property (readonly) VVSpriteManager *spriteManager;
34 | @property (assign, readwrite) BOOL spritesNeedUpdate;
35 | - (void) setSpritesNeedUpdate;
36 | @property (readonly) NSEvent *lastMouseEvent;
37 | @property (retain,readwrite) NSColor *clearColor;
38 | @property (readonly) BOOL mouseIsDown;
39 |
40 | @end
41 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Headers/VVStopwatch.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #include
8 |
9 |
10 |
11 | /// This class is used to measure how long it takes to do things; much easier to work with than NSDate.
12 |
13 | @interface VVStopwatch : NSObject {
14 | struct timeval startTime;
15 | }
16 |
17 | /// Returns an auto-released instance of VVStopwatch; the stopwatch is started on creation.
18 | + (id) create;
19 |
20 | /// Starts the stopwatch over again
21 | - (void) start;
22 | /// Returns a float representing the time (in seconds) since the stopwatch was started
23 | - (float) timeSinceStart;
24 |
25 | @end
26 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 10J869
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVBasics
11 | CFBundleIdentifier
12 | com.vidvox.VVBasics
13 | CFBundleInfoDictionaryVersion
14 | 6.0
15 | CFBundlePackageType
16 | FMWK
17 | CFBundleSignature
18 | ????
19 | CFBundleVersion
20 | 1.0
21 | DTCompiler
22 |
23 | DTPlatformBuild
24 | 4A304a
25 | DTPlatformVersion
26 | GM
27 | DTSDKBuild
28 | 4A304a
29 | DTSDKName
30 | macosx10.6
31 | DTXcode
32 | 0400
33 | DTXcodeBuild
34 | 4A304a
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Resources/VVCrashReporter.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/Resources/VVCrashReporter.nib
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/VVBasics:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVBasics.framework/Versions/A/VVBasics
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Headers/VVMIDIMessage.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 |
6 |
7 | @interface VVMIDIMessage : NSObject {
8 | Byte type;
9 | Byte channel;
10 | Byte data1; // usually controller/note #
11 | Byte data2; // usually controller/note value
12 | // array of NSNumbers, or nil if this isn't a sysex message
13 | // DOES NOT CONTAIN SYSEX START/STOP STATUS BYTES (0xF0 / 0xF7)
14 | NSMutableArray *sysexArray;
15 | }
16 |
17 | + (id) createWithType:(Byte)t channel:(Byte)c;
18 | + (id) createFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
19 | + (id) createWithSysexArray:(NSMutableArray *)s;
20 | - (id) initWithType:(Byte)t channel:(Byte)c;
21 | - (id) initFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
22 | - (id) initWithSysexArray:(NSMutableArray *)s;
23 |
24 | - (NSString *) description;
25 | - (NSString *) lengthyDescription;
26 |
27 | - (Byte) type;
28 | - (void) setType:(Byte)newType;
29 | - (Byte) channel;
30 | - (void) setData1:(Byte)newData;
31 | - (Byte) data1;
32 | - (void) setData2:(Byte)newData;
33 | - (Byte) data2;
34 | - (NSMutableArray *) sysexArray;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 10J869
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVMIDI
11 | CFBundleGetInfoString
12 | 0.1.1
13 | CFBundleIdentifier
14 | com.vidvox.VVMIDI
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 0.1.1
23 | DTCompiler
24 |
25 | DTPlatformBuild
26 | 4A304a
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 4A304a
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0400
35 | DTXcodeBuild
36 | 4A304a
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/VVMIDI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/VVMIDI
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Versions/A/Headers/VVMIDIMessage.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 |
6 |
7 | @interface VVMIDIMessage : NSObject {
8 | Byte type;
9 | Byte channel;
10 | Byte data1; // usually controller/note #
11 | Byte data2; // usually controller/note value
12 | // array of NSNumbers, or nil if this isn't a sysex message
13 | // DOES NOT CONTAIN SYSEX START/STOP STATUS BYTES (0xF0 / 0xF7)
14 | NSMutableArray *sysexArray;
15 | }
16 |
17 | + (id) createWithType:(Byte)t channel:(Byte)c;
18 | + (id) createFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
19 | + (id) createWithSysexArray:(NSMutableArray *)s;
20 | - (id) initWithType:(Byte)t channel:(Byte)c;
21 | - (id) initFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
22 | - (id) initWithSysexArray:(NSMutableArray *)s;
23 |
24 | - (NSString *) description;
25 | - (NSString *) lengthyDescription;
26 |
27 | - (Byte) type;
28 | - (void) setType:(Byte)newType;
29 | - (Byte) channel;
30 | - (void) setData1:(Byte)newData;
31 | - (Byte) data1;
32 | - (void) setData2:(Byte)newData;
33 | - (Byte) data2;
34 | - (NSMutableArray *) sysexArray;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 10J869
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVMIDI
11 | CFBundleGetInfoString
12 | 0.1.1
13 | CFBundleIdentifier
14 | com.vidvox.VVMIDI
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 0.1.1
23 | DTCompiler
24 |
25 | DTPlatformBuild
26 | 4A304a
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 4A304a
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0400
35 | DTXcodeBuild
36 | 4A304a
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Versions/A/VVMIDI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBackup/VVMIDI.framework/Versions/A/VVMIDI
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/VVBasics:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/VVBasics
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/MutLockDict.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import
8 |
9 |
10 |
11 | /// MutLockDict is a thread-safe version of NSMutableDictionary.
12 | /*!
13 | This class exists because NSMutableDictionary is not thread-safe by default: if you call methods on it from two different threads at the same time, it will try to execute both, often crashing in the process. This class has methods which allow you to work with a mutable dictionary in a transparent and thread-safe manner.
14 | */
15 |
16 | @interface MutLockDict : NSObject {
17 | NSMutableDictionary *dict;
18 | pthread_rwlock_t dictLock;
19 | }
20 |
21 | + (id) dictionaryWithCapacity:(NSInteger)c;
22 | + (id) dictionaryWithDict:(NSDictionary *)d;
23 | - (id) initWithCapacity:(NSInteger)c;
24 |
25 | - (void) rdlock;
26 | - (void) wrlock;
27 | - (void) unlock;
28 |
29 | - (NSMutableDictionary *) dict;
30 | - (NSMutableDictionary *) createDictCopy;
31 | - (NSMutableDictionary *) lockCreateDictCopy;
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) lockSetObject:(id)o forKey:(NSString *)s;
35 | - (void) setValue:(id)v forKey:(NSString *)s;
36 | - (void) lockSetValue:(id)v forKey:(NSString *)s;
37 | - (void) removeAllObjects;
38 | - (void) lockRemoveAllObjects;
39 | - (id) objectForKey:(NSString *)k;
40 | - (id) lockObjectForKey:(NSString *)k;
41 | - (void) removeObjectForKey:(NSString *)k;
42 | - (void) lockRemoveObjectForKey:(NSString *)k;
43 | - (void) addEntriesFromDictionary:(NSDictionary *)otherDictionary;
44 | - (void) lockAddEntriesFromDictionary:(NSDictionary *)otherDictionary;
45 | - (NSArray *) allKeys;
46 | - (NSArray *) lockAllKeys;
47 | - (NSArray *) allValues;
48 | - (NSArray *) lockAllValues;
49 |
50 | - (void) lockMakeObjectsPerformSelector:(SEL)s;
51 | - (void) makeObjectsPerformSelector:(SEL)s;
52 |
53 | - (NSInteger) count;
54 | - (NSInteger) lockCount;
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/MutNRLockDict.h:
--------------------------------------------------------------------------------
1 | //
2 | // MutNRLockDict.h
3 | // VVOpenSource
4 | //
5 | // Created by David Lublin on 12/22/09.
6 | // Copyright 2009 Vidvox. All rights reserved.
7 | //
8 |
9 | #if IPHONE
10 | #import
11 | #else
12 | #import
13 | #endif
14 |
15 | #import "MutLockDict.h"
16 | #import "ObjectHolder.h"
17 |
18 |
19 |
20 | /// Subclass of MutLockDict; this class does NOT retain the objects in its array!
21 | /*
22 | this class exists because i frequently find myself in situations where i want to add an instance of an object to an array/dict/[any class which retains the passed instance], but i don't actually want the item to be retained.
23 |
24 | Instead of adding (and therefore retaining) objects to an array like my superclass, this class makes an ObjectHolder for objects which are added to it (so they don't get retained), and adds the ObjectHolder to me. when other classes ask me for the index of an object, or ask for the object at a particular index, i'll find the relevant ObjectHolder and then return the object it's storing.
25 | */
26 |
27 |
28 | @interface MutNRLockDict : MutLockDict {
29 |
30 | }
31 |
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) setValue:(id)v forKey:(NSString *)s;
35 | - (id) objectForKey:(NSString *)k;
36 | - (void) addEntriesFromDictionary:(id)otherDictionary;
37 | - (NSArray *) allValues;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/NamedMutLockArray.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import "VVBasicMacros.h"
8 | #import "MutLockArray.h"
9 |
10 |
11 |
12 |
13 | /*
14 | // only difference between this and MutLockArray is the "name" variable.
15 | */
16 |
17 |
18 |
19 |
20 | @interface NamedMutLockArray : MutLockArray {
21 | NSString *name;
22 | }
23 |
24 | + (id) arrayWithCapacity:(int)c;
25 | + (id) create;
26 |
27 | - (NSComparisonResult) nameCompare:(NamedMutLockArray *)comp;
28 |
29 | @property (assign, readwrite) NSString *name;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/ObjectHolder.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | /*
12 | created for working with the MutNRLockArray class.
13 |
14 | basically, you create an instance of this class and give it a reference to an
15 | instance of an object. the instance is NOT retained- but you're now free to
16 | pass ObjectHolder to stuff which will otherwise retain/release it without
17 | worrying about whether the passed instance is retained/released.
18 |
19 | if you call a method on an instance of ObjectHolder and the ObjectHolder
20 | class doesn't respond to that method, the instance will try to call the
21 | method on its object. this means that working with ObjectHolder should-
22 | theoretically, at any rate- be transparent...
23 | */
24 |
25 |
26 |
27 |
28 | @interface ObjectHolder : NSObject {
29 | BOOL deleted;
30 | id object;
31 | }
32 |
33 | + (id) createWithObject:(id)o;
34 | - (id) initWithObject:(id)o;
35 |
36 | @property (assign,readwrite) id object;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVAssertionHandler.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | #define USE_CUSTOM_ASSERTION_HANDLER \
12 | { \
13 | NSThread *__currentThread = [NSThread currentThread]; \
14 | NSDictionary *__threadDict = (__currentThread==nil) ? nil : [__currentThread threadDictionary]; \
15 | if (__threadDict != nil) { \
16 | VVAssertionHandler *__newAH = [[VVAssertionHandler alloc] init]; \
17 | if (__newAH != nil) { \
18 | [__threadDict setValue:__newAH forKey:@"NSAssertionHandler"]; \
19 | [__newAH release]; \
20 | __newAH = nil; \
21 | } \
22 | } \
23 | }
24 |
25 |
26 |
27 | @interface VVAssertionHandler : NSAssertionHandler {
28 |
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVBasics.h:
--------------------------------------------------------------------------------
1 |
2 | #import "VVBasicMacros.h"
3 |
4 | #import "VVThreadLoop.h"
5 | #import "VVAssertionHandler.h"
6 | #import "VVStopwatch.h"
7 | #import "ObjectHolder.h"
8 | #import "MutLockArray.h"
9 | #import "MutLockDict.h"
10 | #import "MutNRLockArray.h"
11 | #import "MutNRLockDict.h"
12 | #import "NamedMutLockArray.h"
13 |
14 | #if !IPHONE
15 | #import "VVCURLDL.h"
16 | #import "VVSprite.h"
17 | #import "VVSpriteManager.h"
18 | #import "VVSpriteView.h"
19 | #import "VVSpriteControl.h"
20 | #import "VVSpriteControlCell.h"
21 | #import "VVSpriteGLView.h"
22 | #import "VVCrashReporter.h"
23 | //#import "NSHostAdditions.h"
24 | #endif
25 |
26 | /*
27 | the following stuff is for doxygen
28 | */
29 |
30 | /*!
31 | \mainpage
32 |
33 | \htmlonly
34 |
35 |
48 |
49 | Introduction
50 |
51 | VVBasics is an Objective-c framework with a number of classes which perform functions that i need regularly- but, for whatever reason, aren't provided by the stock frameworks. Expect pretty much everything to link against this framework for one reason or another- macros, useful classes, etc- and expect this framework to continuously grow as I start to open-source more and more of my bag of tricks.
52 |
53 |
54 | \endhtmlonly
55 | */
56 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVCrashReporterDescriptionField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting or dragging huge amounts of text (like
6 | crash/console logs!) into the description field of the crash reporter. sounds weird, but trust
7 | me- it's necessary.
8 | */
9 |
10 |
11 | @interface VVCrashReporterDescriptionField : NSTextView {
12 |
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVCrashReporterEmailField.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 |
5 | /*
6 | this class exists solely to prevent users from pasting huge amounts of text into the email field
7 | */
8 |
9 |
10 | @interface VVCrashReporterEmailField : NSTextField {
11 |
12 | }
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVSpriteControl.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _maxSpriteControlCount;
10 | extern int _spriteControlCount;
11 |
12 |
13 |
14 |
15 | @interface VVSpriteControl : NSControl {
16 | BOOL deleted;
17 | VVSpriteManager *spriteManager;
18 | BOOL spritesNeedUpdate;
19 |
20 | OSSpinLock propertyLock;
21 | NSEvent *lastMouseEvent;
22 | NSColor *clearColor;
23 | BOOL drawBorder;
24 | NSColor *borderColor;
25 |
26 | long mouseDownModifierFlags;
27 | BOOL mouseIsDown;
28 | NSView *clickedSubview; // NOT RETAINED
29 | }
30 |
31 | - (void) generalInit;
32 |
33 | - (void) prepareToBeDeleted;
34 |
35 | - (void) finishedDrawing;
36 |
37 | - (void) updateSprites;
38 |
39 | @property (readonly) BOOL deleted;
40 | @property (readonly) VVSpriteManager *spriteManager;
41 | @property (assign, readwrite) BOOL spritesNeedUpdate;
42 | - (void) setSpritesNeedUpdate;
43 | @property (readonly) NSEvent *lastMouseEvent;
44 | @property (retain,readwrite) NSColor *clearColor;
45 | @property (assign,readwrite) BOOL drawBorder;
46 | @property (retain,readwrite) NSColor *borderColor;
47 | @property (readonly) BOOL mouseIsDown;
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVSpriteControlCell.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 |
5 |
6 |
7 | @interface VVSpriteControlCell : NSActionCell {
8 |
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVSpriteView.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _spriteViewCount;
10 |
11 |
12 |
13 |
14 | @interface VVSpriteView : NSView {
15 | BOOL deleted;
16 | VVSpriteManager *spriteManager;
17 | BOOL spritesNeedUpdate;
18 |
19 | OSSpinLock propertyLock;
20 | NSEvent *lastMouseEvent;
21 | NSColor *clearColor;
22 | BOOL drawBorder;
23 | NSColor *borderColor;
24 |
25 | long mouseDownModifierFlags;
26 | BOOL mouseIsDown;
27 | NSView *clickedSubview; // NOT RETAINED
28 | }
29 |
30 | - (void) generalInit;
31 |
32 | - (void) prepareToBeDeleted;
33 |
34 | - (void) finishedDrawing;
35 |
36 | - (void) updateSprites;
37 |
38 | @property (readonly) BOOL deleted;
39 | @property (readonly) VVSpriteManager *spriteManager;
40 | @property (assign, readwrite) BOOL spritesNeedUpdate;
41 | - (void) setSpritesNeedUpdate;
42 | @property (readonly) NSEvent *lastMouseEvent;
43 | @property (retain,readwrite) NSColor *clearColor;
44 | @property (assign,readwrite) BOOL drawBorder;
45 | @property (retain,readwrite) NSColor *borderColor;
46 | @property (readonly) BOOL mouseIsDown;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Headers/VVStopwatch.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #include
8 | #import
9 |
10 |
11 |
12 | /// This class is used to measure how long it takes to do things; much easier to work with than NSDate.
13 |
14 | @interface VVStopwatch : NSObject {
15 | struct timeval startTime;
16 | OSSpinLock timeLock;
17 | }
18 |
19 | /// Returns an auto-released instance of VVStopwatch; the stopwatch is started on creation.
20 | + (id) create;
21 |
22 | /// Starts the stopwatch over again
23 | - (void) start;
24 | /// Returns a float representing the time (in seconds) since the stopwatch was started
25 | - (double) timeSinceStart;
26 | /// Sets the stopwatch's starting time as an offset to the current time
27 | - (void) startInTimeInterval:(NSTimeInterval)t;
28 | /// Populates the passed timeval struct with the current timeval
29 | - (void) copyStartTimeToTimevalStruct:(struct timeval *)dst;
30 | /// Populates the starting time with the passed timeval struct
31 | - (void) setStartTimeStruct:(struct timeval *)src;
32 |
33 | @end
34 |
35 | void populateTimevalWithFloat(struct timeval *tval, double secVal);
36 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVBasics
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVBasics
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Resources/VVCrashReporter.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/Resources/VVCrashReporter.nib
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/VVBasics:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/A/VVBasics
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/MutLockDict.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import
8 |
9 |
10 |
11 | /// MutLockDict is a thread-safe version of NSMutableDictionary.
12 | /*!
13 | This class exists because NSMutableDictionary is not thread-safe by default: if you call methods on it from two different threads at the same time, it will try to execute both, often crashing in the process. This class has methods which allow you to work with a mutable dictionary in a transparent and thread-safe manner.
14 | */
15 |
16 | @interface MutLockDict : NSObject {
17 | NSMutableDictionary *dict;
18 | pthread_rwlock_t dictLock;
19 | }
20 |
21 | + (id) dictionaryWithCapacity:(NSInteger)c;
22 | + (id) dictionaryWithDict:(NSDictionary *)d;
23 | - (id) initWithCapacity:(NSInteger)c;
24 |
25 | - (void) rdlock;
26 | - (void) wrlock;
27 | - (void) unlock;
28 |
29 | - (NSMutableDictionary *) dict;
30 | - (NSMutableDictionary *) createDictCopy;
31 | - (NSMutableDictionary *) lockCreateDictCopy;
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) lockSetObject:(id)o forKey:(NSString *)s;
35 | - (void) setValue:(id)v forKey:(NSString *)s;
36 | - (void) lockSetValue:(id)v forKey:(NSString *)s;
37 | - (void) removeAllObjects;
38 | - (void) lockRemoveAllObjects;
39 | - (id) objectForKey:(NSString *)k;
40 | - (id) lockObjectForKey:(NSString *)k;
41 | - (void) removeObjectForKey:(NSString *)k;
42 | - (void) lockRemoveObjectForKey:(NSString *)k;
43 | - (void) addEntriesFromDictionary:(NSDictionary *)otherDictionary;
44 | - (void) lockAddEntriesFromDictionary:(NSDictionary *)otherDictionary;
45 | - (NSArray *) allKeys;
46 | - (NSArray *) lockAllKeys;
47 | - (NSArray *) allValues;
48 | - (NSArray *) lockAllValues;
49 |
50 | - (void) lockMakeObjectsPerformSelector:(SEL)s;
51 | - (void) makeObjectsPerformSelector:(SEL)s;
52 |
53 | - (NSInteger) count;
54 | - (NSInteger) lockCount;
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/MutNRLockDict.h:
--------------------------------------------------------------------------------
1 | //
2 | // MutNRLockDict.h
3 | // VVOpenSource
4 | //
5 | // Created by David Lublin on 12/22/09.
6 | // Copyright 2009 Vidvox. All rights reserved.
7 | //
8 |
9 | #if IPHONE
10 | #import
11 | #else
12 | #import
13 | #endif
14 |
15 | #import "MutLockDict.h"
16 | #import "ObjectHolder.h"
17 |
18 |
19 |
20 | /// Subclass of MutLockDict; this class does NOT retain the objects in its array!
21 | /*
22 | this class exists because i frequently find myself in situations where i want to add an instance of an object to an array/dict/[any class which retains the passed instance], but i don't actually want the item to be retained.
23 |
24 | Instead of adding (and therefore retaining) objects to an array like my superclass, this class makes an ObjectHolder for objects which are added to it (so they don't get retained), and adds the ObjectHolder to me. when other classes ask me for the index of an object, or ask for the object at a particular index, i'll find the relevant ObjectHolder and then return the object it's storing.
25 | */
26 |
27 |
28 | @interface MutNRLockDict : MutLockDict {
29 |
30 | }
31 |
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) setValue:(id)v forKey:(NSString *)s;
35 | - (id) objectForKey:(NSString *)k;
36 | - (void) addEntriesFromDictionary:(id)otherDictionary;
37 | - (NSArray *) allValues;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/NamedMutLockArray.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import "VVBasicMacros.h"
8 | #import "MutLockArray.h"
9 |
10 |
11 |
12 |
13 | /*
14 | // only difference between this and MutLockArray is the "name" variable.
15 | */
16 |
17 |
18 |
19 |
20 | @interface NamedMutLockArray : MutLockArray {
21 | NSString *name;
22 | }
23 |
24 | + (id) arrayWithCapacity:(int)c;
25 | + (id) create;
26 |
27 | - (NSComparisonResult) nameCompare:(NamedMutLockArray *)comp;
28 |
29 | @property (assign, readwrite) NSString *name;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/ObjectHolder.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | /*
12 | created for working with the MutNRLockArray class.
13 |
14 | basically, you create an instance of this class and give it a reference to an
15 | instance of an object. the instance is NOT retained- but you're now free to
16 | pass ObjectHolder to stuff which will otherwise retain/release it without
17 | worrying about whether the passed instance is retained/released.
18 |
19 | if you call a method on an instance of ObjectHolder and the ObjectHolder
20 | class doesn't respond to that method, the instance will try to call the
21 | method on its object. this means that working with ObjectHolder should-
22 | theoretically, at any rate- be transparent...
23 | */
24 |
25 |
26 |
27 |
28 | @interface ObjectHolder : NSObject {
29 | BOOL deleted;
30 | id object;
31 | }
32 |
33 | + (id) createWithObject:(id)o;
34 | - (id) initWithObject:(id)o;
35 |
36 | @property (assign,readwrite) id object;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVAssertionHandler.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | #define USE_CUSTOM_ASSERTION_HANDLER \
12 | { \
13 | NSThread *__currentThread = [NSThread currentThread]; \
14 | NSDictionary *__threadDict = (__currentThread==nil) ? nil : [__currentThread threadDictionary]; \
15 | if (__threadDict != nil) { \
16 | VVAssertionHandler *__newAH = [[VVAssertionHandler alloc] init]; \
17 | if (__newAH != nil) { \
18 | [__threadDict setValue:__newAH forKey:@"NSAssertionHandler"]; \
19 | [__newAH release]; \
20 | __newAH = nil; \
21 | } \
22 | } \
23 | }
24 |
25 |
26 |
27 | @interface VVAssertionHandler : NSAssertionHandler {
28 |
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVBasics.h:
--------------------------------------------------------------------------------
1 |
2 | #import "VVBasicMacros.h"
3 |
4 | #import "VVThreadLoop.h"
5 | #import "VVAssertionHandler.h"
6 | #import "VVStopwatch.h"
7 | #import "ObjectHolder.h"
8 | #import "MutLockArray.h"
9 | #import "MutLockDict.h"
10 | #import "MutNRLockArray.h"
11 | #import "MutNRLockDict.h"
12 | #import "NamedMutLockArray.h"
13 |
14 | #if !IPHONE
15 | #import "VVCURLDL.h"
16 | #import "VVSprite.h"
17 | #import "VVSpriteManager.h"
18 | #import "VVSpriteView.h"
19 | #import "VVSpriteControl.h"
20 | #import "VVSpriteControlCell.h"
21 | #import "VVSpriteGLView.h"
22 | #import "VVCrashReporter.h"
23 | //#import "NSHostAdditions.h"
24 | #endif
25 |
26 | /*
27 | the following stuff is for doxygen
28 | */
29 |
30 | /*!
31 | \mainpage
32 |
33 | \htmlonly
34 |
35 |
48 |
49 | Introduction
50 |
51 | VVBasics is an Objective-c framework with a number of classes which perform functions that i need regularly- but, for whatever reason, aren't provided by the stock frameworks. Expect pretty much everything to link against this framework for one reason or another- macros, useful classes, etc- and expect this framework to continuously grow as I start to open-source more and more of my bag of tricks.
52 |
53 |
54 | \endhtmlonly
55 | */
56 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVCrashReporterDescriptionField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting or dragging huge amounts of text (like
6 | crash/console logs!) into the description field of the crash reporter. sounds weird, but trust
7 | me- it's necessary.
8 | */
9 |
10 |
11 | @interface VVCrashReporterDescriptionField : NSTextView {
12 |
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVCrashReporterEmailField.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 |
5 | /*
6 | this class exists solely to prevent users from pasting huge amounts of text into the email field
7 | */
8 |
9 |
10 | @interface VVCrashReporterEmailField : NSTextField {
11 |
12 | }
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVSpriteControl.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _maxSpriteControlCount;
10 | extern int _spriteControlCount;
11 |
12 |
13 |
14 |
15 | @interface VVSpriteControl : NSControl {
16 | BOOL deleted;
17 | VVSpriteManager *spriteManager;
18 | BOOL spritesNeedUpdate;
19 |
20 | OSSpinLock propertyLock;
21 | NSEvent *lastMouseEvent;
22 | NSColor *clearColor;
23 | BOOL drawBorder;
24 | NSColor *borderColor;
25 |
26 | long mouseDownModifierFlags;
27 | BOOL mouseIsDown;
28 | NSView *clickedSubview; // NOT RETAINED
29 | }
30 |
31 | - (void) generalInit;
32 |
33 | - (void) prepareToBeDeleted;
34 |
35 | - (void) finishedDrawing;
36 |
37 | - (void) updateSprites;
38 |
39 | @property (readonly) BOOL deleted;
40 | @property (readonly) VVSpriteManager *spriteManager;
41 | @property (assign, readwrite) BOOL spritesNeedUpdate;
42 | - (void) setSpritesNeedUpdate;
43 | @property (readonly) NSEvent *lastMouseEvent;
44 | @property (retain,readwrite) NSColor *clearColor;
45 | @property (assign,readwrite) BOOL drawBorder;
46 | @property (retain,readwrite) NSColor *borderColor;
47 | @property (readonly) BOOL mouseIsDown;
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVSpriteControlCell.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 |
5 |
6 |
7 | @interface VVSpriteControlCell : NSActionCell {
8 |
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVSpriteView.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _spriteViewCount;
10 |
11 |
12 |
13 |
14 | @interface VVSpriteView : NSView {
15 | BOOL deleted;
16 | VVSpriteManager *spriteManager;
17 | BOOL spritesNeedUpdate;
18 |
19 | OSSpinLock propertyLock;
20 | NSEvent *lastMouseEvent;
21 | NSColor *clearColor;
22 | BOOL drawBorder;
23 | NSColor *borderColor;
24 |
25 | long mouseDownModifierFlags;
26 | BOOL mouseIsDown;
27 | NSView *clickedSubview; // NOT RETAINED
28 | }
29 |
30 | - (void) generalInit;
31 |
32 | - (void) prepareToBeDeleted;
33 |
34 | - (void) finishedDrawing;
35 |
36 | - (void) updateSprites;
37 |
38 | @property (readonly) BOOL deleted;
39 | @property (readonly) VVSpriteManager *spriteManager;
40 | @property (assign, readwrite) BOOL spritesNeedUpdate;
41 | - (void) setSpritesNeedUpdate;
42 | @property (readonly) NSEvent *lastMouseEvent;
43 | @property (retain,readwrite) NSColor *clearColor;
44 | @property (assign,readwrite) BOOL drawBorder;
45 | @property (retain,readwrite) NSColor *borderColor;
46 | @property (readonly) BOOL mouseIsDown;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Headers/VVStopwatch.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #include
8 | #import
9 |
10 |
11 |
12 | /// This class is used to measure how long it takes to do things; much easier to work with than NSDate.
13 |
14 | @interface VVStopwatch : NSObject {
15 | struct timeval startTime;
16 | OSSpinLock timeLock;
17 | }
18 |
19 | /// Returns an auto-released instance of VVStopwatch; the stopwatch is started on creation.
20 | + (id) create;
21 |
22 | /// Starts the stopwatch over again
23 | - (void) start;
24 | /// Returns a float representing the time (in seconds) since the stopwatch was started
25 | - (double) timeSinceStart;
26 | /// Sets the stopwatch's starting time as an offset to the current time
27 | - (void) startInTimeInterval:(NSTimeInterval)t;
28 | /// Populates the passed timeval struct with the current timeval
29 | - (void) copyStartTimeToTimevalStruct:(struct timeval *)dst;
30 | /// Populates the starting time with the passed timeval struct
31 | - (void) setStartTimeStruct:(struct timeval *)src;
32 |
33 | @end
34 |
35 | void populateTimevalWithFloat(struct timeval *tval, double secVal);
36 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVBasics
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVBasics
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Resources/VVCrashReporter.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/Resources/VVCrashReporter.nib
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/VVBasics:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/Versions/Current/VVBasics
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/MutLockDict.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import
8 |
9 |
10 |
11 | /// MutLockDict is a thread-safe version of NSMutableDictionary.
12 | /*!
13 | This class exists because NSMutableDictionary is not thread-safe by default: if you call methods on it from two different threads at the same time, it will try to execute both, often crashing in the process. This class has methods which allow you to work with a mutable dictionary in a transparent and thread-safe manner.
14 | */
15 |
16 | @interface MutLockDict : NSObject {
17 | NSMutableDictionary *dict;
18 | pthread_rwlock_t dictLock;
19 | }
20 |
21 | + (id) dictionaryWithCapacity:(NSInteger)c;
22 | + (id) dictionaryWithDict:(NSDictionary *)d;
23 | - (id) initWithCapacity:(NSInteger)c;
24 |
25 | - (void) rdlock;
26 | - (void) wrlock;
27 | - (void) unlock;
28 |
29 | - (NSMutableDictionary *) dict;
30 | - (NSMutableDictionary *) createDictCopy;
31 | - (NSMutableDictionary *) lockCreateDictCopy;
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) lockSetObject:(id)o forKey:(NSString *)s;
35 | - (void) setValue:(id)v forKey:(NSString *)s;
36 | - (void) lockSetValue:(id)v forKey:(NSString *)s;
37 | - (void) removeAllObjects;
38 | - (void) lockRemoveAllObjects;
39 | - (id) objectForKey:(NSString *)k;
40 | - (id) lockObjectForKey:(NSString *)k;
41 | - (void) removeObjectForKey:(NSString *)k;
42 | - (void) lockRemoveObjectForKey:(NSString *)k;
43 | - (void) addEntriesFromDictionary:(NSDictionary *)otherDictionary;
44 | - (void) lockAddEntriesFromDictionary:(NSDictionary *)otherDictionary;
45 | - (NSArray *) allKeys;
46 | - (NSArray *) lockAllKeys;
47 | - (NSArray *) allValues;
48 | - (NSArray *) lockAllValues;
49 |
50 | - (void) lockMakeObjectsPerformSelector:(SEL)s;
51 | - (void) makeObjectsPerformSelector:(SEL)s;
52 |
53 | - (NSInteger) count;
54 | - (NSInteger) lockCount;
55 |
56 | @end
57 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/MutNRLockDict.h:
--------------------------------------------------------------------------------
1 | //
2 | // MutNRLockDict.h
3 | // VVOpenSource
4 | //
5 | // Created by David Lublin on 12/22/09.
6 | // Copyright 2009 Vidvox. All rights reserved.
7 | //
8 |
9 | #if IPHONE
10 | #import
11 | #else
12 | #import
13 | #endif
14 |
15 | #import "MutLockDict.h"
16 | #import "ObjectHolder.h"
17 |
18 |
19 |
20 | /// Subclass of MutLockDict; this class does NOT retain the objects in its array!
21 | /*
22 | this class exists because i frequently find myself in situations where i want to add an instance of an object to an array/dict/[any class which retains the passed instance], but i don't actually want the item to be retained.
23 |
24 | Instead of adding (and therefore retaining) objects to an array like my superclass, this class makes an ObjectHolder for objects which are added to it (so they don't get retained), and adds the ObjectHolder to me. when other classes ask me for the index of an object, or ask for the object at a particular index, i'll find the relevant ObjectHolder and then return the object it's storing.
25 | */
26 |
27 |
28 | @interface MutNRLockDict : MutLockDict {
29 |
30 | }
31 |
32 |
33 | - (void) setObject:(id)o forKey:(NSString *)s;
34 | - (void) setValue:(id)v forKey:(NSString *)s;
35 | - (id) objectForKey:(NSString *)k;
36 | - (void) addEntriesFromDictionary:(id)otherDictionary;
37 | - (NSArray *) allValues;
38 |
39 | @end
40 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/NamedMutLockArray.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #import "VVBasicMacros.h"
8 | #import "MutLockArray.h"
9 |
10 |
11 |
12 |
13 | /*
14 | // only difference between this and MutLockArray is the "name" variable.
15 | */
16 |
17 |
18 |
19 |
20 | @interface NamedMutLockArray : MutLockArray {
21 | NSString *name;
22 | }
23 |
24 | + (id) arrayWithCapacity:(int)c;
25 | + (id) create;
26 |
27 | - (NSComparisonResult) nameCompare:(NamedMutLockArray *)comp;
28 |
29 | @property (assign, readwrite) NSString *name;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/ObjectHolder.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | /*
12 | created for working with the MutNRLockArray class.
13 |
14 | basically, you create an instance of this class and give it a reference to an
15 | instance of an object. the instance is NOT retained- but you're now free to
16 | pass ObjectHolder to stuff which will otherwise retain/release it without
17 | worrying about whether the passed instance is retained/released.
18 |
19 | if you call a method on an instance of ObjectHolder and the ObjectHolder
20 | class doesn't respond to that method, the instance will try to call the
21 | method on its object. this means that working with ObjectHolder should-
22 | theoretically, at any rate- be transparent...
23 | */
24 |
25 |
26 |
27 |
28 | @interface ObjectHolder : NSObject {
29 | BOOL deleted;
30 | id object;
31 | }
32 |
33 | + (id) createWithObject:(id)o;
34 | - (id) initWithObject:(id)o;
35 |
36 | @property (assign,readwrite) id object;
37 |
38 | @end
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVAssertionHandler.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 |
8 |
9 |
10 |
11 | #define USE_CUSTOM_ASSERTION_HANDLER \
12 | { \
13 | NSThread *__currentThread = [NSThread currentThread]; \
14 | NSDictionary *__threadDict = (__currentThread==nil) ? nil : [__currentThread threadDictionary]; \
15 | if (__threadDict != nil) { \
16 | VVAssertionHandler *__newAH = [[VVAssertionHandler alloc] init]; \
17 | if (__newAH != nil) { \
18 | [__threadDict setValue:__newAH forKey:@"NSAssertionHandler"]; \
19 | [__newAH release]; \
20 | __newAH = nil; \
21 | } \
22 | } \
23 | }
24 |
25 |
26 |
27 | @interface VVAssertionHandler : NSAssertionHandler {
28 |
29 | }
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVBasics.h:
--------------------------------------------------------------------------------
1 |
2 | #import "VVBasicMacros.h"
3 |
4 | #import "VVThreadLoop.h"
5 | #import "VVAssertionHandler.h"
6 | #import "VVStopwatch.h"
7 | #import "ObjectHolder.h"
8 | #import "MutLockArray.h"
9 | #import "MutLockDict.h"
10 | #import "MutNRLockArray.h"
11 | #import "MutNRLockDict.h"
12 | #import "NamedMutLockArray.h"
13 |
14 | #if !IPHONE
15 | #import "VVCURLDL.h"
16 | #import "VVSprite.h"
17 | #import "VVSpriteManager.h"
18 | #import "VVSpriteView.h"
19 | #import "VVSpriteControl.h"
20 | #import "VVSpriteControlCell.h"
21 | #import "VVSpriteGLView.h"
22 | #import "VVCrashReporter.h"
23 | //#import "NSHostAdditions.h"
24 | #endif
25 |
26 | /*
27 | the following stuff is for doxygen
28 | */
29 |
30 | /*!
31 | \mainpage
32 |
33 | \htmlonly
34 |
35 |
48 |
49 | Introduction
50 |
51 | VVBasics is an Objective-c framework with a number of classes which perform functions that i need regularly- but, for whatever reason, aren't provided by the stock frameworks. Expect pretty much everything to link against this framework for one reason or another- macros, useful classes, etc- and expect this framework to continuously grow as I start to open-source more and more of my bag of tricks.
52 |
53 |
54 | \endhtmlonly
55 | */
56 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVCrashReporterDescriptionField.h:
--------------------------------------------------------------------------------
1 | #import
2 |
3 |
4 | /*
5 | this class exists solely to prevent users from pasting or dragging huge amounts of text (like
6 | crash/console logs!) into the description field of the crash reporter. sounds weird, but trust
7 | me- it's necessary.
8 | */
9 |
10 |
11 | @interface VVCrashReporterDescriptionField : NSTextView {
12 |
13 | }
14 |
15 | @end
16 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVCrashReporterEmailField.h:
--------------------------------------------------------------------------------
1 | #import
2 | #import
3 |
4 |
5 | /*
6 | this class exists solely to prevent users from pasting huge amounts of text into the email field
7 | */
8 |
9 |
10 | @interface VVCrashReporterEmailField : NSTextField {
11 |
12 | }
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVSpriteControl.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _maxSpriteControlCount;
10 | extern int _spriteControlCount;
11 |
12 |
13 |
14 |
15 | @interface VVSpriteControl : NSControl {
16 | BOOL deleted;
17 | VVSpriteManager *spriteManager;
18 | BOOL spritesNeedUpdate;
19 |
20 | OSSpinLock propertyLock;
21 | NSEvent *lastMouseEvent;
22 | NSColor *clearColor;
23 | BOOL drawBorder;
24 | NSColor *borderColor;
25 |
26 | long mouseDownModifierFlags;
27 | BOOL mouseIsDown;
28 | NSView *clickedSubview; // NOT RETAINED
29 | }
30 |
31 | - (void) generalInit;
32 |
33 | - (void) prepareToBeDeleted;
34 |
35 | - (void) finishedDrawing;
36 |
37 | - (void) updateSprites;
38 |
39 | @property (readonly) BOOL deleted;
40 | @property (readonly) VVSpriteManager *spriteManager;
41 | @property (assign, readwrite) BOOL spritesNeedUpdate;
42 | - (void) setSpritesNeedUpdate;
43 | @property (readonly) NSEvent *lastMouseEvent;
44 | @property (retain,readwrite) NSColor *clearColor;
45 | @property (assign,readwrite) BOOL drawBorder;
46 | @property (retain,readwrite) NSColor *borderColor;
47 | @property (readonly) BOOL mouseIsDown;
48 |
49 | @end
50 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVSpriteControlCell.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 |
4 |
5 |
6 |
7 | @interface VVSpriteControlCell : NSActionCell {
8 |
9 | }
10 |
11 | @end
12 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVSpriteView.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import "VVSpriteManager.h"
4 | #include
5 |
6 |
7 |
8 |
9 | extern int _spriteViewCount;
10 |
11 |
12 |
13 |
14 | @interface VVSpriteView : NSView {
15 | BOOL deleted;
16 | VVSpriteManager *spriteManager;
17 | BOOL spritesNeedUpdate;
18 |
19 | OSSpinLock propertyLock;
20 | NSEvent *lastMouseEvent;
21 | NSColor *clearColor;
22 | BOOL drawBorder;
23 | NSColor *borderColor;
24 |
25 | long mouseDownModifierFlags;
26 | BOOL mouseIsDown;
27 | NSView *clickedSubview; // NOT RETAINED
28 | }
29 |
30 | - (void) generalInit;
31 |
32 | - (void) prepareToBeDeleted;
33 |
34 | - (void) finishedDrawing;
35 |
36 | - (void) updateSprites;
37 |
38 | @property (readonly) BOOL deleted;
39 | @property (readonly) VVSpriteManager *spriteManager;
40 | @property (assign, readwrite) BOOL spritesNeedUpdate;
41 | - (void) setSpritesNeedUpdate;
42 | @property (readonly) NSEvent *lastMouseEvent;
43 | @property (retain,readwrite) NSColor *clearColor;
44 | @property (assign,readwrite) BOOL drawBorder;
45 | @property (retain,readwrite) NSColor *borderColor;
46 | @property (readonly) BOOL mouseIsDown;
47 |
48 | @end
49 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/headers/VVStopwatch.h:
--------------------------------------------------------------------------------
1 |
2 | #if IPHONE
3 | #import
4 | #else
5 | #import
6 | #endif
7 | #include
8 | #import
9 |
10 |
11 |
12 | /// This class is used to measure how long it takes to do things; much easier to work with than NSDate.
13 |
14 | @interface VVStopwatch : NSObject {
15 | struct timeval startTime;
16 | OSSpinLock timeLock;
17 | }
18 |
19 | /// Returns an auto-released instance of VVStopwatch; the stopwatch is started on creation.
20 | + (id) create;
21 |
22 | /// Starts the stopwatch over again
23 | - (void) start;
24 | /// Returns a float representing the time (in seconds) since the stopwatch was started
25 | - (double) timeSinceStart;
26 | /// Sets the stopwatch's starting time as an offset to the current time
27 | - (void) startInTimeInterval:(NSTimeInterval)t;
28 | /// Populates the passed timeval struct with the current timeval
29 | - (void) copyStartTimeToTimevalStruct:(struct timeval *)dst;
30 | /// Populates the starting time with the passed timeval struct
31 | - (void) setStartTimeStruct:(struct timeval *)src;
32 |
33 | @end
34 |
35 | void populateTimevalWithFloat(struct timeval *tval, double secVal);
36 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVBasics
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVBasics
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVBasics.framework/resources/VVCrashReporter.nib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVBasics.framework/resources/VVCrashReporter.nib
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/VVMIDI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/VVMIDI
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/A/Headers/VVMIDIMessage.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 |
6 |
7 | @interface VVMIDIMessage : NSObject {
8 | Byte type;
9 | Byte channel;
10 | Byte data1; // usually controller/note #
11 | Byte data2; // usually controller/note value
12 | // array of NSNumbers, or nil if this isn't a sysex message
13 | // DOES NOT CONTAIN SYSEX START/STOP STATUS BYTES (0xF0 / 0xF7)
14 | NSMutableArray *sysexArray;
15 | }
16 |
17 | + (id) createWithType:(Byte)t channel:(Byte)c;
18 | + (id) createFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
19 | + (id) createWithSysexArray:(NSMutableArray *)s;
20 | - (id) initWithType:(Byte)t channel:(Byte)c;
21 | - (id) initFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
22 | - (id) initWithSysexArray:(NSMutableArray *)s;
23 |
24 | - (NSString *) description;
25 | - (NSString *) lengthyDescription;
26 |
27 | - (Byte) type;
28 | - (void) setType:(Byte)newType;
29 | - (Byte) channel;
30 | - (void) setData1:(Byte)newData;
31 | - (Byte) data1;
32 | - (void) setData2:(Byte)newData;
33 | - (Byte) data2;
34 | - (NSMutableArray *) sysexArray;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/A/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVMIDI
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVMIDI
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/A/VVMIDI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/A/VVMIDI
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/Current/Headers/VVMIDIMessage.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 |
6 |
7 | @interface VVMIDIMessage : NSObject {
8 | Byte type;
9 | Byte channel;
10 | Byte data1; // usually controller/note #
11 | Byte data2; // usually controller/note value
12 | // array of NSNumbers, or nil if this isn't a sysex message
13 | // DOES NOT CONTAIN SYSEX START/STOP STATUS BYTES (0xF0 / 0xF7)
14 | NSMutableArray *sysexArray;
15 | }
16 |
17 | + (id) createWithType:(Byte)t channel:(Byte)c;
18 | + (id) createFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
19 | + (id) createWithSysexArray:(NSMutableArray *)s;
20 | - (id) initWithType:(Byte)t channel:(Byte)c;
21 | - (id) initFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
22 | - (id) initWithSysexArray:(NSMutableArray *)s;
23 |
24 | - (NSString *) description;
25 | - (NSString *) lengthyDescription;
26 |
27 | - (Byte) type;
28 | - (void) setType:(Byte)newType;
29 | - (Byte) channel;
30 | - (void) setData1:(Byte)newData;
31 | - (Byte) data1;
32 | - (void) setData2:(Byte)newData;
33 | - (Byte) data2;
34 | - (NSMutableArray *) sysexArray;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/Current/Resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVMIDI
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVMIDI
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/Current/VVMIDI:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/Versions/Current/VVMIDI
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/headers/VVMIDIMessage.h:
--------------------------------------------------------------------------------
1 |
2 | #import
3 | #import
4 |
5 |
6 |
7 | @interface VVMIDIMessage : NSObject {
8 | Byte type;
9 | Byte channel;
10 | Byte data1; // usually controller/note #
11 | Byte data2; // usually controller/note value
12 | // array of NSNumbers, or nil if this isn't a sysex message
13 | // DOES NOT CONTAIN SYSEX START/STOP STATUS BYTES (0xF0 / 0xF7)
14 | NSMutableArray *sysexArray;
15 | }
16 |
17 | + (id) createWithType:(Byte)t channel:(Byte)c;
18 | + (id) createFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
19 | + (id) createWithSysexArray:(NSMutableArray *)s;
20 | - (id) initWithType:(Byte)t channel:(Byte)c;
21 | - (id) initFromVals:(Byte)t:(Byte)c:(Byte)d1:(Byte)d2;
22 | - (id) initWithSysexArray:(NSMutableArray *)s;
23 |
24 | - (NSString *) description;
25 | - (NSString *) lengthyDescription;
26 |
27 | - (Byte) type;
28 | - (void) setType:(Byte)newType;
29 | - (Byte) channel;
30 | - (void) setData1:(Byte)newData;
31 | - (Byte) data1;
32 | - (void) setData2:(Byte)newData;
33 | - (Byte) data2;
34 | - (NSMutableArray *) sysexArray;
35 |
36 | @end
37 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/VVMIDI.framework/resources/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BuildMachineOSBuild
6 | 11E53
7 | CFBundleDevelopmentRegion
8 | English
9 | CFBundleExecutable
10 | VVMIDI
11 | CFBundleGetInfoString
12 | 175
13 | CFBundleIdentifier
14 | com.vidvox.VVMIDI
15 | CFBundleInfoDictionaryVersion
16 | 6.0
17 | CFBundlePackageType
18 | FMWK
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 175
23 | DTCompiler
24 | com.apple.compilers.llvm.clang.1_0
25 | DTPlatformBuild
26 | 4E2002
27 | DTPlatformVersion
28 | GM
29 | DTSDKBuild
30 | 10K549
31 | DTSDKName
32 | macosx10.6
33 | DTXcode
34 | 0432
35 | DTXcodeBuild
36 | 4E2002
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon.png
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon_128x128.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon_128x128.icns
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon_128x128.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon_128x128.png
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon_16x16.png
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon_32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon_32x32.png
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/icon_96x96.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/icon_96x96.png
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/vmeter_icon_16x16.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/vmeter_icon_16x16.bmp
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/vmeter_icon_32x32.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/vmeter_icon_32x32.bmp
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/vmeter_icon_64x64.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/vmeter_icon_64x64.bmp
--------------------------------------------------------------------------------
/Software/Mac OS X MIDI Volume Control/vmeter_icon_96x96.bmp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Mac OS X MIDI Volume Control/vmeter_icon_96x96.bmp
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/.gitignore:
--------------------------------------------------------------------------------
1 | #OS junk files
2 | [Tt]humbs.db
3 | *.DS_Store
4 |
5 | #Visual Studio files
6 | *.[Oo]bj
7 | *.user
8 | *.aps
9 | *.pch
10 | *.vspscc
11 | *.vssscc
12 | *_i.c
13 | *_i.h
14 | *_p.c
15 | *.ncb
16 | *.suo
17 | *.tlb
18 | *.tlh
19 | *.bak
20 | *.[Cc]ache
21 | *.ilk
22 | *.log
23 | *.lib
24 | *.sbr
25 | *.sdf
26 | *.opensdf
27 | *.unsuccessfulbuild
28 | ipch/
29 | obj/
30 | [Bb]in
31 | [Dd]ebug*/
32 | [Rr]elease*/
33 | Ankh.NoLoad
34 |
35 | #MonoDevelop
36 | *.pidb
37 | *.userprefs
38 |
39 | #Tooling
40 | _ReSharper*/
41 | *.resharper
42 | [Tt]est[Rr]esult*
43 | *.sass-cache
44 |
45 | #Project files
46 | [Bb]uild/
47 |
48 | #Subversion files
49 | .svn
50 |
51 | # Office Temp Files
52 | ~$*
53 |
54 | #NuGet
55 | packages/
56 |
57 | #ncrunch
58 | *ncrunch*
59 | *crunch*.local.xml
60 |
61 | # visual studio database projects
62 | *.dbmdl
63 |
64 | #Test files
65 | *.testsettings
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/MIDIWrapper Source/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // MIDIDevDemo v2.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/MIDIWrapper Source/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #if !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
7 | #define AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_
8 |
9 | #if _MSC_VER > 1000
10 | #pragma once
11 | #endif // _MSC_VER > 1000
12 |
13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
14 |
15 | #include // MFC core and standard components
16 | #include // MFC extensions
17 | #include // MFC Automation classes
18 | #include // MFC support for Internet Explorer 4 Common Controls
19 | #ifndef _AFX_NO_AFXCMN_SUPPORT
20 | #include // MFC support for Windows Common Controls
21 | #endif // _AFX_NO_AFXCMN_SUPPORT
22 |
23 |
24 | //{{AFX_INSERT_LOCATION}}
25 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
26 |
27 | #endif // !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
28 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VMeter_v0", "VMeter_v0\VMeter_v0.vcxproj", "{6D743BD8-DFFF-420B-B88E-921BAF0806C7}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Debug|Win32.Build.0 = Debug|Win32
14 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Release|Win32.ActiveCfg = Release|Win32
15 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VMeter_v0", "VMeter_v0\VMeter_v0.vcxproj", "{6D743BD8-DFFF-420B-B88E-921BAF0806C7}"
5 | EndProject
6 | Global
7 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
8 | Debug|Win32 = Debug|Win32
9 | Release|Win32 = Release|Win32
10 | EndGlobalSection
11 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
12 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Debug|Win32.ActiveCfg = Debug|Win32
13 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Debug|Win32.Build.0 = Debug|Win32
14 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Release|Win32.ActiveCfg = Release|Win32
15 | {6D743BD8-DFFF-420B-B88E-921BAF0806C7}.Release|Win32.Build.0 = Release|Win32
16 | EndGlobalSection
17 | GlobalSection(SolutionProperties) = preSolution
18 | HideSolutionNode = FALSE
19 | EndGlobalSection
20 | EndGlobal
21 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/MIDI_Devices_Dialog.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "afxwin.h"
3 |
4 |
5 | // MIDI_Devices_Dialog dialog
6 |
7 | class MIDI_Devices_Dialog : public CDialog
8 | {
9 | DECLARE_DYNAMIC(MIDI_Devices_Dialog)
10 |
11 |
12 |
13 | protected:
14 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
15 |
16 | virtual BOOL OnInitDialog();
17 | virtual void OnOK();
18 |
19 | DECLARE_MESSAGE_MAP()
20 |
21 |
22 | public:
23 |
24 | MIDI_Devices_Dialog(CWnd* pParent = NULL); // standard constructor
25 | virtual ~MIDI_Devices_Dialog();
26 |
27 | // Dialog Data
28 | enum { IDD = IDD_MIDI_DEVICES_DIALOG };
29 |
30 | // midi:
31 | UINT m_OutDevId;
32 | UINT m_InDevId;
33 |
34 | bool m_OutChanged;
35 | bool m_InChanged;
36 | CComboBox m_OutDevsCombo;
37 | CComboBox m_InDevsCombo;
38 | };
39 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/MainFrm.h:
--------------------------------------------------------------------------------
1 | #include "ntray.h"
2 | #include "resource.h" //main symbols
3 |
4 | class CMainFrame : public CFrameWnd
5 | {
6 | public:
7 | CMainFrame();
8 | virtual ~CMainFrame();
9 |
10 | protected:
11 | DECLARE_DYNCREATE(CMainFrame)
12 |
13 | afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
14 | afx_msg void OnShowMenu();
15 |
16 | afx_msg void OnQuitMenu();
17 | afx_msg void OnHappy();
18 | afx_msg void OnUpdateHappy(CCmdUI* pCmdUI);
19 | afx_msg void OnSad();
20 | afx_msg void OnUpdateSad(CCmdUI* pCmdUI);
21 | afx_msg void OnAnimated();
22 | afx_msg void OnUpdateAnimated(CCmdUI* pCmdUI);
23 | afx_msg void OnTimer(UINT_PTR nIDEvent);
24 | afx_msg void OnDestroy();
25 | afx_msg void OnUpdateShow(CCmdUI* pCmdUI);
26 | afx_msg void OnShow();
27 | afx_msg void OnUpdateHide(CCmdUI* pCmdUI);
28 | afx_msg void OnHide();
29 | afx_msg void OnTestCaption();
30 | afx_msg LRESULT OnTrayNotification(WPARAM wParam, LPARAM lParam);
31 |
32 |
33 | DECLARE_MESSAGE_MAP()
34 |
35 | //Member variables
36 | HICON m_hIcon;
37 | CDC m_TrayIconDC;
38 | CBitmap m_BitmapTrayIcon;
39 | public:
40 | afx_msg void Test2_function();
41 | afx_msg void OnHideMenu();
42 | afx_msg void OnBnClickedtesthide();
43 | };
44 |
45 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/SoundC.h:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include
3 | #include
4 |
5 | void SetMasterVolume(float v);
6 | float GetMasterVolume();
7 | void CloseMixer();
8 | void releaseEndPointVolumeForVista();
9 | void getVolumeEndPointVolumeForVista();
10 | BOOL IsVistaOrLater();
11 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter.idl:
--------------------------------------------------------------------------------
1 | // VMeter_v0.idl : IDL source for VMeter_v0
2 | //
3 |
4 | // This file will be processed by the MIDL tool to
5 | // produce the type library (VMeter_v0.tlb) and marshalling code.
6 |
7 | import "oaidl.idl";
8 | import "ocidl.idl";
9 |
10 | [
11 | uuid(E3110A94-0938-426C-AC88-0D2C948EA8F2),
12 | version(1.0)
13 | ]
14 | library VMeter_v0Lib
15 | {
16 | importlib("stdole2.tlb");
17 | };
18 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter.rc
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter.rgs:
--------------------------------------------------------------------------------
1 | HKCR
2 | {
3 | NoRemove AppID
4 | {
5 | '%APPID%' = s 'VMeter'
6 | 'VMeter.EXE'
7 | {
8 | val AppID = s '%APPID%'
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0.h:
--------------------------------------------------------------------------------
1 |
2 | // VMeter_v0.h : main header file for the PROJECT_NAME application
3 | //
4 |
5 | #pragma once
6 |
7 | #ifndef __AFXWIN_H__
8 | #error "include 'stdafx.h' before including this file for PCH"
9 | #endif
10 |
11 | #include "resource.h" // main symbols
12 | #include "VMeter_v0_i.h"
13 | //#include "MainFrm.h"
14 |
15 |
16 |
17 | class CVMeter_v0App : public CWinApp
18 | {
19 | private:
20 | //CMainFrame* pMainFrame;
21 | public:
22 | CVMeter_v0App();
23 |
24 | // Overrides
25 | public:
26 | void test_func(void);
27 | virtual BOOL InitInstance();
28 | int testint;
29 | // Implementation
30 | // CMainFrame* get_pMainFrame();
31 | DECLARE_MESSAGE_MAP()
32 | BOOL ExitInstance(void);
33 |
34 | };
35 |
36 | extern CVMeter_v0App theApp;
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0.idl:
--------------------------------------------------------------------------------
1 | // VMeter_v0.idl : IDL source for VMeter_v0
2 | //
3 |
4 | // This file will be processed by the MIDL tool to
5 | // produce the type library (VMeter_v0.tlb) and marshalling code.
6 |
7 | import "oaidl.idl";
8 | import "ocidl.idl";
9 |
10 | [
11 | uuid(E3110A94-0938-426C-AC88-0D2C948EA8F2),
12 | version(1.0)
13 | ]
14 | library VMeter_v0Lib
15 | {
16 | importlib("stdole2.tlb");
17 | };
18 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0.rc:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0.rc
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0.rgs:
--------------------------------------------------------------------------------
1 | HKCR
2 | {
3 | NoRemove AppID
4 | {
5 | '%APPID%' = s 'VMeter_v0'
6 | 'VMeter_v0.EXE'
7 | {
8 | val AppID = s '%APPID%'
9 | }
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0Dlg.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0Dlg.h
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0ps.def:
--------------------------------------------------------------------------------
1 |
2 | LIBRARY
3 |
4 | EXPORTS
5 | DllGetClassObject PRIVATE
6 | DllCanUnloadNow PRIVATE
7 | DllRegisterServer PRIVATE
8 | DllUnregisterServer PRIVATE
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/VMeter_v0ps.mk:
--------------------------------------------------------------------------------
1 |
2 | VMeter_v0ps.dll: dlldata.obj VMeter_v0_p.obj VMeter_v0_i.obj
3 | link /dll /out:VMeter_v0ps.dll /def:VMeter_v0ps.def /entry:DllMain dlldata.obj VMeter_v0_p.obj VMeter_v0_i.obj \
4 | kernel32.lib rpcns4.lib rpcrt4.lib oleaut32.lib uuid.lib \
5 | .c.obj:
6 | cl /c /Ox /DREGISTER_PROXY_DLL \
7 | $<
8 |
9 | clean:
10 | @del VMeter_v0ps.dll
11 | @del VMeter_v0ps.lib
12 | @del VMeter_v0ps.exp
13 | @del dlldata.obj
14 | @del VMeter_v0_p.obj
15 | @del VMeter_v0_i.obj
16 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/dlldata.c:
--------------------------------------------------------------------------------
1 | /*********************************************************
2 | DllData file -- generated by MIDL compiler
3 |
4 | DO NOT ALTER THIS FILE
5 |
6 | This file is regenerated by MIDL on every IDL file compile.
7 |
8 | To completely reconstruct this file, delete it and rerun MIDL
9 | on all the IDL files in this DLL, specifying this file for the
10 | /dlldata command line option
11 |
12 | *********************************************************/
13 |
14 |
15 | #include
16 |
17 | #ifdef __cplusplus
18 | extern "C" {
19 | #endif
20 |
21 | EXTERN_PROXY_FILE( OAIdl )
22 |
23 |
24 | PROXYFILE_LIST_START
25 | /* Start of list */
26 | REFERENCE_PROXY_FILE( OAIdl ),
27 | /* End of list */
28 | PROXYFILE_LIST_END
29 |
30 |
31 | DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )
32 |
33 | #ifdef __cplusplus
34 | } /*extern "C" */
35 | #endif
36 |
37 | /* end of generated dlldata file */
38 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/hidapi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/hidapi.dll
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/midi/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // MIDIDevDemo v2.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/midi/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #if !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
7 | #define AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_
8 |
9 | #if _MSC_VER > 1000
10 | #pragma once
11 | #endif // _MSC_VER > 1000
12 |
13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
14 |
15 | #include // MFC core and standard components
16 | #include // MFC extensions
17 | #include // MFC Automation classes
18 | #include // MFC support for Internet Explorer 4 Common Controls
19 | #ifndef _AFX_NO_AFXCMN_SUPPORT
20 | #include // MFC support for Windows Common Controls
21 | #endif // _AFX_NO_AFXCMN_SUPPORT
22 |
23 |
24 | //{{AFX_INSERT_LOCATION}}
25 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
26 |
27 | #endif // !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
28 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter.ico
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter.rc2
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter_v0.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter_v0.ico
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter_v0.rc2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/VMeter_v0.rc2
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/ico00001.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/ico00001.ico
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/icon1.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/icon1.ico
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/vmeter_icon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/res/vmeter_icon.ico
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/resource.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/VMeter_v0/resource.h
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/stdafx.cpp:
--------------------------------------------------------------------------------
1 |
2 | // stdafx.cpp : source file that includes just the standard includes
3 | // VMeter_v0.pch will be the pre-compiled header
4 | // stdafx.obj will contain the pre-compiled type information
5 |
6 | #include "stdafx.h"
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/VMeter_v0/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/hidapi.dll:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/Windows_MIDI_Volume_Control/hidapi.dll
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/midi/StdAfx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // MIDIDevDemo v2.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/Software/Windows_MIDI_Volume_Control/midi/StdAfx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #if !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
7 | #define AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_
8 |
9 | #if _MSC_VER > 1000
10 | #pragma once
11 | #endif // _MSC_VER > 1000
12 |
13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
14 |
15 | #include // MFC core and standard components
16 | #include // MFC extensions
17 | #include // MFC Automation classes
18 | #include // MFC support for Internet Explorer 4 Common Controls
19 | #ifndef _AFX_NO_AFXCMN_SUPPORT
20 | #include // MFC support for Windows Common Controls
21 | #endif // _AFX_NO_AFXCMN_SUPPORT
22 |
23 |
24 | //{{AFX_INSERT_LOCATION}}
25 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
26 |
27 | #endif // !defined(AFX_STDAFX_H__51B03388_1002_11D7_865D_0030BD08B6D9__INCLUDED_)
28 |
--------------------------------------------------------------------------------
/Software/firmware_binary/hid_bootloader_cli:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_binary/hid_bootloader_cli
--------------------------------------------------------------------------------
/Software/firmware_binary/hid_bootloader_cli.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_binary/hid_bootloader_cli.exe
--------------------------------------------------------------------------------
/Software/firmware_binary/vmeter_v1.31_firmware/vmeter_v1.31_firmware.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_binary/vmeter_v1.31_firmware/vmeter_v1.31_firmware.zip
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/.gitignore:
--------------------------------------------------------------------------------
1 | *.o
2 | *.d
3 | *.elf
4 | *.eep
5 | *.cof
6 | *.sym
7 | *.lss
8 | *.hex
9 | *.lst
10 | *.map
11 | *.swp
12 | .dep
13 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/BitBangSPI_Master.h:
--------------------------------------------------------------------------------
1 | #ifndef BITBANGSPI_MASTER_H_INCLUDED
2 | #define BITBANGSPI_MASTER_H_INCLUDED
3 |
4 | /*============================ PROTOTYPES ====================================*/
5 | void BitBangSPI_Master_Init (void);
6 | void BitBangSPI_Send_Message(void);
7 | void BitBangSPI_Send_Byte(unsigned char c);
8 |
9 | /*============================ MACROS ========================================*/
10 | //#define SS_BB 0
11 | //#define SCK_BB 1
12 | //#define MOSI_BB 2
13 | //#define MISO_BB 3
14 |
15 | //#define SPI_BB B
16 |
17 | #define SS_BB 6 // 6 .// the latch...
18 | #define SCK_BB 0 // 0
19 | #define MOSI_BB 5 // 5
20 | #define MISO_BB 3 // 7 // not used?
21 |
22 | #define SPI_BB D // D
23 |
24 | #define __delay_cycles __builtin_avr_delay_cycles
25 | #define delay_us( us ) ( __delay_cycles( ( F_CPU / 1000000UL ) * ( us ) ) )
26 |
27 | #define CPU_SPEED 8 // MHz
28 | #define DELAYUS(DELAY) __delay_cycles((DELAY)*CPU_SPEED);
29 |
30 | #endif
31 | /* EOF */
32 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/LEDs.h:
--------------------------------------------------------------------------------
1 | #ifndef __LEDs_H__
2 | #define __LEDs_H__
3 |
4 | // defines:
5 | // LED spi chip:
6 | #define INTENSITY 0x0A
7 | #define DECODE_MODE 0x09
8 | #define SCAN_LIMIT 0x0B
9 | #define SHUT_DOWN_MODE 0x0C
10 | #define DISPLAY_TEST 0x0F
11 | #define NOOP 0x00
12 |
13 |
14 | void init_LEDs(void);
15 | void set_property_LED(unsigned char prop, unsigned char val);
16 | void set_column(unsigned char height);
17 | int pre_set_column(unsigned char h);
18 | void display_pitch_wheel(unsigned char);
19 | // void set_all_lights(int *);
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/MIDI_eeprom.h:
--------------------------------------------------------------------------------
1 | unsigned int MIDI_eeprom_size=214;
2 | unsigned char MIDI_eeprom[] = {
3 | 0x02,0x00,0x14,0x11,0x12,0x14,0x15,0x40,0x64,0x64,0x00,0x00,0x08,0x40,0x06,
4 | 0x12,0x01,0x10,0x01,0x00,0x00,0x00,0x08,0xd0,0x16,0x68,0x06,0x30,0x01,0x01,
5 | 0x02,0xdc,0x01,0x09,0x02,0x65,0x00,0x02,0x01,0x00,0xc0,0x32,0x09,0x04,0x00,
6 | 0x00,0x00,0x01,0x01,0x00,0x00,0x09,0x24,0x01,0x00,0x01,0x09,0x00,0x01,0x01,
7 | 0x09,0x04,0x01,0x00,0x02,0x01,0x03,0x00,0x00,0x07,0x24,0x01,0x00,0x01,0x41,
8 | 0x00,0x06,0x24,0x02,0x01,0x01,0x00,0x06,0x24,0x02,0x02,0x02,0x00,0x09,0x24,
9 | 0x03,0x01,0x03,0x01,0x02,0x01,0x00,0x09,0x24,0x03,0x02,0x04,0x01,0x01,0x01,
10 | 0x00,0x09,0x05,0x01,0x02,0x40,0x00,0x01,0x00,0x00,0x05,0x25,0x01,0x01,0x01,
11 | 0x09,0x05,0x82,0x02,0x40,0x00,0x01,0x00,0x00,0x05,0x25,0x01,0x01,0x03,0x04,
12 | 0x03,0x09,0x04,0x2c,0x03,0x43,0x00,0x75,0x00,0x72,0x00,0x69,0x00,0x6f,0x00,
13 | 0x75,0x00,0x73,0x00,0x20,0x00,0x49,0x00,0x6e,0x00,0x76,0x00,0x65,0x00,0x6e,
14 | 0x00,0x74,0x00,0x6f,0x00,0x72,0x00,0x2c,0x00,0x20,0x00,0x4c,0x00,0x4c,0x00,
15 | 0x43,0x00,0x00,0x00,0x1c,0x03,0x56,0x00,0x4d,0x00,0x65,0x00,0x74,0x00,0x65,
16 | 0x00,0x72,0x00,0x20,0x00,0x31,0x00,0x2e,0x00,0x33,0x00,0x30,0x00,0x20,0x00,
17 | 0x30,0x00,0x00,0x00
18 | };
19 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/QDebugSettings.h:
--------------------------------------------------------------------------------
1 | //---------- Do not edit --------------------
2 | // Project Constants
3 | // Values from 0xF000->0xFFFF are reserved for Atmel Kits
4 | // values from 0x0000->0xEFFF are available for other projects
5 | #define QT8 0xF001
6 | #define QT16 0xF002
7 | #define QM64 0xF003
8 |
9 | // Interface constans
10 | #define TWI 1
11 | #define SPI1W 2
12 | #define SPI2W 3
13 | #define UART 4
14 | #define BitBangSPI 5
15 |
16 | //---------- Edit Project Info -------------
17 |
18 | // Select the type of interface to use for the debug protocol.
19 | // Comment out the interface not used.
20 | // Only one interface should be active.
21 | //#define QDEBUG_SPI
22 | //#define QDEBUG_TWI
23 | //#ifdef TEST_LEDS
24 | //#define QDEBUG_SPI
25 | //#else
26 | #define QDEBUG_SPI_BB
27 | //#endif
28 |
29 | // Set up project info
30 | #define PROJECT_ID 0x5
31 | #if defined(QDEBUG_SPI)
32 | #define INTERFACE SPI2W
33 | #elif defined(QDEBUG_TWI)
34 | #define INTERFACE TWI
35 | #elif defined(QDEBUG_SPI_BB)
36 | #define INTERFACE BitBangSPI
37 | #endif
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/README.TXT:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_eeprom_writer/README.TXT
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/config.h:
--------------------------------------------------------------------------------
1 | // config for VMeter
2 |
3 |
4 | // since this is sent as control messages, can't use the MSbit in each byte.
5 | // This is fine for most params, as they only store numbers from 0-127
6 | struct CONFIG {
7 | unsigned upside_down:1;
8 | unsigned touch_pos_output_en:1;
9 | unsigned on_off_output_en:1;
10 | unsigned pres_output_en:1;
11 | unsigned spacer:4;
12 | unsigned pitch_wheel_mode:1;
13 | unsigned note_out_mode:1;
14 | unsigned leds_ignore_touch:1;
15 | unsigned note_vel_mode:1;
16 | unsigned note_pitch_mode:1;
17 | unsigned cross_fade_mode:1;
18 | unsigned filter_en:1;
19 | unsigned spacer3:1;
20 | uint8_t pos_out_ctrl_num;
21 | uint8_t on_off_out_ctrl_num;
22 | uint8_t pres_out_ctrl_num;
23 | uint8_t led_input_ctrl_num;
24 | uint8_t brightness_input_ctrl_num;
25 | uint8_t note_pitch;
26 | uint8_t note_vel;
27 | uint8_t brightness_orig;
28 | unsigned midi_chan:4;
29 | unsigned spacer2:4;
30 | uint8_t name;
31 | uint8_t brightness;
32 |
33 | };
34 |
--------------------------------------------------------------------------------
/Software/firmware_eeprom_writer/hardware_spi.c:
--------------------------------------------------------------------------------
1 | #include "hardware_spi.h"
2 | #include
3 |
4 |
5 | void hardware_spi_init_as_master() {
6 | DDRB |= ((1 << 1) | (1 << 2) | (1 << 0)); // set MOSI and SCK to output,
7 | // MISO is set to input by SPI system
8 | // also set SS (B0) as output
9 | //DDRB &= ~((1 << 0) | (1 << 3)); // set 0 and 3 as inputs
10 |
11 | PORTB |= ((1 << 0) | (1 << 3)); // set the SS pin high
12 |
13 | SPCR = (1<
2 |
--------------------------------------------------------------------------------
/Software/firmware_main/.gitignore:
--------------------------------------------------------------------------------
1 | *.o
2 | *.d
3 | *.elf
4 | *.eep
5 | *.cof
6 | *.sym
7 | *.lss
8 | *.hex
9 | *.lst
10 | *.map
11 | *.swp
12 | .dep
13 |
--------------------------------------------------------------------------------
/Software/firmware_main/BitBangSPI_Master.h:
--------------------------------------------------------------------------------
1 | #ifndef BITBANGSPI_MASTER_H_INCLUDED
2 | #define BITBANGSPI_MASTER_H_INCLUDED
3 |
4 | /*============================ PROTOTYPES ====================================*/
5 | void BitBangSPI_Master_Init (void);
6 | void BitBangSPI_Send_Message(void);
7 | void BitBangSPI_Send_Byte(unsigned char c);
8 |
9 | /*============================ MACROS ========================================*/
10 | //#define SS_BB 0
11 | //#define SCK_BB 1
12 | //#define MOSI_BB 2
13 | //#define MISO_BB 3
14 |
15 | //#define SPI_BB B
16 |
17 | #define SS_BB 6 // 6 .// the latch...
18 | #define SCK_BB 0 // 0
19 | #define MOSI_BB 5 // 5
20 | #define MISO_BB 3 // 7 // not used?
21 |
22 | #define SPI_BB D // D
23 |
24 | #define __delay_cycles __builtin_avr_delay_cycles
25 | #define delay_us( us ) ( __delay_cycles( ( F_CPU / 1000000UL ) * ( us ) ) )
26 |
27 | #define CPU_SPEED 8 // MHz
28 | #define DELAYUS(DELAY) __delay_cycles((DELAY)*CPU_SPEED);
29 |
30 | #endif
31 | /* EOF */
32 |
--------------------------------------------------------------------------------
/Software/firmware_main/LEDs.h:
--------------------------------------------------------------------------------
1 | #ifndef __LEDs_H__
2 | #define __LEDs_H__
3 |
4 | // defines:
5 | // LED spi chip:
6 | #define INTENSITY 0x0A
7 | #define DECODE_MODE 0x09
8 | #define SCAN_LIMIT 0x0B
9 | #define SHUT_DOWN_MODE 0x0C
10 | #define DISPLAY_TEST 0x0F
11 | #define NOOP 0x00
12 |
13 |
14 | void init_LEDs(void);
15 | void set_property_LED(unsigned char prop, unsigned char val);
16 | void set_column(unsigned char height);
17 | int pre_set_column(unsigned char h);
18 | void display_pitch_wheel(unsigned char);
19 | // void set_all_lights(int *);
20 |
21 | #endif
22 |
--------------------------------------------------------------------------------
/Software/firmware_main/QDebugSettings.h:
--------------------------------------------------------------------------------
1 | //---------- Do not edit --------------------
2 | // Project Constants
3 | // Values from 0xF000->0xFFFF are reserved for Atmel Kits
4 | // values from 0x0000->0xEFFF are available for other projects
5 | #define QT8 0xF001
6 | #define QT16 0xF002
7 | #define QM64 0xF003
8 |
9 | // Interface constans
10 | #define TWI 1
11 | #define SPI1W 2
12 | #define SPI2W 3
13 | #define UART 4
14 | #define BitBangSPI 5
15 |
16 | //---------- Edit Project Info -------------
17 |
18 | // Select the type of interface to use for the debug protocol.
19 | // Comment out the interface not used.
20 | // Only one interface should be active.
21 | //#define QDEBUG_SPI
22 | //#define QDEBUG_TWI
23 | //#ifdef TEST_LEDS
24 | //#define QDEBUG_SPI
25 | //#else
26 | #define QDEBUG_SPI_BB
27 | //#endif
28 |
29 | // Set up project info
30 | #define PROJECT_ID 0x5
31 | #if defined(QDEBUG_SPI)
32 | #define INTERFACE SPI2W
33 | #elif defined(QDEBUG_TWI)
34 | #define INTERFACE TWI
35 | #elif defined(QDEBUG_SPI_BB)
36 | #define INTERFACE BitBangSPI
37 | #endif
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Software/firmware_main/config.h:
--------------------------------------------------------------------------------
1 | /* config data for VMeter. This is stored in EEPROM.
2 | */
3 |
4 |
5 | // since this is sent as control messages, can't use the MSbit (last) in each byte.
6 | // This is why there are spacers at the end of each byte.
7 | // This is fine for most params, as they only store numbers from 0-127
8 | struct CONFIG {
9 | unsigned upside_down:1;
10 | unsigned touch_pos_output_en:1;
11 | unsigned on_off_output_en:1;
12 | unsigned pres_output_en:1;
13 | unsigned spacer:4;
14 | unsigned pitch_wheel_mode:1;
15 | unsigned note_out_mode:1;
16 | unsigned leds_ignore_touch:1;
17 | unsigned note_vel_mode:1;
18 | unsigned note_pitch_mode:1;
19 | unsigned cross_fade_mode:1;
20 | unsigned filter_en:1;
21 | unsigned spacer3:1;
22 | uint8_t pos_out_ctrl_num;
23 | uint8_t on_off_out_ctrl_num;
24 | uint8_t pres_out_ctrl_num;
25 | uint8_t led_input_ctrl_num;
26 | uint8_t brightness_input_ctrl_num;
27 | uint8_t note_pitch;
28 | uint8_t note_vel;
29 | uint8_t brightness_orig;
30 | unsigned midi_chan:4;
31 | unsigned spacer2:4;
32 | uint8_t name;
33 | uint8_t brightness;
34 | uint8_t sensitivity; // 64 is 0, above or below gets added or subtracted from default touch detection in qt_enable_slider()
35 | uint8_t pitch_wheel_return_speed;
36 | };
37 |
--------------------------------------------------------------------------------
/Software/firmware_main/hardware_spi.h:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | Copyright (c) 2014 Curious Inventor, LLC
4 | VMeter.net
5 |
6 | MIT License:
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy
9 | of this software and associated documentation files (the "Software"), to deal
10 | in the Software without restriction, including without limitation the rights
11 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 | copies of the Software, and to permit persons to whom the Software is
13 | furnished to do so, subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in
16 | all copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 | THE SOFTWARE.
25 |
26 | */
27 |
28 | #ifndef SPI_HARDWARE_H
29 | #define SPI_HARDWARE_H
30 |
31 | #define HARDWARE_SS 0 // port B
32 |
33 | void hardware_spi_init_as_master (void);
34 | void hardware_spi_init_as_slave (void);
35 | void hardware_spi_send_byte(unsigned char);
36 | // receive will happen in the interrupt
37 | #endif
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Software/firmware_main/hid_bootloader_cli:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_main/hid_bootloader_cli
--------------------------------------------------------------------------------
/Software/firmware_main/hid_bootloader_cli.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_main/hid_bootloader_cli.exe
--------------------------------------------------------------------------------
/Software/firmware_main/libavr5g6_8qm_8x_1y_krs_2rs.a:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_main/libavr5g6_8qm_8x_1y_krs_2rs.a
--------------------------------------------------------------------------------
/Software/firmware_main/makefile:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/firmware_main/makefile
--------------------------------------------------------------------------------
/Software/firmware_main/midi.aws:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/Software/v1.28_vmeter_firmware_bootloader_LOCKED.elf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/Software/v1.28_vmeter_firmware_bootloader_LOCKED.elf
--------------------------------------------------------------------------------
/vmeter_controller.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/curiousinventor/VMeter/841d95ba1b96ee064a1e32fd8063074df30bcb9e/vmeter_controller.jpg
--------------------------------------------------------------------------------