Example #1
0
/*------------------------------------ map1dLoadRangeList ---*/
bool
map1dLoadRangeList(Map1dData * xx,
                   t_symbol *  fileName)
{
    bool         result = false;
    t_filehandle fileRef;

    if (path_opensysfile(fileName->s_name, path_getdefault(), &fileRef, PATH_READ_PERM))
    {
        LOG_ERROR_2(xx, OUTPUT_PREFIX "problem opening file '%s'", fileName->s_name)
    }
    else
    {
        t_handle fileContents = sysmem_newhandle(0);

        if (sysfile_readtextfile(fileRef, fileContents, 0, TEXT_LB_NATIVE))
        {
            LOG_ERROR_2(xx, OUTPUT_PREFIX "problem reading file '%s'", fileName->s_name)
        }
        else if (binbuf_text(xx->fBuffer, fileContents, sysmem_handlesize(fileContents)))
        {
            post("problem processing");
            LOG_ERROR_2(xx, OUTPUT_PREFIX "problem converting file '%s'", fileName->s_name)
        }
        else
        {
Example #2
0
int lua_importfile(lua_State *L)
{
	const char *filename;
	long outtype;
	short file_volume, err;
	
	if(!lua_isstring(L, 1))
		luaL_error(L, "argument 1 for outlet must be a string");

	filename = lua_tostring(L, 1);
	err = locatefile_extended(filename, &file_volume, &outtype, 0, 0);
	
	if(err) {
		error("jit.gl.lua: can't find file %s", filename);
	}
	else {
		// read file from disk
		long count;
		char **texthandle;
		t_filehandle fh;
		
		err = path_opensysfile(filename, file_volume, &fh, READ_PERM);
		if (err) {
			error("jit.gl.lua: %s: error %d opening file", filename, err);
			return 0;
		}
		
		texthandle = sysmem_newhandle(0);
		sysfile_readtextfile(fh, texthandle, 0, TEXT_LB_NATIVE);
		sysfile_close(fh);
		count = sysmem_handlesize(texthandle);
		sysmem_resizehandle(texthandle, count + 1);
		(*texthandle)[count] = 0; //NULL terminate, '\0'?
		
		//run file in Lua
		err = luaL_loadstring(L, *texthandle);
		err = lua_pcall(L, 0, LUA_MULTRET, 0);
		
		if (err) {
			post("lua pcall error %s", lua_tostring(L, -1));
			lua_pop(L, 1);
		}
		
		sysmem_lockhandle(texthandle, false);
		sysmem_freehandle(texthandle);
	}

	return 0;
}
Example #3
0
void jsusfx_dblclick(t_jsusfx *x) {
    if (!x->m_editor) {
        t_filehandle fh_read;
        if ( path_opensysfile(x->scriptname, x->path, &fh_read, READ_PERM) ) {
            error("jsusfx~: unable to script file");
            return;
        }
        t_handle texthandle;
        texthandle = sysmem_newhandle(0);
        sysfile_readtextfile(fh_read, texthandle, 0, TEXT_NULL_TERMINATE);
		x->m_editor = reinterpret_cast<t_object *>(object_new(CLASS_NOBOX, gensym("jed"), (t_object *)x, 0));
        object_attr_setchar(x->m_editor, gensym("scratch"), 1);
        object_method(x->m_editor, gensym("settext"), *texthandle, gensym("utf-8"));
        object_method(x->m_editor, gensym("filename"), x->scriptname, x->path);
        sysmem_freehandle(texthandle);
		sysfile_close(fh_read);
    } else {
        object_attr_setchar(x->m_editor, gensym("visible"), 1);
    }
}