Skip to content

Commit 9cf45a6

Browse files
committed
impl/windows/windows.js to impl/windows/index.js
1 parent 52f3a9d commit 9cf45a6

File tree

2 files changed

+92
-93
lines changed

2 files changed

+92
-93
lines changed

impl/windows/index.js

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,92 @@
1-
module.exports = require('./windows');
1+
var spawn = require('child_process').spawn;
2+
var path = require('path');
3+
4+
var executable = path.join(__dirname, 'adjust_get_current_system_volume_vista_plus.exe');
5+
6+
var runProgram = function(args, done) {
7+
args = args === '' ? [] : args.toString().split(' ');
8+
done = done || function () {};
9+
10+
var ret = '';
11+
var err = null;
12+
var p = spawn(executable, args);
13+
14+
p.stdout.on('data', function (data) {
15+
ret += data;
16+
});
17+
18+
p.stderr.on('data', function (data) {
19+
err = new Error('Windows Script Error: ' + data);
20+
});
21+
22+
p.on('close', function () {
23+
if (err) return done(err);
24+
25+
return done(null, ret.trim());
26+
});
27+
};
28+
29+
var getVolumeInfo = function(done) {
30+
done = done || function () {};
31+
32+
runProgram('', function(err, strArgs) {
33+
if (err) return done(err);
34+
35+
const args = strArgs.split(' ');
36+
const info = {
37+
volume: parseInt(args[0]),
38+
isMuted: parseInt(args[1]) ? true : false
39+
};
40+
41+
return done(null, info);
42+
});
43+
};
44+
45+
var getVolume = function(done) {
46+
done = done || function () {};
47+
48+
getVolumeInfo(function(err, info) {
49+
if (err) return done(err);
50+
51+
return done(null, info.volume);
52+
});
53+
};
54+
55+
var setVolume = function(val, done) {
56+
val = val || 0;
57+
done = done || function () {};
58+
59+
runProgram(val, function(err) {
60+
if (err) return done(err);
61+
62+
return done(null);
63+
});
64+
};
65+
66+
var getMuted = function(done) {
67+
done = done || function () {};
68+
69+
getVolumeInfo(function(err, info) {
70+
if (err) return done(err);
71+
72+
return done(null, info.isMuted);
73+
});
74+
};
75+
76+
var setMuted = function(val, done) {
77+
val = val ? 'mute' : 'unmute';
78+
done = done || function () {};
79+
80+
runProgram(val, function(err) {
81+
if (err) return done(err);
82+
83+
return done(null);
84+
});
85+
};
86+
87+
module.exports = {
88+
getVolume: getVolume,
89+
setVolume: setVolume,
90+
getMuted: getMuted,
91+
setMuted: setMuted
92+
};

impl/windows/windows.js

Lines changed: 0 additions & 92 deletions
This file was deleted.

0 commit comments

Comments
 (0)