mm-music-player errors



  • after i update magic mirror i had this topic:
    pi@raspberrypi:~/MagicMirror2 $ npm start

    magicmirror@2.1.1 start /home/pi/MagicMirror
    sh run-start.sh

    Starting MagicMirror: v2.1.1
    Loading config …
    Loading module helpers …
    No helper found for module: alert.
    No helper found for module: clock.
    Initializing new module helper …
    Module helper loaded: calendar
    No helper found for module: compliments.
    No helper found for module: currentweather.
    No helper found for module: weatherforecast.
    Initializing mm-music-player module helper …
    WARNING! Could not load config file. Starting with default configuration. Error found: TypeError: m.loaded is not a function
    Loading module helpers …
    No helper found for module: alert.
    No helper found for module: clock.
    Initializing new module helper …
    Module helper loaded: calendar
    No helper found for module: compliments.
    No helper found for module: currentweather.
    No helper found for module: weatherforecast.
    Initializing mm-music-player module helper …
    App threw an error during load
    TypeError: m.loaded is not a function
    at loadModule (/home/pi/MagicMirror2/js/app.js:144:6)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    Whoops! There was an uncaught exception…
    TypeError: m.loaded is not a function
    at loadModule (/home/pi/MagicMirror2/js/app.js:144:6)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    at loadNextModule (/home/pi/MagicMirror2/js/app.js:161:5)
    at /home/pi/MagicMirror2/js/app.js:163:6
    at loadModule (/home/pi/MagicMirror2/js/app.js:146:4)
    MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?
    If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues
    Launching application.

    i tried to understand what could be the problem and it is the mm player
    by commenting the code of the module, the mirror starts withouth errors…
    so … what i can do to resolve this problem??



  • This post is deleted!


  • /* Magic Mirror

    var fs = require(“fs”);
    var Server = require(__dirname + “/server.js”);
    var defaultModules = require(__dirname + “/…/modules/default/defaultmodules.js”);
    var path = require(“path”);

    // Get version number.
    global.version = JSON.parse(fs.readFileSync(“package.json”, “utf8”)).version;
    console.log(“Starting MagicMirror: v” + global.version);

    // global absolute root path
    global.root_path = path.resolve(__dirname + “/…/”);

    // The next part is here to prevent a major exception when there
    // is no internet connection. This could probable be solved better.
    process.on(“uncaughtException”, function (err) {
    console.log(“Whoops! There was an uncaught exception…”);
    console.error(err);
    console.log(“MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?”);
    console.log(“If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues”);
    });

    /* App - The core app.
    */
    var App = function() {
    var nodeHelpers = [];

    /* loadConfig(callback)
     * Loads the config file. combines it with the defaults,
     * and runs the callback with the found config as argument.
     *
     * argument callback function - The callback function.
     */
    
    var loadConfig = function(callback) {
    	console.log("Loading config ...");
    	var defaults = require(__dirname + "/defaults.js");
    	var configFilename = path.resolve(global.root_path + "/config/config.js");
    	try {
    		fs.accessSync(configFilename, fs.F_OK);
    		var c = require(configFilename);
    		var config = Object.assign(defaults, c);
    		callback(config);
    	} catch (e) {
    		if (e.code == "ENOENT") {
    			console.error("WARNING! Could not find config file. Please create one. Starting with default configuration.");
    			callback(defaults);
    		} else if (e instanceof ReferenceError || e instanceof SyntaxError) {
    			console.error("WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.");
    			callback(defaults);
    		} else {
    			console.error("WARNING! Could not load config file. Starting with default configuration. Error found: " + e);
    			callback(defaults);
    		}
    	}
    };
    
    /* loadModule(module)
     * Loads a specific module.
     *
     * argument module string - The name of the module (including subpath).
     */
    var loadModule = function(module) {
    
    	var elements = module.split("/");
    	var moduleName = elements[elements.length - 1];
    	var moduleFolder =  __dirname + "/../modules/" + module;
    
    	if (defaultModules.indexOf(moduleName) !== -1) {
    		moduleFolder =  __dirname + "/../modules/default/" + module;
    	}
    
    	var helperPath = moduleFolder + "/node_helper.js";
    
    	var loadModule = true;
    	try {
    		fs.accessSync(helperPath, fs.R_OK);
    	} catch (e) {
    		loadModule = false;
    		console.log("No helper found for module: " + moduleName + ".");
    	}
    
    	if (loadModule) {
    		var Module = require(helperPath);
    		var m = new Module();
    
    		if (m.requiresVersion) {
    			console.log("Check MagicMirror version for node helper '" + moduleName + "' - Minimum version:  " + m.requiresVersion + " - Current version: " + global.version);
    			if (cmpVersions(global.version, m.requiresVersion) >= 0) {
    				console.log("Version is ok!");
    			} else {
    				console.log("Version is incorrect. Skip module: '" + moduleName + "'");
    				return;
    			}
    		}
    
    		m.setName(moduleName);
    		m.setPath(path.resolve(moduleFolder));
    		nodeHelpers.push(m);
    	}
    };
    
    /* loadModules(modules)
     * Loads all modules.
     *
     * argument module string - The name of the module (including subpath).
     */
    var loadModules = function(modules) {
    	console.log("Loading module helpers ...");
    
    	for (var m in modules) {
    		loadModule(modules[m]);
    	}
    
    	console.log("All module helpers loaded.");
    };
    
    /* cmpVersions(a,b)
     * Compare two symantic version numbers and return the difference.
     *
     * argument a string - Version number a.
     * argument a string - Version number b.
     */
    function cmpVersions(a, b) {
    	var i, diff;
    	var regExStrip0 = /(\.0+)+$/;
    	var segmentsA = a.replace(regExStrip0, "").split(".");
    	var segmentsB = b.replace(regExStrip0, "").split(".");
    	var l = Math.min(segmentsA.length, segmentsB.length);
    
    	for (i = 0; i < l; i++) {
    		diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
    		if (diff) {
    			return diff;
    		}
    	}
    	return segmentsA.length - segmentsB.length;
    }
    
    /* start(callback)
     * This methods starts the core app.
     * It loads the config, then it loads all modules.
     * When it"s done it executs the callback with the config as argument.
     *
     * argument callback function - The callback function.
     */
    this.start = function(callback) {
    
    	loadConfig(function(c) {
    		config = c;
    
    		var modules = [];
    
    		for (var m in config.modules) {
    			var module = config.modules[m];
    			if (modules.indexOf(module.module) === -1 && !module.disabled) {
    				modules.push(module.module);
    			}
    		}
    
    		loadModules(modules);
    
    		var server = new Server(config, function(app, io) {
    			console.log("Server started ...");
    
    			for (var h in nodeHelpers) {
    				var nodeHelper = nodeHelpers[h];
    				nodeHelper.setExpressApp(app);
    				nodeHelper.setSocketIO(io);
    				nodeHelper.start();
    			}
    
    			console.log("Sockets connected & modules started ...");
    
    			if (typeof callback === "function") {
    				callback(config);/* Magic Mirror
    

    var fs = require(“fs”);
    var Server = require(__dirname + “/server.js”);
    var defaultModules = require(__dirname + “/…/modules/default/defaultmodules.js”);
    var path = require(“path”);

    // Get version number.
    global.version = JSON.parse(fs.readFileSync(“package.json”, “utf8”)).version;
    console.log(“Starting MagicMirror: v” + global.version);

    // global absolute root path
    global.root_path = path.resolve(__dirname + “/…/”);

    // The next part is here to prevent a major exception when there
    // is no internet connection. This could probable be solved better.
    process.on(“uncaughtException”, function (err) {
    console.log(“Whoops! There was an uncaught exception…”);
    console.error(err);
    console.log(“MagicMirror will not quit, but it might be a good idea to check why this happened. Maybe no internet connection?”);
    console.log(“If you think this really is an issue, please open an issue on GitHub: https://github.com/MichMich/MagicMirror/issues”);
    });

    /* App - The core app.
    */
    var App = function() {
    var nodeHelpers = [];

    /* loadConfig(callback)
     * Loads the config file. combines it with the defaults,
     * and runs the callback with the found config as argument.
     *
     * argument callback function - The callback function.
     */
    
    var loadConfig = function(callback) {
    	console.log("Loading config ...");
    	var defaults = require(__dirname + "/defaults.js");
    	var configFilename = path.resolve(global.root_path + "/config/config.js");
    	try {
    		fs.accessSync(configFilename, fs.F_OK);
    		var c = require(configFilename);
    		var config = Object.assign(defaults, c);
    		callback(config);
    	} catch (e) {
    		if (e.code == "ENOENT") {
    			console.error("WARNING! Could not find config file. Please create one. Starting with default configuration.");
    			callback(defaults);
    		} else if (e instanceof ReferenceError || e instanceof SyntaxError) {
    			console.error("WARNING! Could not validate config file. Please correct syntax errors. Starting with default configuration.");
    			callback(defaults);
    		} else {
    			console.error("WARNING! Could not load config file. Starting with default configuration. Error found: " + e);
    			callback(defaults);
    		}
    	}
    };
    
    /* loadModule(module)
     * Loads a specific module.
     *
     * argument module string - The name of the module (including subpath).
     */
    var loadModule = function(module) {
    
    	var elements = module.split("/");
    	var moduleName = elements[elements.length - 1];
    	var moduleFolder =  __dirname + "/../modules/" + module;
    
    	if (defaultModules.indexOf(moduleName) !== -1) {
    		moduleFolder =  __dirname + "/../modules/default/" + module;
    	}
    
    	var helperPath = moduleFolder + "/node_helper.js";
    
    	var loadModule = true;
    	try {
    		fs.accessSync(helperPath, fs.R_OK);
    	} catch (e) {
    		loadModule = false;
    		console.log("No helper found for module: " + moduleName + ".");
    	}
    
    	if (loadModule) {
    		var Module = require(helperPath);
    		var m = new Module();
    
    		if (m.requiresVersion) {
    			console.log("Check MagicMirror version for node helper '" + moduleName + "' - Minimum version:  " + m.requiresVersion + " - Current version: " + global.version);
    			if (cmpVersions(global.version, m.requiresVersion) >= 0) {
    				console.log("Version is ok!");
    			} else {
    				console.log("Version is incorrect. Skip module: '" + moduleName + "'");
    				return;
    			}
    		}
    
    		m.setName(moduleName);
    		m.setPath(path.resolve(moduleFolder));
    		nodeHelpers.push(m);
    	}
    };
    
    /* loadModules(modules)
     * Loads all modules.
     *
     * argument module string - The name of the module (including subpath).
     */
    var loadModules = function(modules) {
    	console.log("Loading module helpers ...");
    
    	for (var m in modules) {
    		loadModule(modules[m]);
    	}
    
    	console.log("All module helpers loaded.");
    };
    
    /* cmpVersions(a,b)
     * Compare two symantic version numbers and return the difference.
     *
     * argument a string - Version number a.
     * argument a string - Version number b.
     */
    function cmpVersions(a, b) {
    	var i, diff;
    	var regExStrip0 = /(\.0+)+$/;
    	var segmentsA = a.replace(regExStrip0, "").split(".");
    	var segmentsB = b.replace(regExStrip0, "").split(".");
    	var l = Math.min(segmentsA.length, segmentsB.length);
    
    	for (i = 0; i < l; i++) {
    		diff = parseInt(segmentsA[i], 10) - parseInt(segmentsB[i], 10);
    		if (diff) {
    			return diff;
    		}
    	}
    	return segmentsA.length - segmentsB.length;
    }
    
    /* start(callback)
     * This methods starts the core app.
     * It loads the config, then it loads all modules.
     * When it"s done it executs the callback with the config as argument.
     *
     * argument callback function - The callback function.
     */
    this.start = function(callback) {
    
    	loadConfig(function(c) {
    		config = c;
    
    		var modules = [];
    
    		for (var m in config.modules) {
    			var module = config.modules[m];
    			if (modules.indexOf(module.module) === -1 && !module.disabled) {
    				modules.push(module.module);
    			}
    			}
    
    		});
    	});
    };
    

    };

    module.exports = new App();

    i sobstitute this file that is in the js directory, the file is app.js, this is from the older version of magic mirror that casually i have saved but with this it works…
    i don’t know why but with the newer version of this file modules arent recognised…



  • i don’t know why but code is divided into blocks , copy all the text i have written minus my last comments at the end



  • This post is deleted!

Log in to reply
 

Looks like your connection to MagicMirror Forum was lost, please wait while we try to reconnect.