# Add new mixer

All existing mixers can be found in the directory: `xdiskjockey/config.lua` and new one can be added there aswell

```lua
-- DJ mixer list
Config.MixerList = {
	["must be unique name!"] = {
		mixer = {
			{
				-- position of the marker
				pos = vector3(120.72, -1281.12, 29.48),

				-- distance it will render the marker
				distance = 5,

				-- you can remove this part completely if you do not want the player 
				-- to teleport in front of the mixer
				-- if there is some kind of object, you can teleport the player
				-- in front of it and play any animation you put in
				-- it helps to have better immersion in the game 
				teleportPlayer = {
					-- position where you want to teleport the player (in front of the object)
					pos = vector3(120.58, -1281.12, 29.48),

					-- heading of the player
					heading = 119.98,

					-- animation we will play for the player.
					animDict = Config.AnimDictMixerIdle,
					animClip = Config.AnimClipMixerIdle,
				},
			},

			-- you can have shared DJ mixers like this
			-- this DJ mixer will share all the same speakers + saved playlist and such
			-- NOTE! this step isn't mandatory is not required to do at all you 
			-- can skip this or delete this part below
			{
				pos = vector3(0, 0, 0),
				distance = 5,

				teleportPlayer = {
					pos = vector3(1, 1, 0),
					heading = 119.98,

					animDict = Config.AnimDictMixerIdle,
					animClip = Config.AnimClipMixerIdle,
				},
			},
		},
		speaker = {
			-- position + distance playing of the speaker
			{
				pos = vector3(117.47, -1290.58, 29.17),
				distance = 20.0,
			},

			-- you can define more than one speaker like this
			{
				pos = vector3(0, 0, 0),
				distance = 20.0,
			},
		},
		-- max value is 1.0
		-- 1.0 = 100% volume
		defaultVolume = 0.5,

		--jobs = {"police","other job"} -- if left nil everyone will be able to open it

		-- if this is set to true it will not try to disable music around you from in-game world
		skipEmitterForThis = false,
	},
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.rcore.cz/paid-resources/xdiskjockey/config/add_mixer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
