Package com.pcmsolutions.util

Examples of com.pcmsolutions.util.IntegerUseMap


    public void setSamplePackage(Impl_SamplePackage samplePackage) {
        this.samplePackage = samplePackage;
    }

    protected void validatePresetReferences() throws PresetReferenceException {
        IntegerUseMap pm = new IntegerUseMap();
        Set presetIndexes = new HashSet();

        for (int p = 0; p < presets.length; p++) {
            pm.mergeUseMap(presets[p].referencedPresetUsage());
            presetIndexes.add(presets[p].getOriginalIndex());
        }

        if (!presetIndexes.containsAll(pm.getUsedIntegerSet()))
            throw new PresetReferenceException("");
    }
View Full Code Here


        return header;
    }

    public IntegerUseMap getSampleUsage() {
        if (presets == null) {
            return new IntegerUseMap();
        } else
            return PresetContextMacros.getSampleUsage(presets);
    }
View Full Code Here

        header.setName(name);
        header.setDeviceVersion(pc.getDeviceContext().getDeviceVersion());
        header.setDeviceName(pc.getDeviceContext().getName());

        // EVALUATE
        IntegerUseMap presetUsageMap = evaluatePresetPackage(header.getName(), presets, deep, pc);

        // MASTER
        Integer[] masterIds = null;
        Integer[] masterVals = null;
        if (header.includingMasterSettings) {
            Set mIds;
            mIds = pc.getDeviceParameterContext().getMasterContext().getIds();
            try {
                masterVals = pc.getDeviceContext().getMasterContext().getMasterParams((Integer[]) mIds.toArray(new Integer[mIds.size()]));
                masterIds = (Integer[]) mIds.toArray(new Integer[mIds.size()]);
            } catch (IllegalParameterIdException e) {
                throw new PackageGenerationException("could not generate master settings");
            } catch (ZDeviceNotRunningException e) {
                throw new PackageGenerationException("device not running");
            }
        }

        // MULTIMODE
        MultiModeMap multiModeMap = null;
        if (header.includingMultimodeSettings)
            try {
                multiModeMap = pc.getDeviceContext().getMultiModeContext().getMultimodeMap();
            } catch (ZDeviceNotRunningException e) {
                throw new PackageGenerationException("device not running");
            }

        // ISOLATE PRESETS
        IsolatedPreset[] isoPresets = generateIsolatedPresets(header.getName(), presetUsageMap.getIntegers(), pc);

        // SAMPLES
        SamplePackage spkg = null;
        if (incSamples) {
            spkg = createSamplePackage(pc.getRootSampleContext(), isoPresets, notes, name, null, format);
View Full Code Here

    private static IntegerUseMap evaluatePresetPackage(String title, Integer[] presets, boolean deep, PresetContext pc) throws PackageGenerationException {
        final Object po = new Object();
        Zoeos z = Zoeos.getInstance();
        z.beginProgressElement(po, "Evaluating preset package " + ZUtilities.quote(title), presets.length);
        try {
            IntegerUseMap presetUsageMap = new IntegerUseMap();
            if (deep)
                for (int i = 0; i < presets.length; i++) {
                    try {
                        presetUsageMap.addIntegerReference(presets[i]);
                        presetUsageMap.mergeUseMap(pc.presetLinkPresetUsage(presets[i]));
                    } catch (PresetEmptyException e) {
                    } catch (NoSuchPresetException e) {
                        throw new PackageGenerationException("no such preset " + presets[i]);
                    } catch (NoSuchContextException e) {
                        throw new PackageGenerationException("no such context");
                    }
                    z.updateProgressElement(po);
                }
            else
                presetUsageMap.addIntegerReferences(presets);
            return presetUsageMap;
        } finally {
            z.endProgressElement(po);
        }
    }
View Full Code Here

            z.endProgressElement(po);
        }
    }

    public static SamplePackage createSamplePackage(SampleContext sc, IsolatedPreset[] presets, String notes, String name, Map customObjectMap, AudioFileFormat.Type format) throws PackageGenerationException {
        IntegerUseMap m = PresetContextMacros.getSampleUsage(presets);
        m.removeIntegerReference(IntPool.get(0));
        return createSamplePackage(sc, m.getIntegers(), name, notes, customObjectMap, format);
    }
View Full Code Here

            spkg = ppkg.getSamplePackage();
            //int sampleMode = SAMPLE_LEAVE_UNTOUCHED;
            Map index2IndexMap = null;
            try {
                if (spkg == null) {
                    IntegerUseMap um = PresetContextMacros.getSampleUsage(ppkg.getPresets());
                    if (um.size() > 0) {
                        String msg = (um.size() == 1 ? "This package references 1 sample, but does not include a sample package." : "This package references " + um.size() + " samples, but does not include a sample package.");
                        String[] options = (um.size() == 1 ? new String[]{"Zero", "Leave untouched"} : new String[]{"Zero all", "Leave untouched"});
                        int res = UserMessaging.askOptions("Sample references", msg, options);
                        if (res == JOptionPane.CANCEL_OPTION)
                            return;
                        if (res == 0)
                            index2IndexMap = new HashMap(); // non-null and absence of any entries should force all sample references to zero
View Full Code Here

            }
        }
    }

    public IntegerUseMap getReferencedSampleUsage() {
        IntegerUseMap useMap = new IntegerUseMap();
        Integer s = getSample();

        if (s != null & s.intValue() >= 0)
            useMap.addIntegerReference(s);

        for (int i = 0,j = zones.size(); i < j; i++) {
            s = ((ZoneObject) zones.get(i)).getSample();
            if (s != null & s.intValue() >= 0)
                useMap.addIntegerReference(s);
        }
        return useMap;
    }
View Full Code Here

    public int numReferencedSamples() {
        return referencedSampleUsage().size();
    }

    public IntegerUseMap referencedSampleUsage() {
        IntegerUseMap useMap = new IntegerUseMap();

        for (int i = 0,j = voices.size(); i < j; i++)
            useMap.mergeUseMap(((VoiceObject) voices.get(i)).getReferencedSampleUsage());

        return useMap;
    }
View Full Code Here

    public int numReferencedPresets() {
        return referencedPresetUsage().size();
    }

    public IntegerUseMap referencedPresetUsage() {
        IntegerUseMap useMap = new IntegerUseMap();
        Integer p;
        for (int i = 0,j = links.size(); i < j; i++) {
            p = ((LinkObject) links.get(i)).getPreset();
            if (p != null & p.intValue() >= 0)
                useMap.addIntegerReference(p);
        }
        return useMap;
    }
View Full Code Here

TOP

Related Classes of com.pcmsolutions.util.IntegerUseMap

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.